Theorem: LieAlgebra.IsKilling.corootSpace_zero_eq_bot
File: Mathlib/Algebra/Lie/Weights/Killing.lean

tactic: refine eq_bot_iff.mpr fun x hx ↦ ?_
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
⊢ corootSpace 0 = ⊥
state_after: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ x ∈ ⊥

tactic: suffices {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x} = {0} by simpa [mem_corootSpace, this] using hx
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ x ∈ ⊥
state_after: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x} = {0}

tactic: refine eq_singleton_iff_unique_mem.mpr ⟨⟨0, H.zero_mem, 0, H.zero_mem, zero_lie 0⟩, ?_⟩
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x} = {0}
state_after: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ ∀ x ∈ {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x}, x = 0

tactic: rintro - ⟨y, hy, z, hz, rfl⟩
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
⊢ ∀ x ∈ {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x}, x = 0
state_after: case intro.intro.intro.intro
R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
y : L
hy : y ∈ H
z : L
hz : z ∈ H
⊢ ⁅y, z⁆ = 0

tactic: suffices ⁅(⟨y, hy⟩ : H), (⟨z, hz⟩ : H)⁆ = 0 by
  simpa only [Subtype.ext_iff, LieSubalgebra.coe_bracket, ZeroMemClass.coe_zero] using this
state_before: case intro.intro.intro.intro
R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
y : L
hy : y ∈ H
z : L
hz : z ∈ H
⊢ ⁅y, z⁆ = 0
state_after: case intro.intro.intro.intro
R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
y : L
hy : y ∈ H
z : L
hz : z ∈ H
⊢ ⁅⟨y, hy⟩, ⟨z, hz⟩⁆ = 0

tactic: simp
state_before: case intro.intro.intro.intro
R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
y : L
hy : y ∈ H
z : L
hz : z ∈ H
⊢ ⁅⟨y, hy⟩, ⟨z, hz⟩⁆ = 0
state_after: no goals

tactic: simpa [mem_corootSpace, this] using hx
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
this : {x | ∃ y ∈ H, ∃ z ∈ H, ⁅y, z⁆ = x} = {0}
⊢ x ∈ ⊥
state_after: no goals

tactic: simpa only [Subtype.ext_iff, LieSubalgebra.coe_bracket, ZeroMemClass.coe_zero] using this
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : Field K
inst✝⁴ : LieAlgebra K L
inst✝³ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝² : H.IsCartanSubalgebra
inst✝¹ : IsTriangularizable K (↥H) L
inst✝ : IsKilling K L
x : ↥H
hx : x ∈ corootSpace 0
y : L
hy : y ∈ H
z : L
hz : z ∈ H
this : ⁅⟨y, hy⟩, ⟨z, hz⟩⁆ = 0
⊢ ⁅y, z⁆ = 0
state_after: no goals