Theorem: LieIdeal.le_killingCompl_top_of_isLieAbelian
File: Mathlib/Algebra/Lie/TraceForm.lean

Proof steps:
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
⊢ I ≤ killingCompl R L ⊤
state_after: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
⊢ x ∈ killingCompl R L ⊤
tactic: intro x (hx : x ∈ I)
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
⊢ x ∈ killingCompl R L ⊤
state_after: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
⊢ ∀ (y : L), ((killingForm R L) y) x = 0
tactic: simp only [mem_killingCompl, LieSubmodule.mem_top, forall_true_left]
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
⊢ ∀ (y : L), ((killingForm R L) y) x = 0
state_after: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
y : L
⊢ ((killingForm R L) y) x = 0
tactic: intro y
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
y : L
⊢ ((killingForm R L) y) x = 0
state_after: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
y : L
⊢ (trace R L) ((LieModule.toEnd R L L) y ∘ₗ (LieModule.toEnd R L L) x) = 0
tactic: rw [LieModule.traceForm_apply_apply]
state_before: R : Type u_1
K : Type u_2
L : Type u_3
M : Type u_4
inst✝¹³ : CommRing R
inst✝¹² : LieRing L
inst✝¹¹ : LieAlgebra R L
inst✝¹⁰ : AddCommGroup M
inst✝⁹ : Module R M
inst✝⁸ : LieRingModule L M
inst✝⁷ : LieModule R L M
inst✝⁶ : Module.Free R M
inst✝⁵ : Module.Finite R M
inst✝⁴ : Module.Free R L
inst✝³ : Module.Finite R L
I : LieIdeal R L
inst✝² : IsDomain R
inst✝¹ : IsPrincipalIdealRing R
inst✝ : IsLieAbelian ↥↑I
x : L
hx : x ∈ I
y : L
⊢ (trace R L) ((LieModule.toEnd R L L) y ∘ₗ (LieModule.toEnd R L L) x) = 0
state_after: no goals
tactic: exact LieSubmodule.traceForm_eq_zero_of_isTrivial I I (by simp) _ hx