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
∀ h. ∀ a. ∀ b. ∀ c. ∀ d. Le(a,h) → Le(b,h) → Le(c,h) → Le(d,h) → Lt(a · a + b · b + c · c + d · d,(2 · h + 1) · (2 · h + 1))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 h a b c d. (exists gap. gap + a = h) -> (exists gap. gap + b = h) -> (exists gap. gap + c = h) -> (exists gap. gap + d = h) -> exists gap. gap + S (a * a + b * b + c * c + d * d) = (2 * h + 1) * (2 * h + 1)Proof neighborhood
Direct theorem prerequisites
FS001V four_square_descent_add_le_add add_assoc · Stable closed FS001W four_square_descent_double_square_four_sum lt_of_le_of_lt · Stable closed square_lt_successor_square · Alpha 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–9
02Establish hsaL10–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
03Establish hsbL14–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
04Establish hscL18–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
05Establish hsdL22–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
06Establish habL26–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent add le add.
- L26
have hab : Le(a · a + b · b,h · h + h · h)Definitions: Le(a · a + b · b,h · h + h · h)Original native command in the exact edition - L27
apply four_square_descent_add_le_add - L28
exact hsa - L29
exact hsb
07Establish hcdL30–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent add le add.
- L30
have hcd : Le(c · c + d · d,h · h + h · h)Definitions: Le(c · c + d · d,h · h + h · h)Original native command in the exact edition - L31
apply four_square_descent_add_le_add - L32
exact hsc - L33
exact hsd
08Establish hpairedL34–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent add le add.
- L34
have hpaired : Le(a · a + b · b + (c · c + d · d),h · h + h · h + (h · h + h · h))Definitions: Le(a · a + b · b + (c · c + d · d),h · h + h · h + (h · h + h · h))Original native command in the exact edition - L35
apply four_square_descent_add_le_add - L36
exact hab - L37
exact hcd
09Establish hnormL38–38
Establish this local claim before using it. It is not an additional assumption.
- L38
have hnorm : Le(a · a + b · b + c · c + d · d,2 · h · (2 · h))Definitions: Le(a · a + b · b + c · c + d · d,2 · h · (2 · h))Original native command in the exact edition
10Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hpaired
11Construct an explicit witnessL40–40
Supply the displayed value, then prove that it has the required property.
- L40
exists x
12Calculate and transport equalitiesL41–43
13Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply add_assoc
14Calculate and transport equalitiesL45–45
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L45
trans (h * h + h * h) + (h * h + h * h)
15Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
exact hpaired_witness
16Calculate and transport equalitiesL47–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
symm
17Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
apply four_square_descent_double_square_four_sum
18Establish honeL49–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of le of lt.
- L49
have hone : 2 * h + 1 = S (2 * h) - L50
simp - L51
rewrite hone - L52
rewrite hone - L53
specialize lt_of_le_of_lt (a * a + b * b + c * c + d * d) - L54
specialize lt_of_le_of_lt ((2 * h) * (2 * h)) - L55
specialize lt_of_le_of_lt (S (2 * h) * S (2 * h)) - L56
apply lt_of_le_of_lt - L57
exact hnorm - L58
apply square_lt_successor_square
Original defined command ledger · 58 lines
- 0001
intro h - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro ha - 0007
intro hb - 0008
intro hc - 0009
intro hd - 0010
have hsa : Le(a · a,h · h)Exact native replay line
have hsa : exists gap. gap + a * a = h * h - 0011
apply mul_le_mul - 0012
exact ha - 0013
exact ha - 0014
have hsb : Le(b · b,h · h)Exact native replay line
have hsb : exists gap. gap + b * b = h * h - 0015
apply mul_le_mul - 0016
exact hb - 0017
exact hb - 0018
have hsc : Le(c · c,h · h)Exact native replay line
have hsc : exists gap. gap + c * c = h * h - 0019
apply mul_le_mul - 0020
exact hc - 0021
exact hc - 0022
have hsd : Le(d · d,h · h)Exact native replay line
have hsd : exists gap. gap + d * d = h * h - 0023
apply mul_le_mul - 0024
exact hd - 0025
exact hd - 0026
have hab : Le(a · a + b · b,h · h + h · h)Exact native replay line
have hab : exists gap. gap + (a * a + b * b) = h * h + h * h - 0027
apply four_square_descent_add_le_add - 0028
exact hsa - 0029
exact hsb - 0030
have hcd : Le(c · c + d · d,h · h + h · h)Exact native replay line
have hcd : exists gap. gap + (c * c + d * d) = h * h + h * h - 0031
apply four_square_descent_add_le_add - 0032
exact hsc - 0033
exact hsd - 0034
have hpaired : Le(a · a + b · b + (c · c + d · d),h · h + h · h + (h · h + h · h))Exact native replay line
have hpaired : exists gap. gap + ((a * a + b * b) + (c * c + d * d)) = (h * h + h * h) + (h * h + h * h) - 0035
apply four_square_descent_add_le_add - 0036
exact hab - 0037
exact hcd - 0038
have hnorm : Le(a · a + b · b + c · c + d · d,2 · h · (2 · h))Exact native replay line
have hnorm : exists gap. gap + (a * a + b * b + c * c + d * d) = (2 * h) * (2 * h) - 0039
cases hpaired - 0040
exists x - 0041
trans x + ((a * a + b * b) + (c * c + d * d)) - 0042
congr - 0043
refl - 0044
apply add_assoc - 0045
trans (h * h + h * h) + (h * h + h * h) - 0046
exact hpaired_witness - 0047
symm - 0048
apply four_square_descent_double_square_four_sum - 0049
have hone : 2 * h + 1 = S (2 * h) - 0050
simp - 0051
rewrite hone - 0052
rewrite hone - 0053
specialize lt_of_le_of_lt (a * a + b * b + c * c + d * d) - 0054
specialize lt_of_le_of_lt ((2 * h) * (2 * h)) - 0055
specialize lt_of_le_of_lt (S (2 * h) * S (2 * h)) - 0056
apply lt_of_le_of_lt - 0057
exact hnorm - 0058
apply square_lt_successor_square