GI0021

gaussian_product_associate_real_negative

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Exact real negative component associativity for the actual four-component Gaussian product.

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) * (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)))))) = ((((((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))))))))))))

Constructive proof overview

Generated structural guide

Exact real negative component associativity for the actual four-component Gaussian product.

The unchanged tactic script uses 6 declared prerequisites and contains 216 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 add_comm Stable theorem; checked-use authorized four_square_add_swap_right_tail Alpha theorem; checked-use authorized

Direct 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

216 script commands · 35 reading checkpoints · 0 local claims

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

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
  5. L5
    intro e
  6. L6
    intro f
  7. L7
    intro g
  8. L8
    intro h
  9. L9
    intro i
  10. L10
    intro j
02Fix variables and assumptionsL11–12

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro k
  2. L12
    intro l
03Calculate and transport equalitiesL13–22

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L13
    trans ((((a) * (((e) * (j))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((a) * (((f) * (i))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))))
  2. L14
    simp [add_mul, mul_add, mul_assoc, add_assoc]
  3. L15
    trans ((((a) * (((e) * (j))))) + ((((a) * (((f) * (i))))) + ((((a) * (((g) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((e) * (i))))) + ((((b) * (((f) * (j))))) + ((((b) * (((g) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((c) * (((f) * (l))))) + ((((c) * (((g) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((e) * (l))))) + ((((d) * (((f) * (k))))) + ((((d) * (((g) * (j))))) + (((d) * (((h) * (i))))))))))))))))))))
  4. L16
    congr
  5. L17
    refl
  6. L18
    trans ((((a) * (((f) * (i))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))))
  7. L19
    trans ((((b) * (((f) * (j))))) + ((((a) * (((f) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))))
  8. L20
    congr
  9. L21
    refl
  10. L22
    trans ((((c) * (((h) * (j))))) + ((((a) * (((f) * (i))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
04Calculate and transport equalitiesL23–24

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L23
    congr
  2. L24
    refl
05Use earlier factsL25–27

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L25
    apply four_square_add_swap_right_tail
  2. L26
    apply four_square_add_swap_right_tail
  3. L27
    apply four_square_add_swap_right_tail
06Calculate and transport equalitiesL28–37

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L28
    congr
  2. L29
    refl
  3. L30
    trans ((((a) * (((g) * (k))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
  4. L31
    trans ((((b) * (((f) * (j))))) + ((((a) * (((g) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
  5. L32
    congr
  6. L33
    refl
  7. L34
    trans ((((c) * (((h) * (j))))) + ((((a) * (((g) * (k))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  8. L35
    congr
  9. L36
    refl
  10. L37
    trans ((((d) * (((g) * (j))))) + ((((a) * (((g) * (k))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
07Calculate and transport equalitiesL38–45

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L38
    congr
  2. L39
    refl
  3. L40
    trans ((((b) * (((e) * (i))))) + ((((a) * (((g) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
  4. L41
    congr
  5. L42
    refl
  6. L43
    trans ((((c) * (((g) * (i))))) + ((((a) * (((g) * (k))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  7. L44
    congr
  8. L45
    refl
08Use earlier factsL46–51

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L46
    apply four_square_add_swap_right_tail
  2. L47
    apply four_square_add_swap_right_tail
  3. L48
    apply four_square_add_swap_right_tail
  4. L49
    apply four_square_add_swap_right_tail
  5. L50
    apply four_square_add_swap_right_tail
  6. L51
    apply four_square_add_swap_right_tail
09Calculate and transport equalitiesL52–61

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L52
    congr
  2. L53
    refl
  3. L54
    trans ((((a) * (((h) * (l))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  4. L55
    trans ((((b) * (((f) * (j))))) + ((((a) * (((h) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  5. L56
    congr
  6. L57
    refl
  7. L58
    trans ((((c) * (((h) * (j))))) + ((((a) * (((h) * (l))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  8. L59
    congr
  9. L60
    refl
  10. L61
    trans ((((d) * (((g) * (j))))) + ((((a) * (((h) * (l))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
10Calculate and transport equalitiesL62–71

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L62
    congr
  2. L63
    refl
  3. L64
    trans ((((b) * (((e) * (i))))) + ((((a) * (((h) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  4. L65
    congr
  5. L66
    refl
  6. L67
    trans ((((c) * (((g) * (i))))) + ((((a) * (((h) * (l))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  7. L68
    congr
  8. L69
    refl
  9. L70
    trans ((((d) * (((h) * (i))))) + ((((a) * (((h) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  10. L71
    congr
11Calculate and transport equalitiesL72–78

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L72
    refl
  2. L73
    trans ((((b) * (((h) * (k))))) + ((((a) * (((h) * (l))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  3. L74
    congr
  4. L75
    refl
  5. L76
    trans ((((c) * (((e) * (k))))) + ((((a) * (((h) * (l))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
  6. L77
    congr
  7. L78
    refl
12Use earlier factsL79–87

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L79
    apply four_square_add_swap_right_tail
  2. L80
    apply four_square_add_swap_right_tail
  3. L81
    apply four_square_add_swap_right_tail
  4. L82
    apply four_square_add_swap_right_tail
  5. L83
    apply four_square_add_swap_right_tail
  6. L84
    apply four_square_add_swap_right_tail
  7. L85
    apply four_square_add_swap_right_tail
  8. L86
    apply four_square_add_swap_right_tail
  9. L87
    apply four_square_add_swap_right_tail
13Calculate and transport equalitiesL88–96

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L88
    congr
  2. L89
    refl
  3. L90
    trans ((((b) * (((e) * (i))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  4. L91
    trans ((((b) * (((f) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  5. L92
    congr
  6. L93
    refl
  7. L94
    trans ((((c) * (((h) * (j))))) + ((((b) * (((e) * (i))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
  8. L95
    congr
  9. L96
    refl
14Use earlier factsL97–99

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L97
    apply four_square_add_swap_right_tail
  2. L98
    apply four_square_add_swap_right_tail
  3. L99
    apply four_square_add_swap_right_tail
15Calculate and transport equalitiesL100–109

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L100
    congr
  2. L101
    refl
  3. L102
    congr
  4. L103
    refl
  5. L104
    trans ((((b) * (((g) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  6. L105
    trans ((((c) * (((h) * (j))))) + ((((b) * (((g) * (l))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  7. L106
    congr
  8. L107
    refl
  9. L108
    trans ((((d) * (((g) * (j))))) + ((((b) * (((g) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  10. L109
    congr
16Calculate and transport equalitiesL110–119

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L110
    refl
  2. L111
    trans ((((c) * (((g) * (i))))) + ((((b) * (((g) * (l))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  3. L112
    congr
  4. L113
    refl
  5. L114
    trans ((((d) * (((h) * (i))))) + ((((b) * (((g) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  6. L115
    congr
  7. L116
    refl
  8. L117
    trans ((((b) * (((h) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
  9. L118
    congr
  10. L119
    refl
17Calculate and transport equalitiesL120–122

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L120
    trans ((((c) * (((e) * (k))))) + ((((b) * (((g) * (l))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))
  2. L121
    congr
  3. L122
    refl
18Use earlier factsL123–129

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L123
    apply four_square_add_swap_right_tail
  2. L124
    apply four_square_add_swap_right_tail
  3. L125
    apply four_square_add_swap_right_tail
  4. L126
    apply four_square_add_swap_right_tail
  5. L127
    apply four_square_add_swap_right_tail
  6. L128
    apply four_square_add_swap_right_tail
  7. L129
    apply four_square_add_swap_right_tail
19Calculate and transport equalitiesL130–139

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L130
    congr
  2. L131
    refl
  3. L132
    trans ((((b) * (((h) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  4. L133
    trans ((((c) * (((h) * (j))))) + ((((b) * (((h) * (k))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  5. L134
    congr
  6. L135
    refl
  7. L136
    trans ((((d) * (((g) * (j))))) + ((((b) * (((h) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  8. L137
    congr
  9. L138
    refl
  10. L139
    trans ((((c) * (((g) * (i))))) + ((((b) * (((h) * (k))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
20Calculate and transport equalitiesL140–141

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L140
    congr
  2. L141
    refl
21Use earlier factsL142–145

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L142
    apply four_square_add_swap_right_tail
  2. L143
    apply four_square_add_swap_right_tail
  3. L144
    apply four_square_add_swap_right_tail
  4. L145
    apply four_square_add_swap_right_tail
22Calculate and transport equalitiesL146–155

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L146
    congr
  2. L147
    refl
  3. L148
    trans ((((c) * (((e) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  4. L149
    trans ((((c) * (((h) * (j))))) + ((((c) * (((e) * (k))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  5. L150
    congr
  6. L151
    refl
  7. L152
    trans ((((d) * (((g) * (j))))) + ((((c) * (((e) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  8. L153
    congr
  9. L154
    refl
  10. L155
    trans ((((c) * (((g) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
23Calculate and transport equalitiesL156–157

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L156
    congr
  2. L157
    refl
24Use earlier factsL158–161

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L158
    apply four_square_add_swap_right_tail
  2. L159
    apply four_square_add_swap_right_tail
  3. L160
    apply four_square_add_swap_right_tail
  4. L161
    apply four_square_add_swap_right_tail
25Calculate and transport equalitiesL162–171

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L162
    congr
  2. L163
    refl
  3. L164
    trans ((((c) * (((f) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))))
  4. L165
    trans ((((c) * (((h) * (j))))) + ((((c) * (((f) * (l))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))))
  5. L166
    congr
  6. L167
    refl
  7. L168
    trans ((((d) * (((g) * (j))))) + ((((c) * (((f) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  8. L169
    congr
  9. L170
    refl
  10. L171
    trans ((((c) * (((g) * (i))))) + ((((c) * (((f) * (l))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))
26Calculate and transport equalitiesL172–176

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L172
    congr
  2. L173
    refl
  3. L174
    trans ((((d) * (((h) * (i))))) + ((((c) * (((f) * (l))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))
  4. L175
    congr
  5. L176
    refl
27Use earlier factsL177–181

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L177
    apply four_square_add_swap_right_tail
  2. L178
    apply four_square_add_swap_right_tail
  3. L179
    apply four_square_add_swap_right_tail
  4. L180
    apply four_square_add_swap_right_tail
  5. L181
    apply four_square_add_swap_right_tail
28Calculate and transport equalitiesL182–187

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L182
    congr
  2. L183
    refl
  3. L184
    trans ((((c) * (((g) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  4. L185
    trans ((((c) * (((h) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  5. L186
    congr
  6. L187
    refl
29Use earlier factsL188–189

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L188
    apply four_square_add_swap_right_tail
  2. L189
    apply four_square_add_swap_right_tail
30Calculate and transport equalitiesL190–199

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L190
    congr
  2. L191
    refl
  3. L192
    congr
  4. L193
    refl
  5. L194
    trans ((((d) * (((e) * (l))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + (((d) * (((f) * (k))))))))
  6. L195
    trans ((((d) * (((g) * (j))))) + ((((d) * (((e) * (l))))) + ((((d) * (((h) * (i))))) + (((d) * (((f) * (k))))))))
  7. L196
    congr
  8. L197
    refl
  9. L198
    trans ((((d) * (((h) * (i))))) + ((((d) * (((e) * (l))))) + (((d) * (((f) * (k)))))))
  10. L199
    congr
31Calculate and transport equalitiesL200–200

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L200
    refl
32Use earlier factsL201–203

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L201
    apply add_comm
  2. L202
    apply four_square_add_swap_right_tail
  3. L203
    apply four_square_add_swap_right_tail
33Calculate and transport equalitiesL204–209

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L204
    congr
  2. L205
    refl
  3. L206
    trans ((((d) * (((f) * (k))))) + ((((d) * (((g) * (j))))) + (((d) * (((h) * (i)))))))
  4. L207
    trans ((((d) * (((g) * (j))))) + ((((d) * (((f) * (k))))) + (((d) * (((h) * (i)))))))
  5. L208
    congr
  6. L209
    refl
34Use earlier factsL210–211

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L210
    apply add_comm
  2. L211
    apply four_square_add_swap_right_tail
35Calculate and transport equalitiesL212–216

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L212
    congr
  2. L213
    refl
  3. L214
    refl
  4. L215
    symm
  5. L216
    simp [add_mul, mul_add, mul_assoc, add_assoc]

Library-wide reading audit

Original exact command ledger · 216 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005intro e
  6. 0006intro f
  7. 0007intro g
  8. 0008intro h
  9. 0009intro i
  10. 0010intro j
  11. 0011intro k
  12. 0012intro l
  13. 0013trans ((((a) * (((e) * (j))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((a) * (((f) * (i))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))))
  14. 0014simp [add_mul, mul_add, mul_assoc, add_assoc]
  15. 0015trans ((((a) * (((e) * (j))))) + ((((a) * (((f) * (i))))) + ((((a) * (((g) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((e) * (i))))) + ((((b) * (((f) * (j))))) + ((((b) * (((g) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((c) * (((f) * (l))))) + ((((c) * (((g) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((e) * (l))))) + ((((d) * (((f) * (k))))) + ((((d) * (((g) * (j))))) + (((d) * (((h) * (i))))))))))))))))))))
  16. 0016congr
  17. 0017refl
  18. 0018trans ((((a) * (((f) * (i))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))))
  19. 0019trans ((((b) * (((f) * (j))))) + ((((a) * (((f) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))))
  20. 0020congr
  21. 0021refl
  22. 0022trans ((((c) * (((h) * (j))))) + ((((a) * (((f) * (i))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((a) * (((g) * (k))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
  23. 0023congr
  24. 0024refl
  25. 0025apply four_square_add_swap_right_tail
  26. 0026apply four_square_add_swap_right_tail
  27. 0027apply four_square_add_swap_right_tail
  28. 0028congr
  29. 0029refl
  30. 0030trans ((((a) * (((g) * (k))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
  31. 0031trans ((((b) * (((f) * (j))))) + ((((a) * (((g) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))))
  32. 0032congr
  33. 0033refl
  34. 0034trans ((((c) * (((h) * (j))))) + ((((a) * (((g) * (k))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  35. 0035congr
  36. 0036refl
  37. 0037trans ((((d) * (((g) * (j))))) + ((((a) * (((g) * (k))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  38. 0038congr
  39. 0039refl
  40. 0040trans ((((b) * (((e) * (i))))) + ((((a) * (((g) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
  41. 0041congr
  42. 0042refl
  43. 0043trans ((((c) * (((g) * (i))))) + ((((a) * (((g) * (k))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((a) * (((h) * (l))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  44. 0044congr
  45. 0045refl
  46. 0046apply four_square_add_swap_right_tail
  47. 0047apply four_square_add_swap_right_tail
  48. 0048apply four_square_add_swap_right_tail
  49. 0049apply four_square_add_swap_right_tail
  50. 0050apply four_square_add_swap_right_tail
  51. 0051apply four_square_add_swap_right_tail
  52. 0052congr
  53. 0053refl
  54. 0054trans ((((a) * (((h) * (l))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  55. 0055trans ((((b) * (((f) * (j))))) + ((((a) * (((h) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))))
  56. 0056congr
  57. 0057refl
  58. 0058trans ((((c) * (((h) * (j))))) + ((((a) * (((h) * (l))))) + ((((d) * (((g) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  59. 0059congr
  60. 0060refl
  61. 0061trans ((((d) * (((g) * (j))))) + ((((a) * (((h) * (l))))) + ((((b) * (((e) * (i))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
  62. 0062congr
  63. 0063refl
  64. 0064trans ((((b) * (((e) * (i))))) + ((((a) * (((h) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  65. 0065congr
  66. 0066refl
  67. 0067trans ((((c) * (((g) * (i))))) + ((((a) * (((h) * (l))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  68. 0068congr
  69. 0069refl
  70. 0070trans ((((d) * (((h) * (i))))) + ((((a) * (((h) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  71. 0071congr
  72. 0072refl
  73. 0073trans ((((b) * (((h) * (k))))) + ((((a) * (((h) * (l))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  74. 0074congr
  75. 0075refl
  76. 0076trans ((((c) * (((e) * (k))))) + ((((a) * (((h) * (l))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
  77. 0077congr
  78. 0078refl
  79. 0079apply four_square_add_swap_right_tail
  80. 0080apply four_square_add_swap_right_tail
  81. 0081apply four_square_add_swap_right_tail
  82. 0082apply four_square_add_swap_right_tail
  83. 0083apply four_square_add_swap_right_tail
  84. 0084apply four_square_add_swap_right_tail
  85. 0085apply four_square_add_swap_right_tail
  86. 0086apply four_square_add_swap_right_tail
  87. 0087apply four_square_add_swap_right_tail
  88. 0088congr
  89. 0089refl
  90. 0090trans ((((b) * (((e) * (i))))) + ((((b) * (((f) * (j))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  91. 0091trans ((((b) * (((f) * (j))))) + ((((b) * (((e) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))))
  92. 0092congr
  93. 0093refl
  94. 0094trans ((((c) * (((h) * (j))))) + ((((b) * (((e) * (i))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))))
  95. 0095congr
  96. 0096refl
  97. 0097apply four_square_add_swap_right_tail
  98. 0098apply four_square_add_swap_right_tail
  99. 0099apply four_square_add_swap_right_tail
  100. 0100congr
  101. 0101refl
  102. 0102congr
  103. 0103refl
  104. 0104trans ((((b) * (((g) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  105. 0105trans ((((c) * (((h) * (j))))) + ((((b) * (((g) * (l))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))))
  106. 0106congr
  107. 0107refl
  108. 0108trans ((((d) * (((g) * (j))))) + ((((b) * (((g) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  109. 0109congr
  110. 0110refl
  111. 0111trans ((((c) * (((g) * (i))))) + ((((b) * (((g) * (l))))) + ((((d) * (((h) * (i))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  112. 0112congr
  113. 0113refl
  114. 0114trans ((((d) * (((h) * (i))))) + ((((b) * (((g) * (l))))) + ((((b) * (((h) * (k))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  115. 0115congr
  116. 0116refl
  117. 0117trans ((((b) * (((h) * (k))))) + ((((b) * (((g) * (l))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
  118. 0118congr
  119. 0119refl
  120. 0120trans ((((c) * (((e) * (k))))) + ((((b) * (((g) * (l))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))
  121. 0121congr
  122. 0122refl
  123. 0123apply four_square_add_swap_right_tail
  124. 0124apply four_square_add_swap_right_tail
  125. 0125apply four_square_add_swap_right_tail
  126. 0126apply four_square_add_swap_right_tail
  127. 0127apply four_square_add_swap_right_tail
  128. 0128apply four_square_add_swap_right_tail
  129. 0129apply four_square_add_swap_right_tail
  130. 0130congr
  131. 0131refl
  132. 0132trans ((((b) * (((h) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  133. 0133trans ((((c) * (((h) * (j))))) + ((((b) * (((h) * (k))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))))
  134. 0134congr
  135. 0135refl
  136. 0136trans ((((d) * (((g) * (j))))) + ((((b) * (((h) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  137. 0137congr
  138. 0138refl
  139. 0139trans ((((c) * (((g) * (i))))) + ((((b) * (((h) * (k))))) + ((((d) * (((h) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  140. 0140congr
  141. 0141refl
  142. 0142apply four_square_add_swap_right_tail
  143. 0143apply four_square_add_swap_right_tail
  144. 0144apply four_square_add_swap_right_tail
  145. 0145apply four_square_add_swap_right_tail
  146. 0146congr
  147. 0147refl
  148. 0148trans ((((c) * (((e) * (k))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  149. 0149trans ((((c) * (((h) * (j))))) + ((((c) * (((e) * (k))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))))
  150. 0150congr
  151. 0151refl
  152. 0152trans ((((d) * (((g) * (j))))) + ((((c) * (((e) * (k))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l)))))))))))
  153. 0153congr
  154. 0154refl
  155. 0155trans ((((c) * (((g) * (i))))) + ((((c) * (((e) * (k))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + ((((c) * (((f) * (l))))) + (((d) * (((e) * (l))))))))))
  156. 0156congr
  157. 0157refl
  158. 0158apply four_square_add_swap_right_tail
  159. 0159apply four_square_add_swap_right_tail
  160. 0160apply four_square_add_swap_right_tail
  161. 0161apply four_square_add_swap_right_tail
  162. 0162congr
  163. 0163refl
  164. 0164trans ((((c) * (((f) * (l))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))))
  165. 0165trans ((((c) * (((h) * (j))))) + ((((c) * (((f) * (l))))) + ((((d) * (((g) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))))
  166. 0166congr
  167. 0167refl
  168. 0168trans ((((d) * (((g) * (j))))) + ((((c) * (((f) * (l))))) + ((((c) * (((g) * (i))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  169. 0169congr
  170. 0170refl
  171. 0171trans ((((c) * (((g) * (i))))) + ((((c) * (((f) * (l))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l)))))))))
  172. 0172congr
  173. 0173refl
  174. 0174trans ((((d) * (((h) * (i))))) + ((((c) * (((f) * (l))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))
  175. 0175congr
  176. 0176refl
  177. 0177apply four_square_add_swap_right_tail
  178. 0178apply four_square_add_swap_right_tail
  179. 0179apply four_square_add_swap_right_tail
  180. 0180apply four_square_add_swap_right_tail
  181. 0181apply four_square_add_swap_right_tail
  182. 0182congr
  183. 0183refl
  184. 0184trans ((((c) * (((g) * (i))))) + ((((c) * (((h) * (j))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  185. 0185trans ((((c) * (((h) * (j))))) + ((((c) * (((g) * (i))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + ((((d) * (((f) * (k))))) + (((d) * (((e) * (l))))))))))
  186. 0186congr
  187. 0187refl
  188. 0188apply four_square_add_swap_right_tail
  189. 0189apply four_square_add_swap_right_tail
  190. 0190congr
  191. 0191refl
  192. 0192congr
  193. 0193refl
  194. 0194trans ((((d) * (((e) * (l))))) + ((((d) * (((g) * (j))))) + ((((d) * (((h) * (i))))) + (((d) * (((f) * (k))))))))
  195. 0195trans ((((d) * (((g) * (j))))) + ((((d) * (((e) * (l))))) + ((((d) * (((h) * (i))))) + (((d) * (((f) * (k))))))))
  196. 0196congr
  197. 0197refl
  198. 0198trans ((((d) * (((h) * (i))))) + ((((d) * (((e) * (l))))) + (((d) * (((f) * (k)))))))
  199. 0199congr
  200. 0200refl
  201. 0201apply add_comm
  202. 0202apply four_square_add_swap_right_tail
  203. 0203apply four_square_add_swap_right_tail
  204. 0204congr
  205. 0205refl
  206. 0206trans ((((d) * (((f) * (k))))) + ((((d) * (((g) * (j))))) + (((d) * (((h) * (i)))))))
  207. 0207trans ((((d) * (((g) * (j))))) + ((((d) * (((f) * (k))))) + (((d) * (((h) * (i)))))))
  208. 0208congr
  209. 0209refl
  210. 0210apply add_comm
  211. 0211apply four_square_add_swap_right_tail
  212. 0212congr
  213. 0213refl
  214. 0214refl
  215. 0215symm
  216. 0216simp [add_mul, mul_add, mul_assoc, add_assoc]