kernel-FO.Qle.natModels
- Kind
- kernel-term
- Status
- checked
Supports: FO.Qle.natModels is admitted by the trusted kernel gate with the type recorded in formal.statement, and rests on no axiom. The proof is six And.intro applications over FO.Q.natModels v: FO.Qle conses the six order axioms in FRONT of FO.Q, so the context tail after the sixth cons is definitionally FO.Q and the seven Robinson obligations are not re-proved. Each order obligation is one application of an existing Nat order lemma -- Nat.not_succ_le_zero, Nat.lt_or_eq_of_le after Nat.le_of_lt_succ, Nat.le.step, Nat.lt_succ_self, Nat.lt_succ_of_le after Nat.le_add_right, and Nat.le_dest after Nat.le_of_lt_succ -- with no rewriting, because FO.sat (rel2 0 a b) iota-reduces to Nat.lt (Nat.add (eval a) 0) (eval b) and Nat.add x 0 iota-reduces to x.
cargo run -q --release -p axeyum-lean-kernel --example fo_order_inventory -- FO.Qle.natModels --exact --require-axiom-free Evidence notes
Admission is the whole content of the ℕ-model claim: a false axiom cannot be modelled, so the trusted gate rejects the theorem rather than a test asserting anything. Measured on 2026-09-06 by mutating FO.Qle.axLtZero from `x < 0` to `x ≤ 0` (i.e. `x < S 0`), which is false in ℕ at x = 0: the prelude build failed with KernelError::TypeMismatch and all nine tests in the module died.