kernel-Nat.mod_two_eq_zero_or_one
- Kind
- kernel-term
- Status
- checked
Supports: for every n, n mod 2 = 0 or n mod 2 = 1
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- mod_two_eq_zero_or_one 2>/dev/null | grep -Ec '^Nat\.mod_two_eq_zero_or_one[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type, so producing this row at all is a machine-checked proof. Derived from `Nat.mod_lt` (giving `Lt (mod n 2) 2` from `zero_lt_succ 1`) and `Nat.lt_two_cases`, which is `ops::cases_lt_bound` at `bound = 2` -- no new primitive. `nat_theorem_inventory` exits non-zero for a name that does not exist, and `grep -Ec` consumes the pipe and the count is tested, so the exit status depends on what the run found. Anchored with `^Nat\.mod_two_eq_zero_or_one[[:space:]]` (verified exactly 1 row; the anchor also excludes `Nat.lt_two_cases`, which is a different declaration).