Documentation

TauCeti.Algebra.Category.ModuleCat.DerivationExtension.Basic

The self-extension of a module attached to a derivation #

Let A be an R-algebra, δ a derivation of A (an element of TauCeti.derivationLieAlgebra R A) and M an A-module. The pairs (u, v) of elements of M form an A-module E_δ(M) under a • (u, v) = (a • u + δ a • v, a • v); the Leibniz rule δ (a * b) = δ a * b + a * δ b is exactly what makes this action associative. The maps u ↦ (u, 0) and (u, v) ↦ v are A-linear, so E_δ(M) is an extension of M by itself: 0 → M → E_δ(M) → M → 0. Writing (u, v) = v + ε u with ε² = 0, the module E_δ(M) is M[ε] with a acting through a + ε δ a, so it is the first-order deformation of M in the direction of δ. Changing δ by the inner derivation ad b = ⁅b, -⁆ does not change the extension: (u, v) ↦ (u + b • v, v) is an isomorphism E_δ(M) ≅ E_(δ + ad b)(M) compatible with both maps. These are the extensions through which outer derivations of A give classes in Ext¹_A(M, M); this file constructs the extensions themselves, not their Ext classes.

When A carries a topology, δ is continuous and M is a discrete module, E_δ(M) is again discrete, and the short exact sequence lives in the abelian category of discrete A-modules.

Main definitions #

Main results #

Implementation notes #

DerivationExtension δ M is a structure rather than a synonym for M × M: the product already carries the componentwise A-module structure, which is a different one. The additive group is transported from M × M along DerivationExtension.equivProd.

The bodies of shortComplex, functor and discreteShortComplex are exposed: their objects and maps are the data a consumer computes with, and their simps lemmas are proved by unfolding.

References #

structure TauCeti.DerivationExtension {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) :

The self-extension E_δ(M) of a module M attached to a derivation δ: pairs (u, v) of elements of M, on which a acts by a • (u, v) = (a • u + δ a • v, a • v). The first coordinate carries the submodule M and the second the quotient M.

  • fst : M

    The coordinate u of (u, v), in which the submodule M sits.

  • snd : M

    The coordinate v of (u, v), the image in the quotient M.

