Theorem: LieAlgebra.ExtendScalars.bracket_lie_self
File: Mathlib/Algebra/Lie/BaseChange.lean

tactic: simp only [bracket_def]
state_before: R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ⁅x, x⁆ = 0
state_after: R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) x) x = 0

tactic: refine x.induction_on ?_ ?_ ?_
state_before: R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) x) x = 0
state_after: case refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) 0 = 0

case refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ∀ (x : A) (y : L), ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) (x ⊗ₜ[R] y) = 0

case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) x) x = 0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y) y = 0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) (x + y) = 0

tactic: simp only [LinearMap.map_zero, eq_self_iff_true, LinearMap.zero_apply]
state_before: case refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) 0 = 0
state_after: no goals

tactic: intro a l
state_before: case refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ∀ (x : A) (y : L), ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) (x ⊗ₜ[R] y) = 0
state_after: case refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
a : A
l : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a ⊗ₜ[R] l)) (a ⊗ₜ[R] l) = 0

tactic: simp only [bracket'_tmul, TensorProduct.tmul_zero, eq_self_iff_true, lie_self]
state_before: case refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
a : A
l : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a ⊗ₜ[R] l)) (a ⊗ₜ[R] l) = 0
state_after: no goals

tactic: intro z₁ z₂ h₁ h₂
state_before: case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x : A ⊗[R] L
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) x) x = 0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y) y = 0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) (x + y) = 0
state_after: case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (z₁ + z₂)) (z₁ + z₂) = 0

tactic: suffices bracket' R A L L z₁ z₂ + bracket' R A L L z₂ z₁ = 0 by
  rw [LinearMap.map_add, LinearMap.map_add, LinearMap.add_apply, LinearMap.add_apply, h₁, h₂,
    zero_add, add_zero, add_comm, this]
state_before: case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (z₁ + z₂)) (z₁ + z₂) = 0
state_after: case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₁ = 0

tactic: refine z₁.induction_on ?_ ?_ ?_
state_before: case refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₁ = 0
state_after: case refine_3.refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) 0 = 0

case refine_3.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ∀ (x : A) (y : L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) z₂ +
        ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (x ⊗ₜ[R] y) =
      0

case refine_3.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) x) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) x = 0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y = 0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) z₂ +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (x + y) =
          0

tactic: rw [LinearMap.map_add, LinearMap.map_add, LinearMap.add_apply, LinearMap.add_apply, h₁, h₂,
  zero_add, add_zero, add_comm, this]
state_before: R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
this : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₁ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (z₁ + z₂)) (z₁ + z₂) = 0
state_after: no goals

tactic: simp only [LinearMap.map_zero, add_zero, LinearMap.zero_apply]
state_before: case refine_3.refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) 0 = 0
state_after: no goals

tactic: intro a₁ l₁
state_before: case refine_3.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ∀ (x : A) (y : L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) z₂ +
        ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (x ⊗ₜ[R] y) =
      0
state_after: case refine_3.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) z₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (a₁ ⊗ₜ[R] l₁) =
    0

tactic: refine z₂.induction_on ?_ ?_ ?_
state_before: case refine_3.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) z₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (a₁ ⊗ₜ[R] l₁) =
    0
state_after: case refine_3.refine_2.refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) 0 +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) (a₁ ⊗ₜ[R] l₁) =
    0

case refine_3.refine_2.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ∀ (x : A) (y : L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (x ⊗ₜ[R] y) +
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) (a₁ ⊗ₜ[R] l₁) =
      0

case refine_3.refine_2.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) x +
          ((LieAlgebra.ExtendScalars.bracket' R A L L) x) (a₁ ⊗ₜ[R] l₁) =
        0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) y) (a₁ ⊗ₜ[R] l₁) =
          0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (x + y) +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) (a₁ ⊗ₜ[R] l₁) =
          0

tactic: simp only [LinearMap.map_zero, add_zero, LinearMap.zero_apply]
state_before: case refine_3.refine_2.refine_1
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) 0 +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) 0) (a₁ ⊗ₜ[R] l₁) =
    0
