Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ a. ∀ m. ∀ n. ¬n = 0 → Lt(n,m) → m · m = n · n + a → ¬m = 0 ∧ ¬a = 0Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall a m n. ~(n = 0) -> (exists gap. gap + S n = m) -> m * m = n * n + a -> (~(m = 0) /\ ~(a = 0))Proof neighborhood
Direct theorem prerequisites
PF001B square_eq_injective lt_irrefl_expanded · Stable closedDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
03Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro hm
04Use earlier factsL9–10
05Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
rewrite <- hm
06Use earlier factsL12–13
07Fix variables and assumptionsL14–14
Work with arbitrary variables or the premises of the current implication.
- L14
intro ha
08Establish hsquareL15–18
Original defined command ledger · 24 lines
- 0001
intro a - 0002
intro m - 0003
intro n - 0004
intro hn - 0005
intro horder - 0006
intro hgap - 0007
split - 0008
intro hm - 0009
apply hn - 0010
apply le_zero - 0011
rewrite <- hm - 0012
apply lt_to_le - 0013
exact horder - 0014
intro ha - 0015
have hsquare : m * m = n * n - 0016
trans n * n + a - 0017
exact hgap - 0018
simp [ha] - 0019
have hequal : m = n - 0020
apply square_eq_injective - 0021
exact hsquare - 0022
rewrite hequal at horder - 0023
apply lt_irrefl_expanded - 0024
exact horder