kernel-Nat.prime_dvd_lcm_iff
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {p a b : ℕ}, Nat.Prime p → (p ∣ a.lcm b ↔ p ∣ a ∨ p ∣ b)
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- prime_dvd_lcm_iff 2>/dev/null | grep -Ec '^Nat\.prime_dvd_lcm_iff[[:space:]]')" -ge 1 Evidence notes
`declare_prime_dvd_lcm_iff` (`nat_prelude/prime_dvd_factorial_lcm.rs`) admits `Nat.prime_dvd_lcm_iff` through the trusted `Kernel::add_declaration` gate. Pure algebra, no induction: `mp` uses `dvd_mul_left_of_dvd` to extend `p | lcm a b` to `p | (gcd a b * lcm a b)`, `gcd_mul_lcm` (`gcd a b * lcm a b = a * b`, unconditional) identifies that product with `a*b`, and `euclid_lemma` splits `p | a*b` into `p | a \/ p | b`. `mpr` is `dvd_trans` through `dvd_lcm_left`/`dvd_lcm_right`, case-split over the `Or` -- primality is unused on this side, only carried because the statement's hypothesis wraps the whole `Iff`.