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.
A floor quotient in the fundamental parallelogram already gives the required strict norm decrease; global nearest-point optimality is not asserted. The shared carrier is identical to the Gaussian carrier, but the multiplication law and norm are different. Eisenstein gcd, factorization, and prime classification remain separate targets.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ h. EisensteinCoordinateProduct(a,b,c,d,e,f,g,h,e · a + f · b + (g · d + h · c),e · b + f · a + (g · c + h · d),e · c + f · d + (g · a + h · b) + (g · d + h · c),e · d + f · c + (g · b + h · a) + (g · c + h · d))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 247 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–8
02Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
split
03Calculate and transport equalitiesL10–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L10
trans ((((a) * (e))) + ((((b) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((e) * (b))) + ((((f) * (a))) + ((((g) * (c))) + (((h) * (d)))))))))) - L11
simp [add_mul, mul_add, mul_assoc, add_assoc] - L12
trans ((((a) * (e))) + ((((b) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((b) * (e))) + ((((a) * (f))) + ((((c) * (g))) + (((d) * (h)))))))))) - L13
congr - L14
refl - L15
congr - L16
refl - L17
congr - L18
refl - L19
congr
04Calculate and transport equalitiesL20–22
05Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
apply mul_comm
06Calculate and transport equalitiesL24–28
07Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply mul_comm
08Calculate and transport equalitiesL30–34
09Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
apply mul_comm
10Calculate and transport equalitiesL36–39
11Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
apply mul_comm
12Calculate and transport equalitiesL41–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L41
congr - L42
refl - L43
refl - L44
trans ((((a) * (e))) + ((((b) * (f))) + ((((d) * (g))) + ((((c) * (h))) + ((((a) * (f))) + ((((b) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))) - L45
congr - L46
refl - L47
congr - L48
refl - L49
trans ((((d) * (g))) + ((((c) * (h))) + ((((b) * (e))) + ((((a) * (f))) + ((((c) * (g))) + (((d) * (h))))))))
13Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
apply four_square_add_swap_right_tail
14Calculate and transport equalitiesL51–55
15Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
apply four_square_add_swap_right_tail
16Calculate and transport equalitiesL57–63
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
17Use earlier factsL64–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
apply mul_comm
18Calculate and transport equalitiesL65–69
19Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
apply mul_comm
20Calculate and transport equalitiesL71–75
21Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
apply mul_comm
22Calculate and transport equalitiesL77–81
23Use earlier factsL82–82
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L82
apply mul_comm
24Calculate and transport equalitiesL83–92
25Calculate and transport equalitiesL93–102
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L93
symm - L94
simp [add_mul, mul_add, mul_assoc, add_assoc] - L95
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((e) * (d))) + ((((f) * (c))) + ((((g) * (b))) + ((((h) * (a))) + ((((g) * (c))) + (((h) * (d)))))))))))))) - L96
simp [add_mul, mul_add, mul_assoc, add_assoc] - L97
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - L98
congr - L99
refl - L100
congr - L101
refl - L102
congr
26Calculate and transport equalitiesL103–111
27Use earlier factsL112–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L112
apply mul_comm
28Calculate and transport equalitiesL113–117
29Use earlier factsL118–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L118
apply mul_comm
30Calculate and transport equalitiesL119–123
31Use earlier factsL124–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L124
apply mul_comm
32Calculate and transport equalitiesL125–129
33Use earlier factsL130–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L130
apply mul_comm
34Calculate and transport equalitiesL131–135
35Use earlier factsL136–136
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L136
apply mul_comm
36Calculate and transport equalitiesL137–140
37Use earlier factsL141–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
apply mul_comm
38Calculate and transport equalitiesL142–149
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L142
congr - L143
refl - L144
refl - L145
trans ((((c) * (e))) + ((((d) * (f))) + ((((a) * (g))) + ((((b) * (h))) + ((((d) * (g))) + ((((c) * (h))) + ((((a) * (h))) + ((((b) * (g))) + ((((c) * (f))) + ((((d) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - L146
trans ((((c) * (e))) + ((((a) * (g))) + ((((b) * (h))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - L147
trans ((((a) * (g))) + ((((c) * (e))) + ((((b) * (h))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - L148
congr - L149
refl
39Use earlier factsL150–151
40Calculate and transport equalitiesL152–157
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L152
congr - L153
refl - L154
trans ((((d) * (f))) + ((((a) * (g))) + ((((b) * (h))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h))))))))))))) - L155
trans ((((a) * (g))) + ((((d) * (f))) + ((((b) * (h))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h))))))))))))) - L156
congr - L157
refl
41Use earlier factsL158–159
42Calculate and transport equalitiesL160–166
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
43Use earlier factsL167–167
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L167
apply four_square_add_swap_right_tail
44Calculate and transport equalitiesL168–177
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L168
congr - L169
refl - L170
congr - L171
refl - L172
trans ((((a) * (h))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h)))))))) - L173
trans ((((d) * (e))) + ((((a) * (h))) + ((((c) * (f))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h)))))))) - L174
congr - L175
refl - L176
trans ((((c) * (f))) + ((((a) * (h))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h))))))) - L177
congr
45Calculate and transport equalitiesL178–178
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L178
refl
46Use earlier factsL179–181
47Calculate and transport equalitiesL182–187
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
48Use earlier factsL188–189
49Calculate and transport equalitiesL190–192
50Use earlier factsL193–193
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L193
apply four_square_add_swap_right_tail
51Calculate and transport equalitiesL194–200
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
52Use earlier factsL201–201
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L201
apply mul_comm
53Calculate and transport equalitiesL202–206
54Use earlier factsL207–207
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L207
apply mul_comm
55Calculate and transport equalitiesL208–212
56Use earlier factsL213–213
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L213
apply mul_comm
57Calculate and transport equalitiesL214–218
58Use earlier factsL219–219
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L219
apply mul_comm
59Calculate and transport equalitiesL220–224
60Use earlier factsL225–225
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L225
apply mul_comm
61Calculate and transport equalitiesL226–230
62Use earlier factsL231–231
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L231
apply mul_comm
63Calculate and transport equalitiesL232–241
Original defined command ledger · 247 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro e - 0006
intro f - 0007
intro g - 0008
intro h - 0009
split - 0010
trans ((((a) * (e))) + ((((b) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((e) * (b))) + ((((f) * (a))) + ((((g) * (c))) + (((h) * (d)))))))))) - 0011
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0012
trans ((((a) * (e))) + ((((b) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((b) * (e))) + ((((a) * (f))) + ((((c) * (g))) + (((d) * (h)))))))))) - 0013
congr - 0014
refl - 0015
congr - 0016
refl - 0017
congr - 0018
refl - 0019
congr - 0020
refl - 0021
congr - 0022
trans ((b) * (e)) - 0023
apply mul_comm - 0024
congr - 0025
refl - 0026
refl - 0027
congr - 0028
trans ((a) * (f)) - 0029
apply mul_comm - 0030
congr - 0031
refl - 0032
refl - 0033
congr - 0034
trans ((c) * (g)) - 0035
apply mul_comm - 0036
congr - 0037
refl - 0038
refl - 0039
trans ((d) * (h)) - 0040
apply mul_comm - 0041
congr - 0042
refl - 0043
refl - 0044
trans ((((a) * (e))) + ((((b) * (f))) + ((((d) * (g))) + ((((c) * (h))) + ((((a) * (f))) + ((((b) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))) - 0045
congr - 0046
refl - 0047
congr - 0048
refl - 0049
trans ((((d) * (g))) + ((((c) * (h))) + ((((b) * (e))) + ((((a) * (f))) + ((((c) * (g))) + (((d) * (h)))))))) - 0050
apply four_square_add_swap_right_tail - 0051
congr - 0052
refl - 0053
congr - 0054
refl - 0055
trans ((((a) * (f))) + ((((b) * (e))) + ((((c) * (g))) + (((d) * (h)))))) - 0056
apply four_square_add_swap_right_tail - 0057
congr - 0058
refl - 0059
refl - 0060
trans ((((e) * (a))) + ((((f) * (b))) + ((((g) * (d))) + ((((h) * (c))) + ((((a) * (f))) + ((((b) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))) - 0061
symm - 0062
congr - 0063
trans ((a) * (e)) - 0064
apply mul_comm - 0065
congr - 0066
refl - 0067
refl - 0068
congr - 0069
trans ((b) * (f)) - 0070
apply mul_comm - 0071
congr - 0072
refl - 0073
refl - 0074
congr - 0075
trans ((d) * (g)) - 0076
apply mul_comm - 0077
congr - 0078
refl - 0079
refl - 0080
congr - 0081
trans ((c) * (h)) - 0082
apply mul_comm - 0083
congr - 0084
refl - 0085
refl - 0086
congr - 0087
refl - 0088
congr - 0089
refl - 0090
congr - 0091
refl - 0092
refl - 0093
symm - 0094
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0095
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((e) * (d))) + ((((f) * (c))) + ((((g) * (b))) + ((((h) * (a))) + ((((g) * (c))) + (((h) * (d)))))))))))))) - 0096
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0097
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - 0098
congr - 0099
refl - 0100
congr - 0101
refl - 0102
congr - 0103
refl - 0104
congr - 0105
refl - 0106
congr - 0107
refl - 0108
congr - 0109
refl - 0110
congr - 0111
trans ((d) * (e)) - 0112
apply mul_comm - 0113
congr - 0114
refl - 0115
refl - 0116
congr - 0117
trans ((c) * (f)) - 0118
apply mul_comm - 0119
congr - 0120
refl - 0121
refl - 0122
congr - 0123
trans ((b) * (g)) - 0124
apply mul_comm - 0125
congr - 0126
refl - 0127
refl - 0128
congr - 0129
trans ((a) * (h)) - 0130
apply mul_comm - 0131
congr - 0132
refl - 0133
refl - 0134
congr - 0135
trans ((c) * (g)) - 0136
apply mul_comm - 0137
congr - 0138
refl - 0139
refl - 0140
trans ((d) * (h)) - 0141
apply mul_comm - 0142
congr - 0143
refl - 0144
refl - 0145
trans ((((c) * (e))) + ((((d) * (f))) + ((((a) * (g))) + ((((b) * (h))) + ((((d) * (g))) + ((((c) * (h))) + ((((a) * (h))) + ((((b) * (g))) + ((((c) * (f))) + ((((d) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - 0146
trans ((((c) * (e))) + ((((a) * (g))) + ((((b) * (h))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - 0147
trans ((((a) * (g))) + ((((c) * (e))) + ((((b) * (h))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - 0148
congr - 0149
refl - 0150
apply four_square_add_swap_right_tail - 0151
apply four_square_add_swap_right_tail - 0152
congr - 0153
refl - 0154
trans ((((d) * (f))) + ((((a) * (g))) + ((((b) * (h))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h))))))))))))) - 0155
trans ((((a) * (g))) + ((((d) * (f))) + ((((b) * (h))) + ((((c) * (h))) + ((((d) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h))))))))))))) - 0156
congr - 0157
refl - 0158
apply four_square_add_swap_right_tail - 0159
apply four_square_add_swap_right_tail - 0160
congr - 0161
refl - 0162
congr - 0163
refl - 0164
congr - 0165
refl - 0166
trans ((((d) * (g))) + ((((c) * (h))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((a) * (h))) + ((((c) * (g))) + (((d) * (h)))))))))) - 0167
apply four_square_add_swap_right_tail - 0168
congr - 0169
refl - 0170
congr - 0171
refl - 0172
trans ((((a) * (h))) + ((((d) * (e))) + ((((c) * (f))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h)))))))) - 0173
trans ((((d) * (e))) + ((((a) * (h))) + ((((c) * (f))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h)))))))) - 0174
congr - 0175
refl - 0176
trans ((((c) * (f))) + ((((a) * (h))) + ((((b) * (g))) + ((((c) * (g))) + (((d) * (h))))))) - 0177
congr - 0178
refl - 0179
apply four_square_add_swap_right_tail - 0180
apply four_square_add_swap_right_tail - 0181
apply four_square_add_swap_right_tail - 0182
congr - 0183
refl - 0184
trans ((((b) * (g))) + ((((d) * (e))) + ((((c) * (f))) + ((((c) * (g))) + (((d) * (h))))))) - 0185
trans ((((d) * (e))) + ((((b) * (g))) + ((((c) * (f))) + ((((c) * (g))) + (((d) * (h))))))) - 0186
congr - 0187
refl - 0188
apply four_square_add_swap_right_tail - 0189
apply four_square_add_swap_right_tail - 0190
congr - 0191
refl - 0192
trans ((((c) * (f))) + ((((d) * (e))) + ((((c) * (g))) + (((d) * (h)))))) - 0193
apply four_square_add_swap_right_tail - 0194
congr - 0195
refl - 0196
refl - 0197
trans ((((e) * (c))) + ((((f) * (d))) + ((((g) * (a))) + ((((h) * (b))) + ((((g) * (d))) + ((((h) * (c))) + ((((a) * (h))) + ((((b) * (g))) + ((((c) * (f))) + ((((d) * (e))) + ((((c) * (g))) + (((d) * (h)))))))))))))) - 0198
symm - 0199
congr - 0200
trans ((c) * (e)) - 0201
apply mul_comm - 0202
congr - 0203
refl - 0204
refl - 0205
congr - 0206
trans ((d) * (f)) - 0207
apply mul_comm - 0208
congr - 0209
refl - 0210
refl - 0211
congr - 0212
trans ((a) * (g)) - 0213
apply mul_comm - 0214
congr - 0215
refl - 0216
refl - 0217
congr - 0218
trans ((b) * (h)) - 0219
apply mul_comm - 0220
congr - 0221
refl - 0222
refl - 0223
congr - 0224
trans ((d) * (g)) - 0225
apply mul_comm - 0226
congr - 0227
refl - 0228
refl - 0229
congr - 0230
trans ((c) * (h)) - 0231
apply mul_comm - 0232
congr - 0233
refl - 0234
refl - 0235
congr - 0236
refl - 0237
congr - 0238
refl - 0239
congr - 0240
refl - 0241
congr - 0242
refl - 0243
congr - 0244
refl - 0245
refl - 0246
symm - 0247
simp [add_mul, mul_add, mul_assoc, add_assoc]