Skip to content

Commit b6f12f1

Browse files
committed
feat: Killing orthogonal complement is complement (leanprover-community#34856)
Killing orthogonal complement is complement Co-authored-by: Janos Wolosz <janos.wolosz@gmail.com>
1 parent a9fd936 commit b6f12f1

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Mathlib/Algebra/Lie/Killing.lean

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
127129
end LieEquiv
128130

129131
end 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

Comments
 (0)