Documentation

Mathlib.Algebra.Homology.HomotopyCategory.Shift

The shift on cochain complexes and on the homotopy category #

In this file, we show that for any preadditive category C, the categories CochainComplex C ℤ and HomotopyCategory C (ComplexShape.up ℤ) are equipped with a shift by .

We also show that if F : C ⥤ D is an additive functor, then the functors F.mapHomologicalComplex (ComplexShape.up ℤ) and F.mapHomotopyCategory (ComplexShape.up ℤ) commute with the shift by .

The shift functor by n : ℤ on CochainComplex C ℤ which sends a cochain complex K to the complex which is K.X (i + n) in degree i, and which multiplies the differentials by (-1)^n.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CochainComplex.shiftFunctor_map_f (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (n : ) {X✝ Y✝ : CochainComplex C } (φ : X✝ Y✝) (x✝ : ) :
    ((CochainComplex.shiftFunctor C n).map φ).f x✝ = φ.f (x✝ + n)
    @[simp]
    theorem CochainComplex.shiftFunctor_obj_d (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (n : ) (K : CochainComplex C ) (x✝ x✝¹ : ) :
    ((CochainComplex.shiftFunctor C n).obj K).d x✝ x✝¹ = n.negOnePow K.d (x✝ + n) (x✝¹ + n)

    The canonical isomorphism ((shiftFunctor C n).obj K).X i ≅ K.X m when m = i + n.

    Equations
    Instances For

      The shift functor by n on CochainComplex C ℤ identifies to the identity functor when n = 0.

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

        The compatibility of the shift functors on CochainComplex C ℤ with respect to the addition of integers.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CochainComplex.shiftFunctorAdd'_hom_app_f (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (n₁ n₂ n₁₂ : ) (h : n₁ + n₂ = n₁₂) (X : CochainComplex C ) (i : ) :
          ((CochainComplex.shiftFunctorAdd' C n₁ n₂ n₁₂ h).hom.app X).f i = (HomologicalComplex.XIsoOfEq X ).hom
          @[simp]
          theorem CochainComplex.shiftFunctorAdd'_inv_app_f (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (n₁ n₂ n₁₂ : ) (h : n₁ + n₂ = n₁₂) (X : CochainComplex C ) (i : ) :
          ((CochainComplex.shiftFunctorAdd' C n₁ n₂ n₁₂ h).inv.app X).f i = (HomologicalComplex.XIsoOfEq X ).inv
          Equations
          • One or more equations did not get rendered due to their size.
          @[simp]
          theorem CochainComplex.shiftFunctor_obj_d' {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] (K : CochainComplex C ) (n i j : ) :
          ((CategoryTheory.shiftFunctor (CochainComplex C ) n).obj K).d i j = n.negOnePow K.d (i + { as := n }.as) (j + { as := n }.as)

          Shifting cochain complexes by n and evaluating in a degree i identifies to the evaluation in degree i' when n + i = i'.

          Equations
          Instances For

            The commutation with the shift isomorphism for the functor on cochain complexes induced by an additive functor between preadditive categories.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • F.commShiftMapCochainComplex = { iso := F.mapCochainComplexShiftIso, zero := , add := }
              theorem CategoryTheory.Functor.mapHomologicalComplex_commShiftIso_eq {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Preadditive C] {D : Type u'} [CategoryTheory.Category.{v', u'} D] [CategoryTheory.Preadditive D] (F : CategoryTheory.Functor C D) [F.Additive] (n : ) :
              (F.mapHomologicalComplex (ComplexShape.up )).commShiftIso n = F.mapCochainComplexShiftIso n

              If h : Homotopy φ₁ φ₂ and n : ℤ, this is the induced homotopy between φ₁⟦n⟧' and φ₂⟦n⟧'.

              Equations
              • h.shift n = { hom := fun (x x_1 : ) => n.negOnePow h.hom (x + { as := n }.as) (x_1 + { as := n }.as), zero := , comm := }
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.