kernel-Int.le.elim
- Kind
- kernel-term
- Status
- checked
Supports: `Int.le.elim` is admitted as a Theorem with EXACTLY the stated shape, pinned verbatim via the kernel's own renderer: `((x0 : Int) -> ((x1 : Int) -> ((x2 : Int.le x0 x1) -> ((x3 : Prop) -> ((x4 : ((x4 : AxNat) -> ((x5 : Eq.{1} Int (Int.add x0 (Int.ofNat x4)) x1) -> x3))) -> x3)))))`. This is the CPS elimination form of `Int.le_dest`'s `Exists` witness -- `le_dest` produces `b = a + ofNat i`, Mathlib's direction is `a + ofNat n = b`, so the equation is flipped with `isymm` before handing it to the minor premise. Declared as a child of `le` (`Int.le.elim`), the same namespacing `Nat.le.step` uses for a name under an unrelated head. Only the Exists-flavoured cousin (`Int.le_dest`) existed under any name before this -- confirmed by a shape-search returning nothing at >=0.75 for the CPS shape. Built via `Exists.elim` (ops::exists_elim) in a new file, int_prelude/order_coercion.rs.
test "$(cargo run -q --release -p axeyum-lean-kernel --example int_theorem_inventory 2>/dev/null | awk -F'\t' '$1 == "theorem" && $2 == "Int.le.elim" && $4 == "((x0 : Int) -> ((x1 : Int) -> ((x2 : Int.le x0 x1) -> ((x3 : Prop) -> ((x4 : ((x4 : AxNat) -> ((x5 : Eq.{1} Int (Int.add x0 (Int.ofNat x4)) x1) -> x3))) -> x3)))))"' | wc -l)" -ge 1