kernel-Nat.clog_of_left_le_one
- Kind
- kernel-term
- Status
- checked
Supports: ∀ {b : ℕ}, b ≤ 1 → ∀ (n : ℕ), Nat.clog b n = 0
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- clog_of_left_le_one 2>/dev/null | grep -Ec '^Nat\.clog_of_left_le_one[[:space:]]')" -ge 1 Evidence notes
`build_nat_prelude` admits `Nat.clog_of_left_le_one` through the trusted `Kernel::add_declaration` gate (declared in `nat_prelude/log_clog_mirrors.rs`'s `declare_clog_of_left_le_one`). Route: `Le b 1` lifts to `Lt b 2` via `Nat.le_succ_succ`, then `nat_prelude/ops.rs`'s `cases_lt_bound` splits into `b = 0` and `b = 1`; each branch is `clog.rs`'s already-proved `Nat.clog_zero_left`/`Nat.clog_one_left` used directly at their full `∀ n, clog _ n = 0` type (no application needed -- `d.lemma(name, &[])` with an empty argument list returns the bare constant at its full quantified type). `nat_theorem_inventory`'s rendered type for `Nat.clog_of_left_le_one` is `(x0:AxNat)->(x1:Le x0 (succ zero))->(x2:AxNat)->Eq (clog x0 x2) zero`, matching this fact's `formal.statement` verbatim (`x0`=b, `x2`=n). `nat_theorem_inventory` exits non-zero for a name that does not exist, and the `grep -c` count (tested `-ge 1`, not piped into `grep -q`) requires the admitted declaration to actually be printed; verified against a deliberately misspelled name (`clog_of_left_le_onexxxxx`) that this same pipeline reports `0`.