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 m0 m1 m2 m3. ((((a * e + b * f + c * g + d * h) = (0) + m0) \/ ((0) = (a * e + b * f + c * g + d * h) + m0)) /\ ((((a * f + c * h) = (b * e + d * g) + m1) \/ ((b * e + d * g) = (a * f + c * h) + m1)) /\ ((((a * g + d * f) = (c * e + b * h) + m2) \/ ((c * e + b * h) = (a * g + d * f) + m2)) /\ (((a * h + b * g) = (d * e + c * f) + m3) \/ ((d * e + c * f) = (a * h + b * g) + m3))))) -> ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + h * h)) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3Every 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 m0 m1 m2 m3. ((((a * e + b * f + c * g + d * h) = (0) + m0) \/ ((0) = (a * e + b * f + c * g + d * h) + m0)) /\ ((((a * f + c * h) = (b * e + d * g) + m1) \/ ((b * e + d * g) = (a * f + c * h) + m1)) /\ ((((a * g + d * f) = (c * e + b * h) + m2) \/ ((c * e + b * h) = (a * g + d * f) + m2)) /\ (((a * h + b * g) = (d * e + c * f) + m3) \/ ((d * e + c * f) = (a * h + b * g) + m3))))) -> ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + h * h)) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3Proof neighborhood
Direct theorem prerequisites
FS0011 four_square_conjugate_coordinate_square_transport FS002F four_square_euler_compensation_cancel FS0010 four_square_conjugate_global_compensation add_assoc · Stable closedDirect 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hbalancesL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hbalances · expand full local formula (711 characters)
have hbalances : ((((a * e + b * f + c * g + d * h) * (a * e + b * f + c * g + d * h) + (0) * (0)) = (((m0) * (m0)) + ((a * e + b * f + c * g + d * h) * (0) + (0) * (a * e + b * f + c * g + d * h)))) /\ ((((a * f + c * h) * (a * f + c * h) + (b * e + d * g) * (b * e + d * g)) = (((m1) * (m1)) + ((a * f + c * h) * (b * e + d * g) + (b * e + d * g) * (a * f + c * h)))) /\ ((((a * g + d * f) * (a * g + d * f) + (c * e + b * h) * (c * e + b * h)) = (((m2) * (m2)) + ((a * g + d * f) * (c * e + b * h) + (c * e + b * h) * (a * g + d * f)))) /\ (((a * h + b * g) * (a * h + b * g) + (d * e + c * f) * (d * e + c * f)) = (((m3) * (m3)) + ((a * h + b * g) * (d * e + c * f) + (d * e + c * f) * (a * h + b * g))))))) - L15
specialize four_square_conjugate_coordinate_square_transport a - L16
specialize four_square_conjugate_coordinate_square_transport b - L17
specialize four_square_conjugate_coordinate_square_transport c - L18
specialize four_square_conjugate_coordinate_square_transport d - L19
specialize four_square_conjugate_coordinate_square_transport e - L20
specialize four_square_conjugate_coordinate_square_transport f - L21
specialize four_square_conjugate_coordinate_square_transport g - L22
specialize four_square_conjugate_coordinate_square_transport h - L23
specialize four_square_conjugate_coordinate_square_transport m0
04Use earlier factsL24–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Separate the logical casesL29–31
06Calculate and transport equalitiesL32–32
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L32
trans ((((m0) * (m0)) + ((m1) * (m1))) + (((m2) * (m2)) + ((m3) * (m3))))
07Use earlier factsL33–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
specialize four_square_euler_compensation_cancel ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + h * h)) - L34
specialize four_square_euler_compensation_cancel (a * e + b * f + c * g + d * h) - L35
specialize four_square_euler_compensation_cancel (0) - L36
specialize four_square_euler_compensation_cancel m0 - L37
specialize four_square_euler_compensation_cancel (a * f + c * h) - L38
specialize four_square_euler_compensation_cancel (b * e + d * g) - L39
specialize four_square_euler_compensation_cancel m1 - L40
specialize four_square_euler_compensation_cancel (a * g + d * f) - L41
specialize four_square_euler_compensation_cancel (c * e + b * h) - L42
specialize four_square_euler_compensation_cancel m2
08Use earlier factsL43–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
specialize four_square_euler_compensation_cancel (a * h + b * g) - L44
specialize four_square_euler_compensation_cancel (d * e + c * f) - L45
specialize four_square_euler_compensation_cancel m3 - L46
apply four_square_euler_compensation_cancel - L47
exact hbalances_left - L48
exact hbalances_right_left - L49
exact hbalances_right_right_left - L50
exact hbalances_right_right_right - L51
apply four_square_conjugate_global_compensation
09Calculate and transport equalitiesL52–52
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L52
symm
10Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
apply add_assoc
Original defined command ledger · 53 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 m0 - 0010
intro m1 - 0011
intro m2 - 0012
intro m3 - 0013
intro habsolute - 0014
have hbalances : ((((a * e + b * f + c * g + d * h) * (a * e + b * f + c * g + d * h) + (0) * (0)) = (((m0) * (m0)) + ((a * e + b * f + c * g + d * h) * (0) + (0) * (a * e + b * f + c * g + d * h)))) /\ ((((a * f + c * h) * (a * f + c * h) + (b * e + d * g) * (b * e + d * g)) = (((m1) * (m1)) + ((a * f + c * h) * (b * e + d * g) + (b * e + d * g) * (a * f + c * h)))) /\ ((((a * g + d * f) * (a * g + d * f) + (c * e + b * h) * (c * e + b * h)) = (((m2) * (m2)) + ((a * g + d * f) * (c * e + b * h) + (c * e + b * h) * (a * g + d * f)))) /\ (((a * h + b * g) * (a * h + b * g) + (d * e + c * f) * (d * e + c * f)) = (((m3) * (m3)) + ((a * h + b * g) * (d * e + c * f) + (d * e + c * f) * (a * h + b * g))))))) - 0015
specialize four_square_conjugate_coordinate_square_transport a - 0016
specialize four_square_conjugate_coordinate_square_transport b - 0017
specialize four_square_conjugate_coordinate_square_transport c - 0018
specialize four_square_conjugate_coordinate_square_transport d - 0019
specialize four_square_conjugate_coordinate_square_transport e - 0020
specialize four_square_conjugate_coordinate_square_transport f - 0021
specialize four_square_conjugate_coordinate_square_transport g - 0022
specialize four_square_conjugate_coordinate_square_transport h - 0023
specialize four_square_conjugate_coordinate_square_transport m0 - 0024
specialize four_square_conjugate_coordinate_square_transport m1 - 0025
specialize four_square_conjugate_coordinate_square_transport m2 - 0026
specialize four_square_conjugate_coordinate_square_transport m3 - 0027
apply four_square_conjugate_coordinate_square_transport - 0028
exact habsolute - 0029
cases hbalances - 0030
cases hbalances_right - 0031
cases hbalances_right_right - 0032
trans ((((m0) * (m0)) + ((m1) * (m1))) + (((m2) * (m2)) + ((m3) * (m3)))) - 0033
specialize four_square_euler_compensation_cancel ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + h * h)) - 0034
specialize four_square_euler_compensation_cancel (a * e + b * f + c * g + d * h) - 0035
specialize four_square_euler_compensation_cancel (0) - 0036
specialize four_square_euler_compensation_cancel m0 - 0037
specialize four_square_euler_compensation_cancel (a * f + c * h) - 0038
specialize four_square_euler_compensation_cancel (b * e + d * g) - 0039
specialize four_square_euler_compensation_cancel m1 - 0040
specialize four_square_euler_compensation_cancel (a * g + d * f) - 0041
specialize four_square_euler_compensation_cancel (c * e + b * h) - 0042
specialize four_square_euler_compensation_cancel m2 - 0043
specialize four_square_euler_compensation_cancel (a * h + b * g) - 0044
specialize four_square_euler_compensation_cancel (d * e + c * f) - 0045
specialize four_square_euler_compensation_cancel m3 - 0046
apply four_square_euler_compensation_cancel - 0047
exact hbalances_left - 0048
exact hbalances_right_left - 0049
exact hbalances_right_right_left - 0050
exact hbalances_right_right_right - 0051
apply four_square_conjugate_global_compensation - 0052
symm - 0053
apply add_assoc