Instances For
    theorem TauCeti.DerivationExtension.ext {R : Type u_1} {inst✝ : CommRing R} {A : Type u} {inst✝¹ : Ring A} {inst✝² : Algebra R A} {δ : ↥(derivationLieAlgebra R A)} {M : Type v} {x y : DerivationExtension δ M} (fst : x.fst = y.fst) (snd : x.snd = y.snd) :
    x = y
    theorem TauCeti.DerivationExtension.ext_iff {R : Type u_1} {inst✝ : CommRing R} {A : Type u} {inst✝¹ : Ring A} {inst✝² : Algebra R A} {δ : ↥(derivationLieAlgebra R A)} {M : Type v} {x y : DerivationExtension δ M} :
    x = y ↔ x.fst = y.fst ∧ x.snd = y.snd
    def TauCeti.DerivationExtension.equivProd {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) :

    The underlying set of E_δ(M) is M × M.

    Instances For
      @[simp]
      theorem TauCeti.DerivationExtension.equivProd_apply {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) (x : DerivationExtension δ M) :
      (equivProd δ M) x = (x.fst, x.snd)
      @[simp]
      theorem TauCeti.DerivationExtension.equivProd_symm_apply {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) (x : M × M) :
      (equivProd δ M).symm x = { fst := x.1, snd := x.2 }
      @[instance_reducible]
      @[simp]
      theorem TauCeti.DerivationExtension.fst_zero {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] :
      fst 0 = 0
      @[simp]
      theorem TauCeti.DerivationExtension.snd_zero {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] :
      snd 0 = 0
      @[simp]
      theorem TauCeti.DerivationExtension.fst_add {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x y : DerivationExtension δ M) :
      (x + y).fst = x.fst + y.fst
      @[simp]
      theorem TauCeti.DerivationExtension.snd_add {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x y : DerivationExtension δ M) :
      (x + y).snd = x.snd + y.snd
      @[simp]
      theorem TauCeti.DerivationExtension.fst_neg {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x : DerivationExtension δ M) :
      (-x).fst = -x.fst
      @[simp]
      theorem TauCeti.DerivationExtension.snd_neg {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x : DerivationExtension δ M) :
      (-x).snd = -x.snd
      @[simp]
      theorem TauCeti.DerivationExtension.fst_sub {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x y : DerivationExtension δ M) :
      (x - y).fst = x.fst - y.fst
      @[simp]
      theorem TauCeti.DerivationExtension.snd_sub {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] (x y : DerivationExtension δ M) :
      (x - y).snd = x.snd - y.snd
      @[instance_reducible]
      instance TauCeti.DerivationExtension.instSMul {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] :
      @[simp]
      theorem TauCeti.DerivationExtension.fst_smul {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] (a : A) (x : DerivationExtension δ M) :
      (a • x).fst = a • x.fst + ↑δ a • x.snd
      @[simp]
      theorem TauCeti.DerivationExtension.snd_smul {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] (a : A) (x : DerivationExtension δ M) :
      (a • x).snd = a • x.snd
      @[instance_reducible]
      instance TauCeti.DerivationExtension.instModule {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] :
      def TauCeti.DerivationExtension.inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] :

      The inclusion u ↦ (u, 0) of the submodule M into E_δ(M).

      Instances For
        @[simp]
        theorem TauCeti.DerivationExtension.fst_inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] (u : M) :
        ((inlHom δ M) u).fst = u
        @[simp]
        theorem TauCeti.DerivationExtension.snd_inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] (u : M) :
        ((inlHom δ M) u).snd = 0
        def TauCeti.DerivationExtension.sndHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] :

        The projection (u, v) ↦ v of E_δ(M) onto the quotient M.

        Instances For
          @[simp]
          theorem TauCeti.DerivationExtension.sndHom_apply {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] (x : DerivationExtension δ M) :
          (sndHom δ M) x = x.snd
          theorem TauCeti.DerivationExtension.inlHom_injective {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] :
          @[simp]
          theorem TauCeti.DerivationExtension.sndHom_comp_inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] :
          sndHom δ M ∘ₗ inlHom δ M = 0
          theorem TauCeti.DerivationExtension.exact_inlHom_sndHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : Type v) [AddCommGroup M] [Module A M] :
          Function.Exact ⇑(inlHom δ M) ⇑(sndHom δ M)

          E_δ(M) is an extension of M by M: the kernel of the projection is the image of the inclusion.

          def TauCeti.DerivationExtension.map {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) :

          The functoriality of E_δ(-): a linear map f acts coordinatewise.

          Instances For
            @[simp]
            theorem TauCeti.DerivationExtension.fst_map {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) (x : DerivationExtension δ M) :
            ((map f) x).fst = f x.fst
            @[simp]
            theorem TauCeti.DerivationExtension.snd_map {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) (x : DerivationExtension δ M) :
            ((map f) x).snd = f x.snd
            @[simp]
            theorem TauCeti.DerivationExtension.map_id {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] :
            theorem TauCeti.DerivationExtension.map_comp {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] {P : Type u_2} [AddCommGroup P] [Module A P] (f : M →ₗ[A] N) (g : N →ₗ[A] P) :
            map (g ∘ₗ f) = map g ∘ₗ map f
            theorem TauCeti.DerivationExtension.map_comp_inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) :
            map f ∘ₗ inlHom δ M = inlHom δ N ∘ₗ f
            theorem TauCeti.DerivationExtension.sndHom_comp_map {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) :
            sndHom δ N ∘ₗ map f = f ∘ₗ sndHom δ M
            def TauCeti.DerivationExtension.innerEquiv {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) :

            Changing a derivation by an inner derivation does not change its self-extension: when δ' = δ + ad b, the map (u, v) ↦ (u + b • v, v) is an isomorphism E_δ(M) ≃ E_δ'(M).

            Instances For
              @[simp]
              theorem TauCeti.DerivationExtension.fst_innerEquiv {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) (x : DerivationExtension δ M) :
              ((innerEquiv M h) x).fst = x.fst + b • x.snd
              @[simp]
              theorem TauCeti.DerivationExtension.snd_innerEquiv {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) (x : DerivationExtension δ M) :
              ((innerEquiv M h) x).snd = x.snd
              @[simp]
              theorem TauCeti.DerivationExtension.fst_innerEquiv_symm {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) (x : DerivationExtension δ' M) :
              ((innerEquiv M h).symm x).fst = x.fst - b • x.snd
              @[simp]
              theorem TauCeti.DerivationExtension.snd_innerEquiv_symm {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) (x : DerivationExtension δ' M) :
              ((innerEquiv M h).symm x).snd = x.snd
              @[simp]
              theorem TauCeti.DerivationExtension.innerEquiv_comp_inlHom {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) :
              ↑(innerEquiv M h) ∘ₗ inlHom δ M = inlHom δ' M

              The comparison innerEquiv restricts to the identity on the submodule M.

              @[simp]
              theorem TauCeti.DerivationExtension.sndHom_comp_innerEquiv {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) :
              sndHom δ' M ∘ₗ ↑(innerEquiv M h) = sndHom δ M

              The comparison innerEquiv induces the identity on the quotient M.

              theorem TauCeti.DerivationExtension.map_comp_innerEquiv {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (h : δ' = δ + (innerDerivation R) b) (f : M →ₗ[A] N) :
              map f ∘ₗ ↑(innerEquiv M h) = ↑(innerEquiv N h) ∘ₗ map f

              The comparison innerEquiv is natural in M.

              @[simp]
              theorem TauCeti.DerivationExtension.innerEquiv_zero {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} (M : Type v) [AddCommGroup M] [Module A M] (h : δ = δ + (innerDerivation R) 0) :

              The comparison for the zero inner derivation is the identity.

              theorem TauCeti.DerivationExtension.innerEquiv_trans {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' δ'' : ↥(derivationLieAlgebra R A)} {b b' : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) (h' : δ'' = δ' + (innerDerivation R) b') :

              The comparisons for b and b' compose to the comparison for b + b'.

              theorem TauCeti.DerivationExtension.innerEquiv_symm {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (M : Type v) [AddCommGroup M] [Module A M] (h : δ' = δ + (innerDerivation R) b) :

              The inverse of the comparison for b is the comparison for -b.

              The self-extension 0 → M → E_δ(M) → M → 0, as a short complex in ModuleCat A.

              Instances For
                @[simp]
                theorem TauCeti.DerivationExtension.shortComplex_X₃ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : ModuleCat A) :
                @[simp]
                theorem TauCeti.DerivationExtension.shortComplex_g {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : ModuleCat A) :
                @[simp]
                @[simp]
                theorem TauCeti.DerivationExtension.shortComplex_f {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : ModuleCat A) :
                @[simp]
                theorem TauCeti.DerivationExtension.shortComplex_X₁ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : ModuleCat A) :

                The self-extension of M attached to a derivation is a short exact sequence.

                The self-extension 0 → M → E_δ(M) → M → 0, as a functor of M.

                Instances For
                  @[simp]
                  theorem TauCeti.DerivationExtension.functor_map_τ₂ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) {X✝ Y✝ : ModuleCat A} (f : X✝ ⟶ Y✝) :
                  @[simp]
                  theorem TauCeti.DerivationExtension.functor_map_τ₁ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) {X✝ Y✝ : ModuleCat A} (f : X✝ ⟶ Y✝) :
                  ((functor δ).map f).τ₁ = f
                  @[simp]
                  theorem TauCeti.DerivationExtension.functor_obj {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) (M : ModuleCat A) :
                  @[simp]
                  theorem TauCeti.DerivationExtension.functor_map_τ₃ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] (δ : ↥(derivationLieAlgebra R A)) {X✝ Y✝ : ModuleCat A} (f : X✝ ⟶ Y✝) :
                  ((functor δ).map f).τ₃ = f
                  def TauCeti.DerivationExtension.functorInnerIso {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ δ' : ↥(derivationLieAlgebra R A)} {b : A} (h : δ' = δ + (innerDerivation R) b) :

                  When δ' = δ + ad b, the self-extensions attached to δ and δ' are isomorphic as extensions, naturally in M: the isomorphism is innerEquiv in the middle and the identity on both ends.

                  Instances For
                    @[simp]
                    theorem TauCeti.DerivationExtension.functorInnerIso_hom_app_τ₂ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} (M : ModuleCat A) {δ' : ↥(derivationLieAlgebra R A)} {b : A} (h : δ' = δ + (innerDerivation R) b) :
                    @[simp]
                    @[simp]
                    @[simp]
                    theorem TauCeti.DerivationExtension.functorInnerIso_inv_app_τ₂ {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] {δ : ↥(derivationLieAlgebra R A)} (M : ModuleCat A) {δ' : ↥(derivationLieAlgebra R A)} {b : A} (h : δ' = δ + (innerDerivation R) b) :
                    @[simp]
                    @[simp]
                    theorem TauCeti.discreteModules_derivationExtension {R : Type u_1} [CommRing R] {A : Type u} [Ring A] [Algebra R A] [TopologicalSpace A] {δ : ↥(derivationLieAlgebra R A)} (hδ : Continuous ⇑↑δ) {M : ModuleCat A} (hM : discreteModules A M) :

                    The self-extension of a discrete module along a continuous derivation is discrete.

                    For a continuous derivation δ and a discrete module M, the self-extension 0 → M → E_δ(M) → M → 0, as a short complex in the category of discrete modules.

                    Instances For
                      @[simp]

                      The inclusion of discrete modules sends discreteShortComplex to shortComplex.

                      The self-extension of a discrete module along a continuous derivation is short exact in the category of discrete modules.