Theorem: _private.Mathlib.Algebra.Jordan.Basic.0.aux0
File: Mathlib/Algebra/Jordan/Basic.lean

Proof steps:
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L (a + b + c), L ((a + b + c) * (a + b + c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L (a + b + c), L (a * (a + b + c) + b * (a + b + c) + c * (a + b + c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
tactic: rw [add_mul, add_mul]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L (a + b + c), L (a * (a + b + c) + b * (a + b + c) + c * (a + b + c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L (a + b + c), L (a * a + a * b + a * c + (b * a + b * b + b * c) + (c * a + c * b + c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
tactic: iterate 6 rw [mul_add]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L (a + b + c), L (a * a + a * b + a * c + (b * a + b * b + b * c) + (c * a + c * b + c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (b * a) + L (b * b) + L (b * c)) + (L (c * a) + L (c * b) + L (c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
tactic: iterate 10 rw [map_add]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (b * a) + L (b * b) + L (b * c)) + (L (c * a) + L (c * b) + L (c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (c * a) + 2 • L (b * c)⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (a * b) + L (b * b) + L (b * c)) + (L (a * c) + L (b * c) + L (c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (a * c) + 2 • L (b * c)⁆
tactic: rw [mul_comm b a, mul_comm c a, mul_comm c b]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (a * b) + L (b * b) + L (b * c)) + (L (a * c) + L (b * c) + L (c * c))⁆ =
    ⁅L a + L b + L c, L (a * a) + L (b * b) + L (c * c) + 2 • L (a * b) + 2 • L (a * c) + 2 • L (b * c)⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (a * b) + L (b * b) + L (b * c)) + (L (a * c) + L (b * c) + L (c * c))⁆ =
    ⁅L a + L b + L c,
      L (a * a) + L (b * b) + L (c * c) + (L (a * b) + L (a * b)) + (L (a * c) + L (a * c)) + (L (b * c) + L (b * c))⁆
tactic: iterate 3 rw [two_smul]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a + L b + L c,
      L (a * a) + L (a * b) + L (a * c) + (L (a * b) + L (b * b) + L (b * c)) + (L (a * c) + L (b * c) + L (c * c))⁆ =
    ⁅L a + L b + L c,
      L (a * a) + L (b * b) + L (c * c) + (L (a * b) + L (a * b)) + (L (a * c) + L (a * c)) + (L (b * c) + L (b * c))⁆
state_after: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a, L (a * a)⁆ + ⁅L b, L (a * a)⁆ + ⁅L c, L (a * a)⁆ + (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆) +
          (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆) +
        (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆ +
            (⁅L a, L (b * b)⁆ + ⁅L b, L (b * b)⁆ + ⁅L c, L (b * b)⁆) +
          (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆)) +
      (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆ +
          (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆) +
        (⁅L a, L (c * c)⁆ + ⁅L b, L (c * c)⁆ + ⁅L c, L (c * c)⁆)) =
    ⁅L a, L (a * a)⁆ + ⁅L b, L (a * a)⁆ + ⁅L c, L (a * a)⁆ + (⁅L a, L (b * b)⁆ + ⁅L b, L (b * b)⁆ + ⁅L c, L (b * b)⁆) +
            (⁅L a, L (c * c)⁆ + ⁅L b, L (c * c)⁆ + ⁅L c, L (c * c)⁆) +
          (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆ +
            (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆)) +
        (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆ +
          (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆)) +
      (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆ +
        (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆))
tactic: simp only [lie_add, add_lie, commute_lmul_lmul_sq, zero_add, add_zero]
state_before: A : Type u_1
inst✝¹ : NonUnitalNonAssocCommRing A
inst✝ : IsCommJordan A
a b c : A
⊢ ⁅L a, L (a * a)⁆ + ⁅L b, L (a * a)⁆ + ⁅L c, L (a * a)⁆ + (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆) +
          (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆) +
        (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆ +
            (⁅L a, L (b * b)⁆ + ⁅L b, L (b * b)⁆ + ⁅L c, L (b * b)⁆) +
          (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆)) +
      (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆ +
          (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆) +
        (⁅L a, L (c * c)⁆ + ⁅L b, L (c * c)⁆ + ⁅L c, L (c * c)⁆)) =
    ⁅L a, L (a * a)⁆ + ⁅L b, L (a * a)⁆ + ⁅L c, L (a * a)⁆ + (⁅L a, L (b * b)⁆ + ⁅L b, L (b * b)⁆ + ⁅L c, L (b * b)⁆) +
            (⁅L a, L (c * c)⁆ + ⁅L b, L (c * c)⁆ + ⁅L c, L (c * c)⁆) +
          (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆ +
            (⁅L a, L (a * b)⁆ + ⁅L b, L (a * b)⁆ + ⁅L c, L (a * b)⁆)) +
        (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆ +
          (⁅L a, L (a * c)⁆ + ⁅L b, L (a * c)⁆ + ⁅L c, L (a * c)⁆)) +
      (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆ +
        (⁅L a, L (b * c)⁆ + ⁅L b, L (b * c)⁆ + ⁅L c, L (b * c)⁆))
state_after: no goals
tactic: abel