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. ∀ B. ∀ Q. a = b + d → a · (B + d · Q) = b · B + d · (a · Q + B)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 91 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–6
02Calculate and transport equalitiesL7–13
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
03Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
apply mul_comm
04Calculate and transport equalitiesL15–22
05Use earlier factsL23–24
06Calculate and transport equalitiesL25–29
07Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply mul_comm
08Calculate and transport equalitiesL31–37
09Use earlier factsL38–39
10Calculate and transport equalitiesL40–48
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
11Use earlier factsL49–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
apply add_comm
12Calculate and transport equalitiesL50–56
13Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
apply mul_comm
14Calculate and transport equalitiesL58–65
15Use earlier factsL66–67
16Calculate and transport equalitiesL68–70
17Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
apply mul_comm
18Calculate and transport equalitiesL72–79
19Use earlier factsL80–81
20Calculate and transport equalitiesL82–85
21Use earlier factsL86–86
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L86
apply mul_comm
Original defined command ledger · 91 lines
- 0001
intro a - 0002
intro b - 0003
intro d - 0004
intro B - 0005
intro Q - 0006
intro ha - 0007
rewrite ha - 0008
rewrite ha - 0009
trans ((((b) * (B))) + ((((b) * (((d) * (Q))))) + ((((d) * (B))) + (((d) * (((d) * (Q)))))))) - 0010
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0011
trans ((((B) * (b))) + ((((Q) * (((b) * (d))))) + ((((B) * (d))) + (((Q) * (((d) * (d)))))))) - 0012
congr - 0013
trans ((B) * (b)) - 0014
apply mul_comm - 0015
congr - 0016
refl - 0017
refl - 0018
congr - 0019
trans ((Q) * (((b) * (d)))) - 0020
trans ((b) * (((Q) * (d)))) - 0021
congr - 0022
refl - 0023
apply mul_comm - 0024
apply natural_mul_swap_right_tail - 0025
congr - 0026
refl - 0027
refl - 0028
congr - 0029
trans ((B) * (d)) - 0030
apply mul_comm - 0031
congr - 0032
refl - 0033
refl - 0034
trans ((Q) * (((d) * (d)))) - 0035
trans ((d) * (((Q) * (d)))) - 0036
congr - 0037
refl - 0038
apply mul_comm - 0039
apply natural_mul_swap_right_tail - 0040
congr - 0041
refl - 0042
refl - 0043
trans ((((B) * (b))) + ((((Q) * (((b) * (d))))) + ((((Q) * (((d) * (d))))) + (((B) * (d)))))) - 0044
congr - 0045
refl - 0046
congr - 0047
refl - 0048
trans ((((Q) * (((d) * (d))))) + (((B) * (d)))) - 0049
apply add_comm - 0050
congr - 0051
refl - 0052
refl - 0053
trans ((((b) * (B))) + ((((d) * (((b) * (Q))))) + ((((d) * (((d) * (Q))))) + (((d) * (B)))))) - 0054
symm - 0055
congr - 0056
trans ((B) * (b)) - 0057
apply mul_comm - 0058
congr - 0059
refl - 0060
refl - 0061
congr - 0062
trans ((Q) * (((d) * (b)))) - 0063
trans ((d) * (((Q) * (b)))) - 0064
congr - 0065
refl - 0066
apply mul_comm - 0067
apply natural_mul_swap_right_tail - 0068
congr - 0069
refl - 0070
trans ((b) * (d)) - 0071
apply mul_comm - 0072
congr - 0073
refl - 0074
refl - 0075
congr - 0076
trans ((Q) * (((d) * (d)))) - 0077
trans ((d) * (((Q) * (d)))) - 0078
congr - 0079
refl - 0080
apply mul_comm - 0081
apply natural_mul_swap_right_tail - 0082
congr - 0083
refl - 0084
refl - 0085
trans ((B) * (d)) - 0086
apply mul_comm - 0087
congr - 0088
refl - 0089
refl - 0090
symm - 0091
simp [add_mul, mul_add, mul_assoc, add_assoc]