Identifier
F:ml430-int-modeq-of-mul-right-c92b7bf0
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

The proposition declared as `Int.ModEq.of_mul_right` in the pinned Mathlib v4.30 source.

Formal statement
∀ {n a b : ℤ} (m : ℤ), a ≡ b [ZMOD n * m] → a ≡ b [ZMOD n]

Dependencies

The graph shows direct ledger edges. Follow a node to open its artifact page.

Direct dependencies appear to the left. The current fact is in the center. Facts that depend directly on it appear to the right. [generated] kernel theorem Int. Mathlib v4.30 source propositio Mathlib v4.30 source propositio Current fact
3 direct dependencies 0 direct dependents

Evidence

kernel-term-authored-declaration-axiom-free-Int.modEq_of_mul_right

Kind
kernel-term
Status
checked

Supports: `Int.modEq_of_mul_right : forall n a b m, ModEq (n*m) a b -> ModEq n a b`, UNCONDITIONAL in `n` and `m`, authored directly as a kernel declaration in crates/axeyum-lean-kernel/src/int_prelude/modeq_family.rs and admitted by Kernel::add_declaration with an empty axiom footprint. It is the mirror of the already-established `Int.modEq_of_mul_left` at the other divisibility witness: `Int.dvd_mul_right n m : dvd n (n*m)` instead of `Int.dvd_mul_left n m : dvd n (m*n)`, both special cases of the already-unconditional `Int.modEq_of_dvd`.

Checker command
test "$(cargo run --release -q -p axeyum-lean-kernel --example int_theorem_inventory -- modEq_of_mul_right 2>/dev/null | grep -Ec '^theorem[[:space:]]+Int\.modEq_of_mul_right[[:space:]]+\(\(')" -ge 1
Evidence notes

The regex requires the tab-separated axiom-footprint column to be EMPTY, so the command fails if the theorem gains an axiom as well as if it disappears; verified discriminating by running it against a name that does not exist (exit 1) alongside the real one (exit 0). `int_theorem_inventory` must be run `--release`; in debug it stack-overflows building the full constructed environment, unrelated to this theorem. checker_operation.id is the join key gen-production-provenance-ledger.py reads; this operation now names six Int.ModEq facts, not this one alone.

Provenance

{
  "date": "2026-08-18",
  "established_by": "lane modeq-producer (2026-08-28): the one still-open TRAIN member of the integer-modular-equivalence family, closed as a twenty-line mirror of declare_modeq_of_mul_left in the same operation's own producer file. It is the train demonstration that authoritative-mathlib-nat-modeq-congruence-family-v1's Nat contract transports: the import route cannot reach any Int target, because every Lean 4.30 Int lemma measured — including Int.add_comm and Int.sub_self — carries propext, and that route requires an empty axiom footprint.",
  "prior_art": [
    {
      "attribution": "the proposition was read from the pinned statement-only inventory; the proof term and tactic trace were not consulted",
      "what": "the theorem declaration `Int.ModEq.of_mul_right`",
      "where": "mathlib4 commit c5ea00351c28e24afc9f0f84379aa41082b1188f (v4.30.0)",
      "who": "the Mathlib contributors",
      "year": 2026
    }
  ],
  "source": "statement-only extraction of `Int.ModEq.of_mul_right` from Mathlib v4.30.0; no proof value was exposed"
}