Documentation

TauCeti.Algebra.Lie.Extension.Basic

Extensions built from 2-cocycles #

A 2-cocycle c of a Lie algebra L with values in an L-module M shears the bracket of L × M. Mathlib's LieAlgebra.ofTwoCocycle c is this Lie algebra, and Mathlib packages it as an extension (LieAlgebra.Extension.ofTwoCocycle) only when M is itself given the structure of an abelian Lie algebra.

This file supplies cocycle-model constructions for arbitrary coefficient modules M, and comparisons with extensions whose kernels are themselves abelian Lie algebras:

The construction of map and mapEquiv follows Mathlib's LieAlgebra.LieEquiv.ofCoboundary, which identifies the extensions of cohomologous cocycles by acting on the coordinates of ofProd. Here the coordinates are instead transformed by a map of quotients and a map of kernels.

These let structure theorems about abelian ideals, such as the existence of Levi complements, be applied to the sheared Lie algebra, for instance to show that a 2-cocycle is a coboundary. The morphisms of central extensions compare the extensions attached to proportional cocycles, and an extension with its restriction to a subalgebra. The degree-one counterpart, the module sheared by a Lie derivation, is LieDerivation.ShearedModule in TauCeti.Algebra.Lie.Derivation.Cocycle.

References #

def LieAlgebra.ofProdLinearEquiv {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) :

The identification LieAlgebra.ofProd of L × M with the Lie algebra sheared by a 2-cocycle, as a linear equivalence.

