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 first-order arithmetic statement
forall a b c d e f g h i j k l. ((((((((a) * (((g) + (l))))) + (((b) * (((h) + (k))))))) + (((((c) * (((e) + (j))))) + (((d) * (((f) + (i))))))))) + (((((c) * (((h) + (k))))) + (((d) * (((g) + (l)))))))) = ((((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))) + (((((((((a) * (l))) + (((b) * (k))))) + (((((c) * (j))) + (((d) * (i))))))) + (((((c) * (k))) + (((d) * (l))))))))Constructive proof overview
Generated structural guide
Exact imaginary positive contribution of Eisenstein multiplication distributes over an actual signed difference.
The unchanged tactic script uses 5 declared prerequisites and contains 80 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
add_mul Stable theorem; checked-use authorized mul_add Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized four_square_add_swap_right_tail Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply 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–10
02Fix variables and assumptionsL11–12
03Calculate and transport equalitiesL13–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
trans ((((a) * (g))) + ((((a) * (l))) + ((((b) * (h))) + ((((b) * (k))) + ((((c) * (e))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))))) - L14
simp [add_mul, mul_add, mul_assoc, add_assoc] - L15
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l)))))))))))))) - L16
congr - L17
refl - L18
trans ((((b) * (h))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (e))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))))
04Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply four_square_add_swap_right_tail
05Calculate and transport equalitiesL20–25
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
congr - L21
refl - L22
trans ((((c) * (e))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))) - L23
trans ((((a) * (l))) + ((((c) * (e))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))) - L24
congr - L25
refl
06Use earlier factsL26–27
07Calculate and transport equalitiesL28–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
congr - L29
refl - L30
trans ((((d) * (f))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))))) - L31
trans ((((a) * (l))) + ((((d) * (f))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))))) - L32
congr - L33
refl - L34
trans ((((b) * (k))) + ((((d) * (f))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - L35
congr - L36
refl
08Use earlier factsL37–39
09Calculate and transport equalitiesL40–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
congr - L41
refl - L42
trans ((((c) * (h))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - L43
trans ((((a) * (l))) + ((((c) * (h))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - L44
congr - L45
refl - L46
trans ((((b) * (k))) + ((((c) * (h))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))) - L47
congr - L48
refl - L49
trans ((((c) * (j))) + ((((c) * (h))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))
10Calculate and transport equalitiesL50–51
11Use earlier factsL52–55
12Calculate and transport equalitiesL56–65
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L56
congr - L57
refl - L58
trans ((((d) * (g))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l))))))))) - L59
trans ((((a) * (l))) + ((((d) * (g))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l))))))))) - L60
congr - L61
refl - L62
trans ((((b) * (k))) + ((((d) * (g))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l)))))))) - L63
congr - L64
refl - L65
trans ((((c) * (j))) + ((((d) * (g))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l)))))))
13Calculate and transport equalitiesL66–70
14Use earlier factsL71–75
Original exact command ledger · 80 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
trans ((((a) * (g))) + ((((a) * (l))) + ((((b) * (h))) + ((((b) * (k))) + ((((c) * (e))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))))) - 0014
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0015
trans ((((a) * (g))) + ((((b) * (h))) + ((((c) * (e))) + ((((d) * (f))) + ((((c) * (h))) + ((((d) * (g))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l)))))))))))))) - 0016
congr - 0017
refl - 0018
trans ((((b) * (h))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (e))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))))))) - 0019
apply four_square_add_swap_right_tail - 0020
congr - 0021
refl - 0022
trans ((((c) * (e))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))) - 0023
trans ((((a) * (l))) + ((((c) * (e))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (f))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))))) - 0024
congr - 0025
refl - 0026
apply four_square_add_swap_right_tail - 0027
apply four_square_add_swap_right_tail - 0028
congr - 0029
refl - 0030
trans ((((d) * (f))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))))) - 0031
trans ((((a) * (l))) + ((((d) * (f))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))))) - 0032
congr - 0033
refl - 0034
trans ((((b) * (k))) + ((((d) * (f))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (h))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - 0035
congr - 0036
refl - 0037
apply four_square_add_swap_right_tail - 0038
apply four_square_add_swap_right_tail - 0039
apply four_square_add_swap_right_tail - 0040
congr - 0041
refl - 0042
trans ((((c) * (h))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - 0043
trans ((((a) * (l))) + ((((c) * (h))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))))) - 0044
congr - 0045
refl - 0046
trans ((((b) * (k))) + ((((c) * (h))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l))))))))) - 0047
congr - 0048
refl - 0049
trans ((((c) * (j))) + ((((c) * (h))) + ((((d) * (i))) + ((((c) * (k))) + ((((d) * (g))) + (((d) * (l)))))))) - 0050
congr - 0051
refl - 0052
apply four_square_add_swap_right_tail - 0053
apply four_square_add_swap_right_tail - 0054
apply four_square_add_swap_right_tail - 0055
apply four_square_add_swap_right_tail - 0056
congr - 0057
refl - 0058
trans ((((d) * (g))) + ((((a) * (l))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l))))))))) - 0059
trans ((((a) * (l))) + ((((d) * (g))) + ((((b) * (k))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l))))))))) - 0060
congr - 0061
refl - 0062
trans ((((b) * (k))) + ((((d) * (g))) + ((((c) * (j))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l)))))))) - 0063
congr - 0064
refl - 0065
trans ((((c) * (j))) + ((((d) * (g))) + ((((d) * (i))) + ((((c) * (k))) + (((d) * (l))))))) - 0066
congr - 0067
refl - 0068
trans ((((d) * (i))) + ((((d) * (g))) + ((((c) * (k))) + (((d) * (l)))))) - 0069
congr - 0070
refl - 0071
apply four_square_add_swap_right_tail - 0072
apply four_square_add_swap_right_tail - 0073
apply four_square_add_swap_right_tail - 0074
apply four_square_add_swap_right_tail - 0075
apply four_square_add_swap_right_tail - 0076
congr - 0077
refl - 0078
refl - 0079
symm - 0080
simp [add_mul, mul_add, mul_assoc, add_assoc]