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)
:
((single C c j).obj A).ExactAt i
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.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]
:
(single C c j).comp (homologyFunctor C c j) ≅ CategoryTheory.Functor.id 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)
:
(homologyFunctorSingleIso C c j).hom.app X = (singleObjHomologySelfIso c j X).hom
@[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)
:
(homologyFunctorSingleIso C c j).inv.app X = (singleObjHomologySelfIso c j X).inv
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)