The homology of single complexes #
The main definition in this file is HomologicalComplex.homologyFunctorSingleIso
which is a natural isomorphism single C c j ⋙ homologyFunctor C c j ≅ 𝟭 C.
instance HomologicalComplex.instHasHomologyObjSingle {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) (i : ι) :
((single C c j).obj A).HasHomology i
theorem HomologicalComplex.exactAt_single_obj {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) (i : ι) (hi : i ≠ j) :
theorem HomologicalComplex.isZero_single_obj_homology {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) (i : ι) (hi : i ≠ j) :
CategoryTheory.Limits.IsZero (((single C c j).obj A).homology i)
noncomputable def HomologicalComplex.singleObjCyclesSelfIso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
The canonical isomorphism ((single C c j).obj A).cycles j ≅ A
Equations
- HomologicalComplex.singleObjCyclesSelfIso c j A = ((HomologicalComplex.single C c j).obj A).iCyclesIso j (c.next j) ⋯ ⋯ ≪≫ HomologicalComplex.singleObjXSelf c j A
Instances For
theorem HomologicalComplex.singleObjCyclesSelfIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
(singleObjCyclesSelfIso c j A).hom = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).iCycles j) (singleObjXSelf c j A).hom
theorem HomologicalComplex.singleObjCyclesSelfIso_hom_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : A ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom h = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).iCycles j)
(CategoryTheory.CategoryStruct.comp (singleObjXSelf c j A).hom h)
noncomputable def HomologicalComplex.singleObjOpcyclesSelfIso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
The canonical isomorphism ((single C c j).obj A).opcycles j ≅ A
Equations
- HomologicalComplex.singleObjOpcyclesSelfIso c j A = (HomologicalComplex.singleObjXSelf c j A).symm ≪≫ ((HomologicalComplex.single C c j).obj A).pOpcyclesIso (c.prev j) j ⋯ ⋯
Instances For
theorem HomologicalComplex.singleObjOpcyclesSelfIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
(singleObjOpcyclesSelfIso c j A).hom = CategoryTheory.CategoryStruct.comp (singleObjXSelf c j A).inv (((single C c j).obj A).pOpcycles j)
theorem HomologicalComplex.singleObjOpcyclesSelfIso_hom_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).opcycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom h = CategoryTheory.CategoryStruct.comp (singleObjXSelf c j A).inv
(CategoryTheory.CategoryStruct.comp (((single C c j).obj A).pOpcycles j) h)
noncomputable def HomologicalComplex.singleObjHomologySelfIso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
The canonical isomorphism ((single C c j).obj A).homology j ≅ A
Equations
- HomologicalComplex.singleObjHomologySelfIso c j A = (((HomologicalComplex.single C c j).obj A).isoHomologyπ (c.prev j) j ⋯ ⋯).symm ≪≫ HomologicalComplex.singleObjCyclesSelfIso c j A
Instances For
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_iCycles {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv (((single C c j).obj A).iCycles j) = (singleObjXSelf c j A).inv
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_iCycles_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).X j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv
(CategoryTheory.CategoryStruct.comp (((single C c j).obj A).iCycles j) h) = CategoryTheory.CategoryStruct.comp (singleObjXSelf c j A).inv h
@[simp]
theorem HomologicalComplex.homologyπ_singleObjHomologySelfIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyπ j) (singleObjHomologySelfIso c j A).hom = (singleObjCyclesSelfIso c j A).hom
@[simp]
theorem HomologicalComplex.homologyπ_singleObjHomologySelfIso_hom_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : A ⟶ Z) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyπ j)
(CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom h) = CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom h
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_singleObjHomologySelfIso_inv {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom (singleObjHomologySelfIso c j A).inv = ((single C c j).obj A).homologyπ j
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_singleObjHomologySelfIso_inv_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).homology j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom
(CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv h) = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyπ j) h
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_hom_singleObjOpcyclesSelfIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom (singleObjOpcyclesSelfIso c j A).hom = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).iCycles j) (((single C c j).obj A).pOpcycles j)
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_hom_singleObjOpcyclesSelfIso_hom_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).opcycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom
(CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom h) = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).iCycles j)
(CategoryTheory.CategoryStruct.comp (((single C c j).obj A).pOpcycles j) h)
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_homologyπ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv (((single C c j).obj A).homologyπ j) = (singleObjHomologySelfIso c j A).inv
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_homologyπ_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).homology j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv
(CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyπ j) h) = CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv h
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_inv_homologyι {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv (((single C c j).obj A).homologyι j) = (singleObjOpcyclesSelfIso c j A).hom
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_inv_homologyι_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).opcycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv
(CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyι j) h) = CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom h
@[simp]
theorem HomologicalComplex.homologyι_singleObjOpcyclesSelfIso_inv {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyι j) (singleObjOpcyclesSelfIso c j A).inv = (singleObjHomologySelfIso c j A).hom
@[simp]
theorem HomologicalComplex.homologyι_singleObjOpcyclesSelfIso_inv_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : A ⟶ Z) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyι j)
(CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).inv h) = CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom h
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_singleObjOpcyclesSelfIso_hom {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom (singleObjOpcyclesSelfIso c j A).hom = ((single C c j).obj A).homologyι j
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_singleObjOpcyclesSelfIso_hom_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : ((single C c j).obj A).opcycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom
(CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom h) = CategoryTheory.CategoryStruct.comp (((single C c j).obj A).homologyι j) h
@[simp]
theorem HomologicalComplex.pOpcycles_singleObjOpcyclesSelfIso_inv {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).pOpcycles j) (singleObjOpcyclesSelfIso c j A).inv = (singleObjXSelf c j A).hom
@[simp]
theorem HomologicalComplex.pOpcycles_singleObjOpcyclesSelfIso_inv_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) (A : C) {Z : C} (h : A ⟶ Z) :
CategoryTheory.CategoryStruct.comp (((single C c j).obj A).pOpcycles j)
(CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).inv h) = CategoryTheory.CategoryStruct.comp (singleObjXSelf c j A).hom h
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_hom_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (cyclesMap ((single C c j).map f) j) (singleObjCyclesSelfIso c j B).hom = CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom f
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_hom_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : B ⟶ Z) :
CategoryTheory.CategoryStruct.comp (cyclesMap ((single C c j).map f) j)
(CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j B).hom h) = CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).hom (CategoryTheory.CategoryStruct.comp f h)
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv (cyclesMap ((single C c j).map f) j) = CategoryTheory.CategoryStruct.comp f (singleObjCyclesSelfIso c j B).inv
@[simp]
theorem HomologicalComplex.singleObjCyclesSelfIso_inv_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : ((single C c j).obj B).cycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j A).inv
(CategoryTheory.CategoryStruct.comp (cyclesMap ((single C c j).map f) j) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (singleObjCyclesSelfIso c j B).inv h)
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (homologyMap ((single C c j).map f) j) (singleObjHomologySelfIso c j B).hom = CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom f
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_hom_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : B ⟶ Z) :
CategoryTheory.CategoryStruct.comp (homologyMap ((single C c j).map f) j)
(CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j B).hom h) = CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).hom (CategoryTheory.CategoryStruct.comp f h)
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_inv_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv (homologyMap ((single C c j).map f) j) = CategoryTheory.CategoryStruct.comp f (singleObjHomologySelfIso c j B).inv
@[simp]
theorem HomologicalComplex.singleObjHomologySelfIso_inv_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : ((single C c j).obj B).homology j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j A).inv
(CategoryTheory.CategoryStruct.comp (homologyMap ((single C c j).map f) j) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (singleObjHomologySelfIso c j B).inv h)
@[simp]
theorem HomologicalComplex.singleObjOpcyclesSelfIso_hom_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom (opcyclesMap ((single C c j).map f) j) = CategoryTheory.CategoryStruct.comp f (singleObjOpcyclesSelfIso c j B).hom
@[simp]
theorem HomologicalComplex.singleObjOpcyclesSelfIso_hom_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : ((single C c j).obj B).opcycles j ⟶ Z) :
CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).hom
(CategoryTheory.CategoryStruct.comp (opcyclesMap ((single C c j).map f) j) h) = CategoryTheory.CategoryStruct.comp f (CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j B).hom h)
@[simp]
theorem HomologicalComplex.singleObjOpcyclesSelfIso_inv_naturality {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) :
CategoryTheory.CategoryStruct.comp (opcyclesMap ((single C c j).map f) j) (singleObjOpcyclesSelfIso c j B).inv = CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).inv f
@[simp]
theorem HomologicalComplex.singleObjOpcyclesSelfIso_inv_naturality_assoc {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B) {Z : C} (h : B ⟶ Z) :
CategoryTheory.CategoryStruct.comp (opcyclesMap ((single C c j).map f) j)
(CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j B).inv h) = CategoryTheory.CategoryStruct.comp (singleObjOpcyclesSelfIso c j A).inv (CategoryTheory.CategoryStruct.comp f h)
noncomputable def HomologicalComplex.homologyFunctorSingleIso (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) [CategoryTheory.CategoryWithHomology C] :
The computation of the homology of single complexes, as a natural isomorphism
single C c j ⋙ homologyFunctor C c j ≅ 𝟭 C.
Equations
- HomologicalComplex.homologyFunctorSingleIso C c j = CategoryTheory.NatIso.ofComponents (fun (A : C) => HomologicalComplex.singleObjHomologySelfIso c j A) ⋯
Instances For
@[simp]
theorem HomologicalComplex.homologyFunctorSingleIso_hom_app (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) [CategoryTheory.CategoryWithHomology C] (X : C) :
@[simp]
theorem HomologicalComplex.homologyFunctorSingleIso_inv_app (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) [CategoryTheory.CategoryWithHomology C] (X : C) :
theorem ChainComplex.exactAt_succ_single_obj {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (A : C) (n : ℕ) :
HomologicalComplex.ExactAt ((single₀ C).obj A) (n + 1)
theorem CochainComplex.exactAt_succ_single_obj {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (A : C) (n : ℕ) :
HomologicalComplex.ExactAt ((single₀ C).obj A) (n + 1)