kernel-Nat.dvd_add_iff_left
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {k m n : ℕ}, k ∣ n → (k ∣ m ↔ k ∣ m + n)
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- dvd_add_iff_left 2>/dev/null | /usr/bin/grep -cE '^Nat\.dvd_add_iff_left[[:space:]]')" -ge 1 Evidence notes
build_nat_prelude admits Nat.dvd_add_iff_left through the trusted Kernel::add_declaration gate, so producing this row at all is a machine-checked proof. New proof, lane int-gcd-mul-transport: nat_prelude/dvd_add_iff_left.rs. Pure composition of the already-proved dvd_add_iff_right (divisibility.rs) -- instantiated with the two summands swapped, dvd_add_iff_right(k,n,m,h) : Iff (dvd k m) (dvd k (n+m)) -- and add_comm (n+m = m+n); no new case split or induction. nat_theorem_inventory's rendered type is `(x0:AxNat)->(x1:AxNat)->(x2:AxNat)->(x3:AxNat.dvd x0 x2)->Iff (AxNat.dvd x0 x1) (AxNat.dvd x0 (AxNat.add x1 x2))`, matching this fact's formal.statement character for character (x0/x1/x2 = k/m/n). nat_theorem_inventory exits non-zero for a name that does not exist (verified: dvd_add_iff_left_bogus_xyz -> exit 1, "no Nat theorem matches"), and the anchored grep -c (tested -ge 1, not piped through grep -q) requires the exact name followed by whitespace, so it does not also match the pre-existing sibling Nat.dvd_add_iff_right.