Theorem: LieModule.trace_toEnd_weightSpaceChain_eq_zero
File: Mathlib/Algebra/Lie/Weights/Chain.lean

Proof steps:
state_before: R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x : ↥H
hx : x ∈ corootSpace α
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x) = 0
state_after: R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x : ↥H
hx : x ∈ Submodule.span R {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x) = 0
tactic: rw [LieAlgebra.mem_corootSpace'] at hx
state_before: R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x : ↥H
hx : x ∈ Submodule.span R {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x) = 0
state_after: case mem
R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x x✝ : ↥H
h✝ : x✝ ∈ {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x✝) = 0

case zero
R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x : ↥H
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) 0) = 0

case add
R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x x✝ : ↥H
hx✝ : x✝ ∈ Submodule.span R {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
y✝ : ↥H
hy✝ : y✝ ∈ Submodule.span R {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
a✝¹ : (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x✝) = 0
a✝ : (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) y✝) = 0
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) (x✝ + y✝)) = 0

case smul
R : Type u_1
L : Type u_2
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
M : Type u_3
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : LieRingModule L M
inst✝² : LieModule R L M
H : LieSubalgebra R L
α χ : ↥H → R
p q : ℤ
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsNoetherian R L
hp : weightSpace M (p • α + χ) = ⊥
hq : weightSpace M (q • α + χ) = ⊥
x : ↥H
a✝¹ : R
x✝ : ↥H
hx✝ : x✝ ∈ Submodule.span R {x | ∃ y ∈ rootSpace H α, ∃ z ∈ rootSpace H (-α), ⁅y, z⁆ = ↑x}
a✝ : (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) x✝) = 0
⊢ (LinearMap.trace R ↥↑(weightSpaceChain M α χ p q)) ((toEnd R ↥H ↥↑(weightSpaceChain M α χ p q)) (a✝¹ • x✝)) = 0
tactic: induction hx using Submodule.span_induction'