Lie submodules of a Lie algebra #
In this file we define Lie submodules and Lie ideals, we construct the lattice structure on Lie submodules and we use it to define various important operations, notably the Lie span of a subset of a Lie module.
Main definitions #
LieSubmodule
LieSubmodule.wellFounded_of_noetherian
LieSubmodule.lieSpan
LieSubmodule.map
LieSubmodule.comap
LieIdeal
LieIdeal.map
LieIdeal.comap
Tags #
lie algebra, lie submodule, lie ideal, lattice structure
A Lie submodule of a Lie module is a submodule that is closed under the Lie bracket. This is a sufficient condition for the subset itself to form a Lie module.
Instances For
Equations
- LieSubmodule.instSetLike = { coe := fun (s : LieSubmodule R L M) => (↑s).carrier, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The zero module is a Lie submodule of any Lie module.
Equations
- LieSubmodule.instZero = { zero := let __src := 0; { toSubmodule := __src, lie_mem := ⋯ } }
Equations
- LieSubmodule.instInhabited = { default := 0 }
Equations
- LieSubmodule.coeSort = { coe := fun (N : LieSubmodule R L M) => ↥N }
Equations
- LieSubmodule.coeSubmodule = { coe := LieSubmodule.toSubmodule }
Copy of a LieSubmodule
with a new carrier
equal to the old one. Useful to fix definitional
equalities.
Equations
- N.copy s hs = { carrier := s, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯, lie_mem := ⋯ }
Instances For
Equations
- N.instLieRingModuleSubtypeMem = LieRingModule.mk ⋯ ⋯ ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- LieSubmodule.instUniqueOfSubsingleton = { default := 0, uniq := ⋯ }
An ideal of a Lie algebra is a Lie subalgebra.
Equations
- lieIdealSubalgebra R L I = { toSubmodule := ↑I, lie_mem' := ⋯ }
Instances For
Equations
- instCoeLieIdealLieSubalgebra R L = { coe := lieIdealSubalgebra R L }
An ideal of L
is a Lie subalgebra of L
, so it is a Lie ring.
Equations
- LieIdeal.lieRing R L I = LieSubalgebra.lieRing R L (lieIdealSubalgebra R L I)
Transfer the LieAlgebra
instance from the coercion LieIdeal → LieSubalgebra
.
Equations
- LieIdeal.lieAlgebra R L I = LieSubalgebra.lieAlgebra R L (lieIdealSubalgebra R L I)
Transfer the LieRingModule
instance from the coercion LieIdeal → LieSubalgebra
.
Equations
- LieIdeal.lieRingModule M I = (lieIdealSubalgebra R L I).lieRingModule
Transfer the LieModule
instance from the coercion LieIdeal → LieSubalgebra
.
Equations
- ⋯ = ⋯
Given a Lie subalgebra K ⊆ L
, if we view L
as a K
-module by restriction, it contains
a distinguished Lie submodule for the action of K
, namely K
itself.
Equations
- K.toLieSubmodule = { toSubmodule := K.toSubmodule, lie_mem := ⋯ }
Instances For
Equations
- LieSubmodule.instBot = { bot := 0 }
Equations
- LieSubmodule.instUniqueBot = inferInstanceAs (Unique ↥⊥)
Equations
- LieSubmodule.instMin = { min := fun (N N' : LieSubmodule R L M) => let __src := ↑N ⊓ ↑N'; { toSubmodule := __src, lie_mem := ⋯ } }
Equations
- LieSubmodule.instMax = { max := fun (N N' : LieSubmodule R L M) => { toSubmodule := ↑N ⊔ ↑N', lie_mem := ⋯ } }
The set of Lie submodules of a Lie module form a complete lattice.
Equations
- LieSubmodule.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- LieSubmodule.instAdd = { add := max }
Equations
- LieSubmodule.instAddCommMonoid = AddCommMonoid.mk ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The natural functor that forgets the action of L
as an order embedding.
Equations
- LieSubmodule.toSubmodule_orderEmbedding R L M = { toFun := LieSubmodule.toSubmodule, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The inclusion of a Lie submodule into its ambient space is a morphism of Lie modules.
Equations
- N.incl = { toLinearMap := (↑N).subtype, map_lie' := ⋯ }
Instances For
Given two nested Lie submodules N ⊆ N'
,
the inclusion N ↪ N'
is a morphism of Lie modules.
Equations
- LieSubmodule.inclusion h = { toLinearMap := Submodule.inclusion ⋯, map_lie' := ⋯ }
Instances For
The lieSpan
of a set s ⊆ M
is the smallest Lie submodule of M
that contains s
.
Equations
- LieSubmodule.lieSpan R L s = sInf {N : LieSubmodule R L M | s ⊆ ↑N}
Instances For
lieSpan
forms a Galois insertion with the coercion from LieSubmodule
to Set
.
Equations
- LieSubmodule.gi R L M = { choice := fun (s : Set M) (x : ↑(LieSubmodule.lieSpan R L s) ≤ s) => LieSubmodule.lieSpan R L s, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
Equations
- ⋯ = ⋯
A morphism of Lie modules f : M → M'
pushes forward Lie submodules of M
to Lie submodules
of M'
.
Equations
- LieSubmodule.map f N = { toSubmodule := Submodule.map ↑f ↑N, lie_mem := ⋯ }
Instances For
A morphism of Lie modules f : M → M'
pulls back Lie submodules of M'
to Lie submodules of
M
.
Equations
- LieSubmodule.comap f N' = { toSubmodule := Submodule.comap ↑f ↑N', lie_mem := ⋯ }
Instances For
An injective morphism of Lie modules embeds the lattice of submodules of the domain into that of the target.
Equations
- LieSubmodule.mapOrderEmbedding hf = { toFun := LieSubmodule.map f, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
For an injective morphism of Lie modules, any Lie submodule is equivalent to its image.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An equivalence of Lie modules yields an order-preserving equivalence of their lattices of Lie Submodules.
Equations
- LieSubmodule.orderIsoMapComap e = { toFun := LieSubmodule.map e.toLieModuleHom, invFun := LieSubmodule.comap e.toLieModuleHom, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }
Instances For
A morphism of Lie algebras f : L → L'
pushes forward Lie ideals of L
to Lie ideals of L'
.
Note that unlike LieSubmodule.map
, we must take the lieSpan
of the image. Mathematically
this is because although f
makes L'
into a Lie module over L
, in general the L
submodules of
L'
are not the same as the ideals of L'
.
Equations
- LieIdeal.map f I = LieSubmodule.lieSpan R L' ↑(Submodule.map (↑f) (lieIdealSubalgebra R L I).toSubmodule)
Instances For
A morphism of Lie algebras f : L → L'
pulls back Lie ideals of L'
to Lie ideals of L
.
Note that f
makes L'
into a Lie module over L
(turning f
into a morphism of Lie modules)
and so this is a special case of LieSubmodule.comap
but we do not exploit this fact.
Equations
- LieIdeal.comap f J = { toSubmodule := Submodule.comap (↑f) (lieIdealSubalgebra R L' J).toSubmodule, lie_mem := ⋯ }
Instances For
See also LieIdeal.map_comap_eq
.
Note that this is not a special case of LieSubmodule.subsingleton_of_bot
. Indeed, given
I : LieIdeal R L
, in general the two lattices LieIdeal R I
and LieSubmodule R L I
are
different (though the latter does naturally inject into the former).
In other words, in general, ideals of I
, regarded as a Lie algebra in its own right, are not the
same as ideals of L
contained in I
.
Equations
- ⋯ = ⋯
The kernel of a morphism of Lie algebras, as an ideal in the domain.
Equations
- f.ker = LieIdeal.comap f ⊥
Instances For
The range of a morphism of Lie algebras as an ideal in the codomain.
Equations
- f.idealRange = LieSubmodule.lieSpan R L' ↑f.range
Instances For
The condition that the range of a morphism of Lie algebras is an ideal.
Equations
- f.IsIdealMorphism = (lieIdealSubalgebra R L' f.idealRange = f.range)
Instances For
Given two nested Lie ideals I₁ ⊆ I₂
, the inclusion I₁ ↪ I₂
is a morphism of Lie algebras.
Equations
- LieIdeal.inclusion h = { toLinearMap := Submodule.inclusion ⋯, map_lie' := ⋯ }
Instances For
Regarding an ideal I
as a subalgebra, the inclusion map into its ambient space is a morphism
of Lie algebras.
Equations
- I.incl = (lieIdealSubalgebra R L I).incl
Instances For
The kernel of a morphism of Lie algebras, as an ideal in the domain.
Equations
- f.ker = LieSubmodule.comap f ⊥
Instances For
The range of a morphism of Lie modules f : M → N
is a Lie submodule of N
.
See Note [range copy pattern].
Equations
- f.range = (LieSubmodule.map f ⊤).copy (Set.range ⇑f) ⋯
Instances For
A morphism of Lie modules f : M → N
whose values lie in a Lie submodule P ⊆ N
can be
restricted to a morphism of Lie modules M → P
.
Equations
- LieModuleHom.codRestrict P f h = { toFun := ⇑(LinearMap.codRestrict (↑P) (↑f) h), map_add' := ⋯, map_smul' := ⋯, map_lie' := ⋯ }
Instances For
The natural equivalence between the 'top' Lie submodule and the enclosing Lie module.
Equations
- LieModuleEquiv.ofTop R L M = { toLinearMap := ↑(LinearEquiv.ofTop ⊤ ⋯), map_lie' := ⋯, invFun := (LinearEquiv.ofTop ⊤ ⋯).invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
The natural equivalence between the 'top' Lie subalgebra and the enclosing Lie algebra.
This is the Lie subalgebra version of Submodule.topEquiv
.
Equations
Instances For
The natural equivalence between the 'top' Lie ideal and the enclosing Lie algebra.
This is the Lie ideal version of Submodule.topEquiv
.
Equations
- LieIdeal.topEquiv = LieSubalgebra.topEquiv