kernel-Nat.coprime_add_self_right
- Kind
- kernel-term
- Status
- checked
Supports: gcd m (n+m) = 1 iff gcd m n = 1
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- coprime_add_self_right 2>/dev/null | grep -Ec '^Nat\.coprime_add_self_right[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate. Route: `g1 := gcd m (n+m)` divides `m` and `n+m` (`gcd_dvd_left`/`_right`); `dvd_add_iff_right` (after `add_comm` to match its `m+n` argument order) cancels the shared `m` factor to give `g1 | n`, so `dvd_gcd` gives `g1 | gcd m n =: g2`. Conversely `g2` divides `m` and `n`, so `dvd_add` gives `g2 | (n+m)` directly (already the lemma's own argument order, no reordering needed), and `dvd_gcd` gives `g2 | g1`. `dvd_antisymm` on those two divisibilities gives `g1 = g2`, from which the `Iff` on `= 1` follows by substitution. `nat_theorem_inventory` exits non-zero for a name that does not exist, and the `grep -c` requires the admitted declaration to be printed.