Documentation

Mathlib.Algebra.Homology.Monoidal

The monoidal category structure on homological complexes #

Let c : ComplexShape I with I an additive monoid. If c is equipped with the data and axioms c.TensorSigns, then the category HomologicalComplex C c can be equipped with a monoidal category structure if C is a monoidal category such that C has certain coproducts and both left/right tensoring commute with these.

In particular, we obtain a monoidal category structure on ChainComplex C ℕ when C is an additive monoidal category.

@[reducible, inline]

If K₁ and K₂ are two homological complexes, this is the property that for all j, the coproduct of K₁ i₁ ⊗ K₂ i₂ for i₁ + i₂ = j exists.

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev HomologicalComplex.tensorObj {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] {c : ComplexShape I} [c.TensorSigns] [DecidableEq I] (K₁ K₂ : HomologicalComplex C c) [K₁.HasTensor K₂] :

    The tensor product of two homological complexes.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev HomologicalComplex.ιTensorObj {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] {c : ComplexShape I} [c.TensorSigns] [DecidableEq I] (K₁ K₂ : HomologicalComplex C c) [K₁.HasTensor K₂] (i₁ i₂ j : I) (h : i₁ + i₂ = j) :
      CategoryTheory.MonoidalCategory.tensorObj (K₁.X i₁) (K₂.X i₂) (K₁.tensorObj K₂).X j

      The inclusion K₁.X i₁ ⊗ K₂.X i₂ ⟶ (tensorObj K₁ K₂).X j of a summand in the tensor product of the homological complexes.

      Equations
      Instances For
        @[reducible, inline]
        noncomputable abbrev HomologicalComplex.tensorHom {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] {c : ComplexShape I} [c.TensorSigns] [DecidableEq I] {K₁ K₂ L₁ L₂ : HomologicalComplex C c} (f : K₁ L₁) (g : K₂ L₂) [K₁.HasTensor K₂] [L₁.HasTensor L₂] :
        K₁.tensorObj K₂ L₁.tensorObj L₂

        The tensor product of two morphisms of homological complexes.

        Equations
        Instances For
          @[reducible, inline]

          Given three homological complexes K₁, K₂, and K₃, this asserts that for all j, the functor - ⊗ K₃.X i₃ commutes with the coproduct of the K₁.X i₁ ⊗ K₂.X i₂ such that i₁ + i₂ = j.

          Equations
          Instances For
            @[reducible, inline]

            Given three homological complexes K₁, K₂, and K₃, this asserts that for all j, the functor K₁.X i₁ commutes with the coproduct of the K₂.X i₂ ⊗ K₃.X i₃ such that i₂ + i₃ = j.

            Equations
            Instances For
              @[reducible, inline]
              noncomputable abbrev HomologicalComplex.associator {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] {c : ComplexShape I} [c.TensorSigns] [DecidableEq I] (K₁ K₂ K₃ : HomologicalComplex C c) [K₁.HasTensor K₂] [K₂.HasTensor K₃] [(K₁.tensorObj K₂).HasTensor K₃] [K₁.HasTensor (K₂.tensorObj K₃)] [K₁.HasGoodTensor₁₂ K₂ K₃] [K₁.HasGoodTensor₂₃ K₂ K₃] :
              (K₁.tensorObj K₂).tensorObj K₃ K₁.tensorObj (K₂.tensorObj K₃)

              The associator isomorphism for the tensor product of homological complexes.

              Equations
              Instances For
                @[reducible, inline]

                The unit of the tensor product of homological complexes.

                Equations
                Instances For

                  As a graded object, the single complex (single C c 0).obj (𝟙_ C) identifies to the unit (GradedObject.single₀ I).obj (𝟙_ C) of the tensor product of graded objects.

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

                    Auxiliary definition for leftUnitor.

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

                      The left unitor for the tensor product of homological complexes.

                      Equations
                      Instances For

                        Auxiliary definition for rightUnitor.

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

                          The right unitor for the tensor product of homological complexes.

                          Equations
                          Instances For
                            noncomputable instance HomologicalComplex.monoidalCategoryStruct (C : Type u_1) [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] (c : ComplexShape I) [c.TensorSigns] [∀ (X₁ X₂ : CategoryTheory.GradedObject I C), X₁.HasTensor X₂] [∀ (X₁ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁)] [∀ (X₂ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).flip.obj X₂)] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensor₁₂Tensor X₂ X₃] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensorTensor₂₃ X₂ X₃] [DecidableEq I] :
                            Equations
                            • One or more equations did not get rendered due to their size.
                            noncomputable def HomologicalComplex.Monoidal.inducingFunctorData (C : Type u_1) [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] (c : ComplexShape I) [c.TensorSigns] [∀ (X₁ X₂ : CategoryTheory.GradedObject I C), X₁.HasTensor X₂] [∀ (X₁ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁)] [∀ (X₂ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).flip.obj X₂)] [∀ (X₁ X₂ X₃ X₄ : CategoryTheory.GradedObject I C), X₁.HasTensor₄ObjExt X₂ X₃ X₄] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensor₁₂Tensor X₂ X₃] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensorTensor₂₃ X₂ X₃] [DecidableEq I] :

                            The structure which allows to construct the monoidal category structure on HomologicalComplex C c from the monoidal category structure on graded objects.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable instance HomologicalComplex.monoidalCategory (C : Type u_1) [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.MonoidalCategory C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasZeroObject C] [(CategoryTheory.MonoidalCategory.curriedTensor C).Additive] [∀ (X₁ : C), ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁).Additive] {I : Type u_2} [AddMonoid I] (c : ComplexShape I) [c.TensorSigns] [∀ (X₁ X₂ : CategoryTheory.GradedObject I C), X₁.HasTensor X₂] [∀ (X₁ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).obj X₁)] [∀ (X₂ : C), CategoryTheory.Limits.PreservesColimit (CategoryTheory.Functor.empty C) ((CategoryTheory.MonoidalCategory.curriedTensor C).flip.obj X₂)] [∀ (X₁ X₂ X₃ X₄ : CategoryTheory.GradedObject I C), X₁.HasTensor₄ObjExt X₂ X₃ X₄] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensor₁₂Tensor X₂ X₃] [∀ (X₁ X₂ X₃ : CategoryTheory.GradedObject I C), X₁.HasGoodTensorTensor₂₃ X₂ X₃] [DecidableEq I] :
                              Equations