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. ∀ i. ∀ j. ∀ k. ∀ l. (a · e + b · f + (c · h + d · g)) · i + (a · f + b · e + (c · g + d · h)) · j + ((a · g + b · h + (c · e + d · f) + (c · h + d · g)) · l + (a · h + b · g + (c · f + d · e) + (c · g + d · h)) · k) + (a · (e · j + f · i + (g · k + h · l)) + b · (e · i + f · j + (g · l + h · k)) + (c · (e · k + f · l + (g · i + h · j) + (g · l + h · k)) + d · (e · l + f · k + (g · j + h · i) + (g · k + h · l)))) = a · (e · i + f · j + (g · l + h · k)) + b · (e · j + f · i + (g · k + h · l)) + (c · (e · l + f · k + (g · j + h · i) + (g · k + h · l)) + d · (e · k + f · l + (g · i + h · j) + (g · l + h · k))) + ((a · e + b · f + (c · h + d · g)) · j + (a · f + b · e + (c · g + d · h)) · i + ((a · g + b · h + (c · e + d · f) + (c · h + d · g)) · k + (a · h + b · g + (c · f + d · e) + (c · g + d · h)) · l))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 39 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.
Named ingredients (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Establish htailL13–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed pair mul components associate.
- L13
have htail : (((((((((c) * (g))) + (((d) * (h))))) * (k))) + (((((((c) * (h))) + (((d) * (g))))) * (l)))) = ((((c) * (((((g) * (k))) + (((h) * (l))))))) + (((d) * (((((g) * (l))) + (((h) * (k))))))))) /\ (((((((((c) * (g))) + (((d) * (h))))) * (l))) + (((((((c) * (h))) + (((d) * (g))))) * (k)))) = ((((c) * (((((g) * (l))) + (((h) * (k))))))) + (((d) * (((((g) * (k))) + (((h) * (l))))))))) - L14
specialize signed_pair_mul_components_associate c - L15
specialize signed_pair_mul_components_associate d - L16
specialize signed_pair_mul_components_associate g - L17
specialize signed_pair_mul_components_associate h - L18
specialize signed_pair_mul_components_associate k - L19
specialize signed_pair_mul_components_associate l - L20
apply signed_pair_mul_components_associate
04Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases htail
05Calculate and transport equalitiesL22–23
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L22
congr - L23
trans ((((((((((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))) * (i))) + (((((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))) * (j))))) + (((((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) * (l))) + (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) * (k))))))) + (((((((((c) * (g))) + (((d) * (h))))) * (k))) + (((((((c) * (h))) + (((d) * (g))))) * (l))))))
06Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
apply eisenstein_real_associate_left_positive
07Calculate and transport equalitiesL25–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L25
trans ((((((((a) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((b) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((c) * (((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))))) + (((d) * (((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))))))))) + (((((c) * (((((g) * (k))) + (((h) * (l))))))) + (((d) * (((((g) * (l))) + (((h) * (k)))))))))) - L26
congr
08Use earlier factsL27–28
09Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
symm
10Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply eisenstein_real_associate_right_positive
11Calculate and transport equalitiesL31–32
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
symm - L32
trans ((((((((((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))) * (j))) + (((((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))) * (i))))) + (((((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) * (k))) + (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) * (l))))))) + (((((((((c) * (g))) + (((d) * (h))))) * (l))) + (((((((c) * (h))) + (((d) * (g))))) * (k))))))
12Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
apply eisenstein_real_associate_left_negative
13Calculate and transport equalitiesL34–35
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
trans ((((((((a) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((b) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((c) * (((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))))) + (((d) * (((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))))))))) + (((((c) * (((((g) * (l))) + (((h) * (k))))))) + (((d) * (((((g) * (k))) + (((h) * (l)))))))))) - L35
congr
14Use earlier factsL36–37
15Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
symm
16Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply eisenstein_real_associate_right_negative
Original defined command ledger · 39 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
intro i - 0010
intro j - 0011
intro k - 0012
intro l - 0013
have htail : (((((((((c) * (g))) + (((d) * (h))))) * (k))) + (((((((c) * (h))) + (((d) * (g))))) * (l)))) = ((((c) * (((((g) * (k))) + (((h) * (l))))))) + (((d) * (((((g) * (l))) + (((h) * (k))))))))) /\ (((((((((c) * (g))) + (((d) * (h))))) * (l))) + (((((((c) * (h))) + (((d) * (g))))) * (k)))) = ((((c) * (((((g) * (l))) + (((h) * (k))))))) + (((d) * (((((g) * (k))) + (((h) * (l))))))))) - 0014
specialize signed_pair_mul_components_associate c - 0015
specialize signed_pair_mul_components_associate d - 0016
specialize signed_pair_mul_components_associate g - 0017
specialize signed_pair_mul_components_associate h - 0018
specialize signed_pair_mul_components_associate k - 0019
specialize signed_pair_mul_components_associate l - 0020
apply signed_pair_mul_components_associate - 0021
cases htail - 0022
congr - 0023
trans ((((((((((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))) * (i))) + (((((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))) * (j))))) + (((((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) * (l))) + (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) * (k))))))) + (((((((((c) * (g))) + (((d) * (h))))) * (k))) + (((((((c) * (h))) + (((d) * (g))))) * (l)))))) - 0024
apply eisenstein_real_associate_left_positive - 0025
trans ((((((((a) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((b) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((c) * (((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))))) + (((d) * (((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))))))))) + (((((c) * (((((g) * (k))) + (((h) * (l))))))) + (((d) * (((((g) * (l))) + (((h) * (k)))))))))) - 0026
congr - 0027
apply gaussian_product_associate_real_positive - 0028
exact htail_left - 0029
symm - 0030
apply eisenstein_real_associate_right_positive - 0031
symm - 0032
trans ((((((((((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))) * (j))) + (((((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))) * (i))))) + (((((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) * (k))) + (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) * (l))))))) + (((((((((c) * (g))) + (((d) * (h))))) * (l))) + (((((((c) * (h))) + (((d) * (g))))) * (k)))))) - 0033
apply eisenstein_real_associate_left_negative - 0034
trans ((((((((a) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((b) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((c) * (((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))))) + (((d) * (((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))))))))) + (((((c) * (((((g) * (l))) + (((h) * (k))))))) + (((d) * (((((g) * (k))) + (((h) * (l)))))))))) - 0035
congr - 0036
apply gaussian_product_associate_real_negative - 0037
exact htail_right - 0038
symm - 0039
apply eisenstein_real_associate_right_negative