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
forall a b c d. a * a + b * b + c * c + d * d = 0 -> (a = 0 /\ (b = 0 /\ (c = 0 /\ d = 0)))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 a b c d. a * a + b * b + c * c + d * d = 0 -> (a = 0 /\ (b = 0 /\ (c = 0 /\ d = 0)))Proof neighborhood
Direct theorem prerequisites
Direct 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.
01Fix variables and assumptionsL1–5
02Establish hfirstL6–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hfirst
04Establish hsecondL10–12
05Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hsecond
06Establish hthirdL14–16
07Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hthird
08Establish haL18–20
09Establish hbL21–23
10Establish hcL24–26
11Establish hdL27–29
12Separate the logical casesL30–31
13Use earlier factsL32–33
14Separate the logical casesL34–35
15Use earlier factsL36–37
16Separate the logical casesL38–39
17Use earlier factsL40–41
18Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases hd
Original defined command ledger · 44 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro hnorm - 0006
have hfirst : ((a * a + b * b + c * c = 0) /\ (d * d = 0)) - 0007
apply add_eq_zero_components - 0008
exact hnorm - 0009
cases hfirst - 0010
have hsecond : ((a * a + b * b = 0) /\ (c * c = 0)) - 0011
apply add_eq_zero_components - 0012
exact hfirst_left - 0013
cases hsecond - 0014
have hthird : ((a * a = 0) /\ (b * b = 0)) - 0015
apply add_eq_zero_components - 0016
exact hsecond_left - 0017
cases hthird - 0018
have ha : a = 0 \/ a = 0 - 0019
apply mul_eq_zero - 0020
exact hthird_left - 0021
have hb : b = 0 \/ b = 0 - 0022
apply mul_eq_zero - 0023
exact hthird_right - 0024
have hc : c = 0 \/ c = 0 - 0025
apply mul_eq_zero - 0026
exact hsecond_right - 0027
have hd : d = 0 \/ d = 0 - 0028
apply mul_eq_zero - 0029
exact hfirst_right - 0030
split - 0031
cases ha - 0032
exact ha_left - 0033
exact ha_right - 0034
split - 0035
cases hb - 0036
exact hb_left - 0037
exact hb_right - 0038
split - 0039
cases hc - 0040
exact hc_left - 0041
exact hc_right - 0042
cases hd - 0043
exact hd_left - 0044
exact hd_right