LeanPool.LowDimSolvClassification.Semidirect #
def
LieSemidirectProduct
{K : Type u_1}
(L : Type u_2)
(J : Type u_3)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
:
Type (max u_2 u_3)
The semidirect product of two Lie algebras L and J, defined by specifying a homomorphism
from L to the Lie algebra of derivations of J. The homomorphism φ indexes the type, but does
not appear in the underlying carrier; consuming it via id keeps the linter happy.
Instances For
The semidirect product of two Lie algebras L and J, defined by specifying a homomorphism
from L to the Lie algebra of derivations of J. The homomorphism φ indexes the type, but does
not appear in the underlying carrier; consuming it via id keeps the linter happy.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LieSemidirectProduct.ext
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
{a b : L ⋉[φ] J}
(h1 : a.1 = b.1)
(h2 : a.2 = b.2)
:
theorem
LieSemidirectProduct.ext_iff
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
{a b : L ⋉[φ] J}
:
@[implicit_reducible]
instance
LieSemidirectProduct.instAddCommGroup
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
AddCommGroup (L ⋉[φ] J)
@[implicit_reducible]
instance
LieSemidirectProduct.instModule
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
@[simp]
theorem
LieSemidirectProduct.add_left
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(a b : L ⋉[φ] J)
:
@[simp]
theorem
LieSemidirectProduct.add_right
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(a b : L ⋉[φ] J)
:
@[simp]
theorem
LieSemidirectProduct.zero_left
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
@[simp]
theorem
LieSemidirectProduct.zero_right
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
@[simp]
theorem
LieSemidirectProduct.neg_left
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(a : L ⋉[φ] J)
:
@[simp]
theorem
LieSemidirectProduct.neg_right
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(a : L ⋉[φ] J)
:
@[simp]
theorem
LieSemidirectProduct.smul_left
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(k : K)
(a : L ⋉[φ] J)
:
@[simp]
theorem
LieSemidirectProduct.smul_right
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(k : K)
(a : L ⋉[φ] J)
:
@[implicit_reducible]
instance
LieSemidirectProduct.instBracket
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
@[implicit_reducible]
instance
LieSemidirectProduct.instLieRing
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
Equations
- LieSemidirectProduct.instLieRing = { toAddCommGroup := inferInstance, toBracket := LieSemidirectProduct.instBracket, add_lie := ⋯, lie_add := ⋯, lie_self := ⋯, leibniz_lie := ⋯ }
@[implicit_reducible]
instance
LieSemidirectProduct.instLieAlgebra
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
LieAlgebra K (L ⋉[φ] J)
Equations
- LieSemidirectProduct.instLieAlgebra = { toModule := LieSemidirectProduct.instModule, lie_smul := ⋯ }
def
LieSemidirectProduct.inl
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
TODO.
Equations
Instances For
def
LieSemidirectProduct.inr
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
TODO.
Equations
Instances For
def
LieSemidirectProduct.fst
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
:
TODO.
Equations
Instances For
@[simp]
theorem
LieSemidirectProduct.fst_inl
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : L)
:
@[simp]
theorem
LieSemidirectProduct.fst_inr
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : J)
:
@[simp]
theorem
LieSemidirectProduct.fst_inl'
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : L)
:
@[simp]
theorem
LieSemidirectProduct.fst_inr'
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : J)
:
@[simp]
theorem
LieSemidirectProduct.snd_inl'
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : L)
:
@[simp]
theorem
LieSemidirectProduct.snd_inr'
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : J)
:
@[simp]
theorem
LieSemidirectProduct.inl_left_add_inr_right
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
{φ : L →ₗ⁅K⁆ LieDerivation K J J}
(x : L ⋉[φ] J)
:
def
LieSemidirectProduct.leftSubalgebra
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
:
LieSubalgebra K (L ⋉[φ] J)
TODO.
Instances For
def
LieSemidirectProduct.rightIdeal
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
:
TODO.
Instances For
def
LieSemidirectProduct.rightIdealEquivRight
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
:
TODO.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LieSemidirectProduct.range_inr_eq_ker_fst
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
:
theorem
LieSemidirectProduct.finrank_eq
{K : Type u_4}
{L : Type u_5}
{J : Type u_6}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
(φ : L →ₗ⁅K⁆ LieDerivation K J J)
[StrongRankCondition K]
[Module.Free K L]
[Module.Free K J]
[Module.Finite K L]
[Module.Finite K J]
:
theorem
LieSemidirectProduct.isAlmostAbelian
{K : Type u_4}
{L : Type u_5}
[CommRing K]
[LieRing L]
[LieAlgebra K L]
{φ : K →ₗ⁅K⁆ LieDerivation K L L}
[IsLieAbelian L]
[StrongRankCondition K]
[Module.Free K L]
[Module.Finite K L]
:
LieAlgebra.IsAlmostAbelian K (K ⋉[φ] L)
Any semidirect product of the base field with an abelian Lie algebra is almost abelian.
@[implicit_reducible]
Equations
- instLieRingProdLeanPool = { toAddCommGroup := inferInstance, toBracket := instBracketProdLeanPool, add_lie := ⋯, lie_add := ⋯, lie_self := ⋯, leibniz_lie := ⋯ }
@[implicit_reducible]
instance
instLieAlgebraProdLeanPool
{K : Type u_1}
{L : Type u_2}
{J : Type u_3}
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
LieAlgebra K (L × J)
Equations
- instLieAlgebraProdLeanPool = { toModule := Prod.instModule, lie_smul := ⋯ }
def
LieHom.inl
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
Instances For
def
LieHom.inr
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
Instances For
def
LieHom.fst
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
- LieHom.fst K L J = { toFun := fun (x : L × J) => x.1, map_add' := ⋯, map_smul' := ⋯, map_lie' := ⋯ }
Instances For
def
LieHom.snd
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
- LieHom.snd K L J = { toFun := fun (x : L × J) => x.2, map_add' := ⋯, map_smul' := ⋯, map_lie' := ⋯ }
Instances For
def
leftIdealEquivLeft
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
Instances For
def
rightIdeal
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
- rightIdeal K L J = (LieHom.fst K L J).ker
Instances For
def
rightIdealEquivRight
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Prod.toLieSemidirectProduct
(K : Type u_4)
(L : Type u_5)
(J : Type u_6)
[CommRing K]
[LieRing L]
[LieRing J]
[LieAlgebra K L]
[LieAlgebra K J]
:
TODO.
Equations
- Prod.toLieSemidirectProduct K L J = { toLinearMap := ↑(LinearEquiv.refl K (L × J)), map_lie' := ⋯, invFun := (LinearEquiv.refl K (L × J)).invFun, left_inv := ⋯, right_inv := ⋯ }