Identifier
F:nat-add-zero
Proof route
kernel-lean
External status
proved
Axiom footprint
Empty

Recorded description

For every natural number a, a + 0 = a.

Formal statement
theorem Nat.add_zero : ((x0 : AxNat) -> Eq.{1} AxNat (AxNat.add x0 AxNat.zero) x0)

Dependencies

The graph shows direct ledger edges. Follow a node to open its artifact page.

Direct dependencies appear to the left. The current fact is in the center. Facts that depend directly on it appear to the right. Current fact [generated] kernel theorem CRea Euclidean division exists for a The integer borrow has exactly The normalized integer differen Mathlib v4.30 source propositio Mathlib v4.30 source propositio Mathlib v4.30 source propositio Mathlib v4.30 source propositio
0 direct dependencies 43 direct dependents Graph shows the first 8 on each side.

Evidence

kernel-Nat.add_zero

Kind
kernel-term
Status
checked

Supports: For every natural number a, a + 0 = a.

Checker command
test "$(cargo run -q -p axeyum-lean-kernel --example nat_theorem_inventory -- add_zero 2>/dev/null | grep -Ec '^Nat\.add_zero[[:space:]]')" -ge 1
Evidence notes

`build_nat_prelude` admits this theorem through the trusted `Kernel::add_declaration` gate, which re-checks the proof term against the stated type, so producing the row at all is a machine-checked proof. TIGHTENED 2026-08-16: the command was `cargo test -p axeyum-lean-kernel --lib nat_prelude`, a whole-suite run that passes or fails identically for every fact citing it and would stay green if THIS theorem were deleted. It now names its own subject twice over -- `nat_theorem_inventory` exits non-zero for a name that does not exist, and the `grep -q` requires the admitted declaration to be printed.

footprint-Nat.add_zero

Kind
exhaustive-enumeration
Status
checked

Supports: axiom_footprint: [] -- the Nat prelude's trusted surface is empty

Checker command
cargo run -q -p axeyum-lean-kernel --example nat_axiom_inventory -- --require-axiom-free nat
Evidence notes

`nat_axiom_inventory` enumerates the built Nat environment and reports `nat: axiom=0 opaque=0 quotient=0 total_trusted=0` (re-run 2026-08-14 by this lane). That is the whole environment, not this theorem, and that is what makes it sound as a footprint: a theorem cannot depend on a trusted declaration the environment does not contain, so an empty trusted surface bounds every individual footprint by []. Counting `Declaration::Axiom` alone would NOT have sufficed -- `Opaque` has no proof body and `Quotient` admits `Quot.sound`, one of Lean's own axioms -- so the enumeration covers all three.

Provenance

{
  "date": "2026-08-14",
  "established_by": "axeyum-lean-kernel build_nat_prelude, re-measured by lane facts-number",
  "source": "proposition extracted from the S:number / S:arithmetic-structure strands of the math-education concept graph; statement authored here, nothing copied"
}