Documentation

Mathlib.Algebra.Lie.Subalgebra

Lie subalgebras #

This file defines Lie subalgebras of a Lie algebra and provides basic related definitions and results.

Main definitions #

Tags #

lie algebra, lie subalgebra

structure LieSubalgebra (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] extends Submodule R L :

A Lie subalgebra of a Lie algebra is submodule that is closed under the Lie bracket. This is a sufficient condition for the subset itself to form a Lie algebra.

Instances For
    instance instZeroLieSubalgebra (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] :

    The zero algebra is a subalgebra of any Lie algebra.

    Equations
      instance LieSubalgebra.lieRing (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
      LieRing โ†ฅL'

      A Lie subalgebra forms a new Lie ring.

      Equations
        instance LieSubalgebra.instModuleSubtypeMemOfIsScalarTower (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] {Rโ‚ : Type u_1} [Semiring Rโ‚] [SMul Rโ‚ R] [Module Rโ‚ L] [IsScalarTower Rโ‚ R L] (L' : LieSubalgebra R L) :
        Module Rโ‚ โ†ฅL'

        A Lie subalgebra inherits module structures from L.

        Equations
          instance LieSubalgebra.instIsCentralScalarSubtypeMem (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] {Rโ‚ : Type u_1} [Semiring Rโ‚] [SMul Rโ‚ R] [SMul Rโ‚แตแต’แต– R] [Module Rโ‚ L] [Module Rโ‚แตแต’แต– L] [IsScalarTower Rโ‚ R L] [IsScalarTower Rโ‚แตแต’แต– R L] [IsCentralScalar Rโ‚ L] (L' : LieSubalgebra R L) :
          IsCentralScalar Rโ‚ โ†ฅL'
          instance LieSubalgebra.instIsScalarTowerSubtypeMem (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] {Rโ‚ : Type u_1} [Semiring Rโ‚] [SMul Rโ‚ R] [Module Rโ‚ L] [IsScalarTower Rโ‚ R L] (L' : LieSubalgebra R L) :
          IsScalarTower Rโ‚ R โ†ฅL'
          instance LieSubalgebra.lieAlgebra (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
          LieAlgebra R โ†ฅL'

          A Lie subalgebra forms a new Lie algebra.

          Equations
            theorem LieSubalgebra.add_mem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x y : L} :
            x โˆˆ L' โ†’ y โˆˆ L' โ†’ x + y โˆˆ L'
            theorem LieSubalgebra.sub_mem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x y : L} :
            x โˆˆ L' โ†’ y โˆˆ L' โ†’ x - y โˆˆ L'
            theorem LieSubalgebra.smul_mem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) (t : R) {x : L} (h : x โˆˆ L') :
            theorem LieSubalgebra.lie_mem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x y : L} (hx : x โˆˆ L') (hy : y โˆˆ L') :
            theorem LieSubalgebra.mem_carrier {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x : L} :
            x โˆˆ L'.carrier โ†” x โˆˆ โ†‘L'
            theorem LieSubalgebra.mem_mk_iff {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (S : Set L) (hโ‚ : โˆ€ {a b : L}, a โˆˆ S โ†’ b โˆˆ S โ†’ a + b โˆˆ S) (hโ‚‚ : S 0) (hโ‚ƒ : โˆ€ (c : R) {x : L}, x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚ }.carrier โ†’ c โ€ข x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚ }.carrier) (hโ‚„ : โˆ€ {x y : L}, x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier โ†’ y โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier โ†’ โ…x, yโ† โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier) {x : L} :
            x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ, lie_mem' := hโ‚„ } โ†” x โˆˆ S
            @[simp]
            theorem LieSubalgebra.mem_toSubmodule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x : L} :
            @[simp]
            theorem LieSubalgebra.mem_mk_iff' {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (p : Submodule R L) (h : โˆ€ {x y : L}, x โˆˆ p.carrier โ†’ y โˆˆ p.carrier โ†’ โ…x, yโ† โˆˆ p.carrier) {x : L} :
            x โˆˆ { toSubmodule := p, lie_mem' := h } โ†” x โˆˆ p
            theorem LieSubalgebra.mem_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {x : L} :
            x โˆˆ โ†‘L' โ†” x โˆˆ L'
            @[simp]
            theorem LieSubalgebra.coe_bracket {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) (x y : โ†ฅL') :
            โ†‘โ…x, yโ† = โ…โ†‘x, โ†‘yโ†
            theorem LieSubalgebra.ext_iff {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) (x y : โ†ฅL') :
            x = y โ†” โ†‘x = โ†‘y
            theorem LieSubalgebra.coe_zero_iff_zero {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) (x : โ†ฅL') :
            โ†‘x = 0 โ†” x = 0
            theorem LieSubalgebra.ext {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (Lโ‚' Lโ‚‚' : LieSubalgebra R L) (h : โˆ€ (x : L), x โˆˆ Lโ‚' โ†” x โˆˆ Lโ‚‚') :
            Lโ‚' = Lโ‚‚'
            theorem LieSubalgebra.ext_iff' {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (Lโ‚' Lโ‚‚' : LieSubalgebra R L) :
            Lโ‚' = Lโ‚‚' โ†” โˆ€ (x : L), x โˆˆ Lโ‚' โ†” x โˆˆ Lโ‚‚'
            @[simp]
            theorem LieSubalgebra.mk_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (S : Set L) (hโ‚ : โˆ€ {a b : L}, a โˆˆ S โ†’ b โˆˆ S โ†’ a + b โˆˆ S) (hโ‚‚ : S 0) (hโ‚ƒ : โˆ€ (c : R) {x : L}, x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚ }.carrier โ†’ c โ€ข x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚ }.carrier) (hโ‚„ : โˆ€ {x y : L}, x โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier โ†’ y โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier โ†’ โ…x, yโ† โˆˆ { carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ }.carrier) :
            โ†‘{ carrier := S, add_mem' := hโ‚, zero_mem' := hโ‚‚, smul_mem' := hโ‚ƒ, lie_mem' := hโ‚„ } = S
            theorem LieSubalgebra.toSubmodule_mk {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (p : Submodule R L) (h : โˆ€ {x y : L}, x โˆˆ p.carrier โ†’ y โˆˆ p.carrier โ†’ โ…x, yโ† โˆˆ p.carrier) :
            { toSubmodule := p, lie_mem' := h }.toSubmodule = p
            theorem LieSubalgebra.coe_set_eq {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (Lโ‚' Lโ‚‚' : LieSubalgebra R L) :
            โ†‘Lโ‚' = โ†‘Lโ‚‚' โ†” Lโ‚' = Lโ‚‚'
            @[simp]
            theorem LieSubalgebra.toSubmodule_inj {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (Lโ‚' Lโ‚‚' : LieSubalgebra R L) :
            Lโ‚'.toSubmodule = Lโ‚‚'.toSubmodule โ†” Lโ‚' = Lโ‚‚'
            theorem LieSubalgebra.coe_toSubmodule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
            โ†‘L'.toSubmodule = โ†‘L'
            instance LieSubalgebra.instBracketSubtypeMem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] :
            Bracket (โ†ฅL') M
            Equations
              @[simp]
              theorem LieSubalgebra.coe_bracket_of_module {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] (x : โ†ฅL') (m : M) :
              instance LieSubalgebra.instIsLieTowerSubtypeMem {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] :
              IsLieTower (โ†ฅL') L M
              instance LieSubalgebra.lieRingModule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] :
              LieRingModule (โ†ฅL') M

              Given a Lie algebra L containing a Lie subalgebra L' โІ L, together with a Lie ring module M of L, we may regard M as a Lie ring module of L' by restriction.

              Equations
                instance LieSubalgebra.lieModule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] [Module R M] [LieModule R L M] :
                LieModule R (โ†ฅL') M

                Given a Lie algebra L containing a Lie subalgebra L' โІ L, together with a Lie module M of L, we may regard M as a Lie module of L' by restriction.

                def LieModuleHom.restrictLie {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type w} [AddCommGroup M] [LieRingModule L M] {N : Type wโ‚} [AddCommGroup N] [LieRingModule L N] [Module R N] [Module R M] (f : M โ†’โ‚—โ…R,Lโ† N) (L' : LieSubalgebra R L) :

                An L-equivariant map of Lie modules M โ†’ N is L'-equivariant for any Lie subalgebra L' โІ L.

                Equations
                  Instances For
                    @[simp]
                    theorem LieModuleHom.coe_restrictLie {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) {M : Type w} [AddCommGroup M] [LieRingModule L M] {N : Type wโ‚} [AddCommGroup N] [LieRingModule L N] [Module R N] [Module R M] (f : M โ†’โ‚—โ…R,Lโ† N) :
                    โ‡‘(f.restrictLie L') = โ‡‘f
                    def LieSubalgebra.incl {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :

                    The embedding of a Lie subalgebra into the ambient space as a morphism of Lie algebras.

                    Equations
                      Instances For
                        @[simp]
                        theorem LieSubalgebra.coe_incl {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
                        โ‡‘L'.incl = Subtype.val
                        def LieSubalgebra.incl' {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
                        โ†ฅL' โ†’โ‚—โ…R,โ†ฅL'โ† L

                        The embedding of a Lie subalgebra into the ambient space as a morphism of Lie modules.

                        Equations
                          Instances For
                            @[simp]
                            theorem LieSubalgebra.coe_incl' {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (L' : LieSubalgebra R L) :
                            โ‡‘L'.incl' = Subtype.val
                            def LieHom.range {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :
                            LieSubalgebra R Lโ‚‚

                            The range of a morphism of Lie algebras is a Lie subalgebra.

                            Equations
                              Instances For
                                @[simp]
                                theorem LieHom.coe_range {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :
                                โ†‘f.range = Set.range โ‡‘f
                                @[deprecated LieHom.coe_range (since := "2025-08-31")]
                                theorem LieHom.range_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :
                                โ†‘f.range = Set.range โ‡‘f

                                Alias of LieHom.coe_range.

                                @[simp]
                                theorem LieHom.mem_range {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (x : Lโ‚‚) :
                                x โˆˆ f.range โ†” โˆƒ (y : L), f y = x
                                theorem LieHom.mem_range_self {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (x : L) :
                                def LieHom.rangeRestrict {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :

                                We can restrict a morphism to a (surjective) map to its range.

                                Equations
                                  Instances For
                                    @[simp]
                                    theorem LieHom.rangeRestrict_apply {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (x : L) :
                                    theorem LieHom.surjective_rangeRestrict {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :
                                    noncomputable def LieHom.equivRangeOfInjective {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (h : Function.Injective โ‡‘f) :

                                    A Lie algebra is equivalent to its range under an injective Lie algebra morphism.

                                    Equations
                                      Instances For
                                        @[simp]
                                        theorem LieHom.equivRangeOfInjective_apply {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (h : Function.Injective โ‡‘f) (x : L) :
                                        theorem Submodule.exists_lieSubalgebra_coe_eq_iff {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (p : Submodule R L) :
                                        (โˆƒ (K : LieSubalgebra R L), K.toSubmodule = p) โ†” โˆ€ (x y : L), x โˆˆ p โ†’ y โˆˆ p โ†’ โ…x, yโ† โˆˆ p
                                        @[simp]
                                        theorem LieSubalgebra.incl_range {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K : LieSubalgebra R L) :
                                        def LieSubalgebra.map {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (K : LieSubalgebra R L) :
                                        LieSubalgebra R Lโ‚‚

                                        The image of a Lie subalgebra under a Lie algebra morphism is a Lie subalgebra of the codomain.

                                        Equations
                                          Instances For
                                            @[simp]
                                            theorem LieSubalgebra.mem_map {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (K : LieSubalgebra R L) (x : Lโ‚‚) :
                                            x โˆˆ map f K โ†” โˆƒ y โˆˆ K, f y = x
                                            theorem LieSubalgebra.mem_map_submodule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (K : LieSubalgebra R L) (e : L โ‰ƒโ‚—โ…Rโ† Lโ‚‚) (x : Lโ‚‚) :
                                            def LieSubalgebra.comap {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (Kโ‚‚ : LieSubalgebra R Lโ‚‚) :

                                            The preimage of a Lie subalgebra under a Lie algebra morphism is a Lie subalgebra of the domain.

                                            Equations
                                              Instances For
                                                @[simp]
                                                theorem LieSubalgebra.mem_comap {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) (Kโ‚‚ : LieSubalgebra R Lโ‚‚) {x : L} :
                                                x โˆˆ comap f Kโ‚‚ โ†” f x โˆˆ Kโ‚‚
                                                theorem LieSubalgebra.le_def {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) :
                                                K โ‰ค K' โ†” โ†‘K โІ โ†‘K'
                                                instance LieSubalgebra.instBot {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                Equations
                                                  @[simp]
                                                  theorem LieSubalgebra.bot_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                  โ†‘โŠฅ = {0}
                                                  @[simp]
                                                  theorem LieSubalgebra.mem_bot {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (x : L) :
                                                  instance LieSubalgebra.instTop {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                  Equations
                                                    @[simp]
                                                    theorem LieSubalgebra.top_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                    @[simp]
                                                    theorem LieSubalgebra.mem_top {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (x : L) :
                                                    theorem LieHom.range_eq_map {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] (f : L โ†’โ‚—โ…Rโ† Lโ‚‚) :
                                                    instance LieSubalgebra.instMin {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                    Equations
                                                      @[simp]
                                                      theorem LieSubalgebra.coe_inf {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) :
                                                      โ†‘(K โŠ“ K') = โ†‘K โˆฉ โ†‘K'
                                                      @[deprecated LieSubalgebra.coe_inf (since := "2025-08-31")]
                                                      theorem LieSubalgebra.inf_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) :
                                                      โ†‘(K โŠ“ K') = โ†‘K โˆฉ โ†‘K'

                                                      Alias of LieSubalgebra.coe_inf.

                                                      @[simp]
                                                      theorem LieSubalgebra.sInf_toSubmodule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (S : Set (LieSubalgebra R L)) :
                                                      (sInf S).toSubmodule = sInf {x : Submodule R L | โˆƒ s โˆˆ S, s.toSubmodule = x}
                                                      @[simp]
                                                      theorem LieSubalgebra.coe_sInf {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (S : Set (LieSubalgebra R L)) :
                                                      โ†‘(sInf S) = โ‹‚ s โˆˆ S, โ†‘s
                                                      @[deprecated LieSubalgebra.coe_sInf (since := "2025-08-31")]
                                                      theorem LieSubalgebra.sInf_coe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (S : Set (LieSubalgebra R L)) :
                                                      โ†‘(sInf S) = โ‹‚ s โˆˆ S, โ†‘s

                                                      Alias of LieSubalgebra.coe_sInf.

                                                      The set of Lie subalgebras of a Lie algebra form a complete lattice.

                                                      We provide explicit values for the fields bot, top, inf to get more convenient definitions than we would otherwise obtain from completeLatticeOfInf.

                                                      Equations
                                                        instance LieSubalgebra.instAdd {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] :
                                                        Equations
                                                          @[simp]
                                                          theorem LieSubalgebra.add_eq_sup {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) :
                                                          K + K' = K โŠ” K'
                                                          @[simp]
                                                          theorem LieSubalgebra.inf_toSubmodule {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) :
                                                          (K โŠ“ K').toSubmodule = K.toSubmodule โŠ“ K'.toSubmodule
                                                          @[simp]
                                                          theorem LieSubalgebra.mem_inf {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K K' : LieSubalgebra R L) (x : L) :
                                                          x โˆˆ K โŠ“ K' โ†” x โˆˆ K โˆง x โˆˆ K'
                                                          theorem LieSubalgebra.eq_bot_iff {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K : LieSubalgebra R L) :
                                                          K = โŠฅ โ†” โˆ€ x โˆˆ K, x = 0
                                                          def LieSubalgebra.inclusion {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') :
                                                          โ†ฅK โ†’โ‚—โ…Rโ† โ†ฅK'

                                                          Given two nested Lie subalgebras K โІ K', the inclusion K โ†ช K' is a morphism of Lie algebras.

                                                          Equations
                                                            Instances For
                                                              @[simp]
                                                              theorem LieSubalgebra.coe_inclusion {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') (x : โ†ฅK) :
                                                              โ†‘((inclusion h) x) = โ†‘x
                                                              theorem LieSubalgebra.inclusion_apply {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') (x : โ†ฅK) :
                                                              (inclusion h) x = โŸจโ†‘x, โ‹ฏโŸฉ
                                                              def LieSubalgebra.ofLe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') :
                                                              LieSubalgebra R โ†ฅK'

                                                              Given two nested Lie subalgebras K โІ K', we can view K as a Lie subalgebra of K', regarded as Lie algebra in its own right.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem LieSubalgebra.mem_ofLe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') (x : โ†ฅK') :
                                                                  x โˆˆ ofLe h โ†” โ†‘x โˆˆ K
                                                                  theorem LieSubalgebra.ofLe_eq_comap_incl {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') :
                                                                  ofLe h = comap K'.incl K
                                                                  noncomputable def LieSubalgebra.equivOfLe {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') :
                                                                  โ†ฅK โ‰ƒโ‚—โ…Rโ† โ†ฅ(ofLe h)

                                                                  Given nested Lie subalgebras K โІ K', there is a natural equivalence from K to its image in K'.

                                                                  Equations
                                                                    Instances For
                                                                      @[simp]
                                                                      theorem LieSubalgebra.equivOfLe_apply {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {K K' : LieSubalgebra R L} (h : K โ‰ค K') (x : โ†ฅK) :
                                                                      (equivOfLe h) x = โŸจ(inclusion h) x, โ‹ฏโŸฉ
                                                                      theorem LieSubalgebra.map_le_iff_le_comap {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] {f : L โ†’โ‚—โ…Rโ† Lโ‚‚} {K : LieSubalgebra R L} {K' : LieSubalgebra R Lโ‚‚} :
                                                                      theorem LieSubalgebra.gc_map_comap {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {Lโ‚‚ : Type w} [LieRing Lโ‚‚] [LieAlgebra R Lโ‚‚] {f : L โ†’โ‚—โ…Rโ† Lโ‚‚} :
                                                                      def LieSubalgebra.lieSpan (R : Type u) (L : Type v) [CommRing R] [LieRing L] [LieAlgebra R L] (s : Set L) :

                                                                      The Lie subalgebra of a Lie algebra L generated by a subset s โІ L.

                                                                      Equations
                                                                        Instances For
                                                                          theorem LieSubalgebra.mem_lieSpan {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s : Set L} {x : L} :
                                                                          x โˆˆ lieSpan R L s โ†” โˆ€ (K : LieSubalgebra R L), s โІ โ†‘K โ†’ x โˆˆ K
                                                                          theorem LieSubalgebra.subset_lieSpan {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s : Set L} :
                                                                          s โІ โ†‘(lieSpan R L s)
                                                                          theorem LieSubalgebra.lieSpan_le {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s : Set L} {K : LieSubalgebra R L} :
                                                                          lieSpan R L s โ‰ค K โ†” s โІ โ†‘K
                                                                          theorem LieSubalgebra.lieSpan_mono {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s t : Set L} (h : s โІ t) :
                                                                          theorem LieSubalgebra.lieSpan_eq {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (K : LieSubalgebra R L) :
                                                                          lieSpan R L โ†‘K = K
                                                                          theorem LieSubalgebra.coe_lieSpan_eq_span_of_forall_lie_eq_zero {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s : Set L} (hs : โˆ€ x โˆˆ s, โˆ€ y โˆˆ s, โ…x, yโ† = 0) :

                                                                          lieSpan forms a Galois insertion with the coercion from LieSubalgebra to Set.

                                                                          Equations
                                                                            Instances For
                                                                              theorem LieSubalgebra.span_union (R : Type u) {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (s t : Set L) :
                                                                              lieSpan R L (s โˆช t) = lieSpan R L s โŠ” lieSpan R L t
                                                                              theorem LieSubalgebra.span_iUnion (R : Type u) {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {ฮน : Sort u_1} (s : ฮน โ†’ Set L) :
                                                                              lieSpan R L (โ‹ƒ (i : ฮน), s i) = โจ† (i : ฮน), lieSpan R L (s i)
                                                                              theorem LieSubalgebra.lieSpan_induction (R : Type u) {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {s : Set L} {p : (x : L) โ†’ x โˆˆ lieSpan R L s โ†’ Prop} (mem : โˆ€ (x : L) (h : x โˆˆ s), p x โ‹ฏ) (zero : p 0 โ‹ฏ) (add : โˆ€ (x y : L) (hx : x โˆˆ lieSpan R L s) (hy : y โˆˆ lieSpan R L s), p x hx โ†’ p y hy โ†’ p (x + y) โ‹ฏ) (smul : โˆ€ (a : R) (x : L) (hx : x โˆˆ lieSpan R L s), p x hx โ†’ p (a โ€ข x) โ‹ฏ) {x : L} (lie : โˆ€ (x y : L) (hx : x โˆˆ lieSpan R L s) (hy : y โˆˆ lieSpan R L s), p x hx โ†’ p y hy โ†’ p โ…x, yโ† โ‹ฏ) (hx : x โˆˆ lieSpan R L s) :
                                                                              p x hx

                                                                              An induction principle for span membership. If p holds for 0 and all elements of s, and is preserved under addition, scalar multiplication and the Lie bracket, then p holds for all elements of the Lie algebra spanned by s.

                                                                              noncomputable def LieEquiv.ofInjective {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.Injective โ‡‘f) :

                                                                              An injective Lie algebra morphism is an equivalence onto its range.

                                                                              Equations
                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem LieEquiv.ofInjective_apply {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.Injective โ‡‘f) (x : Lโ‚) :
                                                                                  โ†‘((ofInjective f h) x) = f x
                                                                                  def LieEquiv.ofEq {R : Type u} {Lโ‚ : Type v} [CommRing R] [LieRing Lโ‚] [LieAlgebra R Lโ‚] (Lโ‚' Lโ‚'' : LieSubalgebra R Lโ‚) (h : โ†‘Lโ‚' = โ†‘Lโ‚'') :
                                                                                  โ†ฅLโ‚' โ‰ƒโ‚—โ…Rโ† โ†ฅLโ‚''

                                                                                  Lie subalgebras that are equal as sets are equivalent as Lie algebras.

                                                                                  Equations
                                                                                    Instances For
                                                                                      @[simp]
                                                                                      theorem LieEquiv.ofEq_apply {R : Type u} {Lโ‚ : Type v} [CommRing R] [LieRing Lโ‚] [LieAlgebra R Lโ‚] (L L' : LieSubalgebra R Lโ‚) (h : โ†‘L = โ†‘L') (x : โ†ฅL) :
                                                                                      โ†‘((ofEq L L' h) x) = โ†‘x
                                                                                      def LieEquiv.lieSubalgebraMap {R : Type u} {Lโ‚ : Type v} {Lโ‚‚ : Type w} [CommRing R] [LieRing Lโ‚] [LieRing Lโ‚‚] [LieAlgebra R Lโ‚] [LieAlgebra R Lโ‚‚] (Lโ‚'' : LieSubalgebra R Lโ‚) (e : Lโ‚ โ‰ƒโ‚—โ…Rโ† Lโ‚‚) :
                                                                                      โ†ฅLโ‚'' โ‰ƒโ‚—โ…Rโ† โ†ฅ(LieSubalgebra.map e.toLieHom Lโ‚'')

                                                                                      An equivalence of Lie algebras restricts to an equivalence from any Lie subalgebra onto its image.

                                                                                      Equations
                                                                                        Instances For
                                                                                          @[simp]
                                                                                          theorem LieEquiv.lieSubalgebraMap_apply {R : Type u} {Lโ‚ : Type v} {Lโ‚‚ : Type w} [CommRing R] [LieRing Lโ‚] [LieRing Lโ‚‚] [LieAlgebra R Lโ‚] [LieAlgebra R Lโ‚‚] (Lโ‚'' : LieSubalgebra R Lโ‚) (e : Lโ‚ โ‰ƒโ‚—โ…Rโ† Lโ‚‚) (x : โ†ฅLโ‚'') :
                                                                                          โ†‘((lieSubalgebraMap Lโ‚'' e) x) = e โ†‘x
                                                                                          def LieEquiv.ofSubalgebras {R : Type u} {Lโ‚ : Type v} {Lโ‚‚ : Type w} [CommRing R] [LieRing Lโ‚] [LieRing Lโ‚‚] [LieAlgebra R Lโ‚] [LieAlgebra R Lโ‚‚] (Lโ‚' : LieSubalgebra R Lโ‚) (Lโ‚‚' : LieSubalgebra R Lโ‚‚) (e : Lโ‚ โ‰ƒโ‚—โ…Rโ† Lโ‚‚) (h : LieSubalgebra.map e.toLieHom Lโ‚' = Lโ‚‚') :
                                                                                          โ†ฅLโ‚' โ‰ƒโ‚—โ…Rโ† โ†ฅLโ‚‚'

                                                                                          An equivalence of Lie algebras restricts to an equivalence from any Lie subalgebra onto its image.

                                                                                          Equations
                                                                                            Instances For
                                                                                              @[simp]
                                                                                              theorem LieEquiv.ofSubalgebras_apply {R : Type u} {Lโ‚ : Type v} {Lโ‚‚ : Type w} [CommRing R] [LieRing Lโ‚] [LieRing Lโ‚‚] [LieAlgebra R Lโ‚] [LieAlgebra R Lโ‚‚] (Lโ‚' : LieSubalgebra R Lโ‚) (Lโ‚‚' : LieSubalgebra R Lโ‚‚) (e : Lโ‚ โ‰ƒโ‚—โ…Rโ† Lโ‚‚) (h : LieSubalgebra.map e.toLieHom Lโ‚' = Lโ‚‚') (x : โ†ฅLโ‚') :
                                                                                              โ†‘((ofSubalgebras Lโ‚' Lโ‚‚' e h) x) = e โ†‘x
                                                                                              @[simp]
                                                                                              theorem LieEquiv.ofSubalgebras_symm_apply {R : Type u} {Lโ‚ : Type v} {Lโ‚‚ : Type w} [CommRing R] [LieRing Lโ‚] [LieRing Lโ‚‚] [LieAlgebra R Lโ‚] [LieAlgebra R Lโ‚‚] (Lโ‚' : LieSubalgebra R Lโ‚) (Lโ‚‚' : LieSubalgebra R Lโ‚‚) (e : Lโ‚ โ‰ƒโ‚—โ…Rโ† Lโ‚‚) (h : LieSubalgebra.map e.toLieHom Lโ‚' = Lโ‚‚') (x : โ†ฅLโ‚‚') :
                                                                                              โ†‘((ofSubalgebras Lโ‚' Lโ‚‚' e h).symm x) = e.symm โ†‘x