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.
Inputs are genuine canonical signed-pair codes, not arbitrary naturals. Products start at the actual Gaussian identity, whose code is six. The factor list uses the proved prime-divisor property; irreducibility alone is not silently renamed primality. Uniqueness supplies equal lengths, a bounded bijection, and an actual unit at each match, including repeated factors. Units have empty factorizations and zero is excluded. Sorted primary representatives, Gaussian prime classification, and Eisenstein factorization are separate targets.
Exact theorem in conservative defined notation
∀ ap. ∀ an. ∀ bp. ∀ bn. ∀ cp. ∀ cn. ∀ dp. ∀ dn. ∀ ep. ∀ en. ∀ fp. ∀ fn. ap · (cn + en) + an · (cp + ep) + (bp · (dp + fp) + bn · (dn + fn)) = ap · cn + an · cp + (bp · dp + bn · dn) + (ap · en + an · ep + (bp · fp + bn · fn))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 44 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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–10
02Fix variables and assumptionsL11–12
03Calculate and transport equalitiesL13–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
trans ((((ap) * (cn))) + ((((ap) * (en))) + ((((an) * (cp))) + ((((an) * (ep))) + ((((bp) * (dp))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn)))))))))) - L14
simp [mul_add, add_assoc] - L15
trans ((((ap) * (cn))) + ((((an) * (cp))) + ((((bp) * (dp))) + ((((bn) * (dn))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn)))))))))) - L16
congr - L17
refl - L18
trans ((((an) * (cp))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (dp))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn)))))))))
04Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply four_square_add_swap_right_tail
05Calculate and transport equalitiesL20–25
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
06Use earlier factsL26–27
07Calculate and transport equalitiesL28–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
congr - L29
refl - L30
trans ((((bn) * (dn))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn))))))) - L31
trans ((((ap) * (en))) + ((((bn) * (dn))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn))))))) - L32
congr - L33
refl - L34
trans ((((an) * (ep))) + ((((bn) * (dn))) + ((((bp) * (fp))) + (((bn) * (fn)))))) - L35
congr - L36
refl
08Use earlier factsL37–39
Original defined command ledger · 44 lines
- 0001
intro ap - 0002
intro an - 0003
intro bp - 0004
intro bn - 0005
intro cp - 0006
intro cn - 0007
intro dp - 0008
intro dn - 0009
intro ep - 0010
intro en - 0011
intro fp - 0012
intro fn - 0013
trans ((((ap) * (cn))) + ((((ap) * (en))) + ((((an) * (cp))) + ((((an) * (ep))) + ((((bp) * (dp))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn)))))))))) - 0014
simp [mul_add, add_assoc] - 0015
trans ((((ap) * (cn))) + ((((an) * (cp))) + ((((bp) * (dp))) + ((((bn) * (dn))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn)))))))))) - 0016
congr - 0017
refl - 0018
trans ((((an) * (cp))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (dp))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn))))))))) - 0019
apply four_square_add_swap_right_tail - 0020
congr - 0021
refl - 0022
trans ((((bp) * (dp))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn)))))))) - 0023
trans ((((ap) * (en))) + ((((bp) * (dp))) + ((((an) * (ep))) + ((((bp) * (fp))) + ((((bn) * (dn))) + (((bn) * (fn)))))))) - 0024
congr - 0025
refl - 0026
apply four_square_add_swap_right_tail - 0027
apply four_square_add_swap_right_tail - 0028
congr - 0029
refl - 0030
trans ((((bn) * (dn))) + ((((ap) * (en))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn))))))) - 0031
trans ((((ap) * (en))) + ((((bn) * (dn))) + ((((an) * (ep))) + ((((bp) * (fp))) + (((bn) * (fn))))))) - 0032
congr - 0033
refl - 0034
trans ((((an) * (ep))) + ((((bn) * (dn))) + ((((bp) * (fp))) + (((bn) * (fn)))))) - 0035
congr - 0036
refl - 0037
apply four_square_add_swap_right_tail - 0038
apply four_square_add_swap_right_tail - 0039
apply four_square_add_swap_right_tail - 0040
congr - 0041
refl - 0042
refl - 0043
symm - 0044
simp [mul_add, add_assoc]