Theorem: InnerProductSpaceable.add_left
File: Mathlib/Analysis/InnerProductSpace/OfNorm.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ inner_ 𝕜 (x + y) z = inner_ 𝕜 x z + inner_ 𝕜 y z
state_after: 𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 4⁻¹ *
      (𝓚 ‖x + y + z‖ * 𝓚 ‖x + y + z‖ - 𝓚 ‖x + y - z‖ * 𝓚 ‖x + y - z‖ + I * 𝓚 ‖I • (x + y) + z‖ * 𝓚 ‖I • (x + y) + z‖ -
        I * 𝓚 ‖I • (x + y) - z‖ * 𝓚 ‖I • (x + y) - z‖) =
    4⁻¹ *
      (𝓚 ‖x + z‖ * 𝓚 ‖x + z‖ - 𝓚 ‖x - z‖ * 𝓚 ‖x - z‖ + I * 𝓚 ‖I • x + z‖ * 𝓚 ‖I • x + z‖ -
          I * 𝓚 ‖I • x - z‖ * 𝓚 ‖I • x - z‖ +
        (𝓚 ‖y + z‖ * 𝓚 ‖y + z‖ - 𝓚 ‖y - z‖ * 𝓚 ‖y - z‖ + I * 𝓚 ‖I • y + z‖ * 𝓚 ‖I • y + z‖ -
          I * 𝓚 ‖I • y - z‖ * 𝓚 ‖I • y - z‖))
tactic: simp only [inner_, ← mul_add]
state_before: 𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 4⁻¹ *
      (𝓚 ‖x + y + z‖ * 𝓚 ‖x + y + z‖ - 𝓚 ‖x + y - z‖ * 𝓚 ‖x + y - z‖ + I * 𝓚 ‖I • (x + y) + z‖ * 𝓚 ‖I • (x + y) + z‖ -
        I * 𝓚 ‖I • (x + y) - z‖ * 𝓚 ‖I • (x + y) - z‖) =
    4⁻¹ *
      (𝓚 ‖x + z‖ * 𝓚 ‖x + z‖ - 𝓚 ‖x - z‖ * 𝓚 ‖x - z‖ + I * 𝓚 ‖I • x + z‖ * 𝓚 ‖I • x + z‖ -
          I * 𝓚 ‖I • x - z‖ * 𝓚 ‖I • x - z‖ +
        (𝓚 ‖y + z‖ * 𝓚 ‖y + z‖ - 𝓚 ‖y - z‖ * 𝓚 ‖y - z‖ + I * 𝓚 ‖I • y + z‖ * 𝓚 ‖I • y + z‖ -
          I * 𝓚 ‖I • y - z‖ * 𝓚 ‖I • y - z‖))
state_after: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 ‖x + y + z‖ * 𝓚 ‖x + y + z‖ - 𝓚 ‖x + y - z‖ * 𝓚 ‖x + y - z‖ + I * 𝓚 ‖I • (x + y) + z‖ * 𝓚 ‖I • (x + y) + z‖ -
      I * 𝓚 ‖I • (x + y) - z‖ * 𝓚 ‖I • (x + y) - z‖ =
    𝓚 ‖x + z‖ * 𝓚 ‖x + z‖ - 𝓚 ‖x - z‖ * 𝓚 ‖x - z‖ + I * 𝓚 ‖I • x + z‖ * 𝓚 ‖I • x + z‖ -
        I * 𝓚 ‖I • x - z‖ * 𝓚 ‖I • x - z‖ +
      (𝓚 ‖y + z‖ * 𝓚 ‖y + z‖ - 𝓚 ‖y - z‖ * 𝓚 ‖y - z‖ + I * 𝓚 ‖I • y + z‖ * 𝓚 ‖I • y + z‖ -
        I * 𝓚 ‖I • y - z‖ * 𝓚 ‖I • y - z‖)
tactic: congr
state_before: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 ‖x + y + z‖ * 𝓚 ‖x + y + z‖ - 𝓚 ‖x + y - z‖ * 𝓚 ‖x + y - z‖ + I * 𝓚 ‖I • (x + y) + z‖ * 𝓚 ‖I • (x + y) + z‖ -
      I * 𝓚 ‖I • (x + y) - z‖ * 𝓚 ‖I • (x + y) - z‖ =
    𝓚 ‖x + z‖ * 𝓚 ‖x + z‖ - 𝓚 ‖x - z‖ * 𝓚 ‖x - z‖ + I * 𝓚 ‖I • x + z‖ * 𝓚 ‖I • x + z‖ -
        I * 𝓚 ‖I • x - z‖ * 𝓚 ‖I • x - z‖ +
      (𝓚 ‖y + z‖ * 𝓚 ‖y + z‖ - 𝓚 ‖y - z‖ * 𝓚 ‖y - z‖ + I * 𝓚 ‖I • y + z‖ * 𝓚 ‖I • y + z‖ -
        I * 𝓚 ‖I • y - z‖ * 𝓚 ‖I • y - z‖)
state_after: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖) + I * 𝓚 (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖) +
      (𝓚 (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖) + I * 𝓚 (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
tactic: simp only [mul_assoc, ← map_mul, add_sub_assoc, ← mul_sub, ← map_sub]
state_before: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖) + I * 𝓚 (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖) +
      (𝓚 (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖) + I * 𝓚 (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
state_after: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖) + 𝓚 (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖) +
      (I * 𝓚 (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖) +
        I * 𝓚 (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
tactic: rw [add_add_add_comm]
state_before: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖) + 𝓚 (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖) +
      (I * 𝓚 (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖) +
        I * 𝓚 (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
state_after: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖ + (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖)) +
      I *
        𝓚
          (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖ +
            (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
tactic: simp only [← map_add, ← mul_add]
state_before: case e_a
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ 𝓚 (‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖) +
      I * 𝓚 (‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖) =
    𝓚 (‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖ + (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖)) +
      I *
        𝓚
          (‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖ +
            (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖))
state_after: case e_a.e_a.h.e_6.h
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ ‖x + y + z‖ * ‖x + y + z‖ - ‖x + (y - z)‖ * ‖x + (y - z)‖ =
    ‖x + z‖ * ‖x + z‖ - ‖x - z‖ * ‖x - z‖ + (‖y + z‖ * ‖y + z‖ - ‖y - z‖ * ‖y - z‖)

case e_a.e_a.e_a.h.e_6.h
𝕜 : Type u_1
inst✝³ : RCLike 𝕜
E : Type u_2
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : InnerProductSpaceable E
x y z : E
⊢ ‖I • (x + y) + z‖ * ‖I • (x + y) + z‖ - ‖I • (x + y) - z‖ * ‖I • (x + y) - z‖ =
    ‖I • x + z‖ * ‖I • x + z‖ - ‖I • x - z‖ * ‖I • x - z‖ + (‖I • y + z‖ * ‖I • y + z‖ - ‖I • y - z‖ * ‖I • y - z‖)
tactic: congr