kernel-Nat.sqrt_zero
- Kind
- kernel-term
- Status
- checked
Supports: sqrt(0) = 0
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- sqrt_zero 2>/dev/null | grep -Ec '^Nat\.sqrt_zero[[: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. `Nat.sqrt n` is `Nat.sqrtAux n n` -- the fuel is `n` itself -- so at `n = 0` the fuel is already exhausted and `sqrtAux`'s zero minor premise (the accumulator's starting value, `0`) fires directly. The proof is `Eq.refl`; the kernel closes it by iota-reduction alone. `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. Controls run 2026-08-28: `sqrt_zero` and `sqrt_one` each exit 0, and `sqrt_zeroXX` exits 1.