@@ -3,6 +3,7 @@ Copyright (c) 2023 Oliver Nash. All rights reserved.
3
3
Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Oliver Nash
5
5
-/
6
+ import Mathlib.Algebra.Lie.InvariantForm
6
7
import Mathlib.Algebra.Lie.Semisimple.Basic
7
8
import Mathlib.Algebra.Lie.TraceForm
8
9
@@ -22,19 +23,22 @@ non-degenerate Killing form.
22
23
23
24
This file contains basic definitions and results for such Lie algebras.
24
25
25
- ## Main definitions
26
+ ## Main declarations
27
+
26
28
* `LieAlgebra.IsKilling`: a typeclass encoding the fact that a Lie algebra has a non-singular
27
29
Killing form.
28
- * `LieAlgebra.IsKilling.instHasTrivialRadical`: if a Lie algebra has non-singular Killing form
29
- then it has trivial radical.
30
+ * `LieAlgebra.IsKilling.instSemisimple`: if a finite-dimensional Lie algebra over a field
31
+ has non-singular Killing form then it is semisimple.
32
+ * `LieAlgebra.IsKilling.instHasTrivialRadical`: if a Lie algebra over a PID
33
+ has non-singular Killing form then it has trivial radical.
30
34
31
35
## TODO
32
36
33
37
* Prove that in characteristic zero, a semisimple Lie algebra has non-singular Killing form.
34
38
35
39
-/
36
40
37
- variable (R L M : Type *) [CommRing R] [LieRing L] [LieAlgebra R L]
41
+ variable (R K L M : Type *) [CommRing R] [Field K] [ LieRing L] [LieAlgebra R L] [LieAlgebra K L]
38
42
39
43
namespace LieAlgebra
40
44
@@ -60,13 +64,28 @@ lemma killingForm_nondegenerate :
60
64
(killingForm R L).Nondegenerate := by
61
65
simp [LinearMap.BilinForm.nondegenerate_iff_ker_eq_bot]
62
66
63
- /-- The converse of this is true over a field of characteristic zero. There are counterexamples
64
- over fields with positive characteristic. -/
65
- instance instHasTrivialRadical [IsDomain R] [IsPrincipalIdealRing R] : HasTrivialRadical R L := by
66
- refine (hasTrivialRadical_iff_no_abelian_ideals R L).mpr fun I hI ↦ ?_
67
+ variable {R L} in
68
+ lemma ideal_eq_bot_of_isLieAbelian [IsDomain R] [IsPrincipalIdealRing R]
69
+ (I : LieIdeal R L) [IsLieAbelian I] : I = ⊥ := by
67
70
rw [eq_bot_iff, ← killingCompl_top_eq_bot]
68
71
exact I.le_killingCompl_top_of_isLieAbelian
69
72
73
+ instance instSemisimple [IsKilling K L] [Module.Finite K L] : IsSemisimple K L := by
74
+ apply InvariantForm.isSemisimple_of_nondegenerate (Φ := killingForm K L)
75
+ · exact IsKilling.killingForm_nondegenerate _ _
76
+ · exact LieModule.traceForm_lieInvariant _ _ _
77
+ · exact (LieModule.traceForm_isSymm K L L).isRefl
78
+ · intro I h₁ h₂
79
+ exact h₁.1 <| IsKilling.ideal_eq_bot_of_isLieAbelian I
80
+
81
+ /-- The converse of this is true over a field of characteristic zero. There are counterexamples
82
+ over fields with positive characteristic.
83
+
84
+ Note that when the coefficients are a field this instance is redundant since we have
85
+ `LieAlgebra.IsKilling.instSemisimple` and `LieAlgebra.IsSemisimple.instHasTrivialRadical`. -/
86
+ instance instHasTrivialRadical [IsDomain R] [IsPrincipalIdealRing R] : HasTrivialRadical R L :=
87
+ (hasTrivialRadical_iff_no_abelian_ideals R L).mpr IsKilling.ideal_eq_bot_of_isLieAbelian
88
+
70
89
end IsKilling
71
90
72
91
section LieEquiv
0 commit comments