Documentation

Mathlib.Algebra.Homology.BifunctorHomotopy

The action of a bifunctor on homological complexes factors through homotopies #

Given a TotalComplexShape c₁ c₂ c, a functor F : C₁ ⥤ C₂ ⥤ D, we shall show in this file that up to homotopy the morphism mapBifunctorMap f₁ f₂ F c only depends on the homotopy classes of the morphism f₁ in HomologicalComplex C c₁ and of the morphism f₂ in HomologicalComplex C c₂ (TODO).

noncomputable def HomologicalComplex.mapBifunctorMapHomotopy.hom₁ {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_7, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_9, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] (j : J) (j' : J) :

Auxiliary definition for mapBifunctorMapHomotopy₁.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem HomologicalComplex.mapBifunctorMapHomotopy.ιMapBifunctor_hom₁_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_9, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] (i₁ : I₁) (i₁' : I₁) (i₂ : I₂) (j : J) (j' : J) (h : ComplexShape.π c₁ c₂ c (i₁', i₂) = j) (h' : ComplexShape.prev c₁ i₁' = i₁) {Z : D} (h : (HomologicalComplex.mapBifunctor L₁ L₂ F c).X j' Z) :
    CategoryTheory.CategoryStruct.comp (HomologicalComplex.ιMapBifunctor K₁ K₂ F c i₁' i₂ j h✝) (CategoryTheory.CategoryStruct.comp (HomologicalComplex.mapBifunctorMapHomotopy.hom₁ h₁ f₂ F c j j') h) = CategoryTheory.CategoryStruct.comp (ComplexShape.ε₁ c₁ c₂ c (i₁, i₂) CategoryTheory.CategoryStruct.comp ((F.map (h₁.hom i₁' i₁)).app (K₂.X i₂)) (CategoryTheory.CategoryStruct.comp ((F.obj (L₁.X i₁)).map (f₂.f i₂)) (HomologicalComplex.ιMapBifunctorOrZero L₁ L₂ F c i₁ i₂ j'))) h
    theorem HomologicalComplex.mapBifunctorMapHomotopy.ιMapBifunctor_hom₁ {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_9, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] (i₁ : I₁) (i₁' : I₁) (i₂ : I₂) (j : J) (j' : J) (h : ComplexShape.π c₁ c₂ c (i₁', i₂) = j) (h' : ComplexShape.prev c₁ i₁' = i₁) :
    CategoryTheory.CategoryStruct.comp (HomologicalComplex.ιMapBifunctor K₁ K₂ F c i₁' i₂ j h) (HomologicalComplex.mapBifunctorMapHomotopy.hom₁ h₁ f₂ F c j j') = ComplexShape.ε₁ c₁ c₂ c (i₁, i₂) CategoryTheory.CategoryStruct.comp ((F.map (h₁.hom i₁' i₁)).app (K₂.X i₂)) (CategoryTheory.CategoryStruct.comp ((F.obj (L₁.X i₁)).map (f₂.f i₂)) (HomologicalComplex.ιMapBifunctorOrZero L₁ L₂ F c i₁ i₂ j'))
    theorem HomologicalComplex.mapBifunctorMapHomotopy.zero₁ {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_8, u_1} C₁] [CategoryTheory.Category.{u_9, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] (j : J) (j' : J) (h : ¬c.Rel j' j) :
    theorem HomologicalComplex.mapBifunctorMapHomotopy.comm₁_aux {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_9, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] {i₁ : I₁} {i₁' : I₁} (hi₁ : c₁.Rel i₁ i₁') {i₂ : I₂} {i₂' : I₂} (hi₂ : c₂.Rel i₂ i₂') (j : J) (hj : ComplexShape.π c₁ c₂ c (i₁', i₂) = j) :
    ComplexShape.ε₁ c₁ c₂ c (i₁, i₂) CategoryTheory.CategoryStruct.comp ((F.map (h₁.hom i₁' i₁)).app (K₂.X i₂)) (CategoryTheory.CategoryStruct.comp ((F.obj (L₁.X i₁)).map (f₂.f i₂)) (HomologicalComplex₂.d₂ (((CategoryTheory.Functor.mapBifunctorHomologicalComplex F c₁ c₂).obj L₁).obj L₂) c i₁ i₂ j)) = -CategoryTheory.CategoryStruct.comp (HomologicalComplex₂.d₂ (((CategoryTheory.Functor.mapBifunctorHomologicalComplex F c₁ c₂).obj K₁).obj K₂) c i₁' i₂ (ComplexShape.next c j)) (HomologicalComplex.mapBifunctorMapHomotopy.hom₁ h₁ f₂ F c (ComplexShape.next c j) j)
    theorem HomologicalComplex.mapBifunctorMapHomotopy.comm₁ {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_8, u_1} C₁] [CategoryTheory.Category.{u_9, u_2} C₂] [CategoryTheory.Category.{u_7, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] (j : J) :
    noncomputable def HomologicalComplex.mapBifunctorMapHomotopy₁ {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} {I₁ : Type u_4} {I₂ : Type u_5} {J : Type u_6} [CategoryTheory.Category.{u_7, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_9, u_3} D] [CategoryTheory.Preadditive C₁] [CategoryTheory.Preadditive C₂] [CategoryTheory.Preadditive D] {c₁ : ComplexShape I₁} {c₂ : ComplexShape I₂} {K₁ : HomologicalComplex C₁ c₁} {L₁ : HomologicalComplex C₁ c₁} {f₁ : K₁ L₁} {f₁' : K₁ L₁} (h₁ : Homotopy f₁ f₁') {K₂ : HomologicalComplex C₂ c₂} {L₂ : HomologicalComplex C₂ c₂} (f₂ : K₂ L₂) (F : CategoryTheory.Functor C₁ (CategoryTheory.Functor C₂ D)) [CategoryTheory.Functor.Additive F] [∀ (X₁ : C₁), CategoryTheory.Functor.Additive (F.obj X₁)] (c : ComplexShape J) [DecidableEq J] [TotalComplexShape c₁ c₂ c] [HomologicalComplex.HasMapBifunctor K₁ K₂ F c] [HomologicalComplex.HasMapBifunctor L₁ L₂ F c] :

    The homotopy between mapBifunctorMap f₁ f₂ F c and mapBifunctorMap f₁' f₂ F c that is induced by an homotopy between f₁ and f₁'.

    Equations
    Instances For