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.
Statement with defined notation
forall a b c d e f g h. (((((((((((((((a * e) * (b * f) + (b * f) * (a * e))) + (((a * e) * (c * g) + (c * g) * (a * e)))) + (((b * f) * (c * g) + (c * g) * (b * f)))) + (((d * h) * (a * e) + (a * e) * (d * h)))) + (((d * h) * (b * f) + (b * f) * (d * h)))) + (((d * h) * (c * g) + (c * g) * (d * h)))) + (((a * f) * (c * h) + (c * h) * (a * f)))) + (((b * e) * (d * g) + (d * g) * (b * e)))) + (((a * g) * (d * f) + (d * f) * (a * g)))) + (((c * e) * (b * h) + (b * h) * (c * e)))) + (((a * h) * (b * g) + (b * g) * (a * h)))) + (((d * e) * (c * f) + (c * f) * (d * e))))) = (((((((((((((((a * f) * (b * e) + (b * e) * (a * f))) + (((a * f) * (d * g) + (d * g) * (a * f)))) + (((c * h) * (b * e) + (b * e) * (c * h)))) + (((c * h) * (d * g) + (d * g) * (c * h)))) + (((a * g) * (c * e) + (c * e) * (a * g)))) + (((a * g) * (b * h) + (b * h) * (a * g)))) + (((d * f) * (c * e) + (c * e) * (d * f)))) + (((d * f) * (b * h) + (b * h) * (d * f)))) + (((a * h) * (d * e) + (d * e) * (a * h)))) + (((a * h) * (c * f) + (c * f) * (a * h)))) + (((b * g) * (d * e) + (d * e) * (b * g)))) + (((b * g) * (c * f) + (c * f) * (b * g)))))Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall a b c d e f g h. (((((((((((((((a * e) * (b * f) + (b * f) * (a * e))) + (((a * e) * (c * g) + (c * g) * (a * e)))) + (((b * f) * (c * g) + (c * g) * (b * f)))) + (((d * h) * (a * e) + (a * e) * (d * h)))) + (((d * h) * (b * f) + (b * f) * (d * h)))) + (((d * h) * (c * g) + (c * g) * (d * h)))) + (((a * f) * (c * h) + (c * h) * (a * f)))) + (((b * e) * (d * g) + (d * g) * (b * e)))) + (((a * g) * (d * f) + (d * f) * (a * g)))) + (((c * e) * (b * h) + (b * h) * (c * e)))) + (((a * h) * (b * g) + (b * g) * (a * h)))) + (((d * e) * (c * f) + (c * f) * (d * e))))) = (((((((((((((((a * f) * (b * e) + (b * e) * (a * f))) + (((a * f) * (d * g) + (d * g) * (a * f)))) + (((c * h) * (b * e) + (b * e) * (c * h)))) + (((c * h) * (d * g) + (d * g) * (c * h)))) + (((a * g) * (c * e) + (c * e) * (a * g)))) + (((a * g) * (b * h) + (b * h) * (a * g)))) + (((d * f) * (c * e) + (c * e) * (d * f)))) + (((d * f) * (b * h) + (b * h) * (d * f)))) + (((a * h) * (d * e) + (d * e) * (a * h)))) + (((a * h) * (c * f) + (c * f) * (a * h)))) + (((b * g) * (d * e) + (d * e) * (b * g)))) + (((b * g) * (c * f) + (c * f) * (b * g)))))Proof neighborhood
Direct theorem prerequisites
FS002Q four_square_euler_double_cross_swap add_assoc · Stable closed add_comm · Stable closed FS0006 four_square_add_swap_right_tailDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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 (2)
01Fix variables and assumptionsL1–8
02Calculate and transport equalitiesL9–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L9
trans ((((((((((((((a * f) * (b * e) + (b * e) * (a * f))) + (((a * g) * (c * e) + (c * e) * (a * g)))) + (((b * g) * (c * f) + (c * f) * (b * g)))) + (((a * h) * (d * e) + (d * e) * (a * h)))) + (((d * f) * (b * h) + (b * h) * (d * f)))) + (((c * h) * (d * g) + (d * g) * (c * h)))) + (((a * h) * (c * f) + (c * f) * (a * h)))) + (((b * g) * (d * e) + (d * e) * (b * g)))) + (((a * f) * (d * g) + (d * g) * (a * f)))) + (((c * h) * (b * e) + (b * e) * (c * h)))) + (((a * g) * (b * h) + (b * h) * (a * g)))) + (((d * f) * (c * e) + (c * e) * (d * f)))) - L10
congr - L11
congr - L12
congr - L13
congr - L14
congr - L15
congr - L16
congr - L17
congr - L18
congr
03Calculate and transport equalitiesL19–20
04Use earlier factsL21–23
05Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
trans ((d * e) * (a * h) + (a * h) * (d * e))
06Use earlier factsL25–27
07Calculate and transport equalitiesL28–28
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L28
trans ((d * g) * (c * h) + (c * h) * (d * g))
08Use earlier factsL29–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply four_square_euler_double_cross_swap - L30
apply add_comm - L31
apply four_square_euler_double_cross_swap - L32
apply four_square_euler_double_cross_swap - L33
apply four_square_euler_double_cross_swap - L34
apply four_square_euler_double_cross_swap - L35
apply four_square_euler_double_cross_swap - L36
apply four_square_euler_double_cross_swap
09Calculate and transport equalitiesL37–46
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L37
trans ((((a * f) * (b * e) + (b * e) * (a * f))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))))) - L38
simp [add_assoc] - L39
trans ((((a * f) * (b * e) + (b * e) * (a * f))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((b * g) * (c * f) + (c * f) * (b * g)))))))))))))) - L40
congr - L41
refl - L42
trans ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))))) - L43
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))))) - L44
congr - L45
refl - L46
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))))
10Calculate and transport equalitiesL47–56
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
congr - L48
refl - L49
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - L50
congr - L51
refl - L52
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))) - L53
congr - L54
refl - L55
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - L56
congr
11Calculate and transport equalitiesL57–60
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L57
refl - L58
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - L59
congr - L60
refl
12Use earlier factsL61–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
13Calculate and transport equalitiesL68–77
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L68
congr - L69
refl - L70
trans ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))) - L71
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))) - L72
congr - L73
refl - L74
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - L75
congr - L76
refl - L77
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))
14Calculate and transport equalitiesL78–87
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L78
congr - L79
refl - L80
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - L81
congr - L82
refl - L83
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - L84
congr - L85
refl - L86
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))) - L87
congr
15Calculate and transport equalitiesL88–88
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L88
refl
16Use earlier factsL89–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Calculate and transport equalitiesL96–105
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L96
congr - L97
refl - L98
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - L99
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - L100
congr - L101
refl - L102
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))) - L103
congr - L104
refl - L105
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))
18Calculate and transport equalitiesL106–107
19Use earlier factsL108–111
20Calculate and transport equalitiesL112–121
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L112
congr - L113
refl - L114
congr - L115
refl - L116
trans ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - L117
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - L118
congr - L119
refl - L120
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - L121
congr
21Calculate and transport equalitiesL122–128
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L122
refl - L123
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))) - L124
congr - L125
refl - L126
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))) - L127
congr - L128
refl
22Use earlier factsL129–133
23Calculate and transport equalitiesL134–143
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L134
congr - L135
refl - L136
trans ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))))) - L137
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))))) - L138
congr - L139
refl - L140
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - L141
congr - L142
refl - L143
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))
24Calculate and transport equalitiesL144–148
25Use earlier factsL149–153
26Calculate and transport equalitiesL154–159
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L154
congr - L155
refl - L156
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - L157
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - L158
congr - L159
refl
27Use earlier factsL160–161
28Calculate and transport equalitiesL162–164
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
29Use earlier factsL165–165
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L165
apply four_square_add_swap_right_tail
30Calculate and transport equalitiesL166–168
31Use earlier factsL169–169
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L169
apply four_square_add_swap_right_tail
32Calculate and transport equalitiesL170–172
33Use earlier factsL173–173
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L173
apply add_comm
Original defined command ledger · 178 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
trans ((((((((((((((a * f) * (b * e) + (b * e) * (a * f))) + (((a * g) * (c * e) + (c * e) * (a * g)))) + (((b * g) * (c * f) + (c * f) * (b * g)))) + (((a * h) * (d * e) + (d * e) * (a * h)))) + (((d * f) * (b * h) + (b * h) * (d * f)))) + (((c * h) * (d * g) + (d * g) * (c * h)))) + (((a * h) * (c * f) + (c * f) * (a * h)))) + (((b * g) * (d * e) + (d * e) * (b * g)))) + (((a * f) * (d * g) + (d * g) * (a * f)))) + (((c * h) * (b * e) + (b * e) * (c * h)))) + (((a * g) * (b * h) + (b * h) * (a * g)))) + (((d * f) * (c * e) + (c * e) * (d * f)))) - 0010
congr - 0011
congr - 0012
congr - 0013
congr - 0014
congr - 0015
congr - 0016
congr - 0017
congr - 0018
congr - 0019
congr - 0020
congr - 0021
apply four_square_euler_double_cross_swap - 0022
apply four_square_euler_double_cross_swap - 0023
apply four_square_euler_double_cross_swap - 0024
trans ((d * e) * (a * h) + (a * h) * (d * e)) - 0025
apply four_square_euler_double_cross_swap - 0026
apply add_comm - 0027
apply four_square_euler_double_cross_swap - 0028
trans ((d * g) * (c * h) + (c * h) * (d * g)) - 0029
apply four_square_euler_double_cross_swap - 0030
apply add_comm - 0031
apply four_square_euler_double_cross_swap - 0032
apply four_square_euler_double_cross_swap - 0033
apply four_square_euler_double_cross_swap - 0034
apply four_square_euler_double_cross_swap - 0035
apply four_square_euler_double_cross_swap - 0036
apply four_square_euler_double_cross_swap - 0037
trans ((((a * f) * (b * e) + (b * e) * (a * f))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))))) - 0038
simp [add_assoc] - 0039
trans ((((a * f) * (b * e) + (b * e) * (a * f))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((b * g) * (c * f) + (c * f) * (b * g)))))))))))))) - 0040
congr - 0041
refl - 0042
trans ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))))) - 0043
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))))) - 0044
congr - 0045
refl - 0046
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))) - 0047
congr - 0048
refl - 0049
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - 0050
congr - 0051
refl - 0052
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))) - 0053
congr - 0054
refl - 0055
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - 0056
congr - 0057
refl - 0058
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((a * f) * (d * g) + (d * g) * (a * f))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - 0059
congr - 0060
refl - 0061
apply four_square_add_swap_right_tail - 0062
apply four_square_add_swap_right_tail - 0063
apply four_square_add_swap_right_tail - 0064
apply four_square_add_swap_right_tail - 0065
apply four_square_add_swap_right_tail - 0066
apply four_square_add_swap_right_tail - 0067
apply four_square_add_swap_right_tail - 0068
congr - 0069
refl - 0070
trans ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))) - 0071
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))))) - 0072
congr - 0073
refl - 0074
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - 0075
congr - 0076
refl - 0077
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))) - 0078
congr - 0079
refl - 0080
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - 0081
congr - 0082
refl - 0083
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - 0084
congr - 0085
refl - 0086
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((c * h) * (b * e) + (b * e) * (c * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))) - 0087
congr - 0088
refl - 0089
apply four_square_add_swap_right_tail - 0090
apply four_square_add_swap_right_tail - 0091
apply four_square_add_swap_right_tail - 0092
apply four_square_add_swap_right_tail - 0093
apply four_square_add_swap_right_tail - 0094
apply four_square_add_swap_right_tail - 0095
apply four_square_add_swap_right_tail - 0096
congr - 0097
refl - 0098
trans ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - 0099
trans ((((a * g) * (c * e) + (c * e) * (a * g))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))))) - 0100
congr - 0101
refl - 0102
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))))) - 0103
congr - 0104
refl - 0105
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((c * h) * (d * g) + (d * g) * (c * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - 0106
congr - 0107
refl - 0108
apply four_square_add_swap_right_tail - 0109
apply four_square_add_swap_right_tail - 0110
apply four_square_add_swap_right_tail - 0111
apply four_square_add_swap_right_tail - 0112
congr - 0113
refl - 0114
congr - 0115
refl - 0116
trans ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - 0117
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))))) - 0118
congr - 0119
refl - 0120
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))))) - 0121
congr - 0122
refl - 0123
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f))))))) - 0124
congr - 0125
refl - 0126
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((a * g) * (b * h) + (b * h) * (a * g))) + ((((b * g) * (d * e) + (d * e) * (b * g))) + (((d * f) * (c * e) + (c * e) * (d * f)))))) - 0127
congr - 0128
refl - 0129
apply four_square_add_swap_right_tail - 0130
apply four_square_add_swap_right_tail - 0131
apply four_square_add_swap_right_tail - 0132
apply four_square_add_swap_right_tail - 0133
apply four_square_add_swap_right_tail - 0134
congr - 0135
refl - 0136
trans ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))))) - 0137
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))))) - 0138
congr - 0139
refl - 0140
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - 0141
congr - 0142
refl - 0143
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))) - 0144
congr - 0145
refl - 0146
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((d * f) * (c * e) + (c * e) * (d * f))) + (((b * g) * (d * e) + (d * e) * (b * g))))) - 0147
congr - 0148
refl - 0149
apply add_comm - 0150
apply four_square_add_swap_right_tail - 0151
apply four_square_add_swap_right_tail - 0152
apply four_square_add_swap_right_tail - 0153
apply four_square_add_swap_right_tail - 0154
congr - 0155
refl - 0156
trans ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - 0157
trans ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((d * f) * (b * h) + (b * h) * (d * f))) + ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g))))))) - 0158
congr - 0159
refl - 0160
apply four_square_add_swap_right_tail - 0161
apply four_square_add_swap_right_tail - 0162
congr - 0163
refl - 0164
trans ((((a * h) * (d * e) + (d * e) * (a * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + ((((a * h) * (c * f) + (c * f) * (a * h))) + (((b * g) * (d * e) + (d * e) * (b * g)))))) - 0165
apply four_square_add_swap_right_tail - 0166
congr - 0167
refl - 0168
trans ((((a * h) * (c * f) + (c * f) * (a * h))) + ((((b * g) * (c * f) + (c * f) * (b * g))) + (((b * g) * (d * e) + (d * e) * (b * g))))) - 0169
apply four_square_add_swap_right_tail - 0170
congr - 0171
refl - 0172
trans ((((b * g) * (d * e) + (d * e) * (b * g))) + (((b * g) * (c * f) + (c * f) * (b * g)))) - 0173
apply add_comm - 0174
congr - 0175
refl - 0176
refl - 0177
symm - 0178
simp [add_assoc]