Instances For
    @[simp]
    theorem LieAlgebra.coe_ofProdLinearEquiv {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) :
    ⇑(ofProdLinearEquiv c) = ⇑(ofProd c)
    @[simp]
    theorem LieAlgebra.coe_ofProdLinearEquiv_symm {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) :
    def LieAlgebra.ofTwoCocycle.proj {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) :

    The projection of the Lie algebra sheared by a 2-cocycle onto L, as a Lie algebra homomorphism.

    Instances For
      @[simp]
      theorem LieAlgebra.ofTwoCocycle.proj_apply {R : Type u_1} {L : Type u_2} {M : Type u_3} [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 : ofTwoCocycle c) :
      (proj c) x = ((ofProd c).symm x).1
      theorem LieAlgebra.ofTwoCocycle.mem_ker_proj {R : Type u_1} {L : Type u_2} {M : Type u_3} [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 : ofTwoCocycle c} :
      x ∈ (proj c).ker ↔ ((ofProd c).symm x).1 = 0

      The kernel 0 × M of the projection is an abelian ideal.

      def LieAlgebra.ofTwoCocycle.sectionOfVanishing {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) (S : LieSubalgebra R L) (hc : ∀ x ∈ S, ∀ y ∈ S, (↑c x) y = 0) :

      The zero-coefficient Lie section over a subalgebra on which the cocycle vanishes. No triviality assumption on the coefficient action is needed.

      Instances For
        @[simp]
        theorem LieAlgebra.ofTwoCocycle.sectionOfVanishing_apply {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) (S : LieSubalgebra R L) (hc : ∀ x ∈ S, ∀ y ∈ S, (↑c x) y = 0) (x : ↥S) :
        (sectionOfVanishing c S hc) x = (ofProd c) (↑x, 0)

        The section has zero coefficient coordinate.

        def LieAlgebra.ofTwoCocycle.splitEquivOfVanishing {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] {N : Type u_4} [LieRing N] [LieAlgebra R N] [IsLieAbelian N] (S : LieSubalgebra R L) (e : M ≃ₗ[R] N) (hc : ∀ x ∈ S, ∀ y ∈ S, (↑c x) y = 0) :

        A central extension splits over a subalgebra where its cocycle vanishes. The coefficient coordinate is expressed in any chosen abelian Lie algebra N linearly equivalent to M.

        Instances For
          @[simp]
          theorem LieAlgebra.ofTwoCocycle.coe_splitEquivOfVanishing {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] {N : Type u_4} [LieRing N] [LieAlgebra R N] [IsLieAbelian N] (S : LieSubalgebra R L) (e : M ≃ₗ[R] N) (hc : ∀ x ∈ S, ∀ y ∈ S, (↑c x) y = 0) (p : ↥S × N) :
          ↑((splitEquivOfVanishing c S e hc) p) = (ofProd c) (↑p.1, e.symm p.2)

          Forward coordinates of the split preimage.

          @[simp]
          theorem LieAlgebra.ofTwoCocycle.splitEquivOfVanishing_symm_apply {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] {N : Type u_4} [LieRing N] [LieAlgebra R N] [IsLieAbelian N] (S : LieSubalgebra R L) (e : M ≃ₗ[R] N) (hc : ∀ x ∈ S, ∀ y ∈ S, (↑c x) y = 0) (v : ↥(LieSubalgebra.comap (proj c) S)) :
          (splitEquivOfVanishing c S e hc).symm v = (⟨(proj c) ↑v, ⋯⟩, e ((ofProd c).symm ↑v).2)

          Inverse coordinates of the split preimage.

          Morphisms of central extensions #

          def LieAlgebra.ofTwoCocycle.map {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) :

          The morphism of central extensions (x, m) ↦ (φ x, e m) from the Lie algebra sheared by a 2-cocycle c with trivial coefficients to the one sheared by c', for a Lie algebra morphism φ and a linear map e of coefficients such that c' (φ x) (φ y) = e (c x y).

          With φ the identity this pushes an extension forward along a map of its kernels; with e the identity it compares an extension with the pullback of another along φ.

          Instances For
            @[simp]
            theorem LieAlgebra.ofTwoCocycle.map_ofProd {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (x : L) (m : M) :
            (map c φ e c' h) ((ofProd c) (x, m)) = (ofProd c') (φ x, e m)

            A morphism of central extensions acts by φ on the first coordinate and e on the second.

            @[simp]
            theorem LieAlgebra.ofTwoCocycle.ofProd_symm_map {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (v : ofTwoCocycle c) :
            (ofProd c').symm ((map c φ e c' h) v) = (φ ((ofProd c).symm v).1, e ((ofProd c).symm v).2)
            theorem LieAlgebra.ofTwoCocycle.proj_map {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (v : ofTwoCocycle c) :
            (proj c') ((map c φ e c' h) v) = φ ((proj c) v)

            A morphism of central extensions lies over the morphism φ of the quotients.

            @[simp]

            The identity morphism of a central extension.

            theorem LieAlgebra.ofTwoCocycle.map_comp {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) {L'' : Type u_6} {M'' : Type u_7} [LieRing L''] [LieAlgebra R L''] [AddCommGroup M''] [Module R M''] [LieRingModule L'' M''] [LieModule R L'' M''] [LieModule.IsTrivial L'' M''] (φ' : L' →ₗ⁅R⁆ L'') (e' : M' →ₗ[R] M'') (c'' : ↥(LieModule.Cohomology.twoCocycle R L'' M'')) (h' : ∀ (x y : L'), (↑c'' (φ' x)) (φ' y) = e' ((↑c' x) y)) :
            (map c' φ' e' c'' h').comp (map c φ e c' h) = map c (φ'.comp φ) (e' ∘ₗ e) c'' ⋯

            Morphisms of central extensions compose by composing the maps of quotients and kernels.

            theorem LieAlgebra.ofTwoCocycle.map_injective {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (hφ : Function.Injective ⇑φ) (he : Function.Injective ⇑e) :
            Function.Injective ⇑(map c φ e c' h)

            A morphism of central extensions is injective when the maps of quotients and kernels are.

            theorem LieAlgebra.ofTwoCocycle.map_surjective {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L →ₗ⁅R⁆ L') (e : M →ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (hφ : Function.Surjective ⇑φ) (he : Function.Surjective ⇑e) :
            Function.Surjective ⇑(map c φ e c' h)

            A morphism of central extensions is surjective when the maps of quotients and kernels are.

            def LieAlgebra.ofTwoCocycle.mapEquiv {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L ≃ₗ⁅R⁆ L') (e : M ≃ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) :

            The isomorphism of central extensions (x, m) ↦ (φ x, e m) induced by isomorphisms φ of the quotients and e of the kernels such that c' (φ x) (φ y) = e (c x y).

            Instances For
              @[simp]
              theorem LieAlgebra.ofTwoCocycle.mapEquiv_ofProd {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L ≃ₗ⁅R⁆ L') (e : M ≃ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (x : L) (m : M) :
              (mapEquiv c φ e c' h) ((ofProd c) (x, m)) = (ofProd c') (φ x, e m)
              @[simp]
              theorem LieAlgebra.ofTwoCocycle.ofProd_symm_mapEquiv {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L ≃ₗ⁅R⁆ L') (e : M ≃ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (v : ofTwoCocycle c) :
              (ofProd c').symm ((mapEquiv c φ e c' h) v) = (φ ((ofProd c).symm v).1, e ((ofProd c).symm v).2)
              @[simp]
              theorem LieAlgebra.ofTwoCocycle.mapEquiv_symm_ofProd {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L ≃ₗ⁅R⁆ L') (e : M ≃ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) (x : L') (m : M') :
              (mapEquiv c φ e c' h).symm ((ofProd c') (x, m)) = (ofProd c) (φ.symm x, e.symm m)
              @[simp]
              theorem LieAlgebra.ofTwoCocycle.toLieHom_mapEquiv {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) {L' : Type u_4} {M' : Type u_5} [LieRing L'] [LieAlgebra R L'] [AddCommGroup M'] [Module R M'] [LieRingModule L' M'] [LieModule R L' M'] [LieModule.IsTrivial L M] [LieModule.IsTrivial L' M'] (φ : L ≃ₗ⁅R⁆ L') (e : M ≃ₗ[R] M') (c' : ↥(LieModule.Cohomology.twoCocycle R L' M')) (h : ∀ (x y : L), (↑c' (φ x)) (φ y) = e ((↑c x) y)) :
              (mapEquiv c φ e c' h).toLieHom = map c φ.toLieHom (↑e) c' h
              def LieAlgebra.ofTwoCocycle.derivation {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] (D : LieDerivation R L L) (hD : ∀ (x y : L), (↑c (D x)) y + (↑c x) (D y) = 0) :

              The derivation (x, m) ↦ (D x, 0) of the Lie algebra sheared by a 2-cocycle c with trivial coefficients, for a derivation D of L which is skew for c: c (D x) y + c x (D y) = 0. It kills the central kernel 0 × M.

              Instances For
                @[simp]
                theorem LieAlgebra.ofTwoCocycle.derivation_ofProd {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] (D : LieDerivation R L L) (hD : ∀ (x y : L), (↑c (D x)) y + (↑c x) (D y) = 0) (x : L) (m : M) :
                (derivation c D hD) ((ofProd c) (x, m)) = (ofProd c) (D x, 0)

                The derivation acts by D on the first coordinate and kills the second.

                @[simp]
                theorem LieAlgebra.ofTwoCocycle.ofProd_symm_derivation {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] (D : LieDerivation R L L) (hD : ∀ (x y : L), (↑c (D x)) y + (↑c x) (D y) = 0) (v : ofTwoCocycle c) :
                (ofProd c).symm ((derivation c D hD) v) = (D ((ofProd c).symm v).1, 0)
                theorem LieAlgebra.ofTwoCocycle.proj_derivation {R : Type u_1} {L : Type u_2} {M : Type u_3} [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)) [LieModule.IsTrivial L M] (D : LieDerivation R L L) (hD : ∀ (x y : L), (↑c (D x)) y + (↑c x) (D y) = 0) (v : ofTwoCocycle c) :
                (proj c) ((derivation c D hD) v) = D ((proj c) v)

                The derivation lies over D.

                @[simp]
                theorem LieAlgebra.Extension.coe_toKer {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) (m : M) :
                ↑(E.toKer m) = E.incl m

                The kernel equivalence is the inclusion on underlying elements.

                @[simp]
                theorem LieAlgebra.Extension.incl_toKer_symm {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) (v : ↥E.proj.ker) :
                E.incl (E.toKer.symm v) = ↑v

                Inverting the kernel equivalence recovers the underlying element by inclusion.

                noncomputable def LieAlgebra.Extension.splittingCoordinate {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) :
                E.L →ₗ[R] M

                The kernel coordinate relative to a linear section, namely x - s (proj x).

                Instances For
                  theorem LieAlgebra.Extension.splittingCoordinate_apply {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) (x : E.L) :
                  (E.splittingCoordinate hs) x = E.toKer.symm ⟨x - s (E.proj x), ⋯⟩

                  Evaluate the kernel coordinate by inverting the kernel equivalence on the difference from the section.

                  @[simp]
                  theorem LieAlgebra.Extension.incl_splittingCoordinate {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) (x : E.L) :
                  E.incl ((E.splittingCoordinate hs) x) = x - s (E.proj x)

                  Including the kernel coordinate gives the difference from the section.

                  @[simp]
                  theorem LieAlgebra.Extension.splittingCoordinate_section {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) (x : L) :
                  (E.splittingCoordinate hs) (s x) = 0

                  The kernel coordinate vanishes on the section.

                  @[simp]
                  theorem LieAlgebra.Extension.splittingCoordinate_incl {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) (m : M) :
                  (E.splittingCoordinate hs) (E.incl m) = m

                  The kernel coordinate is a retraction of the inclusion.

                  theorem LieAlgebra.Extension.incl_twoCocycleOf {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] (x y : L) :
                  E.incl ((↑↑(E.twoCocycleOf hs) x) y) = ⁅s x, s y⁆ - s ⁅x, y⁆

                  Including the native cocycle gives the defect of the section from preserving brackets.

                  theorem LieAlgebra.Extension.incl_lie {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} [IsLieAbelian M] (hs : Function.LeftInverse ⇑E.proj ⇑s) (x : L) (m : M) :
                  E.incl ⁅x, m⁆ = ⁅s x, E.incl m⁆

                  The induced quotient action is computed by the bracket with the lift along any linear section.

                  noncomputable def LieAlgebra.Extension.ofTwoCocycleEquiv {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] :

                  A split extension with abelian kernel is isomorphic to the model of its native cocycle. The coordinates are s x + incl m; the section itself need not preserve brackets.

                  Instances For
                    @[simp]
                    theorem LieAlgebra.Extension.ofTwoCocycleEquiv_ofProd {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] (x : L) (m : M) :
                    (E.ofTwoCocycleEquiv hs) ((ofProd (E.twoCocycleOf hs)) (x, m)) = s x + E.incl m

                    The comparison sends product coordinates to the section plus the inclusion.

                    @[simp]
                    theorem LieAlgebra.Extension.ofTwoCocycleEquiv_symm_apply {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] (x : E.L) :

                    The inverse comparison consists of the projection and the kernel coordinate.

                    @[simp]
                    theorem LieAlgebra.Extension.proj_ofTwoCocycleEquiv {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] (v : LieAlgebra.ofTwoCocycle (E.twoCocycleOf hs)) :

                    The comparison is over the identity on the quotient.

                    theorem LieAlgebra.Extension.twoCocycleOf_eq_splittingCoordinate {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] {M : Type u_4} [LieRing M] [LieAlgebra R M] (E : Extension R M L) {s : L →ₗ[R] E.L} (hs : Function.LeftInverse ⇑E.proj ⇑s) [IsLieAbelian M] (x y : L) :
                    (↑↑(E.twoCocycleOf hs) x) y = (E.splittingCoordinate hs) ⁅s x, s y⁆

                    The native cocycle is the kernel coordinate of the bracket of section elements.

                    The central element of an extension by R #

                    The central element K = (0, 1) of the central extension of a Lie algebra by R defined by a 2-cocycle c with trivial coefficients, such as the residue cocycle of formal or of polynomial currents.

                    Instances For
                      @[simp]

                      The coordinates of K are (0, 1).

                      The element K is nonzero over a nontrivial ring.

                      Every element of the extension is an element of L plus a multiple of K.