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.
Exact expanded first-order arithmetic statement
forall a b c d. a * a + b * b + c * c + d * d = 0 -> (a = 0 /\ (b = 0 /\ (c = 0 /\ d = 0)))Constructive proof overview
Generated structural guide
A zero natural four-square norm forces all four coordinates to vanish constructively.
The unchanged tactic script uses 2 declared prerequisites and contains 44 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.
Proof neighborhood
Direct dependencies
add_eq_zero_components Stable theorem; checked-use authorized mul_eq_zero Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 exact 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