kernel-Int.prime_dvd_mul'
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {m n : ℤ} {p : ℕ}, Nat.Prime p → ↑p ∣ m * n → ↑p ∣ m ∨ ↑p ∣ n
test "$(cargo run -q --release -p axeyum-lean-kernel --example int_theorem_inventory -- 'prime_dvd_mul'\''' 2>/dev/null | /usr/bin/grep -cE '^theorem[[:space:]]+Int\.prime_dvd_mul'\''[[:space:]]')" -ge 1 Evidence notes
Direct application of gcd.rs's already-proved Int.euclid_lemma at pr := ofNat p: Int.natAbs (Int.ofNat p) reduces to p by rfl (nat_abs.rs's own doc comment), so the primality hypothesis this fact states (2 <= p and every divisor of p is 1 or p) is DEFINITIONALLY the one euclid_lemma consumes on natAbs pr -- no transport code, a bare application of the six arguments (of_p, m, n, prime_hyp, prod_hyp) plus binder wrapping. int_theorem_inventory's rendered type for Int.prime_dvd_mul' matches this fact's formal.statement exactly (verified by direct comparison of the rendered De Bruijn-indexed type against the formula above, argument by argument). New proof, lane int-prime-dvd (2026-09-01): crates/axeyum-lean-kernel/src/int_prelude/prime_dvd_mul_mirrors.rs, wired in at the end of build_int_prelude_uncached (after exists_gcd_one, before nothing -- last in the build, needing gcd.rs's Int.euclid_lemma). No Nat declaration was added: this proof consumes only already-existing Int-prelude machinery.