Lie derivations #
This file defines Lie derivations and establishes some basic properties.
Main definitions #
LieDerivation
: A Lie derivationD
from the LieR
-algebraL
to theL
-moduleM
is anR
-linear map that satisfies the Leibniz ruleD [a, b] = [a, D b] - [b, D a]
.LieDerivation.inner
: The natural map from a Lie module to the derivations taking values in it.
Main statements #
LieDerivation.eqOn_lieSpan
: two Lie derivations equal on a set are equal on its Lie span.LieDerivation.instLieAlgebra
: the set of Lie derivations from a Lie algebra to itself is a Lie algebra.
Implementation notes #
- Mathematically, a Lie derivation is just a derivation on a Lie algebra. However, the current
implementation of
RingTheory.Derivation
requires a commutative associative algebra, so is incompatible with the setting of Lie algebras. Initially, this file is a copy-pasted adaptation of theRingTheory.Derivation.Basic.lean
file. - Since we don't have right actions of Lie algebras, the second term in the Leibniz rule is written
as
- [b, D a]
. Within Lie algebras, skew symmetry restores the expected definition[D a, b]
.
A Lie derivation D
from the Lie R
-algebra L
to the L
-module M
is an R
-linear map
that satisfies the Leibniz rule D [a, b] = [a, D b] - [b, D a]
.
- toFun : L → M
- map_smul' : ∀ (m : R) (x : L), (↑self).toFun (m • x) = (RingHom.id R) m • (↑self).toFun x
Instances For
Equations
- LieDerivation.instFunLike = { coe := fun (D : LieDerivation R L M) => (↑D).toFun, coe_injective' := ⋯ }
Equations
- ⋯ = ⋯
See Note [custom simps projection]
Equations
Instances For
Equations
- LieDerivation.instCoeToLinearMap = { coe := fun (D : LieDerivation R L M) => ↑D }
Two Lie derivations equal on a set are equal on its Lie span.
If the Lie span of a set is the whole Lie algebra, then two Lie derivations equal on this set are equal on the whole Lie algebra.
Equations
- LieDerivation.instZero = { zero := { toLinearMap := 0, leibniz' := ⋯ } }
Equations
- LieDerivation.instInhabited = { default := 0 }
Equations
- LieDerivation.instAdd = { add := fun (D1 D2 : LieDerivation R L M) => { toLinearMap := ↑D1 + ↑D2, leibniz' := ⋯ } }
Equations
- LieDerivation.instNeg = { neg := fun (D : LieDerivation R L M) => { toLinearMap := -↑D, leibniz' := ⋯ } }
Equations
- LieDerivation.instSub = { sub := fun (D1 D2 : LieDerivation R L M) => { toLinearMap := ↑D1 - ↑D2, leibniz' := ⋯ } }
A typeclass mixin saying that scalar multiplication and Lie bracket are left commutative.
•
and⁅⬝, ⬝⁆
are left commutative
Instances
•
and ⁅⬝, ⬝⁆
are left commutative
Equations
- LieDerivation.instSMul = { smul := fun (r : S) (D : LieDerivation R L M) => { toLinearMap := r • ↑D, leibniz' := ⋯ } }
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- LieDerivation.instAddCommGroup = Function.Injective.addCommGroup DFunLike.coe ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
coe_fn
as an AddMonoidHom
.
Equations
- LieDerivation.coeFnAddMonoidHom = { toFun := DFunLike.coe, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- LieDerivation.instDistribMulAction = Function.Injective.distribMulAction LieDerivation.coeFnAddMonoidHom ⋯ ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- LieDerivation.instModule = Function.Injective.module S LieDerivation.coeFnAddMonoidHom ⋯ ⋯
The commutator of two Lie derivations on a Lie algebra is a Lie derivation.
Equations
- LieDerivation.instBracket = { bracket := fun (D1 D2 : LieDerivation R L L) => { toLinearMap := ⁅↑D1, ↑D2⁆, leibniz' := ⋯ } }
Equations
- LieDerivation.instLieRing = LieRing.mk ⋯ ⋯ ⋯ ⋯
The set of Lie derivations from a Lie algebra L
to itself is a Lie algebra.
Equations
- LieDerivation.instLieAlgebra = LieAlgebra.mk ⋯
The Lie algebra morphism from Lie derivations into linear endormophisms.
Equations
- LieDerivation.toLinearMapLieHom R L = { toFun := LieDerivation.toLinearMap, map_add' := ⋯, map_smul' := ⋯, map_lie' := ⋯ }
Instances For
The map from Lie derivations to linear endormophisms is injective.
Lie derivations over a Noetherian Lie algebra form a Noetherian module.
Equations
- ⋯ = ⋯
The natural map from a Lie module to the derivations taking values in it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- LieDerivation.instLieRingModule R L M = LieRingModule.mk ⋯ ⋯ ⋯
Equations
- ⋯ = ⋯