kernel-Nat.descFactorial_one
- Kind
- kernel-term
- Status
- checked
Supports: n.descFactorial 1 = n
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- descFactorial_one 2>/dev/null | grep -Ec '^Nat\.descFactorial_one[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate. `n.descFactorial 1` is defeq (via `descFactorial_succ` at `k := 0`, itself definitional) to `(n - 0) * n.descFactorial 0`, and `n - 0 ≡ n` is itself definitional (`Nat.sub`'s own base case). So the stated goal is defeq to `n * 1 = n`, and this theorem's proof term is literally `Nat.mul_one`'s own proof, applied at `n` -- the kernel accepts it by unifying the stated type against `mul_one`'s inferred type up to full defeq, with no explicit rewrite combinator. `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.