state_after: no goals

tactic: intro a₂ l₂
state_before: case refine_3.refine_2.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ∀ (x : A) (y : L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (x ⊗ₜ[R] y) +
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x ⊗ₜ[R] y)) (a₁ ⊗ₜ[R] l₁) =
      0
state_after: case refine_3.refine_2.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
a₂ : A
l₂ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (a₂ ⊗ₜ[R] l₂) +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₂ ⊗ₜ[R] l₂)) (a₁ ⊗ₜ[R] l₁) =
    0

tactic: simp only [← lie_skew l₂ l₁, mul_comm a₁ a₂, TensorProduct.tmul_neg, bracket'_tmul,
  add_right_neg]
state_before: case refine_3.refine_2.refine_2
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
a₂ : A
l₂ : L
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (a₂ ⊗ₜ[R] l₂) +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₂ ⊗ₜ[R] l₂)) (a₁ ⊗ₜ[R] l₁) =
    0
state_after: no goals

tactic: intro y₁ y₂ hy₁ hy₂
state_before: case refine_3.refine_2.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) x +
          ((LieAlgebra.ExtendScalars.bracket' R A L L) x) (a₁ ⊗ₜ[R] l₁) =
        0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) y) (a₁ ⊗ₜ[R] l₁) =
          0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (x + y) +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) (a₁ ⊗ₜ[R] l₁) =
          0
state_after: case refine_3.refine_2.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
y₁ y₂ : A ⊗[R] L
hy₁ :
  ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y₁ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y₁) (a₁ ⊗ₜ[R] l₁) =
    0
hy₂ :
  ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y₂) (a₁ ⊗ₜ[R] l₁) =
    0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (y₁ + y₂) +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (y₁ + y₂)) (a₁ ⊗ₜ[R] l₁) =
    0

tactic: simp only [hy₁, hy₂, add_add_add_comm, add_zero, LinearMap.add_apply, LinearMap.map_add]
state_before: case refine_3.refine_2.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
a₁ : A
l₁ : L
y₁ y₂ : A ⊗[R] L
hy₁ :
  ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y₁ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y₁) (a₁ ⊗ₜ[R] l₁) =
    0
hy₂ :
  ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) y₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y₂) (a₁ ⊗ₜ[R] l₁) =
    0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (a₁ ⊗ₜ[R] l₁)) (y₁ + y₂) +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) (y₁ + y₂)) (a₁ ⊗ₜ[R] l₁) =
    0
state_after: no goals

tactic: intro y₁ y₂ hy₁ hy₂
state_before: case refine_3.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
⊢ ∀ (x y : A ⊗[R] L),
    ((LieAlgebra.ExtendScalars.bracket' R A L L) x) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) x = 0 →
      ((LieAlgebra.ExtendScalars.bracket' R A L L) y) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y = 0 →
        ((LieAlgebra.ExtendScalars.bracket' R A L L) (x + y)) z₂ +
            ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (x + y) =
          0
state_after: case refine_3.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
y₁ y₂ : A ⊗[R] L
hy₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) y₁) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y₁ = 0
hy₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) y₂) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (y₁ + y₂)) z₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (y₁ + y₂) =
    0

tactic: simp only [add_add_add_comm, hy₁, hy₂, add_zero, LinearMap.add_apply, LinearMap.map_add]
state_before: case refine_3.refine_3
R : Type u_1
A : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x z₁ z₂ : A ⊗[R] L
h₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₁) z₁ = 0
h₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) z₂ = 0
y₁ y₂ : A ⊗[R] L
hy₁ : ((LieAlgebra.ExtendScalars.bracket' R A L L) y₁) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y₁ = 0
hy₂ : ((LieAlgebra.ExtendScalars.bracket' R A L L) y₂) z₂ + ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) y₂ = 0
⊢ ((LieAlgebra.ExtendScalars.bracket' R A L L) (y₁ + y₂)) z₂ +
      ((LieAlgebra.ExtendScalars.bracket' R A L L) z₂) (y₁ + y₂) =
    0
state_after: no goals