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 d xp yp xn yn z. a * xp + b * yp = d + (a * xn + b * yn) -> a * (xp * z) + (b * z) * yp = d * z + (a * (xn * z) + (b * z) * yn)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
0 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall a b d xp yp xn yn z. a * xp + b * yp = d + (a * xn + b * yn) -> a * (xp * z) + (b * z) * yp = d * z + (a * (xn * z) + (b * z) * yn)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic 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–9
02Calculate and transport equalitiesL10–12
03Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
apply mul_assoc
04Calculate and transport equalitiesL14–18
05Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply mul_assoc
06Calculate and transport equalitiesL20–22
07Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
apply mul_comm
08Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
symm
09Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply mul_assoc
10Calculate and transport equalitiesL26–27
11Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
apply add_mul
12Calculate and transport equalitiesL29–30
13Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact h
14Calculate and transport equalitiesL32–33
15Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
apply add_mul
16Calculate and transport equalitiesL35–37
17Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
apply add_mul
18Calculate and transport equalitiesL39–42
19Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
apply mul_assoc
20Calculate and transport equalitiesL44–49
21Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
apply mul_assoc
22Calculate and transport equalitiesL51–53
23Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
apply mul_comm
24Calculate and transport equalitiesL55–55
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L55
symm
25Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
apply mul_assoc
Original defined command ledger · 56 lines
- 0001
intro a - 0002
intro b - 0003
intro d - 0004
intro xp - 0005
intro yp - 0006
intro xn - 0007
intro yn - 0008
intro z - 0009
intro h - 0010
trans (a * xp) * z + (b * z) * yp - 0011
congr - 0012
symm - 0013
apply mul_assoc - 0014
refl - 0015
trans (a * xp) * z + (b * yp) * z - 0016
congr - 0017
refl - 0018
trans b * (z * yp) - 0019
apply mul_assoc - 0020
trans b * (yp * z) - 0021
congr - 0022
refl - 0023
apply mul_comm - 0024
symm - 0025
apply mul_assoc - 0026
trans (a * xp + b * yp) * z - 0027
symm - 0028
apply add_mul - 0029
trans (d + (a * xn + b * yn)) * z - 0030
congr - 0031
exact h - 0032
refl - 0033
trans d * z + (a * xn + b * yn) * z - 0034
apply add_mul - 0035
trans d * z + ((a * xn) * z + (b * yn) * z) - 0036
congr - 0037
refl - 0038
apply add_mul - 0039
trans d * z + (a * (xn * z) + (b * yn) * z) - 0040
congr - 0041
refl - 0042
congr - 0043
apply mul_assoc - 0044
refl - 0045
congr - 0046
refl - 0047
congr - 0048
refl - 0049
trans b * (yn * z) - 0050
apply mul_assoc - 0051
trans b * (z * yn) - 0052
congr - 0053
refl - 0054
apply mul_comm - 0055
symm - 0056
apply mul_assoc