Documentation

Mathlib.Algebra.Lie.Basic

Lie algebras #

This file defines Lie rings and Lie algebras over a commutative ring together with their modules, morphisms and equivalences, as well as various lemmas to make these definitions usable.

Main definitions #

Notation #

Working over a fixed commutative ring R, we introduce the notations:

Implementation notes #

Lie algebras are defined as modules with a compatible Lie ring structure and thus, like modules, are partially unbundled.

References #

Tags #

lie bracket, jacobi identity, lie ring, lie algebra, lie module

class LieRing (L : Type v) extends AddCommGroup L, Bracket L L :

A Lie ring is an additive group with compatible product, known as the bracket, satisfying the Jacobi identity.

Instances
    class LieAlgebra (R : Type u) (L : Type v) [CommRing R] [LieRing L] extends Module R L :
    Type (max u v)

    A Lie algebra is a module with compatible product, known as the bracket, satisfying the Jacobi identity. Forgetting the scalar multiplication, every Lie algebra is a Lie ring.

    Instances
      theorem LieAlgebra.ext_iff {R : Type u} {L : Type v} {inst✝ : CommRing R} {inst✝¹ : LieRing L} {x y : LieAlgebra R L} :
      theorem LieAlgebra.ext {R : Type u} {L : Type v} {inst✝ : CommRing R} {inst✝¹ : LieRing L} {x y : LieAlgebra R L} (smul : SMul.smul = SMul.smul) :
      x = y
      class LieRingModule (L : Type v) (M : Type w) [LieRing L] [AddCommGroup M] extends Bracket L M :
      Type (max v w)

      A Lie ring module is an additive group, together with an additive action of a Lie ring on this group, such that the Lie bracket acts as the commutator of endomorphisms. (For representations of Lie algebras see LieModule.)

      Instances
        class LieModule (R : Type u) (L : Type v) (M : Type w) [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] :

        A Lie module is a module over a commutative ring, together with a linear action of a Lie algebra on this module, such that the Lie bracket acts as the commutator of endomorphisms.

        • smul_lie (t : R) (x : L) (m : M) : ⁅t • x, m⁆ = t • ⁅x, m⁆

          A Lie module bracket is compatible with scalar multiplication in its first argument.

        • lie_smul (t : R) (x : L) (m : M) : ⁅x, t • m⁆ = t • ⁅x, m⁆

          A Lie module bracket is compatible with scalar multiplication in its second argument.

        Instances
          class IsLieTower (L₁ : Type u_1) (L₂ : Type u_2) (M : Type u_3) [Bracket L₁ L₂] [Bracket L₁ M] [Bracket L₂ M] [Add M] :

          A tower of Lie bracket actions encapsulates the Leibniz rule for Lie bracket actions.

          More precisely, it does so in a relative setting: Let L₁ and L₂ be two types with Lie bracket actions on a type M endowed with an addition, and additionally assume a Lie bracket action of L₁ on L₂. Then the Leibniz rule asserts for all x : L₁, y : L₂, and m : M that ⁅x, ⁅y, m⁆⁆ = ⁅⁅x, y⁆, m⁆ + ⁅y, ⁅x, m⁆⁆ holds.

          Common examples include the case where L₁ is a Lie subalgebra of L₂ and the case where L₂ is a Lie ideal of L₁.

          Instances
            theorem leibniz_lie {L₁ : Type u_1} {L₂ : Type u_2} {M : Type u_3} [Bracket L₁ L₂] [Bracket L₁ M] [Bracket L₂ M] [Add M] [IsLieTower L₁ L₂ M] (x : L₁) (y : L₂) (m : M) :
            theorem lie_swap_lie {L₁ : Type u_1} {L₂ : Type u_2} {M : Type u_3} [Bracket L₁ L₂] [Bracket L₁ M] [Bracket L₂ M] [Bracket L₂ L₁] [AddCommGroup M] [IsLieTower L₁ L₂ M] [IsLieTower L₂ L₁ M] (x : L₁) (y : L₂) (m : M) :
            @[simp]
            theorem add_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x y : L) (m : M) :
            ⁅x + y, m⁆ = ⁅x, m⁆ + ⁅y, m⁆
            @[simp]
            theorem lie_add {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m n : M) :
            ⁅x, m + n⁆ = ⁅x, m⁆ + ⁅x, n⁆
            @[simp]
            theorem smul_lie {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (t : R) (x : L) (m : M) :
            ⁅t • x, m⁆ = t • ⁅x, m⁆
            @[simp]
            theorem lie_smul {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (t : R) (x : L) (m : M) :
            ⁅x, t • m⁆ = t • ⁅x, m⁆
            instance instIsLieTower {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] :
            @[simp]
            theorem lie_zero {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) :
            ⁅x, 0⁆ = 0
            @[simp]
            theorem zero_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (m : M) :
            ⁅0, m⁆ = 0
            @[simp]
            theorem lie_self {L : Type v} [LieRing L] (x : L) :
            ⁅x, x⁆ = 0
            @[implicit_reducible]
            instance lieRingSelfModule {L : Type v} [LieRing L] :
            Equations
            @[simp]
            theorem lie_skew {L : Type v} [LieRing L] (x y : L) :
            instance lieAlgebraSelfModule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
            LieModule R L L

            Every Lie algebra is a module over itself.

            @[simp]
            theorem neg_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) :
            @[simp]
            theorem lie_neg {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) :
            @[simp]
            theorem sub_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x y : L) (m : M) :
            ⁅x - y, m⁆ = ⁅x, m⁆ - ⁅y, m⁆
            @[simp]
            theorem lie_sub {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m n : M) :
            ⁅x, m - n⁆ = ⁅x, m⁆ - ⁅x, n⁆
            @[simp]
            theorem nsmul_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) (n : ℕ) :
            ⁅n • x, m⁆ = n • ⁅x, m⁆
            @[simp]
            theorem lie_nsmul {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) (n : ℕ) :
            ⁅x, n • m⁆ = n • ⁅x, m⁆
            theorem zsmul_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) (a : ℤ) :
            ⁅a • x, m⁆ = a • ⁅x, m⁆
            theorem lie_zsmul {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) (a : ℤ) :
            ⁅x, a • m⁆ = a • ⁅x, m⁆
            @[simp]
            theorem lie_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] (x y : L) (m : M) :
            theorem lie_jacobi {L : Type v} [LieRing L] (x y z : L) :
            def LieRingModule.toEnd (L : Type v) (M : Type w) [LieRing L] [AddCommGroup M] [LieRingModule L M] :
            L →+ M →+ M

            The Lie bracket as a biadditive map.

            Usually one will have coefficients and LieModule.toEnd will be more useful.

            Equations
            • LieRingModule.toEnd L M = { toFun := fun (x : L) => { toFun := fun (m : M) => ⁅x, m⁆, map_zero' := ⋯, map_add' := ⋯ }, map_zero' := ⋯, map_add' := ⋯ }
            Instances For
              @[simp]
              theorem LieRingModule.toEnd_apply_apply (L : Type v) (M : Type w) [LieRing L] [AddCommGroup M] [LieRingModule L M] (x : L) (m : M) :
              ((toEnd L M) x) m = ⁅x, m⁆
              @[implicit_reducible]
              Equations
              instance instLieModuleInt {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] :
              @[implicit_reducible]
              instance LinearMap.instLieRingModule {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup N] [Module R N] [LieRingModule L N] [LieModule R L N] :
              Equations
              • One or more equations did not get rendered due to their size.
              @[simp]
              theorem LieHom.lie_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup N] [Module R N] [LieRingModule L N] [LieModule R L N] (f : M →ₗ[R] N) (x : L) (m : M) :
              ⁅x, f⁆ m = ⁅x, f m⁆ - f ⁅x, m⁆
              instance LinearMap.instLieModule {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup N] [Module R N] [LieRingModule L N] [LieModule R L N] :
              LieModule R L (M →ₗ[R] N)
              @[implicit_reducible]
              instance Module.Dual.instLieRingModule {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :

              We could avoid defining this by instead defining a LieRingModule L R instance with a zero bracket and relying on LinearMap.instLieRingModule. We do not do this because in the case that L = R we would have a non-defeq diamond via Ring.instBracket.

              Equations
              @[simp]
              theorem Module.Dual.lie_apply {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (x : L) (m : M) (f : M →ₗ[R] R) :
              ⁅x, f⁆ m = -f ⁅x, m⁆
              instance Module.Dual.instLieModule {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] :
              LieModule R L (M →ₗ[R] R)
              @[implicit_reducible]

              It is sometimes useful to regard a LieRing as a NonUnitalNonAssocRing.

              Equations
              Instances For
                theorem sum_lie {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] {ι : Type u_1} (s : Finset ι) (f : ι → L) (m : M) :
                ⁅∑ i ∈ s, f i, m⁆ = ∑ i ∈ s, ⁅f i, m⁆
                theorem lie_sum {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] {ι : Type u_1} (s : Finset ι) (f : ι → M) (a : L) :
                ⁅a, ∑ i ∈ s, f i⁆ = ∑ i ∈ s, ⁅a, f i⁆
                theorem sum_lie_sum {L : Type v} {M : Type w} [LieRing L] [AddCommGroup M] [LieRingModule L M] {ι : Type u_1} {κ : Type u_3} (s : Finset ι) (t : Finset κ) (f : ι → L) (g : κ → M) :
                ⁅∑ i ∈ s, f i, ∑ j ∈ t, g j⁆ = ∑ i ∈ s, ∑ j ∈ t, ⁅f i, g j⁆
                structure LieHom (R : Type u_1) (L : Type u_2) (L' : Type u_3) [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] extends L →ₗ[R] L' :
                Type (max u_2 u_3)

                A morphism of Lie algebras (denoted as L₁ →ₗ⁅R⁆ L₂) is a linear map respecting the bracket operations.

                Instances For

                  A morphism of Lie algebras (denoted as L₁ →ₗ⁅R⁆ L₂) is a linear map respecting the bracket operations.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[implicit_reducible]
                    instance LieHom.instCoeLinearMapId {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                    Coe (L₁ →ₗ⁅R⁆ L₂) (L₁ →ₗ[R] L₂)
                    Equations
                    @[implicit_reducible]
                    instance LieHom.instFunLike {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                    FunLike (L₁ →ₗ⁅R⁆ L₂) L₁ L₂
                    Equations
                    @[simp]
                    theorem LieHom.coe_toLinearMap {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) :
                    ⇑↑f = ⇑f
                    @[simp]
                    theorem LieHom.toFun_eq_coe {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) :
                    (↑f).toFun = ⇑f
                    instance LieHom.instLinearMapClass {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                    LinearMapClass (L₁ →ₗ⁅R⁆ L₂) R L₁ L₂
                    @[deprecated map_smul (since := "2025-10-12")]
                    theorem LieHom.map_smul {F : Type u_8} {M : Type u_9} {X : Type u_10} {Y : Type u_11} [SMul M X] [SMul M Y] [FunLike F X Y] [MulActionHomClass F M X Y] (f : F) (c : M) (x : X) :
                    f (c • x) = c • f x

                    Alias of map_smul.

                    @[deprecated map_add (since := "2025-10-12")]
                    theorem LieHom.map_add {M : Type u_4} {N : Type u_5} {F : Type u_9} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) (x y : M) :
                    f (x + y) = f x + f y

                    Alias of map_add.

                    @[deprecated map_sub (since := "2025-10-12")]
                    theorem LieHom.map_sub {G : Type u_7} {H : Type u_8} {F : Type u_9} [FunLike F G H] [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass F G H] (f : F) (a b : G) :
                    f (a - b) = f a - f b

                    Alias of map_sub.

                    @[deprecated map_neg (since := "2025-10-12")]
                    theorem LieHom.map_neg {G : Type u_7} {H : Type u_8} {F : Type u_9} [FunLike F G H] [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass F G H] (f : F) (a : G) :
                    f (-a) = -f a

                    Alias of map_neg.

                    @[deprecated map_zero (since := "2025-10-12")]
                    theorem LieHom.map_zero {M : Type u_4} {N : Type u_5} {F : Type u_9} [Zero M] [Zero N] [FunLike F M N] [ZeroHomClass F M N] (f : F) :
                    f 0 = 0

                    Alias of map_zero.

                    @[simp]
                    theorem LieHom.map_lie {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (x y : L₁) :
                    f ⁅x, y⁆ = ⁅f x, f y⁆
                    def LieHom.id {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                    L₁ →ₗ⁅R⁆ L₁

                    The identity map is a morphism of Lie algebras.

                    Equations
                    Instances For
                      @[simp]
                      theorem LieHom.coe_id {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                      theorem LieHom.id_apply {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] (x : L₁) :
                      id x = x
                      @[implicit_reducible]
                      instance LieHom.instZero {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                      Zero (L₁ →ₗ⁅R⁆ L₂)

                      The constant 0 map is a Lie algebra morphism.

                      Equations
                      @[simp]
                      theorem LieHom.coe_zero {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                      ⇑0 = 0
                      theorem LieHom.zero_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (x : L₁) :
                      0 x = 0
                      @[implicit_reducible]
                      instance LieHom.instOne {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                      One (L₁ →ₗ⁅R⁆ L₁)

                      The identity map is a Lie algebra morphism.

                      Equations
                      @[simp]
                      theorem LieHom.coe_one {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                      theorem LieHom.one_apply {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] (x : L₁) :
                      1 x = x
                      @[implicit_reducible]
                      instance LieHom.instInhabited {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                      Inhabited (L₁ →ₗ⁅R⁆ L₂)
                      Equations
                      theorem LieHom.coe_injective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] :
                      theorem LieHom.ext {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] {f g : L₁ →ₗ⁅R⁆ L₂} (h : ∀ (x : L₁), f x = g x) :
                      f = g
                      theorem LieHom.ext_iff {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] {f g : L₁ →ₗ⁅R⁆ L₂} :
                      f = g ↔ ∀ (x : L₁), f x = g x
                      theorem LieHom.congr_fun {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] {f g : L₁ →ₗ⁅R⁆ L₂} (h : f = g) (x : L₁) :
                      f x = g x
                      @[simp]
                      theorem LieHom.mk_coe {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (h₁ : ∀ (x y : L₁), f (x + y) = f x + f y) (h₂ : ∀ (m : R) (x : L₁), { toFun := ⇑f, map_add' := h₁ }.toFun (m • x) = (RingHom.id R) m • { toFun := ⇑f, map_add' := h₁ }.toFun x) (h₃ : ∀ {x y : L₁}, { toFun := ⇑f, map_add' := h₁, map_smul' := h₂ }.toFun ⁅x, y⁆ = ⁅{ toFun := ⇑f, map_add' := h₁, map_smul' := h₂ }.toFun x, { toFun := ⇑f, map_add' := h₁, map_smul' := h₂ }.toFun y⁆) :
                      { toFun := ⇑f, map_add' := h₁, map_smul' := h₂, map_lie' := h₃ } = f
                      @[simp]
                      theorem LieHom.coe_mk {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ → L₂) (h₁ : ∀ (x y : L₁), f (x + y) = f x + f y) (h₂ : ∀ (m : R) (x : L₁), { toFun := f, map_add' := h₁ }.toFun (m • x) = (RingHom.id R) m • { toFun := f, map_add' := h₁ }.toFun x) (h₃ : ∀ {x y : L₁}, { toFun := f, map_add' := h₁, map_smul' := h₂ }.toFun ⁅x, y⁆ = ⁅{ toFun := f, map_add' := h₁, map_smul' := h₂ }.toFun x, { toFun := f, map_add' := h₁, map_smul' := h₂ }.toFun y⁆) :
                      ⇑{ toFun := f, map_add' := h₁, map_smul' := h₂, map_lie' := h₃ } = f
                      def LieHom.comp {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [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₂) :
                      L₁ →ₗ⁅R⁆ L₃

                      The composition of morphisms is a morphism.

                      Equations
                      Instances For
                        theorem LieHom.comp_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [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₂) (x : L₁) :
                        (f.comp g) x = f (g x)
                        @[simp]
                        theorem LieHom.coe_comp {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [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₂) :
                        ⇑(f.comp g) = ⇑f ∘ ⇑g
                        @[simp]
                        theorem LieHom.toLinearMap_comp {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [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₂) :
                        ↑(f.comp g) = ↑f ∘ₗ ↑g
                        @[simp]
                        theorem LieHom.comp_id {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) :
                        f.comp id = f
                        @[simp]
                        theorem LieHom.id_comp {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) :
                        id.comp f = f
                        def LieHom.inverse {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (g : L₂ → L₁) (h₁ : Function.LeftInverse g ⇑f) (h₂ : Function.RightInverse g ⇑f) :
                        L₂ →ₗ⁅R⁆ L₁

                        The inverse of a bijective morphism is a morphism.

                        Equations
                        • f.inverse g h₁ h₂ = { toLinearMap := (↑f).inverse g h₁ h₂, map_lie' := ⋯ }
                        Instances For
                          @[implicit_reducible]
                          def LieRingModule.compLieHom {R : Type u} {L₁ : Type v} {L₂ : Type w} (M : Type w₁) [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] [AddCommGroup M] [LieRingModule L₂ M] (f : L₁ →ₗ⁅R⁆ L₂) :

                          A Lie ring module may be pulled back along a morphism of Lie algebras.

                          See note [reducible non-instances].

                          Equations
                          Instances For
                            theorem LieRingModule.compLieHom_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} (M : Type w₁) [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] [AddCommGroup M] [LieRingModule L₂ M] (f : L₁ →ₗ⁅R⁆ L₂) (x : L₁) (m : M) :
                            ⁅x, m⁆ = ⁅f x, m⁆
                            theorem LieModule.compLieHom {R : Type u} {L₁ : Type v} {L₂ : Type w} (M : Type w₁) [CommRing R] [LieRing L₁] [LieAlgebra R L₁] [LieRing L₂] [LieAlgebra R L₂] [AddCommGroup M] [LieRingModule L₂ M] (f : L₁ →ₗ⁅R⁆ L₂) [Module R M] [LieModule R L₂ M] :
                            LieModule R L₁ M

                            A Lie module may be pulled back along a morphism of Lie algebras.

                            structure LieEquiv (R : Type u) (L : Type v) (L' : Type w) [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] extends L →ₗ⁅R⁆ L' :
                            Type (max v w)

                            An equivalence of Lie algebras (denoted as L₁ ≃ₗ⁅R⁆ L₂) is a morphism which is also a linear equivalence. We could instead define an equivalence to be a morphism which is also a (plain) equivalence. However, it is more convenient to define via linear equivalence to get .toLinearEquiv for free.

                            Instances For

                              An equivalence of Lie algebras (denoted as L₁ ≃ₗ⁅R⁆ L₂) is a morphism which is also a linear equivalence. We could instead define an equivalence to be a morphism which is also a (plain) equivalence. However, it is more convenient to define via linear equivalence to get .toLinearEquiv for free.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def LieEquiv.toLinearEquiv {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (f : L₁ ≃ₗ⁅R⁆ L₂) :
                                L₁ ≃ₗ[R] L₂

                                Consider an equivalence of Lie algebras as a linear equivalence.

                                Equations
                                Instances For
                                  @[implicit_reducible]
                                  instance LieEquiv.hasCoeToLieHom {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  Coe (L₁ ≃ₗ⁅R⁆ L₂) (L₁ →ₗ⁅R⁆ L₂)
                                  Equations
                                  @[implicit_reducible]
                                  instance LieEquiv.hasCoeToLinearEquiv {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  Coe (L₁ ≃ₗ⁅R⁆ L₂) (L₁ ≃ₗ[R] L₂)
                                  Equations
                                  @[implicit_reducible]
                                  instance LieEquiv.instEquivLike {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  EquivLike (L₁ ≃ₗ⁅R⁆ L₂) L₁ L₂
                                  Equations
                                  theorem LieEquiv.coe_toLieHom {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                  ⇑e.toLieHom = ⇑e
                                  @[simp]
                                  theorem LieEquiv.coe_toLinearEquiv {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                  ⇑e.toLinearEquiv = ⇑e
                                  @[simp]
                                  theorem LieEquiv.coe_coe {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                  ⇑e.toLieHom = ⇑e
                                  @[simp]
                                  theorem LieEquiv.toLinearEquiv_mk {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (g : L₂ → L₁) (h₁ : Function.LeftInverse g (↑f).toFun) (h₂ : Function.RightInverse g (↑f).toFun) :
                                  { toLieHom := f, invFun := g, left_inv := h₁, right_inv := h₂ }.toLinearEquiv = { toLinearMap := ↑f, invFun := g, left_inv := h₁, right_inv := h₂ }
                                  theorem LieEquiv.toLinearEquiv_injective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  theorem LieEquiv.coe_injective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  instance LieEquiv.instLinearEquivClass {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                  LinearEquivClass (L₁ ≃ₗ⁅R⁆ L₂) R L₁ L₂
                                  theorem LieEquiv.ext {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] {f g : L₁ ≃ₗ⁅R⁆ L₂} (h : ∀ (x : L₁), f x = g x) :
                                  f = g
                                  theorem LieEquiv.ext_iff {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] {f g : L₁ ≃ₗ⁅R⁆ L₂} :
                                  f = g ↔ ∀ (x : L₁), f x = g x
                                  @[implicit_reducible]
                                  instance LieEquiv.instOne {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                                  One (L₁ ≃ₗ⁅R⁆ L₁)
                                  Equations
                                  • LieEquiv.instOne = { one := let __src := 1; { toLinearMap := ↑__src, map_lie' := ⋯, invFun := __src.invFun, left_inv := ⋯, right_inv := ⋯ } }
                                  @[simp]
                                  theorem LieEquiv.one_apply {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] (x : L₁) :
                                  1 x = x
                                  @[implicit_reducible]
                                  instance LieEquiv.instInhabited {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                                  Inhabited (L₁ ≃ₗ⁅R⁆ L₁)
                                  Equations
                                  theorem LieEquiv.map_lie {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) (x y : L₁) :
                                  e ⁅x, y⁆ = ⁅e x, e y⁆
                                  def LieEquiv.refl {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                                  L₁ ≃ₗ⁅R⁆ L₁

                                  Lie algebra equivalences are reflexive.

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem LieEquiv.refl_apply {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] (x : L₁) :
                                    refl x = x
                                    def LieEquiv.symm {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                    L₂ ≃ₗ⁅R⁆ L₁

                                    Lie algebra equivalences are symmetric.

                                    Equations
                                    Instances For
                                      @[simp]
                                      theorem LieEquiv.symm_symm {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                      e.symm.symm = e
                                      theorem LieEquiv.symm_bijective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] :
                                      @[simp]
                                      theorem LieEquiv.apply_symm_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) (x : L₂) :
                                      e (e.symm x) = x
                                      @[simp]
                                      theorem LieEquiv.symm_apply_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) (x : L₁) :
                                      e.symm (e x) = x
                                      @[simp]
                                      theorem LieEquiv.refl_symm {R : Type u} {L₁ : Type v} [CommRing R] [LieRing L₁] [LieAlgebra R L₁] :
                                      def LieEquiv.trans {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [CommRing R] [LieRing L₁] [LieRing L₂] [LieRing L₃] [LieAlgebra R L₁] [LieAlgebra R L₂] [LieAlgebra R L₃] (e₁ : L₁ ≃ₗ⁅R⁆ L₂) (e₂ : L₂ ≃ₗ⁅R⁆ L₃) :
                                      L₁ ≃ₗ⁅R⁆ L₃

                                      Lie algebra equivalences are transitive.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem LieEquiv.self_trans_symm {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                        @[simp]
                                        theorem LieEquiv.symm_trans_self {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                        @[simp]
                                        theorem LieEquiv.trans_apply {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [CommRing R] [LieRing L₁] [LieRing L₂] [LieRing L₃] [LieAlgebra R L₁] [LieAlgebra R L₂] [LieAlgebra R L₃] (e₁ : L₁ ≃ₗ⁅R⁆ L₂) (e₂ : L₂ ≃ₗ⁅R⁆ L₃) (x : L₁) :
                                        (e₁.trans e₂) x = e₂ (e₁ x)
                                        @[simp]
                                        theorem LieEquiv.symm_trans {R : Type u} {L₁ : Type v} {L₂ : Type w} {L₃ : Type w₁} [CommRing R] [LieRing L₁] [LieRing L₂] [LieRing L₃] [LieAlgebra R L₁] [LieAlgebra R L₂] [LieAlgebra R L₃] (e₁ : L₁ ≃ₗ⁅R⁆ L₂) (e₂ : L₂ ≃ₗ⁅R⁆ L₃) :
                                        (e₁.trans e₂).symm = e₂.symm.trans e₁.symm
                                        theorem LieEquiv.bijective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                        theorem LieEquiv.injective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                        theorem LieEquiv.surjective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (e : L₁ ≃ₗ⁅R⁆ L₂) :
                                        noncomputable def LieEquiv.ofBijective {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (h : Function.Bijective ⇑f) :
                                        L₁ ≃ₗ⁅R⁆ L₂

                                        A bijective morphism of Lie algebras yields an equivalence of Lie algebras.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem LieEquiv.ofBijective_invFun {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (h : Function.Bijective ⇑f) (a✝ : L₂) :
                                          (ofBijective f h).invFun a✝ = (LinearEquiv.ofBijective (↑f) h).symm a✝
                                          @[simp]
                                          theorem LieEquiv.ofBijective_toFun {R : Type u} {L₁ : Type v} {L₂ : Type w} [CommRing R] [LieRing L₁] [LieRing L₂] [LieAlgebra R L₁] [LieAlgebra R L₂] (f : L₁ →ₗ⁅R⁆ L₂) (h : Function.Bijective ⇑f) (a : L₁) :
                                          (ofBijective f h) a = f a
                                          structure LieModuleHom (R : Type u) (L : Type v) (M : Type w) (N : Type w₁) [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] extends M →ₗ[R] N :
                                          Type (max w w₁)

                                          A morphism of Lie algebra modules (denoted as M →ₗ⁅R,L⁆ N) is a linear map which commutes with the action of the Lie algebra.

                                          Instances For

                                            A morphism of Lie algebra modules (denoted as M →ₗ⁅R,L⁆ N) is a linear map which commutes with the action of the Lie algebra.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              @[implicit_reducible]
                                              instance LieModuleHom.instCoeOutLinearMapId {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                              Equations
                                              @[implicit_reducible]
                                              instance LieModuleHom.instFunLike {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                              Equations
                                              @[simp]
                                              theorem LieModuleHom.coe_toLinearMap {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) :
                                              ⇑↑f = ⇑f
                                              instance LieModuleHom.instLinearMapClass {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                              @[deprecated map_smul (since := "2025-10-12")]
                                              theorem LieModuleHom.map_smul {F : Type u_8} {M : Type u_9} {X : Type u_10} {Y : Type u_11} [SMul M X] [SMul M Y] [FunLike F X Y] [MulActionHomClass F M X Y] (f : F) (c : M) (x : X) :
                                              f (c • x) = c • f x

                                              Alias of map_smul.

                                              @[deprecated map_add (since := "2025-10-12")]
                                              theorem LieModuleHom.map_add {M : Type u_4} {N : Type u_5} {F : Type u_9} [Add M] [Add N] [FunLike F M N] [AddHomClass F M N] (f : F) (x y : M) :
                                              f (x + y) = f x + f y

                                              Alias of map_add.

                                              @[deprecated map_sub (since := "2025-10-12")]
                                              theorem LieModuleHom.map_sub {G : Type u_7} {H : Type u_8} {F : Type u_9} [FunLike F G H] [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass F G H] (f : F) (a b : G) :
                                              f (a - b) = f a - f b

                                              Alias of map_sub.

                                              @[deprecated map_neg (since := "2025-10-12")]
                                              theorem LieModuleHom.map_neg {G : Type u_7} {H : Type u_8} {F : Type u_9} [FunLike F G H] [AddGroup G] [SubtractionMonoid H] [AddMonoidHomClass F G H] (f : F) (a : G) :
                                              f (-a) = -f a

                                              Alias of map_neg.

                                              @[deprecated map_zero (since := "2025-10-12")]
                                              theorem LieModuleHom.map_zero {M : Type u_4} {N : Type u_5} {F : Type u_9} [Zero M] [Zero N] [FunLike F M N] [ZeroHomClass F M N] (f : F) :
                                              f 0 = 0

                                              Alias of map_zero.

                                              @[simp]
                                              theorem LieModuleHom.map_lie {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (x : L) (m : M) :
                                              f ⁅x, m⁆ = ⁅x, f m⁆
                                              theorem LieModuleHom.map_lie₂ {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] [LieAlgebra R L] [LieModule R L N] [LieModule R L P] (f : M →ₗ⁅R,L⁆ N →ₗ[R] P) (x : L) (m : M) (n : N) :
                                              ⁅x, (f m) n⁆ = (f ⁅x, m⁆) n + (f m) ⁅x, n⁆
                                              def LieModuleHom.id {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :

                                              The identity map is a morphism of Lie modules.

                                              Equations
                                              Instances For
                                                @[simp]
                                                theorem LieModuleHom.coe_id {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :
                                                theorem LieModuleHom.id_apply {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (x : M) :
                                                id x = x
                                                @[implicit_reducible]
                                                instance LieModuleHom.instZero {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :

                                                The constant 0 map is a Lie module morphism.

                                                Equations
                                                @[simp]
                                                theorem LieModuleHom.coe_zero {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                ⇑0 = 0
                                                theorem LieModuleHom.zero_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (m : M) :
                                                0 m = 0
                                                @[implicit_reducible]
                                                instance LieModuleHom.instOne {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :

                                                The identity map is a Lie module morphism.

                                                Equations
                                                @[implicit_reducible]
                                                instance LieModuleHom.instInhabited {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                Equations
                                                theorem LieModuleHom.ext {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] {f g : M →ₗ⁅R,L⁆ N} (h : ∀ (m : M), f m = g m) :
                                                f = g
                                                theorem LieModuleHom.ext_iff {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] {f g : M →ₗ⁅R,L⁆ N} :
                                                f = g ↔ ∀ (m : M), f m = g m
                                                theorem LieModuleHom.congr_fun {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] {f g : M →ₗ⁅R,L⁆ N} (h : f = g) (x : M) :
                                                f x = g x
                                                @[simp]
                                                theorem LieModuleHom.mk_coe {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (h : ∀ {x : L} {m : M}, (↑f).toFun ⁅x, m⁆ = ⁅x, (↑f).toFun m⁆) :
                                                { toLinearMap := ↑f, map_lie' := h } = f
                                                @[simp]
                                                theorem LieModuleHom.coe_mk {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ[R] N) (h : ∀ {x : L} {m : M}, f.toFun ⁅x, m⁆ = ⁅x, f.toFun m⁆) :
                                                ⇑{ toLinearMap := f, map_lie' := h } = ⇑f
                                                theorem LieModuleHom.coe_linear_mk {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ[R] N) (h : ∀ {x : L} {m : M}, f.toFun ⁅x, m⁆ = ⁅x, f.toFun m⁆) :
                                                ↑{ toLinearMap := f, map_lie' := h } = f
                                                def LieModuleHom.comp {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (f : N →ₗ⁅R,L⁆ P) (g : M →ₗ⁅R,L⁆ N) :

                                                The composition of Lie module morphisms is a morphism.

                                                Equations
                                                Instances For
                                                  theorem LieModuleHom.comp_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (f : N →ₗ⁅R,L⁆ P) (g : M →ₗ⁅R,L⁆ N) (m : M) :
                                                  (f.comp g) m = f (g m)
                                                  @[simp]
                                                  theorem LieModuleHom.coe_comp {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (f : N →ₗ⁅R,L⁆ P) (g : M →ₗ⁅R,L⁆ N) :
                                                  ⇑(f.comp g) = ⇑f ∘ ⇑g
                                                  @[simp]
                                                  theorem LieModuleHom.toLinearMap_comp {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (f : N →ₗ⁅R,L⁆ P) (g : M →ₗ⁅R,L⁆ N) :
                                                  ↑(f.comp g) = ↑f ∘ₗ ↑g
                                                  def LieModuleHom.inverse {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (g : N → M) (h₁ : Function.LeftInverse g ⇑f) (h₂ : Function.RightInverse g ⇑f) :

                                                  The inverse of a bijective morphism of Lie modules is a morphism of Lie modules.

                                                  Equations
                                                  • f.inverse g h₁ h₂ = { toLinearMap := (↑f).inverse g h₁ h₂, map_lie' := ⋯ }
                                                  Instances For
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instAdd {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instSub {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instNeg {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[simp]
                                                    theorem LieModuleHom.coe_add {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f g : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(f + g) = ⇑f + ⇑g
                                                    theorem LieModuleHom.add_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f g : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (f + g) m = f m + g m
                                                    @[simp]
                                                    theorem LieModuleHom.coe_sub {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f g : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(f - g) = ⇑f - ⇑g
                                                    theorem LieModuleHom.sub_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f g : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (f - g) m = f m - g m
                                                    @[simp]
                                                    theorem LieModuleHom.coe_neg {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(-f) = -⇑f
                                                    theorem LieModuleHom.neg_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (-f) m = -f m
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.hasNSMul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[simp]
                                                    theorem LieModuleHom.coe_nsmul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (n : ℕ) (f : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(n • f) = n • ⇑f
                                                    theorem LieModuleHom.nsmul_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (n : ℕ) (f : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (n • f) m = n • f m
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.hasZSMul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[simp]
                                                    theorem LieModuleHom.coe_zsmul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (z : ℤ) (f : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(z • f) = z • ⇑f
                                                    theorem LieModuleHom.zsmul_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (z : ℤ) (f : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (z • f) m = z • f m
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instAddCommGroup {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                    Equations
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instSMul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] [LieAlgebra R L] [LieModule R L N] :
                                                    Equations
                                                    @[simp]
                                                    theorem LieModuleHom.coe_smul {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] [LieAlgebra R L] [LieModule R L N] (t : R) (f : M →ₗ⁅R,L⁆ N) :
                                                    ⇑(t • f) = t • ⇑f
                                                    theorem LieModuleHom.smul_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] [LieAlgebra R L] [LieModule R L N] (t : R) (f : M →ₗ⁅R,L⁆ N) (m : M) :
                                                    (t • f) m = t • f m
                                                    @[implicit_reducible]
                                                    instance LieModuleHom.instModule {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] [LieAlgebra R L] [LieModule R L N] :
                                                    Equations
                                                    structure LieModuleEquiv (R : Type u) (L : Type v) (M : Type w) (N : Type w₁) [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] extends M →ₗ⁅R,L⁆ N :
                                                    Type (max w w₁)

                                                    An equivalence of Lie algebra modules (denoted as M ≃ₗ⁅R,L⁆ N) is a linear equivalence which is also a morphism of Lie algebra modules.

                                                    Instances For

                                                      An equivalence of Lie algebra modules (denoted as M ≃ₗ⁅R,L⁆ N) is a linear equivalence which is also a morphism of Lie algebra modules.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        def LieModuleEquiv.toLinearEquiv {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :

                                                        View an equivalence of Lie modules as a linear equivalence.

                                                        Equations
                                                        Instances For
                                                          def LieModuleEquiv.toEquiv {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                          M ≃ N

                                                          View an equivalence of Lie modules as a type level equivalence.

                                                          Equations
                                                          Instances For
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.hasCoeToEquiv {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                            CoeOut (M ≃ₗ⁅R,L⁆ N) (M ≃ N)
                                                            Equations
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.hasCoeToLieModuleHom {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                            Equations
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.hasCoeToLinearEquiv {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                            Equations
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.instEquivLike {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                            Equations
                                                            @[simp]
                                                            theorem LieModuleEquiv.coe_coe {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                            ⇑e.toLieModuleHom = ⇑e
                                                            theorem LieModuleEquiv.injective {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                            theorem LieModuleEquiv.surjective {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                            @[simp]
                                                            theorem LieModuleEquiv.toEquiv_mk {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (g : N → M) (h₁ : Function.LeftInverse g (↑f).toFun) (h₂ : Function.RightInverse g (↑f).toFun) :
                                                            { toLieModuleHom := f, invFun := g, left_inv := h₁, right_inv := h₂ }.toEquiv = { toFun := ⇑f, invFun := g, left_inv := h₁, right_inv := h₂ }
                                                            @[simp]
                                                            theorem LieModuleEquiv.coe_mk {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) (invFun : N → M) (h₁ : Function.LeftInverse invFun (↑f).toFun) (h₂ : Function.RightInverse invFun (↑f).toFun) :
                                                            ⇑{ toLieModuleHom := f, invFun := invFun, left_inv := h₁, right_inv := h₂ } = ⇑f
                                                            theorem LieModuleEquiv.coe_toLieModuleHom {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                            ⇑e.toLieModuleHom = ⇑e
                                                            @[simp]
                                                            theorem LieModuleEquiv.coe_toLinearEquiv {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                            ⇑e.toLinearEquiv = ⇑e
                                                            theorem LieModuleEquiv.ext {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e₁ e₂ : M ≃ₗ⁅R,L⁆ N) (h : ∀ (m : M), e₁ m = e₂ m) :
                                                            e₁ = e₂
                                                            theorem LieModuleEquiv.ext_iff {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] {e₁ e₂ : M ≃ₗ⁅R,L⁆ N} :
                                                            e₁ = e₂ ↔ ∀ (m : M), e₁ m = e₂ m
                                                            instance LieModuleEquiv.instLinearEquivClass {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] :
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.instOne {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :
                                                            Equations
                                                            @[simp]
                                                            theorem LieModuleEquiv.one_apply {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (m : M) :
                                                            1 m = m
                                                            @[implicit_reducible]
                                                            instance LieModuleEquiv.instInhabited {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :
                                                            Equations
                                                            def LieModuleEquiv.refl {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] :

                                                            Lie module equivalences are reflexive.

                                                            Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem LieModuleEquiv.refl_apply {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (m : M) :
                                                              refl m = m
                                                              def LieModuleEquiv.symm {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :

                                                              Lie module equivalences are symmetric.

                                                              Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem LieModuleEquiv.apply_symm_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) (x : N) :
                                                                e (e.symm x) = x
                                                                @[simp]
                                                                theorem LieModuleEquiv.symm_apply_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) (x : M) :
                                                                e.symm (e x) = x
                                                                theorem LieModuleEquiv.apply_eq_iff_eq_symm_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] {m : M} {n : N} (e : M ≃ₗ⁅R,L⁆ N) :
                                                                e m = n ↔ m = e.symm n
                                                                @[simp]
                                                                theorem LieModuleEquiv.symm_symm {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                                e.symm.symm = e
                                                                def LieModuleEquiv.trans {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (e₁ : M ≃ₗ⁅R,L⁆ N) (e₂ : N ≃ₗ⁅R,L⁆ P) :

                                                                Lie module equivalences are transitive.

                                                                Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem LieModuleEquiv.trans_apply {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (e₁ : M ≃ₗ⁅R,L⁆ N) (e₂ : N ≃ₗ⁅R,L⁆ P) (m : M) :
                                                                  (e₁.trans e₂) m = e₂ (e₁ m)
                                                                  @[simp]
                                                                  theorem LieModuleEquiv.symm_trans {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} {P : Type w₂} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [LieRingModule L M] [LieRingModule L N] [LieRingModule L P] (e₁ : M ≃ₗ⁅R,L⁆ N) (e₂ : N ≃ₗ⁅R,L⁆ P) :
                                                                  (e₁.trans e₂).symm = e₂.symm.trans e₁.symm
                                                                  @[simp]
                                                                  theorem LieModuleEquiv.self_trans_symm {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :
                                                                  @[simp]
                                                                  theorem LieModuleEquiv.symm_trans_self {R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [LieRingModule L M] [LieRingModule L N] (e : M ≃ₗ⁅R,L⁆ N) :