kernel-Nat.ldiff_five_three
- Kind
- kernel-term
- Status
- checked
Supports: ldiff(5, 3) = 4
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- ldiff_five_three 2>/dev/null | grep -Ec '^Nat\.ldiff_five_three[[: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. `5 = 0b101`, `3 = 0b011`, `5 &~ 3 = 0b100 = 4` (bit 0 of 5 is cleared by bit 0 of 3; bit 2 of 5 survives since bit 2 of 3 is clear); every numeral is concrete, so the proof is `Eq.refl`. This is the ASYMMETRY theorem: the same two operands as `F:nat-ldiff-three-five`'s `3 &~ 5 = 2`, swapped, and NOT the same answer -- the sharpest negative control available for this definition, and one `Nat.land`/`Nat.lor` (both commutative) cannot even express. `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\.ldiff_five_three[[:space:]]` (verified exactly 1 row).