kernel-Nat.land_self
- Kind
- kernel-term
- Status
- checked
Supports: ∀ (x : ℕ), x &&& x = x
test "$(cargo run -q --release -p axeyum-lean-kernel --example nat_theorem_inventory -- land_self 2>/dev/null | grep -Ec '^Nat\.land_self[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits `Nat.land_self` (`nat_prelude/land_self.rs`) through the trusted `Kernel::add_declaration` gate. `nat_theorem_inventory`'s rendered type is `(x0 : AxNat) -> Eq AxNat (AxNat.land x0 x0) x0`, matching this fact's `formal.statement` up to variable naming. Anchored with `^Nat\.land_self[[:space:]]` so a sibling name cannot satisfy this row; `grep -Ec` consumes the pipe so the tested count decides the exit status. Run `--release` -- the debug build of this inventory example SIGABRTs on stack depth (unrelated to this proof). Mathlib's `&&&` (`HAnd`) for `Nat` is the SAME function as `Nat.land` (already reconciled: F:ml430-nat-land-comm-7e6ad72e, F:ml430-nat-land-assoc-ad4775b8, F:ml430-nat-and-comm-7525d05a), so reconciling this `and_self` mirror against a NEW `Nat.land_self` theorem (proved here, not previously in the ledger) is honest under the mirror-flip criterion in CLAUDE.md.