The mapping cone of a monomorphism, up to a quasi-isomorphism #
If S is a short exact short complex of cochain complexes in an abelian category,
we construct a quasi-isomorphism descShortComplex S : mappingCone S.f ⟶ S.X₃.
We obtain this by comparing the homology sequence of S and the homology
sequence of the homology functor on the homotopy category, applied to the
distinguished triangle attached to the mapping cone of S.f.
theorem CochainComplex.homologySequenceδ_quotient_mapTriangle_obj {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) :
(HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ
((HomotopyCategory.quotient C (ComplexShape.up ℤ)).mapTriangle.obj T) n₀ n₁ h = CategoryTheory.CategoryStruct.comp ((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app T.obj₃)
(CategoryTheory.CategoryStruct.comp
((HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) 0).shiftMap T.mor₃ n₀ n₁ ⋯)
((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app T.obj₁))
theorem CochainComplex.homologySequenceδ_quotient_mapTriangle_obj_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (T : CategoryTheory.Pretriangulated.Triangle (CochainComplex C ℤ)) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) {Z : C} (h✝ :
((HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).shift n₁).obj
((HomotopyCategory.quotient C (ComplexShape.up ℤ)).mapTriangle.obj T).obj₁ ⟶ Z) :
CategoryTheory.CategoryStruct.comp
((HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ
((HomotopyCategory.quotient C (ComplexShape.up ℤ)).mapTriangle.obj T) n₀ n₁ h)
h✝ = CategoryTheory.CategoryStruct.comp ((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app T.obj₃)
(CategoryTheory.CategoryStruct.comp
((HomologicalComplex.homologyFunctor C (ComplexShape.up ℤ) 0).shiftMap T.mor₃ n₀ n₁ ⋯)
(CategoryTheory.CategoryStruct.comp
((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app T.obj₁) h✝))
noncomputable def CochainComplex.mappingCone.descShortComplex {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) :
The canonical morphism mappingCone S.f ⟶ S.X₃ when S is a short complex
of cochain complexes.
Equations
Instances For
@[simp]
theorem CochainComplex.mappingCone.inr_descShortComplex {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) :
@[simp]
theorem CochainComplex.mappingCone.inr_descShortComplex_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) {Z : CochainComplex C ℤ} (h : S.X₃ ⟶ Z) :
@[simp]
theorem CochainComplex.mappingCone.inr_f_descShortComplex_f {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (n : ℤ) :
@[simp]
theorem CochainComplex.mappingCone.inr_f_descShortComplex_f_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (n : ℤ) {Z : C} (h : S.X₃.X n ⟶ Z) :
CategoryTheory.CategoryStruct.comp ((inr S.f).f n) (CategoryTheory.CategoryStruct.comp ((descShortComplex S).f n) h) = CategoryTheory.CategoryStruct.comp (S.g.f n) h
@[simp]
theorem CochainComplex.mappingCone.inl_v_descShortComplex_f {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (i j : ℤ) (h : i + -1 = j) :
@[simp]
theorem CochainComplex.mappingCone.inl_v_descShortComplex_f_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (i j : ℤ) (h : i + -1 = j) {Z : C} (h✝ : S.X₃.X j ⟶ Z) :
CategoryTheory.CategoryStruct.comp ((inl S.f).v i j h)
(CategoryTheory.CategoryStruct.comp ((descShortComplex S).f j) h✝) = CategoryTheory.CategoryStruct.comp 0 h✝
theorem CochainComplex.mappingCone.map_descShortComplex {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (f : S₁ ⟶ S₂) :
CategoryTheory.CategoryStruct.comp (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯) (descShortComplex S₂) = CategoryTheory.CategoryStruct.comp (descShortComplex S₁) f.τ₃
theorem CochainComplex.mappingCone.map_descShortComplex_map {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (f : S₁ ⟶ S₂) {D : Type u_2} [_instD : CategoryTheory.Category.{u_3, u_2} D] (F : CategoryTheory.Functor (CochainComplex C ℤ) D) :
CategoryTheory.CategoryStruct.comp (F.map (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯)) (F.map (descShortComplex S₂)) = CategoryTheory.CategoryStruct.comp (F.map (descShortComplex S₁)) (F.map f.τ₃)
theorem CochainComplex.mappingCone.map_descShortComplex_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (f : S₁ ⟶ S₂) {Z : CochainComplex C ℤ} (h : S₂.X₃ ⟶ Z) :
CategoryTheory.CategoryStruct.comp (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯)
(CategoryTheory.CategoryStruct.comp (descShortComplex S₂) h) = CategoryTheory.CategoryStruct.comp (descShortComplex S₁) (CategoryTheory.CategoryStruct.comp f.τ₃ h)
theorem CochainComplex.mappingCone.map_descShortComplex_map_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] (S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)) (f : S₁ ⟶ S₂) {D : Type u_2} [_instD : CategoryTheory.Category.{u_3, u_2} D] (F : CategoryTheory.Functor (CochainComplex C ℤ) D) {Z : D} (h : F.obj S₂.X₃ ⟶ Z) :
CategoryTheory.CategoryStruct.comp (F.map (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯))
(CategoryTheory.CategoryStruct.comp (F.map (descShortComplex S₂)) h) = CategoryTheory.CategoryStruct.comp (F.map (descShortComplex S₁)) (CategoryTheory.CategoryStruct.comp (F.map f.τ₃) h)
theorem CochainComplex.mappingCone.homologySequenceδ_triangleh {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact) (n₀ n₁ : ℤ) (h : n₀ + 1 = n₁) :
(HomotopyCategory.homologyFunctor C (ComplexShape.up ℤ) 0).homologySequenceδ (triangleh S.f) n₀ n₁ h = CategoryTheory.CategoryStruct.comp
((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₀).hom.app (mappingCone S.f))
(CategoryTheory.CategoryStruct.comp (HomologicalComplex.homologyMap (descShortComplex S) n₀)
(CategoryTheory.CategoryStruct.comp (hS.δ n₀ n₁ h)
((HomotopyCategory.homologyFunctorFactors C (ComplexShape.up ℤ) n₁).inv.app S.X₁)))
theorem CochainComplex.mappingCone.quasiIso_descShortComplex {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (hS : S.ShortExact) :
theorem CochainComplex.mappingCone.descShortComplex_naturality {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (f : S₁ ⟶ S₂) :
CategoryTheory.CategoryStruct.comp (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯) (descShortComplex S₂) = CategoryTheory.CategoryStruct.comp (descShortComplex S₁) f.τ₃
theorem CochainComplex.mappingCone.descShortComplex_naturality_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S₁ S₂ : CategoryTheory.ShortComplex (CochainComplex C ℤ)} (f : S₁ ⟶ S₂) {Z : CochainComplex C ℤ} (h : S₂.X₃ ⟶ Z) :
CategoryTheory.CategoryStruct.comp (map S₁.f S₂.f f.τ₁ f.τ₂ ⋯)
(CategoryTheory.CategoryStruct.comp (descShortComplex S₂) h) = CategoryTheory.CategoryStruct.comp (descShortComplex S₁) (CategoryTheory.CategoryStruct.comp f.τ₃ h)
@[simp]
theorem CochainComplex.mappingCone.mapHomologicalComplexIso_hom_descShortComplex {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) :
@[simp]
theorem CochainComplex.mappingCone.mapHomologicalComplexIso_hom_descShortComplex_assoc {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {D : Type u_2} [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Abelian D] (F : CategoryTheory.Functor C D) [F.Additive] (S : CategoryTheory.ShortComplex (CochainComplex C ℤ)) {Z : HomologicalComplex D (ComplexShape.up ℤ)} (h : (S.map (F.mapHomologicalComplex (ComplexShape.up ℤ))).X₃ ⟶ Z) :