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 PA statement
forall a z q r. z = a * q + r -> z * z = a * (q * z + r * q) + r * rStructural proof guide
Generated structural guide
Expand a square while retaining an explicit quotient and remainder.
Use the direct prerequisites add_assoc, mul_comm, mul_add, add_mul, mul_assoc as previously established PA formulas.
The proof proceeds by direct introduction and elimination.
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
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
02Calculate and transport equalitiesL6–7
03Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
exact hz
04Calculate and transport equalitiesL9–10
05Use earlier factsL11–11
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
apply add_mul
06Calculate and transport equalitiesL12–13
07Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
apply mul_assoc
08Calculate and transport equalitiesL15–20
09Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hz
10Calculate and transport equalitiesL22–24
11Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply mul_add
12Calculate and transport equalitiesL26–31
13Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
apply mul_assoc
14Calculate and transport equalitiesL33–34
15Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
apply mul_comm
16Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
refl
17Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply mul_assoc
18Calculate and transport equalitiesL38–40
19Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
apply add_assoc
20Calculate and transport equalitiesL42–43
21Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply mul_add
22Calculate and transport equalitiesL45–45
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L45
refl
Original exact command ledger · 45 lines
- 0001
intro a - 0002
intro z - 0003
intro q - 0004
intro r - 0005
intro hz - 0006
trans (a * q + r) * z - 0007
congr - 0008
exact hz - 0009
refl - 0010
trans (a * q) * z + r * z - 0011
apply add_mul - 0012
trans a * (q * z) + r * z - 0013
congr - 0014
apply mul_assoc - 0015
refl - 0016
trans a * (q * z) + r * (a * q + r) - 0017
congr - 0018
refl - 0019
congr - 0020
refl - 0021
exact hz - 0022
trans a * (q * z) + (r * (a * q) + r * r) - 0023
congr - 0024
refl - 0025
apply mul_add - 0026
trans a * (q * z) + (a * (r * q) + r * r) - 0027
congr - 0028
refl - 0029
congr - 0030
trans (r * a) * q - 0031
symm - 0032
apply mul_assoc - 0033
trans (a * r) * q - 0034
congr - 0035
apply mul_comm - 0036
refl - 0037
apply mul_assoc - 0038
refl - 0039
trans (a * (q * z) + a * (r * q)) + r * r - 0040
symm - 0041
apply add_assoc - 0042
congr - 0043
symm - 0044
apply mul_add - 0045
refl