kernel-Int.prime_dvd_mul
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {m n : ℤ} {p : ℕ}, Nat.Prime p → ↑p ∣ m * n → p ∣ m.natAbs ∨ p ∣ n.natAbs
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
Same route as F:ml430-int-prime-dvd-mul-23b73e69 (Int.prime_dvd_mul'): apply gcd.rs's Int.euclid_lemma at pr := ofNat p to get Or (ofNat p ∣ m) (ofNat p ∣ n), then case-split (Or.rec) and drop each disjunct from Int.dvd to Nat.dvd via the already-proved gcd::declare_nat_abs_dvd_nat_abs_of_dvd (a ∣ b → natAbs a ∣ natAbs b), relying on natAbs (ofNat p) reducing to p by rfl for the final Nat.dvd p (natAbs m)/(natAbs n) shape. int_theorem_inventory's rendered type for Int.prime_dvd_mul matches this fact's formal.statement exactly. New proof, lane int-prime-dvd (2026-09-01): crates/axeyum-lean-kernel/src/int_prelude/prime_dvd_mul_mirrors.rs. No Nat declaration added.