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. ∀ n. ∀ R. ∀ Q. ∀ C. a = b + d → Q = n · R + d · C → a · Q + b · R = S n · (b · R) + d · (b · C + Q)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 133 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–9
02Calculate and transport equalitiesL10–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L10
rewrite ha - L11
rewrite hQ - L12
rewrite hQ - L13
trans ((((b) * (((n) * (R))))) + ((((b) * (((d) * (C))))) + ((((d) * (((n) * (R))))) + ((((d) * (((d) * (C))))) + (((b) * (R))))))) - L14
simp [add_mul, mul_add, mul_assoc, add_assoc, mul_succ_left, mul_zero_left, zero_add, one_mul, mul_one] - L15
trans ((((R) * (((b) * (n))))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + ((((C) * (((d) * (d))))) + (((R) * (b))))))) - L16
congr - L17
trans ((R) * (((b) * (n)))) - L18
trans ((b) * (((R) * (n)))) - L19
congr
03Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
refl
04Use earlier factsL21–22
05Calculate and transport equalitiesL23–30
06Use earlier factsL31–32
07Calculate and transport equalitiesL33–40
08Use earlier factsL41–42
09Calculate and transport equalitiesL43–50
10Use earlier factsL51–52
11Calculate and transport equalitiesL53–56
12Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
apply mul_comm
13Calculate and transport equalitiesL58–67
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L58
congr - L59
refl - L60
refl - L61
trans ((((R) * (((b) * (n))))) + ((((R) * (b))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d))))))))) - L62
congr - L63
refl - L64
trans ((((R) * (b))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d)))))))) - L65
trans ((((C) * (((b) * (d))))) + ((((R) * (b))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d)))))))) - L66
congr - L67
refl
14Calculate and transport equalitiesL68–70
15Use earlier factsL71–73
16Calculate and transport equalitiesL74–83
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
17Use earlier factsL84–85
18Calculate and transport equalitiesL86–88
19Use earlier factsL89–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
apply mul_comm
20Calculate and transport equalitiesL90–94
21Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
apply mul_comm
22Calculate and transport equalitiesL96–103
23Use earlier factsL104–105
24Calculate and transport equalitiesL106–108
25Use earlier factsL109–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L109
apply mul_comm
26Calculate and transport equalitiesL110–117
27Use earlier factsL118–119
28Calculate and transport equalitiesL120–126
29Use earlier factsL127–128
Original defined command ledger · 133 lines
- 0001
intro a - 0002
intro b - 0003
intro d - 0004
intro n - 0005
intro R - 0006
intro Q - 0007
intro C - 0008
intro ha - 0009
intro hQ - 0010
rewrite ha - 0011
rewrite hQ - 0012
rewrite hQ - 0013
trans ((((b) * (((n) * (R))))) + ((((b) * (((d) * (C))))) + ((((d) * (((n) * (R))))) + ((((d) * (((d) * (C))))) + (((b) * (R))))))) - 0014
simp [add_mul, mul_add, mul_assoc, add_assoc, mul_succ_left, mul_zero_left, zero_add, one_mul, mul_one] - 0015
trans ((((R) * (((b) * (n))))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + ((((C) * (((d) * (d))))) + (((R) * (b))))))) - 0016
congr - 0017
trans ((R) * (((b) * (n)))) - 0018
trans ((b) * (((R) * (n)))) - 0019
congr - 0020
refl - 0021
apply mul_comm - 0022
apply natural_mul_swap_right_tail - 0023
congr - 0024
refl - 0025
refl - 0026
congr - 0027
trans ((C) * (((b) * (d)))) - 0028
trans ((b) * (((C) * (d)))) - 0029
congr - 0030
refl - 0031
apply mul_comm - 0032
apply natural_mul_swap_right_tail - 0033
congr - 0034
refl - 0035
refl - 0036
congr - 0037
trans ((R) * (((d) * (n)))) - 0038
trans ((d) * (((R) * (n)))) - 0039
congr - 0040
refl - 0041
apply mul_comm - 0042
apply natural_mul_swap_right_tail - 0043
congr - 0044
refl - 0045
refl - 0046
congr - 0047
trans ((C) * (((d) * (d)))) - 0048
trans ((d) * (((C) * (d)))) - 0049
congr - 0050
refl - 0051
apply mul_comm - 0052
apply natural_mul_swap_right_tail - 0053
congr - 0054
refl - 0055
refl - 0056
trans ((R) * (b)) - 0057
apply mul_comm - 0058
congr - 0059
refl - 0060
refl - 0061
trans ((((R) * (((b) * (n))))) + ((((R) * (b))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d))))))))) - 0062
congr - 0063
refl - 0064
trans ((((R) * (b))) + ((((C) * (((b) * (d))))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d)))))))) - 0065
trans ((((C) * (((b) * (d))))) + ((((R) * (b))) + ((((R) * (((d) * (n))))) + (((C) * (((d) * (d)))))))) - 0066
congr - 0067
refl - 0068
trans ((((R) * (((d) * (n))))) + ((((R) * (b))) + (((C) * (((d) * (d))))))) - 0069
congr - 0070
refl - 0071
apply add_comm - 0072
apply four_square_add_swap_right_tail - 0073
apply four_square_add_swap_right_tail - 0074
congr - 0075
refl - 0076
refl - 0077
trans ((((n) * (((b) * (R))))) + ((((b) * (R))) + ((((d) * (((b) * (C))))) + ((((d) * (((n) * (R))))) + (((d) * (((d) * (C))))))))) - 0078
symm - 0079
congr - 0080
trans ((R) * (((n) * (b)))) - 0081
trans ((n) * (((R) * (b)))) - 0082
congr - 0083
refl - 0084
apply mul_comm - 0085
apply natural_mul_swap_right_tail - 0086
congr - 0087
refl - 0088
trans ((b) * (n)) - 0089
apply mul_comm - 0090
congr - 0091
refl - 0092
refl - 0093
congr - 0094
trans ((R) * (b)) - 0095
apply mul_comm - 0096
congr - 0097
refl - 0098
refl - 0099
congr - 0100
trans ((C) * (((d) * (b)))) - 0101
trans ((d) * (((C) * (b)))) - 0102
congr - 0103
refl - 0104
apply mul_comm - 0105
apply natural_mul_swap_right_tail - 0106
congr - 0107
refl - 0108
trans ((b) * (d)) - 0109
apply mul_comm - 0110
congr - 0111
refl - 0112
refl - 0113
congr - 0114
trans ((R) * (((d) * (n)))) - 0115
trans ((d) * (((R) * (n)))) - 0116
congr - 0117
refl - 0118
apply mul_comm - 0119
apply natural_mul_swap_right_tail - 0120
congr - 0121
refl - 0122
refl - 0123
trans ((C) * (((d) * (d)))) - 0124
trans ((d) * (((C) * (d)))) - 0125
congr - 0126
refl - 0127
apply mul_comm - 0128
apply natural_mul_swap_right_tail - 0129
congr - 0130
refl - 0131
refl - 0132
symm - 0133
simp [add_mul, mul_add, mul_assoc, add_assoc, mul_succ_left, mul_zero_left, zero_add, one_mul, mul_one]