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
∀ u. ∀ m. ∀ n. ∀ h. ¬u = 0 → ¬n = 0 → m = u · u → h = m · m + n · n → Lt(u,h)Every 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 u m n h. ~(u = 0) -> ~(n = 0) -> m = u * u -> h = m * m + n * n -> exists k. k + S u = hProof neighborhood
Direct theorem prerequisites
PF0025 fermat_four_square_nonzero PF002A fermat_four_lt_add_positive lt_of_le_of_lt · Stable closed le_trans · 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 (2)
01Fix variables and assumptionsL1–8
02Establish humL9–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le scaled nonzero.
03Establish hmpositiveL15–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply fermat four square nonzero.
04Establish hmsL22–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le scaled nonzero.
05Establish husL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
06Use earlier factsL37–40
07Fix variables and assumptionsL41–41
Work with arbitrary variables or the premises of the current implication.
- L41
intro hzero
Original defined command ledger · 45 lines
- 0001
intro u - 0002
intro m - 0003
intro n - 0004
intro h - 0005
intro hu - 0006
intro hn - 0007
intro hm - 0008
intro hh - 0009
have hum : Le(u,m)Exact native replay line
have hum : exists k. k + u = m - 0010
rewrite hm - 0011
specialize le_scaled_nonzero (u) - 0012
specialize le_scaled_nonzero (u) - 0013
apply le_scaled_nonzero - 0014
exact hu - 0015
have hmpositive : ~(m = 0) - 0016
intro hzero - 0017
rewrite hm at hzero - 0018
specialize fermat_four_square_nonzero (u) - 0019
apply fermat_four_square_nonzero - 0020
exact hu - 0021
exact hzero - 0022
have hms : Le(m,m · m)Exact native replay line
have hms : exists k. k + m = m * m - 0023
specialize le_scaled_nonzero (m) - 0024
specialize le_scaled_nonzero (m) - 0025
apply le_scaled_nonzero - 0026
exact hmpositive - 0027
have hus : Le(u,m · m)Exact native replay line
have hus : exists k. k + u = m * m - 0028
specialize le_trans (u) - 0029
specialize le_trans (m) - 0030
specialize le_trans (m * m) - 0031
apply le_trans - 0032
exact hum - 0033
exact hms - 0034
rewrite hh - 0035
specialize lt_of_le_of_lt (u) - 0036
specialize lt_of_le_of_lt (m * m) - 0037
specialize lt_of_le_of_lt (m * m + n * n) - 0038
apply lt_of_le_of_lt - 0039
exact hus - 0040
apply fermat_four_lt_add_positive - 0041
intro hzero - 0042
specialize fermat_four_square_nonzero (n) - 0043
apply fermat_four_square_nonzero - 0044
exact hn - 0045
exact hzero