kernel-Nat.dvd_two_of_totient_le_one
- Kind
- kernel-term
- Status
- checked
Supports: 0 < a -> totient a <= 1 -> a | 2
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- dvd_two_of_totient_le_one 2>/dev/null | grep -Ec '^Nat\.dvd_two_of_totient_le_one[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate, which re-checks the constructed proof term against the stated type. `trichotomy` at c=2 on `a`: `a < 2` combined with `0 < a` forces `a = 1` (`dvd 1 2` via a concrete witness `2` and `one_mul`); `a = 2` is `dvd 2 2` (`dvd_refl`); `2 < a` contradicts `totient a <= 1` via `countRange_ge_two_of_two_witnesses` at witnesses `1` (`coprime_one_left_iff`, unconditional) and `pred a` (`coprime_succ_self`), refuted by peeling two `succ`s down to `not_succ_le_zero` (`totient_le_one_contradiction_above_two`, `totient_lemmas.rs`, shared with `totient_eq_one_iff`'s forward direction). `nat_theorem_inventory` exits non-zero for a name that does not exist, and the `grep -c` requires the admitted declaration to be printed.