kernel-Nat.mod_eq_cancel_right_div_gcd
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {m a b c : ℕ}, 0 < m → a * c ≡ b * c [MOD m] → a ≡ b [MOD m / m.gcd c]
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- mod_eq_cancel_right_div_gcd 2>/dev/null | grep -Ec '^Nat\.mod_eq_cancel_right_div_gcd[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits `Nat.mod_eq_cancel_right_div_gcd` through the trusted `Kernel::add_declaration` gate. New proof, lane modeq-div-gcd, in `nat_prelude/modeq_cancel_div_gcd.rs`. This mirror is NOT re-derived from scratch: it commutes both sides (`a*c` to `c*a`, `b*c` to `c*b` via `Nat.mul_comm`) and applies `Nat.mod_eq_cancel_left_div_gcd` directly, exactly Mathlib's own proof (`apply cancel_left_div_gcd hm; simpa [mul_comm] using h`). `nat_theorem_inventory`'s rendered type matches this fact's `formal.statement` exactly. `nat_theorem_inventory` exits non-zero (0 rows) for a bogus name (measured).