@@ -33,6 +33,8 @@ This file contains basic definitions and results for such Lie algebras.
3333 has non-singular Killing form then it is semisimple.
3434* `LieAlgebra.IsKilling.instHasTrivialRadical`: if a Lie algebra over a PID
3535 has non-singular Killing form then it has trivial radical.
36+ * `LieIdeal.isCompl_killingCompl`: if a Lie algebra has non-singular Killing form then for all
37+ ideals, an ideal and its Killing orthogonal complement are complements.
3638
3739 ## TODO
3840
@@ -127,3 +129,23 @@ alias _root_.LieEquiv.isKilling := LieAlgebra.isKilling_of_equiv
127129end LieEquiv
128130
129131end LieAlgebra
132+
133+ open LieAlgebra in
134+ variable {K L} in
135+ lemma LieIdeal.isCompl_killingCompl [IsKilling K L] [Module.Finite K L] (I : LieIdeal K L) :
136+ IsCompl I I.killingCompl := by
137+ suffices Disjoint I I.killingCompl by
138+ rwa [← LieSubmodule.isCompl_toSubmodule, I.toSubmodule_killingCompl,
139+ LinearMap.BilinForm.isCompl_orthogonal_iff_disjoint (LieModule.traceForm_isSymm K L L).isRefl,
140+ ← I.toSubmodule_killingCompl, LieSubmodule.disjoint_toSubmodule]
141+ suffices IsLieAbelian (I ⊓ I.killingCompl : LieIdeal K L) by
142+ rw [disjoint_iff]
143+ exact IsKilling.ideal_eq_bot_of_isLieAbelian _
144+ suffices ∀ (x y z : L) (hx : x ∈ killingCompl K L I) (hy : y ∈ I),
145+ LieModule.traceForm K L L ⁅x, y⁆ z = 0 by
146+ rw [LieSubmodule.lie_abelian_iff_lie_self_eq_bot, LieSubmodule.lie_eq_bot_iff]
147+ rintro x ⟨-, hx⟩ y ⟨hy, -⟩
148+ exact (IsKilling.killingForm_nondegenerate K L).1 _ fun z ↦ this x y z hx hy
149+ intro x y z hx hy
150+ rw [LieModule.traceForm_apply_lie_apply K L L x y z, LieModule.traceForm_comm K L L]
151+ exact I.mem_killingCompl.mp hx _ <| lie_mem_left K L I y z hy
0 commit comments