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.
All displayed hypotheses are required. Powers and positive differences are actual existential outputs. The proof constructs second-order correction identities and iterates the prime step; no binomial expansion or LTE oracle is assumed. The 2-adic variants remain separate open targets.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ d. a = b + d → a · a = b · b + d · (a + b)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 50 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–4
02Calculate and transport equalitiesL5–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
03Calculate and transport equalitiesL15–16
04Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply mul_comm
05Calculate and transport equalitiesL18–27
06Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
apply add_comm
07Calculate and transport equalitiesL29–37
08Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
apply mul_comm
09Calculate and transport equalitiesL39–44
10Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
apply mul_comm
Original defined command ledger · 50 lines
- 0001
intro a - 0002
intro b - 0003
intro d - 0004
intro ha - 0005
rewrite ha - 0006
rewrite ha - 0007
rewrite ha - 0008
trans ((((b) * (b))) + ((((b) * (d))) + ((((d) * (b))) + (((d) * (d)))))) - 0009
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0010
trans ((((b) * (b))) + ((((b) * (d))) + ((((b) * (d))) + (((d) * (d)))))) - 0011
congr - 0012
refl - 0013
congr - 0014
refl - 0015
congr - 0016
trans ((b) * (d)) - 0017
apply mul_comm - 0018
congr - 0019
refl - 0020
refl - 0021
refl - 0022
trans ((((b) * (b))) + ((((b) * (d))) + ((((d) * (d))) + (((b) * (d)))))) - 0023
congr - 0024
refl - 0025
congr - 0026
refl - 0027
trans ((((d) * (d))) + (((b) * (d)))) - 0028
apply add_comm - 0029
congr - 0030
refl - 0031
refl - 0032
trans ((((b) * (b))) + ((((d) * (b))) + ((((d) * (d))) + (((d) * (b)))))) - 0033
symm - 0034
congr - 0035
refl - 0036
congr - 0037
trans ((b) * (d)) - 0038
apply mul_comm - 0039
congr - 0040
refl - 0041
refl - 0042
congr - 0043
refl - 0044
trans ((b) * (d)) - 0045
apply mul_comm - 0046
congr - 0047
refl - 0048
refl - 0049
symm - 0050
simp [add_mul, mul_add, mul_assoc, add_assoc]