@@ -26,20 +26,88 @@ lie algebra, lower central series, nilpotent
26
26
27
27
universes u v w w₁ w₂
28
28
29
- namespace lie_module
29
+ section nilpotent_modules
30
30
31
- variables ( R : Type u) ( L : Type v) ( M : Type w)
31
+ variables { R : Type u} { L : Type v} { M : Type w}
32
32
variables [comm_ring R] [lie_ring L] [lie_algebra R L] [add_comm_group M] [module R M]
33
33
variables [lie_ring_module L M] [lie_module R L M]
34
+ variables (k : ℕ) (N : lie_submodule R L M)
35
+
36
+ namespace lie_submodule
37
+
38
+ /-- A generalisation of the lower central series. The zeroth term is a specified Lie submodule of
39
+ a Lie module. In the case when we specify the top ideal `⊤` of the Lie algebra, regarded as a Lie
40
+ module over itself, we get the usual lower central series of a Lie algebra.
41
+
42
+ It can be more convenient to work with this generalisation when considering the lower central series
43
+ of a Lie submodule, regarded as a Lie module in its own right, since it provides a type-theoretic
44
+ expression of the fact that the terms of the Lie submodule's lower central series are also Lie
45
+ submodules of the enclosing Lie module.
46
+
47
+ See also `lie_module.lower_central_series_eq_lcs_comap` and
48
+ `lie_module.lower_central_series_map_eq_lcs` below. -/
49
+ def lcs : lie_submodule R L M → lie_submodule R L M := (λ N, ⁅(⊤ : lie_ideal R L), N⁆)^[k]
50
+
51
+ @[simp] lemma lcs_zero (N : lie_submodule R L M) : N.lcs 0 = N := rfl
52
+
53
+ @[simp] lemma lcs_succ : N.lcs (k + 1 ) = ⁅(⊤ : lie_ideal R L), N.lcs k⁆ :=
54
+ function.iterate_succ_apply' (λ N', ⁅⊤, N'⁆) k N
55
+
56
+ end lie_submodule
57
+
58
+ namespace lie_module
59
+
60
+ variables (R L M)
34
61
35
62
/-- The lower central series of Lie submodules of a Lie module. -/
36
- def lower_central_series (k : ℕ) : lie_submodule R L M := (λ I, ⁅( ⊤ : lie_ideal R L), I⁆)^[k] ⊤
63
+ def lower_central_series : lie_submodule R L M := (⊤ : lie_submodule R L M).lcs k
37
64
38
65
@[simp] lemma lower_central_series_zero : lower_central_series R L M 0 = ⊤ := rfl
39
66
40
- @[simp] lemma lower_central_series_succ (k : ℕ) :
67
+ @[simp] lemma lower_central_series_succ :
41
68
lower_central_series R L M (k + 1 ) = ⁅(⊤ : lie_ideal R L), lower_central_series R L M k⁆ :=
42
- function.iterate_succ_apply' (λ I, ⁅(⊤ : lie_ideal R L), I⁆) k ⊤
69
+ (⊤ : lie_submodule R L M).lcs_succ k
70
+
71
+ end lie_module
72
+
73
+ namespace lie_submodule
74
+
75
+ open lie_module
76
+
77
+ variables {R L M}
78
+
79
+ lemma lcs_le_self : N.lcs k ≤ N :=
80
+ begin
81
+ induction k with k ih,
82
+ { simp, },
83
+ { simp only [lcs_succ],
84
+ exact (lie_submodule.mono_lie_right _ _ ⊤ ih).trans (N.lie_le_right ⊤), },
85
+ end
86
+
87
+ lemma lower_central_series_eq_lcs_comap :
88
+ lower_central_series R L N k = (N.lcs k).comap N.incl :=
89
+ begin
90
+ induction k with k ih,
91
+ { simp, },
92
+ { simp only [lcs_succ, lower_central_series_succ] at ⊢ ih,
93
+ have : N.lcs k ≤ N.incl.range,
94
+ { rw N.range_incl,
95
+ apply lcs_le_self, },
96
+ rw [ih, lie_submodule.comap_bracket_eq _ _ N.incl N.ker_incl this ], },
97
+ end
98
+
99
+ lemma lower_central_series_map_eq_lcs :
100
+ (lower_central_series R L N k).map N.incl = N.lcs k :=
101
+ begin
102
+ rw [lower_central_series_eq_lcs_comap, lie_submodule.map_comap_incl, inf_eq_right],
103
+ apply lcs_le_self,
104
+ end
105
+
106
+ end lie_submodule
107
+
108
+ namespace lie_module
109
+
110
+ variables (R L M)
43
111
44
112
lemma antitone_lower_central_series : antitone $ lower_central_series R L M :=
45
113
begin
@@ -227,6 +295,8 @@ set.nontrivial_mono
227
295
228
296
end lie_module
229
297
298
+ end nilpotent_modules
299
+
230
300
@[priority 100 ]
231
301
instance lie_algebra.is_solvable_of_is_nilpotent (R : Type u) (L : Type v)
232
302
[comm_ring R] [lie_ring L] [lie_algebra R L] [hL : lie_module.is_nilpotent R L L] :
0 commit comments