kernel-Nat.bit_false_le_bit_true
- Kind
- kernel-term
- Status
- checked
Supports: bit(false, n) <= bit(true, n), for every n
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- bit_false_le_bit_true 2>/dev/null | grep -Ec '^Nat\.bit_false_le_bit_true[[: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. The proof term is `le_succ (mul 2 n)` -- the already-proved generic lemma `m <= succ m` instantiated at `m := mul 2 n` -- accepted directly by the kernel's definitional-equality check, because `bit false n` unfolds to `mul 2 n` and `bit true n` unfolds to `succ (mul 2 n)` (delta+iota, per `F:nat-bit-false`/`F:nat-bit-true`). No case-split combinator and no induction were needed for this theorem specifically. `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.