Products of Lie algebras #
This file defines the Lie algebra structure the Product of two Lie algebras
Main definitions #
- products in the domain:
LieHom.fstThe first projection of a product is a Lie algebra map.LieHom.sndThe second projection of a product is a Lie algebra map.LieHom.prod_extSplit equality of Lie algebra homomorphisms from a product into Lie algebra homomorphism over each component,
- products in the codomain:
LieHom.inlThe left injection into a product is a Lie algebra map.LieHom.inrThe right injection into a product is a Lie algebra map.LieHom.prodThe prod of two Lie algebra homomorphisms is a Lie algebra homomorphism.
- products in both domain and codomain:
LieHom.prodMaptheProd.mapof two Lie algebra homomorphisms is a Lie algebra homomorphism.
Todo: Extend to further functionality from LinearMap.prod e.g. #
- Lie Equivalences related to products
- Lie Submodule statements
@[implicit_reducible]
@[implicit_reducible]
instance
LieAlgebra.Prod.instLieAlgebra
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
LieAlgebra R (Lā Ć Lā)
def
LieHom.fst
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
The first projection of a product is a Lie algebra map.
Instances For
def
LieHom.snd
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
The second projection of a product is a Lie algebra map.
Instances For
def
LieHom.inl
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
The left injection into a product is a Lie algebra map.
Instances For
def
LieHom.inr
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
The right injection into a product is a Lie algebra map.
Instances For
@[simp]
theorem
LieHom.fst_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(x : Lā Ć Lā)
:
(fst R Lā Lā) x = x.1
@[simp]
theorem
LieHom.snd_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(x : Lā Ć Lā)
:
(snd R Lā Lā) x = x.2
@[simp]
theorem
LieHom.coe_fst
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
@[simp]
theorem
LieHom.coe_snd
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
theorem
LieHom.fst_surjective
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
Function.Surjective ā(fst R Lā Lā)
theorem
LieHom.snd_surjective
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
Function.Surjective ā(snd R Lā Lā)
def
LieHom.prod
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : L āāā
Rā Lā)
(g : L āāā
Rā Lā)
:
The prod of two Lie algebra homomorphisms is a Lie algebra homomorphism.
Instances For
@[simp]
theorem
LieHom.prod_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : L āāā
Rā Lā)
(g : L āāā
Rā Lā)
(i : L)
:
(f.prod g) i = (f i, g i)
theorem
LieHom.coe_prod
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : L āāā
Rā Lā)
(g : L āāā
Rā Lā)
:
@[simp]
theorem
LieHom.fst_prod
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : L āāā
Rā Lā)
(g : L āāā
Rā Lā)
:
@[simp]
theorem
LieHom.snd_prod
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : L āāā
Rā Lā)
(g : L āāā
Rā Lā)
:
@[simp]
theorem
LieHom.pair_fst_snd
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
theorem
LieHom.prod_comp
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
(f : Lā āāā
Rā Lā)
(g : Lā āāā
Rā L)
(h : L āāā
Rā Lā)
:
theorem
LieHom.inl_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(x : Lā)
:
(inl R Lā Lā) x = (x, 0)
theorem
LieHom.inr_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(x : Lā)
:
(inr R Lā Lā) x = (0, x)
@[simp]
theorem
LieHom.coe_inl
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
ā(inl R Lā Lā) = fun (x : Lā) => (x, 0)
@[simp]
theorem
LieHom.coe_inr
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
ā(inr R Lā Lā) = Prod.mk 0
theorem
LieHom.inl_injective
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
Function.Injective ā(inl R Lā Lā)
theorem
LieHom.inr_injective
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
Function.Injective ā(inr R Lā Lā)
theorem
LieHom.range_inl
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
(inl R Lā Lā).range = LieIdeal.toLieSubalgebra R (Lā Ć Lā) (snd R Lā Lā).ker
theorem
LieHom.ker_snd
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
LieIdeal.toLieSubalgebra R (Lā Ć Lā) (snd R Lā Lā).ker = (inl R Lā Lā).range
theorem
LieHom.range_inr
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
(inr R Lā Lā).range = LieIdeal.toLieSubalgebra R (Lā Ć Lā) (fst R Lā Lā).ker
theorem
LieHom.ker_fst
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
LieIdeal.toLieSubalgebra R (Lā Ć Lā) (fst R Lā Lā).ker = (inr R Lā Lā).range
@[simp]
theorem
LieHom.fst_comp_inl
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
@[simp]
theorem
LieHom.snd_comp_inl
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
@[simp]
theorem
LieHom.fst_comp_inr
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
@[simp]
theorem
LieHom.snd_comp_inr
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
theorem
LieHom.inl_eq_prod
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
theorem
LieHom.inr_eq_prod
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
theorem
LieHom.prod_ext_iff
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
{f g : Lā Ć Lā āāā
Rā L}
:
theorem
LieHom.prod_ext
(R : Type u_1)
(Lā : Type u_2)
(Lā : Type u_3)
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
{f g : Lā Ć Lā āāā
Rā L}
(hl : f.comp (inl R Lā Lā) = g.comp (inl R Lā Lā))
(hr : f.comp (inr R Lā Lā) = g.comp (inr R Lā Lā))
:
f = g
Split equality of Lie algebra homomorphisms from a product into Lie algebra homomorphism over
each component, to allow ext to apply lemmas specific to Lā āā L and Lā āā L.
See note [partially-applied ext lemmas].
def
LieHom.prodMap
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{Lā : Type u_5}
{Lā : Type u_6}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(f : Lā āāā
Rā Lā)
(g : Lā āāā
Rā Lā)
:
Prod.map of two Lie algebra homomorphisms.
Instances For
theorem
LieHom.coe_prodMap
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{Lā : Type u_5}
{Lā : Type u_6}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(f : Lā āāā
Rā Lā)
(g : Lā āāā
Rā Lā)
:
ā(f.prodMap g) = Prod.map āf āg
@[simp]
theorem
LieHom.prodMap_apply
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{Lā : Type u_5}
{Lā : Type u_6}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
(f : Lā āāā
Rā Lā)
(g : Lā āāā
Rā Lā)
(x : Lā Ć Lā)
:
(f.prodMap g) x = (f x.1, g x.2)
@[simp]
theorem
LieHom.prodMap_id
{R : Type u_1}
{Lā : Type u_2}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
:
@[simp]
theorem
LieHom.prodMap_one
{R : Type u_1}
{Lā : Type u_2}
{L : Type u_4}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing L]
[LieAlgebra R L]
:
prodMap 1 1 = 1
theorem
LieHom.prodMap_comp
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{Lā : Type u_5}
{Lā : Type u_6}
{Lā
: Type u_7}
{Lā : Type u_8}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā
]
[LieAlgebra R Lā
]
[LieRing Lā]
[LieAlgebra R Lā]
(fāā : Lā āāā
Rā Lā)
(fāā : Lā āāā
Rā Lā)
(gāā : Lā āāā
Rā Lā
)
(gāā : Lā
āāā
Rā Lā)
:
@[simp]
theorem
LieHom.prodMap_zero
{R : Type u_1}
{Lā : Type u_2}
{Lā : Type u_3}
{Lā : Type u_5}
{Lā : Type u_6}
[CommRing R]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
[LieRing Lā]
[LieAlgebra R Lā]
:
prodMap 0 0 = 0