kernel-Nat.lor_three_five
- Kind
- kernel-term
- Status
- checked
Supports: lor(3, 5) = 7
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- lor_three_five 2>/dev/null | grep -Ec '^Nat\.lor_three_five[[: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. `3 = 0b011`, `5 = 0b101`, `3 ||| 5 = 0b111 = 7`; every numeral is concrete, so the fuel recursion, the div/mod halving, and the per-bit `max` (via `Nat.ble` + `bool_select_nat`) all reduce fully and the proof is `Eq.refl`. Deliberately discriminating against `F:nat-land-three-five`'s `3 &&& 5 = 1` (a wrong-way `bit_or` reusing the AND step, or an AND/OR combinator swap, cannot pass both facts' checkers at once). `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\.lor_three_five[[:space:]]` (verified exactly 1 row).