-- File: FoML/FoML/Symmetrization.lean
Theorem statement:
theorem extracted_formal_statement_42.{w, v, u} {Z : Type w} {ι : Type v} {f : ι → Z → ℝ} {Ω : Type u} {X : Ω → Z} {n : ℕ}
  (ω : Ω × Ω) (ω' : Fin n → Ω × Ω) {c : ι → ℝ}
  (h_original_goal :
    2⁻¹ *
        ((2⁻¹ ^ n *
            ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.2) - f I (X ω.1) + c I)) +
          2⁻¹ ^ n *
            ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.1) - f I (X ω.2) + c I)) =
      2⁻¹ ^ (n + 1) *
        ∑ σ' ∈ {-1, 1},
          ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (↑σ' * (f I (X ω.1) - f I (X ω.2)) + c I)) :
  2⁻¹ * 2⁻¹ ^ n *
      ((∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.2) - f I (X ω.1) + c I)) +
        ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.1) - f I (X ω.2) + c I)) =
    2⁻¹ ^ (n + 1) *
      ∑ σ' ∈ {-1, 1},
        ∑ σ,
          ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (↑σ' * (f I (X ω.1) - f I (X ω.2)) + c I) := sorry

Tactic state before:
Z : Type w
ι : Type v
f : ι → Z → ℝ
Ω : Type u
X : Ω → Z
n : ℕ
ω : Ω × Ω
ω' : Fin n → Ω × Ω
c : ι → ℝ
⊢ 2⁻¹ *
      ((2⁻¹ ^ n * ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.2) - f I (X ω.1) + c I)) +
        2⁻¹ ^ n * ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.1) - f I (X ω.2) + c I)) =
    2⁻¹ ^ (n + 1) *
      ∑ σ' ∈ {-1, 1},
        ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (↑σ' * (f I (X ω.1) - f I (X ω.2)) + c I)

Tactic: rw [← mul_add, ← mul_assoc]

Tactic state after:
[Z : Type w
 ι : Type v
 f : ι → Z → ℝ
 Ω : Type u
 X : Ω → Z
 n : ℕ
 ω : Ω × Ω
 ω' : Fin n → Ω × Ω
 c : ι → ℝ
 ⊢ 2⁻¹ * 2⁻¹ ^ n *
       ((∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.2) - f I (X ω.1) + c I)) +
         ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (f I (X ω.1) - f I (X ω.2) + c I)) =
     2⁻¹ ^ (n + 1) *
       ∑ σ' ∈ {-1, 1},
         ∑ σ, ⨆ I, ∑ i, ↑↑(σ i) * (f I (X (ω' i).1) - f I (X (ω' i).2)) + (↑σ' * (f I (X ω.1) - f I (X ω.2)) + c I)]

Premises used:
mul_add : ∀ {R : Type v} [inst : Mul R] [inst_1 : Add R] [inst_2 : LeftDistribClass R] (a b c : R),
  a * (b + c) = a * b + a * c
mul_assoc : ∀ {G : Type u_1} [inst : Semigroup G] (a b c : G), a * b * c = a * (b * c)