Documentation

Mathlib.Algebra.Lie.Extension

Extensions of Lie algebras #

This file defines extensions of Lie algebras, given by short exact sequences of Lie algebra homomorphisms. They are implemented in two ways: IsExtension is a Prop-valued class taking two homomorphisms as parameters, and Extension is a structure that includes the middle Lie algebra.

Because our sign convention for differentials is opposite that of Chevalley-Eilenberg, there is a change of signs in the "action" part of the Lie bracket.

Main definitions #

TODO #

References #

class LieAlgebra.IsExtension {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] (i : N →ₗ⁅R L) (p : L →ₗ⁅R M) :

A sequence of two Lie algebra homomorphisms is an extension if it is short exact.

Instances
    theorem LieHom.range_eq_ker_iff {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] (i : N →ₗ⁅R L) (p : L →ₗ⁅R M) :
    structure LieAlgebra.Extension (R : Type u_1) (N : Type u_2) (M : Type u_4) [CommRing R] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] :
    Type (max (max (max u_1 u_2) u_4) (u_5 + 1))

    The type of all Lie extensions of M by N. That is, short exact sequences of R-Lie algebra homomorphisms 0 → N → L → M → 0 where R, M, and N are fixed.

    Instances For
      def LieAlgebra.IsExtension.extension {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
      Extension R N M

      The bundled LieAlgebra.Extension corresponding to LieAlgebra.IsExtension

      Equations
      • h.extension = { L := L, instLieRing := inst✝⁵, instLieAlgebra := inst✝⁴, incl := i, proj := p, IsExtension := h }
      Instances For
        @[simp]
        theorem LieAlgebra.IsExtension.extension_L {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
        @[simp]
        theorem LieAlgebra.IsExtension.extension_proj {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
        @[simp]
        theorem LieAlgebra.IsExtension.extension_instLieRing {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
        @[simp]
        theorem LieAlgebra.IsExtension.extension_incl {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
        @[simp]
        theorem LieAlgebra.IsExtension.extension_instLieAlgebra {R : Type u_1} {N : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing N] [LieAlgebra R N] [LieRing M] [LieAlgebra R M] {i : N →ₗ⁅R L} {p : L →ₗ⁅R M} (h : IsExtension i p) :
        theorem LieAlgebra.isExtension_of_surjective {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing M] [LieAlgebra R M] (f : L →ₗ⁅R M) (hf : Function.Surjective f) :

        A surjective Lie algebra homomorphism yields an extension.

        structure LieAlgebra.ofTwoCocycle {R : Type u_5} {L : Type u_6} {M : Type u_7} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
        Type (max u_6 u_7)

        A one-field structure giving a type synonym for a direct product. We use this to describe an alternative Lie algebra structure on the product, where the bracket is shifted by a 2-cocycle.

        • carrier : L × M

          The underlying type.

        Instances For
          def LieAlgebra.ofProd {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :

          An equivalence between the direct product and the corresponding one-field structure. This is used to transfer the additive and scalar-multiple structure on the direct product to the type synonym.

          Equations
          Instances For
            @[simp]
            theorem LieAlgebra.of_zero {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
            (ofProd c) 0 = 0
            @[simp]
            theorem LieAlgebra.of_add {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (x y : L × M) :
            (ofProd c) (x + y) = (ofProd c) x + (ofProd c) y
            @[simp]
            theorem LieAlgebra.of_smul {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (r : R) (x : L × M) :
            (ofProd c) (r x) = r (ofProd c) x
            @[simp]
            theorem LieAlgebra.of_symm_zero {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
            (ofProd c).symm 0 = 0
            @[simp]
            theorem LieAlgebra.of_symm_add {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (x y : ofTwoCocycle c) :
            (ofProd c).symm (x + y) = (ofProd c).symm x + (ofProd c).symm y
            @[simp]
            theorem LieAlgebra.of_symm_smul {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (r : R) (x : ofTwoCocycle c) :
            (ofProd c).symm (r x) = r (ofProd c).symm x
            @[simp]
            theorem LieAlgebra.of_nsmul {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (n : ) (x : L × M) :
            (ofProd c) (n x) = n (ofProd c) x
            @[simp]
            theorem LieAlgebra.of_symm_nsmul {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (n : ) (x : ofTwoCocycle c) :
            (ofProd c).symm (n x) = n (ofProd c).symm x
            instance LieAlgebra.instLieRingOfTwoCocycle {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
            Equations
            • One or more equations did not get rendered due to their size.
            theorem LieAlgebra.bracket_ofTwoCocycle {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] {c : (LieModule.Cohomology.twoCocycle R L M)} (x y : ofTwoCocycle c) :
            x, y = (ofProd c) (((ofProd c).symm x).1, ((ofProd c).symm y).1, (c ((ofProd c).symm x).1) ((ofProd c).symm y).1 + ((ofProd c).symm x).1, ((ofProd c).symm y).2 - ((ofProd c).symm y).1, ((ofProd c).symm x).2)
            instance LieAlgebra.instOfTwoCocycle {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
            Equations
            def LieAlgebra.Extension.ofTwoCocycle {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing M] [LieAlgebra R M] [IsLieAbelian M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) :
            Extension R M L

            The extension of Lie algebras defined by a 2-cocycle.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The Lie algebra isomorphism given by the type synonym.

              Equations
              Instances For
                theorem LieAlgebra.Extension.bracket {R : Type u_1} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing M] [LieAlgebra R M] [IsLieAbelian M] [LieRingModule L M] [LieModule R L M] (c : (LieModule.Cohomology.twoCocycle R L M)) (x y : (ofTwoCocycle c).L) :