kernel-Nat.le_fib_add_one
- Kind
- kernel-term
- Status
- checked
Supports: n <= Nat.fib n + 1
test "$(cargo run -q -p axeyum-lean-kernel --release --example nat_theorem_inventory -- le_fib_add_one 2>/dev/null | grep -xFc 'Nat.le_fib_add_one 1 ((x0 : AxNat) -> AxNat.le x0 (AxNat.add (AxNat.fib x0) (AxNat.succ AxNat.zero)))')" -ge 1 Evidence notes
The kernel re-infers the theorem type from the constructed term, matching Mathlib's unconditional `n <= fib n + 1`. Proved by splitting at `Nat.lt_or_ge n 5` (ops::cases_lt_or_ge): the `Le 5 n` side chains le_fib_self with le_add_right + le_trans; the `Lt n 5` side is a genuine 5-way case split to concrete n in {0,1,2,3,4} (ops::cases_lt_bound, a new finite-cases eliminator), each branch closed by le_add_right (or zero_le at n=0) at a hand-picked slack defeq to fib(n)+1 for that tiny literal n. The bound is TIGHT (equality) at n=2,3,4, which is why a bare pair-induction cannot prove this (docs/plan/status/228-fib-2.md's algebraic analysis).