Documentation

Mathlib.RingTheory.Coalgebra.TensorProduct

Tensor products of coalgebras #

Given two R-coalgebras M, N, we can define a natural comultiplication map Δ : M ⊗[R] N → (M ⊗[R] N) ⊗[R] (M ⊗[R] N) and counit map ε : M ⊗[R] N → R induced by the comultiplication and counit maps of M and N. These Δ, ε are declared as linear maps in TensorProduct.instCoalgebraStruct in Mathlib.RingTheory.Coalgebra.Basic.

In this file we show that Δ, ε satisfy the axioms of a coalgebra, and also define other data in the monoidal structure on R-coalgebras, like the tensor product of two coalgebra morphisms as a coalgebra morphism.

Implementation notes #

We keep the linear maps underlying Δ, ε and other definitions in this file syntactically equal to the corresponding definitions for tensor products of modules in the hope that this makes life easier. However, to fill in prop fields, we use the API in Mathlib.Algebra.Category.CoalgebraCat.ComonEquivalence. That file defines the monoidal category structure on coalgebras induced by an equivalence with comonoid objects in the category of modules, CoalgebraCat.instMonoidalCategoryAux, but we do not declare this as an instance - we just use it to prove things. Then, we use the definitions in this file to make a monoidal category instance on CoalgebraCat R in Mathlib.Algebra.Category.CoalgebraCat.Monoidal that has simpler data.

However, this approach forces our coalgebras to be in the same universe as the base ring R, since it relies on the monoidal category structure on ModuleCat R, which is currently universe monomorphic. Any contribution that achieves universe polymorphism would be welcome. For instance, the tensor product of coalgebras in the FLT repo is already universe polymorphic since it does not go via category theory.

noncomputable instance TensorProduct.instCoalgebra {R M N : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [Coalgebra R M] [Coalgebra R N] :
Equations
  • One or more equations did not get rendered due to their size.
noncomputable def Coalgebra.TensorProduct.map {R M N P Q : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] [Coalgebra R Q] (f : M →ₗc[R] N) (g : P →ₗc[R] Q) :

The tensor product of two coalgebra morphisms as a coalgebra morphism.

Equations
Instances For
    @[simp]
    theorem Coalgebra.TensorProduct.map_tmul {R M N P Q : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] [Coalgebra R Q] (f : M →ₗc[R] N) (g : P →ₗc[R] Q) (x : M) (y : P) :
    @[simp]
    theorem Coalgebra.TensorProduct.map_toLinearMap {R M N P Q : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [AddCommGroup Q] [Module R M] [Module R N] [Module R P] [Module R Q] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] [Coalgebra R Q] (f : M →ₗc[R] N) (g : P →ₗc[R] Q) :
    noncomputable def Coalgebra.TensorProduct.assoc (R M N P : Type u) [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] :

    The associator for tensor products of R-coalgebras, as a coalgebra equivalence.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem Coalgebra.TensorProduct.assoc_tmul {R M N P : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] (x : M) (y : N) (z : P) :
      @[simp]
      theorem Coalgebra.TensorProduct.assoc_symm_tmul {R M N P : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] (x : M) (y : N) (z : P) :
      noncomputable def Coalgebra.TensorProduct.lid (R M : Type u) [CommRing R] [AddCommGroup M] [Module R M] [Coalgebra R M] :

      The base ring is a left identity for the tensor product of coalgebras, up to coalgebra equivalence.

      Equations
      Instances For
        @[simp]
        theorem Coalgebra.TensorProduct.lid_tmul {R M : Type u} [CommRing R] [AddCommGroup M] [Module R M] [Coalgebra R M] (r : R) (a : M) :
        @[simp]
        noncomputable def Coalgebra.TensorProduct.rid (R M : Type u) [CommRing R] [AddCommGroup M] [Module R M] [Coalgebra R M] :

        The base ring is a right identity for the tensor product of coalgebras, up to coalgebra equivalence.

        Equations
        Instances For
          @[simp]
          theorem Coalgebra.TensorProduct.rid_tmul {R M : Type u} [CommRing R] [AddCommGroup M] [Module R M] [Coalgebra R M] (r : R) (a : M) :
          @[simp]
          @[reducible, inline]
          noncomputable abbrev CoalgHom.lTensor {R : Type u} (M : Type u) {N P : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] (f : N →ₗc[R] P) :

          lTensor M f : M ⊗ N →ₗc M ⊗ P is the natural coalgebra morphism induced by f : N →ₗc P.

          Equations
          Instances For
            @[reducible, inline]
            noncomputable abbrev CoalgHom.rTensor {R : Type u} (M : Type u) {N P : Type u} [CommRing R] [AddCommGroup M] [AddCommGroup N] [AddCommGroup P] [Module R M] [Module R N] [Module R P] [Coalgebra R M] [Coalgebra R N] [Coalgebra R P] (f : N →ₗc[R] P) :

            rTensor M f : N ⊗ M →ₗc P ⊗ M is the natural coalgebra morphism induced by f : N →ₗc P.

            Equations
            Instances For