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 m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (a * c) + m * r = (b * c) + m * sStructural proof guide
Balanced congruence is preserved by multiplication on the right.
Direct prerequisites: add_mul, mul_assoc. The authored body proceeds by case analysis (2).
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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
02Separate the logical casesL6–7
03Construct an explicit witnessL8–9
04Calculate and transport equalitiesL10–13
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
apply mul_assoc
06Calculate and transport equalitiesL15–16
07Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply add_mul
08Calculate and transport equalitiesL18–19
09Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact h_witness_witness
10Calculate and transport equalitiesL21–22
11Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
apply add_mul
12Calculate and transport equalitiesL24–25
13Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
apply mul_assoc
Original exact command ledger · 26 lines
- 0001
intro m - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro h - 0006
cases h - 0007
cases h_witness - 0008
exists x * c - 0009
exists x1 * c - 0010
trans a * c + (m * x) * c - 0011
congr - 0012
refl - 0013
symm - 0014
apply mul_assoc - 0015
trans (a + m * x) * c - 0016
symm - 0017
apply add_mul - 0018
trans (b + m * x1) * c - 0019
congr - 0020
exact h_witness_witness - 0021
refl - 0022
trans b * c + (m * x1) * c - 0023
apply add_mul - 0024
congr - 0025
refl - 0026
apply mul_assoc