Documentation

Mathlib.Algebra.Homology.BifunctorShift

Behavior of the action of a bifunctor on cochain complexes with respect to shifts #

In this file, given cochain complexes K₁ : CochainComplex C₁ ℤ, K₂ : CochainComplex C₂ ℤ and a functor F : C₁ ⥤ C₂ ⥤ D, we define an isomorphism of cochain complexes in D:

In the lemma CochainComplex.mapBifunctorShift₁Iso_trans_mapBifunctorShift₂Iso, we obtain that the two ways to deduce an isomorphism mapBifunctor (K₁⟦x⟧) (K₂⟦y⟧) F ≅ (mapBifunctor K₁ K₂ F)⟦x + y⟧ differ by the sign (x * y).negOnePow.

These definitions and properties can be summarised by saysing that the bifunctor F.map₂CochainComplex : CochainComplex C₁ ℤ ⥤ CochainComplex C₂ ℤ ⥤ CochainComplex D ℤ commutes with shifts by .

@[reducible, inline]

The condition that ((F.mapBifunctorHomologicalComplex _ _).obj K₁).obj K₂ has a total cochain complex.

Equations
Instances For
    @[reducible, inline]

    Given K₁ : CochainComplex C₁ ℤ, K₂ : CochainComplex C₂ ℤ, a bifunctor F : C₁ ⥤ C₂ ⥤ D, this mapBifunctor K₁ K₂ F : CochainComplex D ℤ is the total complex of the bicomplex obtained by applying F to K₁ and K₂.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev CochainComplex.ιMapBifunctor {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D] [CategoryTheory.Limits.HasZeroMorphisms C₁] [CategoryTheory.Limits.HasZeroMorphisms C₂] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) [CategoryTheory.Preadditive D] (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (X₁ : C₁), (F.obj X₁).PreservesZeroMorphisms] [K₁.HasMapBifunctor K₂ F] (n₁ n₂ n : ) (h : n₁ + n₂ = n) :
      (F.obj (K₁.X n₁)).obj (K₂.X n₂) (K₁.mapBifunctor K₂ F).X n

      The inclusion of a summand (F.obj (K₁.X n₁)).obj (K₂.X n₂) ⟶ (mapBifunctor K₁ K₂ F).X n of the total cochain complex when n₁ + n₂ = n.

      Equations
      Instances For

        The canonical isomorphism mapBifunctor (K₁⟦x⟧) K₂ F ≅ (mapBifunctor K₁ K₂ F)⟦x⟧. This isomorphism does not involve signs.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem CochainComplex.ι_mapBifunctorShift₁Iso_hom_f {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Limits.HasZeroMorphisms C₂] [CategoryTheory.Preadditive D] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).PreservesZeroMorphisms] (x : ) [K₁.HasMapBifunctor K₂ F] (n₁ n₂ n : ) (h : n₁ + n₂ = n) (m₁ m : ) (hm₁ : m₁ = n₁ + x) (hm : m = n + x) :
          CategoryTheory.CategoryStruct.comp (((CategoryTheory.shiftFunctor (CochainComplex C₁ ) x).obj K₁).ιMapBifunctor K₂ F n₁ n₂ n h) ((K₁.mapBifunctorShift₁Iso K₂ F x).hom.f n) = CategoryTheory.CategoryStruct.comp ((F.map (K₁.shiftFunctorObjXIso x n₁ m₁ hm₁).hom).app (K₂.X n₂)) (CategoryTheory.CategoryStruct.comp (K₁.ιMapBifunctor K₂ F m₁ n₂ m ) ((K₁.mapBifunctor K₂ F).shiftFunctorObjXIso x n m hm).inv)
          theorem CochainComplex.ι_mapBifunctorShift₁Iso_hom_f_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Limits.HasZeroMorphisms C₂] [CategoryTheory.Preadditive D] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).PreservesZeroMorphisms] (x : ) [K₁.HasMapBifunctor K₂ F] (n₁ n₂ n : ) (h : n₁ + n₂ = n) (m₁ m : ) (hm₁ : m₁ = n₁ + x) (hm : m = n + x) {Z : D} (h✝ : ((CategoryTheory.shiftFunctor (CochainComplex D ) x).obj (K₁.mapBifunctor K₂ F)).X n Z) :

          The canonical isomorphism mapBifunctor K₁ (K₂⟦y⟧) F ≅ (mapBifunctor K₁ K₂ F)⟦y⟧. This isomorphism involves signs: on the summand (F.obj (K₁.X p)).obj (K₂.X q), it is given by the multiplication by (p * y).negOnePow.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem CochainComplex.ι_mapBifunctorShift₂Iso_hom_f {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D] [CategoryTheory.Limits.HasZeroMorphisms C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (X₁ : C₁), (F.obj X₁).Additive] (y : ) [K₁.HasMapBifunctor K₂ F] (n₁ n₂ n : ) (h : n₁ + n₂ = n) (m₂ m : ) (hm₂ : m₂ = n₂ + y) (hm : m = n + y) :
            CategoryTheory.CategoryStruct.comp (K₁.ιMapBifunctor ((CategoryTheory.shiftFunctor (CochainComplex C₂ ) y).obj K₂) F n₁ n₂ n h) ((K₁.mapBifunctorShift₂Iso K₂ F y).hom.f n) = (n₁ * y).negOnePow CategoryTheory.CategoryStruct.comp ((F.obj (K₁.X n₁)).map (K₂.shiftFunctorObjXIso y n₂ m₂ hm₂).hom) (CategoryTheory.CategoryStruct.comp (K₁.ιMapBifunctor K₂ F n₁ m₂ m ) ((K₁.mapBifunctor K₂ F).shiftFunctorObjXIso y n m hm).inv)
            theorem CochainComplex.ι_mapBifunctorShift₂Iso_hom_f_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [CategoryTheory.Category.{v_1, u_1} C₁] [CategoryTheory.Category.{v_2, u_2} C₂] [CategoryTheory.Category.{v_3, u_3} D] [CategoryTheory.Limits.HasZeroMorphisms C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (X₁ : C₁), (F.obj X₁).Additive] (y : ) [K₁.HasMapBifunctor K₂ F] (n₁ n₂ n : ) (h : n₁ + n₂ = n) (m₂ m : ) (hm₂ : m₂ = n₂ + y) (hm : m = n + y) {Z : D} (h✝ : ((CategoryTheory.shiftFunctor (CochainComplex D ) y).obj (K₁.mapBifunctor K₂ F)).X n Z) :
            noncomputable instance CategoryTheory.Functor.instCommShiftCochainComplexIntObjMap₂CochainComplex {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₁ : CochainComplex C₁ ) :
            Equations
            • One or more equations did not get rendered due to their size.
            theorem CategoryTheory.Functor.commShiftIso_map₂CochainComplex_hom_app {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (n : ) :
            theorem CategoryTheory.Functor.commShiftIso_map₂CochainComplex_inv_app {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (n : ) :
            instance CategoryTheory.Functor.instCommShiftCochainComplexIntMapMap₂CochainComplex {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] {K₁ L₁ : CochainComplex C₁ } (f : K₁ L₁) :
            noncomputable instance CategoryTheory.Functor.instCommShiftCochainComplexIntObjFlipMap₂CochainComplex {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₂ : CochainComplex C₂ ) :
            Equations
            • One or more equations did not get rendered due to their size.
            theorem CategoryTheory.Functor.commShiftIso_map₂CochainComplex_flip_hom_app {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (n : ) :
            theorem CategoryTheory.Functor.commShiftIso_map₂CochainComplex_flip_inv_app {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ) (n : ) :
            instance CategoryTheory.Functor.instCommShiftCochainComplexIntMapFlipMap₂CochainComplex {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] {K₂ L₂ : CochainComplex C₂ } (g : K₂ L₂) :
            noncomputable instance CategoryTheory.Functor.instCommShift₂IntCochainComplexIntMap₂CochainComplex {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Preadditive C₁] [Preadditive C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.Additive] [∀ (X₁ : C₁), (F.obj X₁).Additive] [∀ (K₁ : CochainComplex C₁ ) (K₂ : CochainComplex C₂ ), K₁.HasMapBifunctor K₂ F] :
            Equations