Loogle!
Result
Found 209 declarations mentioning CategoryTheory.ShortComplex.opcycles. Of these, only the first 200 are shown.
- CategoryTheory.ShortComplex.opcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : C - CategoryTheory.ShortComplex.fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : S.opcycles ⟶ S.X₃ - CategoryTheory.ShortComplex.pOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : S.X₂ ⟶ S.opcycles - CategoryTheory.ShortComplex.rightHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : S.rightHomology ⟶ S.opcycles - CategoryTheory.ShortComplex.instEpiPOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.Epi S.pOpcycles - CategoryTheory.ShortComplex.RightHomologyData.opcyclesIso 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] : S.opcycles ≅ h.Q - CategoryTheory.ShortComplex.instMonoRightHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.Mono S.rightHomologyι - CategoryTheory.ShortComplex.cyclesOpIso 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : S.op.cycles ≅ Opposite.op S.opcycles - CategoryTheory.ShortComplex.opcyclesFunctor_obj 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] (S : CategoryTheory.ShortComplex C) : (CategoryTheory.ShortComplex.opcyclesFunctor C).obj S = S.opcycles - CategoryTheory.ShortComplex.opcyclesMapIso 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : S₁.opcycles ≅ S₂.opcycles - CategoryTheory.ShortComplex.opcyclesOpIso 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] : S.op.opcycles ≅ Opposite.op S.cycles - CategoryTheory.ShortComplex.opcyclesIsoCokernel 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] [CategoryTheory.Limits.HasCokernel S.f] : S.opcycles ≅ CategoryTheory.Limits.cokernel S.f - CategoryTheory.ShortComplex.opcyclesMap 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) : S₁.opcycles ⟶ S₂.opcycles - CategoryTheory.ShortComplex.opcyclesMap_id 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.CategoryStruct.id S) = CategoryTheory.CategoryStruct.id S.opcycles - CategoryTheory.ShortComplex.p_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.pOpcycles S.fromOpcycles = S.g - CategoryTheory.ShortComplex.isIso_opcyclesMap_of_iso 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [CategoryTheory.IsIso φ] [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.IsIso (CategoryTheory.ShortComplex.opcyclesMap φ) - CategoryTheory.ShortComplex.fromOpcyclesNatTrans_app 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] (S : CategoryTheory.ShortComplex C) : (CategoryTheory.ShortComplex.fromOpcyclesNatTrans C).app S = S.fromOpcycles - CategoryTheory.ShortComplex.pOpcyclesNatTrans_app 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] (S : CategoryTheory.ShortComplex C) : (CategoryTheory.ShortComplex.pOpcyclesNatTrans C).app S = S.pOpcycles - CategoryTheory.ShortComplex.rightHomologyιNatTrans_app 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] (S : CategoryTheory.ShortComplex C) : (CategoryTheory.ShortComplex.rightHomologyιNatTrans C).app S = S.rightHomologyι - CategoryTheory.ShortComplex.RightHomologyData.pOpcycles_comp_opcyclesIso_hom 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.pOpcycles h.opcyclesIso.hom = h.p - CategoryTheory.ShortComplex.RightHomologyData.p_comp_opcyclesIso_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp h.p h.opcyclesIso.inv = S.pOpcycles - CategoryTheory.ShortComplex.opcyclesMapIso_hom 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : (CategoryTheory.ShortComplex.opcyclesMapIso e).hom = CategoryTheory.ShortComplex.opcyclesMap e.hom - CategoryTheory.ShortComplex.opcyclesMapIso_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (e : S₁ ≅ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : (CategoryTheory.ShortComplex.opcyclesMapIso e).inv = CategoryTheory.ShortComplex.opcyclesMap e.inv - CategoryTheory.ShortComplex.opcyclesIsoX₂ 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) : S.opcycles ≅ S.X₂ - CategoryTheory.ShortComplex.opcyclesIsoRightHomology 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) : S.opcycles ≅ S.rightHomology - CategoryTheory.ShortComplex.isIso_opcyclesMap_of_isIso_of_epi 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [CategoryTheory.IsIso φ.τ₂] [CategoryTheory.Epi φ.τ₁] [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.IsIso (CategoryTheory.ShortComplex.opcyclesMap φ) - CategoryTheory.ShortComplex.isIso_opcyclesMap_of_isIso_of_epi' 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (h₂ : CategoryTheory.IsIso φ.τ₂) (h₁ : CategoryTheory.Epi φ.τ₁) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.IsIso (CategoryTheory.ShortComplex.opcyclesMap φ) - CategoryTheory.ShortComplex.isIso_pOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) : CategoryTheory.IsIso S.pOpcycles - CategoryTheory.ShortComplex.isIso_rightHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) : CategoryTheory.IsIso S.rightHomologyι - CategoryTheory.ShortComplex.p_fromOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {Z : C} (h : S.X₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp S.fromOpcycles h) = CategoryTheory.CategoryStruct.comp S.g h - CategoryTheory.ShortComplex.opcyclesFunctor_map 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
(C : Type u_1) [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasKernels C] [CategoryTheory.Limits.HasCokernels C] {X✝ Y✝ : CategoryTheory.ShortComplex C} (φ : X✝ ⟶ Y✝) : (CategoryTheory.ShortComplex.opcyclesFunctor C).map φ = CategoryTheory.ShortComplex.opcyclesMap φ - CategoryTheory.ShortComplex.descOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] : S.opcycles ⟶ A - CategoryTheory.ShortComplex.f_pOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.f S.pOpcycles = 0 - CategoryTheory.ShortComplex.rightHomologyι_comp_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.rightHomologyι S.fromOpcycles = 0 - CategoryTheory.ShortComplex.opcycles_ext 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {A : C} (f₁ f₂ : S.opcycles ⟶ A) (h : CategoryTheory.CategoryStruct.comp S.pOpcycles f₁ = CategoryTheory.CategoryStruct.comp S.pOpcycles f₂) : f₁ = f₂ - CategoryTheory.ShortComplex.opcycles_ext_iff 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {A : C} (f₁ f₂ : S.opcycles ⟶ A) : f₁ = f₂ ↔ CategoryTheory.CategoryStruct.comp S.pOpcycles f₁ = CategoryTheory.CategoryStruct.comp S.pOpcycles f₂ - CategoryTheory.ShortComplex.opcyclesIsCokernel 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ S.pOpcycles ⋯) - CategoryTheory.ShortComplex.rightHomology_ext 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {A : C} (f₁ f₂ : A ⟶ S.rightHomology) (h : CategoryTheory.CategoryStruct.comp f₁ S.rightHomologyι = CategoryTheory.CategoryStruct.comp f₂ S.rightHomologyι) : f₁ = f₂ - CategoryTheory.ShortComplex.rightHomology_ext_iff 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {A : C} (f₁ f₂ : A ⟶ S.rightHomology) : f₁ = f₂ ↔ CategoryTheory.CategoryStruct.comp f₁ S.rightHomologyι = CategoryTheory.CategoryStruct.comp f₂ S.rightHomologyι - CategoryTheory.ShortComplex.rightHomologyIsKernel 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι S.rightHomologyι ⋯) - CategoryTheory.ShortComplex.fromOpcycles_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) S₂.fromOpcycles = CategoryTheory.CategoryStruct.comp S₁.fromOpcycles φ.τ₃ - CategoryTheory.ShortComplex.opcyclesIsoX₂_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) : (S.opcyclesIsoX₂ hf).inv = S.pOpcycles - CategoryTheory.ShortComplex.p_opcyclesMap 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) : CategoryTheory.CategoryStruct.comp S₁.pOpcycles (CategoryTheory.ShortComplex.opcyclesMap φ) = CategoryTheory.CategoryStruct.comp φ.τ₂ S₂.pOpcycles - CategoryTheory.ShortComplex.opcyclesIsoRightHomology_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) : (S.opcyclesIsoRightHomology hg).inv = S.rightHomologyι - CategoryTheory.ShortComplex.RightHomologyData.pOpcycles_comp_opcyclesIso_hom_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] {Z : C} (h✝ : h.Q ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp h.opcyclesIso.hom h✝) = CategoryTheory.CategoryStruct.comp h.p h✝ - CategoryTheory.ShortComplex.RightHomologyData.p_comp_opcyclesIso_inv_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] {Z : C} (h✝ : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp h.p (CategoryTheory.CategoryStruct.comp h.opcyclesIso.inv h✝) = CategoryTheory.CategoryStruct.comp S.pOpcycles h✝ - CategoryTheory.ShortComplex.rightHomologyι_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.rightHomologyMap φ) S₂.rightHomologyι = CategoryTheory.CategoryStruct.comp S₁.rightHomologyι (CategoryTheory.ShortComplex.opcyclesMap φ) - CategoryTheory.ShortComplex.opcyclesIsoCokernel_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] [CategoryTheory.Limits.HasCokernel S.f] : S.opcyclesIsoCokernel.inv = CategoryTheory.Limits.cokernel.desc S.f S.pOpcycles ⋯ - CategoryTheory.ShortComplex.RightHomologyData.rightHomologyIso_hom_comp_ι 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp h.rightHomologyIso.hom h.ι = CategoryTheory.CategoryStruct.comp S.rightHomologyι h.opcyclesIso.hom - CategoryTheory.ShortComplex.RightHomologyData.rightHomologyIso_inv_comp_rightHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp h.rightHomologyIso.inv S.rightHomologyι = CategoryTheory.CategoryStruct.comp h.ι h.opcyclesIso.inv - CategoryTheory.ShortComplex.p_descOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.pOpcycles (S.descOpcycles k hk) = k - CategoryTheory.ShortComplex.opcyclesIsoCokernel_hom 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] [CategoryTheory.Limits.HasCokernel S.f] : S.opcyclesIsoCokernel.hom = S.descOpcycles (CategoryTheory.Limits.cokernel.π S.f) ⋯ - CategoryTheory.ShortComplex.opcyclesMap_zero 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S₁ S₂ : CategoryTheory.ShortComplex C) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap 0 = 0 - CategoryTheory.ShortComplex.f_pOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.f (CategoryTheory.CategoryStruct.comp S.pOpcycles h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.opcyclesMap_comp 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] [S₃.HasRightHomology] (φ₁ : S₁ ⟶ S₂) (φ₂ : S₂ ⟶ S₃) : CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.CategoryStruct.comp φ₁ φ₂) = CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ₁) (CategoryTheory.ShortComplex.opcyclesMap φ₂) - CategoryTheory.ShortComplex.rightHomologyι_comp_fromOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {Z : C} (h : S.X₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.rightHomologyι (CategoryTheory.CategoryStruct.comp S.fromOpcycles h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.opcyclesIsoX₂_inv_hom_id 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) : CategoryTheory.CategoryStruct.comp S.pOpcycles (S.opcyclesIsoX₂ hf).hom = CategoryTheory.CategoryStruct.id S.X₂ - CategoryTheory.ShortComplex.opcyclesIsoX₂_hom_inv_id 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) : CategoryTheory.CategoryStruct.comp (S.opcyclesIsoX₂ hf).hom S.pOpcycles = CategoryTheory.CategoryStruct.id S.opcycles - CategoryTheory.ShortComplex.opcyclesIsoRightHomology_hom_inv_id 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) : CategoryTheory.CategoryStruct.comp (S.opcyclesIsoRightHomology hg).hom S.rightHomologyι = CategoryTheory.CategoryStruct.id S.opcycles - CategoryTheory.ShortComplex.opcyclesIsoRightHomology_inv_hom_id 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) : CategoryTheory.CategoryStruct.comp S.rightHomologyι (S.opcyclesIsoRightHomology hg).hom = CategoryTheory.CategoryStruct.id S.rightHomology - CategoryTheory.ShortComplex.fromOpcycles_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) {Z : C} (h : S₂.X₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) (CategoryTheory.CategoryStruct.comp S₂.fromOpcycles h) = CategoryTheory.CategoryStruct.comp S₁.fromOpcycles (CategoryTheory.CategoryStruct.comp φ.τ₃ h) - CategoryTheory.ShortComplex.p_opcyclesMap_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) {Z : C} (h : S₂.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S₁.pOpcycles (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) h) = CategoryTheory.CategoryStruct.comp φ.τ₂ (CategoryTheory.CategoryStruct.comp S₂.pOpcycles h) - CategoryTheory.ShortComplex.rightHomologyι_descOpcycles_π_eq_zero_of_boundary 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) [S.HasRightHomology] (x : S.X₃ ⟶ A) (hx : k = CategoryTheory.CategoryStruct.comp S.g x) : CategoryTheory.CategoryStruct.comp S.rightHomologyι (S.descOpcycles k ⋯) = 0 - CategoryTheory.ShortComplex.rightHomologyι_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ ⟶ S₂) {Z : C} (h : S₂.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.rightHomologyMap φ) (CategoryTheory.CategoryStruct.comp S₂.rightHomologyι h) = CategoryTheory.CategoryStruct.comp S₁.rightHomologyι (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) h) - CategoryTheory.ShortComplex.opcyclesIsoX₂_inv_hom_id_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) {Z : C} (h : S.X₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp (S.opcyclesIsoX₂ hf).hom h) = h - CategoryTheory.ShortComplex.RightHomologyData.rightHomologyIso_hom_comp_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] {Z : C} (h✝ : h.Q ⟶ Z) : CategoryTheory.CategoryStruct.comp h.rightHomologyIso.hom (CategoryTheory.CategoryStruct.comp h.ι h✝) = CategoryTheory.CategoryStruct.comp S.rightHomologyι (CategoryTheory.CategoryStruct.comp h.opcyclesIso.hom h✝) - CategoryTheory.ShortComplex.RightHomologyData.rightHomologyIso_inv_comp_rightHomologyι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) [S.HasRightHomology] {Z : C} (h✝ : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp h.rightHomologyIso.inv (CategoryTheory.CategoryStruct.comp S.rightHomologyι h✝) = CategoryTheory.CategoryStruct.comp h.ι (CategoryTheory.CategoryStruct.comp h.opcyclesIso.inv h✝) - CategoryTheory.ShortComplex.opcyclesIsoX₂_hom_inv_id_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hf : S.f = 0) {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.opcyclesIsoX₂ hf).hom (CategoryTheory.CategoryStruct.comp S.pOpcycles h) = h - CategoryTheory.ShortComplex.RightHomologyData.opcyclesIso_hom_comp_descQ 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp h.opcyclesIso.hom (h.descQ k hk) = S.descOpcycles k hk - CategoryTheory.ShortComplex.RightHomologyData.opcyclesIso_inv_comp_descOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp h.opcyclesIso.inv (S.descOpcycles k hk) = h.descQ k hk - CategoryTheory.ShortComplex.descOpcycles_comp 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] {A' : C} (α : A ⟶ A') : CategoryTheory.CategoryStruct.comp (S.descOpcycles k hk) α = S.descOpcycles (CategoryTheory.CategoryStruct.comp k α) ⋯ - CategoryTheory.ShortComplex.fromOpcycles_op_cyclesOpIso_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.fromOpcycles.op S.cyclesOpIso.inv = S.op.toCycles - CategoryTheory.ShortComplex.opcyclesIsoRightHomology_hom_inv_id_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.opcyclesIsoRightHomology hg).hom (CategoryTheory.CategoryStruct.comp S.rightHomologyι h) = h - CategoryTheory.ShortComplex.opcyclesIsoRightHomology_inv_hom_id_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] (hg : S.g = 0) {Z : C} (h : S.rightHomology ⟶ Z) : CategoryTheory.CategoryStruct.comp S.rightHomologyι (CategoryTheory.CategoryStruct.comp (S.opcyclesIsoRightHomology hg).hom h) = h - CategoryTheory.ShortComplex.opcyclesOpIso_hom_toCycles_op 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] : CategoryTheory.CategoryStruct.comp S.opcyclesOpIso.hom S.toCycles.op = S.op.fromOpcycles - CategoryTheory.ShortComplex.cyclesOpIso_inv_op_iCycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.cyclesOpIso.inv S.op.iCycles = S.pOpcycles.op - CategoryTheory.ShortComplex.op_pOpcycles_opcyclesOpIso_hom 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] : CategoryTheory.CategoryStruct.comp S.op.pOpcycles S.opcyclesOpIso.hom = S.iCycles.op - CategoryTheory.ShortComplex.p_descOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp (S.descOpcycles k hk) h) = CategoryTheory.CategoryStruct.comp k h - CategoryTheory.ShortComplex.isoOpcyclesOfIsColimit 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) : cc.pt ≅ S.opcycles - CategoryTheory.ShortComplex.RightHomologyMapData.opcyclesMap_comm 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) h₂.opcyclesIso.hom = CategoryTheory.CategoryStruct.comp h₁.opcyclesIso.hom γ.φQ - CategoryTheory.ShortComplex.RightHomologyMapData.opcyclesMap_eq 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} {φ : S₁ ⟶ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : CategoryTheory.ShortComplex.RightHomologyMapData φ h₁ h₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap φ = CategoryTheory.CategoryStruct.comp h₁.opcyclesIso.hom (CategoryTheory.CategoryStruct.comp γ.φQ h₂.opcyclesIso.inv) - CategoryTheory.ShortComplex.rightHomologyι_descOpcycles_π_eq_zero_of_boundary_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) [S.HasRightHomology] (x : S.X₃ ⟶ A) (hx : k = CategoryTheory.CategoryStruct.comp S.g x) {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp S.rightHomologyι (CategoryTheory.CategoryStruct.comp (S.descOpcycles k ⋯) h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.descOpcycles_comp_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] {A' : C} (α : A ⟶ A') {Z : C} (h : A' ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.descOpcycles k hk) (CategoryTheory.CategoryStruct.comp α h) = CategoryTheory.CategoryStruct.comp (S.descOpcycles (CategoryTheory.CategoryStruct.comp k α) ⋯) h - CategoryTheory.ShortComplex.RightHomologyData.opcyclesIso_inv_comp_descOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S : CategoryTheory.ShortComplex C} (h : S.RightHomologyData) {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] {Z : C} (h✝ : A ⟶ Z) : CategoryTheory.CategoryStruct.comp h.opcyclesIso.inv (CategoryTheory.CategoryStruct.comp (S.descOpcycles k hk) h✝) = CategoryTheory.CategoryStruct.comp (h.descQ k hk) h✝ - CategoryTheory.ShortComplex.opcyclesMap_comp_descOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S S₁ : CategoryTheory.ShortComplex C} {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] (φ : S₁ ⟶ S) [S₁.HasRightHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) (S.descOpcycles k hk) = S₁.descOpcycles (CategoryTheory.CategoryStruct.comp φ.τ₂ k) ⋯ - CategoryTheory.ShortComplex.fromOpcycles_op_cyclesOpIso_inv_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {Z : Cᵒᵖ} (h : S.op.cycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.fromOpcycles.op (CategoryTheory.CategoryStruct.comp S.cyclesOpIso.inv h) = CategoryTheory.CategoryStruct.comp S.op.toCycles h - CategoryTheory.ShortComplex.opcyclesOpIso_hom_toCycles_op_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] {Z : Cᵒᵖ} (h : Opposite.op S.X₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.opcyclesOpIso.hom (CategoryTheory.CategoryStruct.comp S.toCycles.op h) = CategoryTheory.CategoryStruct.comp S.op.fromOpcycles h - CategoryTheory.ShortComplex.opcyclesMap_comp_descOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S S₁ : CategoryTheory.ShortComplex C} {A : C} (k : S.X₂ ⟶ A) (hk : CategoryTheory.CategoryStruct.comp S.f k = 0) [S.HasRightHomology] (φ : S₁ ⟶ S) [S₁.HasRightHomology] {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) (CategoryTheory.CategoryStruct.comp (S.descOpcycles k hk) h) = CategoryTheory.CategoryStruct.comp (S₁.descOpcycles (CategoryTheory.CategoryStruct.comp φ.τ₂ k) ⋯) h - CategoryTheory.ShortComplex.cyclesOpIso_inv_op_iCycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {Z : Cᵒᵖ} (h : S.op.X₂ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.cyclesOpIso.inv (CategoryTheory.CategoryStruct.comp S.op.iCycles h) = CategoryTheory.CategoryStruct.comp S.pOpcycles.op h - CategoryTheory.ShortComplex.op_pOpcycles_opcyclesOpIso_hom_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] {Z : Cᵒᵖ} (h : Opposite.op S.cycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.op.pOpcycles (CategoryTheory.CategoryStruct.comp S.opcyclesOpIso.hom h) = CategoryTheory.CategoryStruct.comp S.iCycles.op h - CategoryTheory.ShortComplex.cyclesOpIso_inv_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ).op S₁.cyclesOpIso.inv = CategoryTheory.CategoryStruct.comp S₂.cyclesOpIso.inv (CategoryTheory.ShortComplex.cyclesMap (CategoryTheory.ShortComplex.opMap φ)) - CategoryTheory.ShortComplex.opcyclesOpIso_inv_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasLeftHomology] [S₂.HasLeftHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap φ).op S₁.opcyclesOpIso.inv = CategoryTheory.CategoryStruct.comp S₂.opcyclesOpIso.inv (CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.ShortComplex.opMap φ)) - CategoryTheory.ShortComplex.cyclesOpIso_hom_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap (CategoryTheory.ShortComplex.opMap φ)) S₁.cyclesOpIso.hom = CategoryTheory.CategoryStruct.comp S₂.cyclesOpIso.hom (CategoryTheory.ShortComplex.opcyclesMap φ).op - CategoryTheory.ShortComplex.opcyclesOpIso_hom_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasLeftHomology] [S₂.HasLeftHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.ShortComplex.opMap φ)) S₁.opcyclesOpIso.hom = CategoryTheory.CategoryStruct.comp S₂.opcyclesOpIso.hom (CategoryTheory.ShortComplex.cyclesMap φ).op - CategoryTheory.ShortComplex.π_isoOpcyclesOfIsColimit_hom 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofork.π cc) (S.isoOpcyclesOfIsColimit hcc).hom = S.pOpcycles - CategoryTheory.ShortComplex.cyclesOpIso_hom_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] {Z : Cᵒᵖ} (h : Opposite.op S₁.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap (CategoryTheory.ShortComplex.opMap φ)) (CategoryTheory.CategoryStruct.comp S₁.cyclesOpIso.hom h) = CategoryTheory.CategoryStruct.comp S₂.cyclesOpIso.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ).op h) - CategoryTheory.ShortComplex.cyclesOpIso_inv_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] {Z : Cᵒᵖ} (h : S₁.op.cycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ).op (CategoryTheory.CategoryStruct.comp S₁.cyclesOpIso.inv h) = CategoryTheory.CategoryStruct.comp S₂.cyclesOpIso.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap (CategoryTheory.ShortComplex.opMap φ)) h) - CategoryTheory.ShortComplex.opcyclesOpIso_hom_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasLeftHomology] [S₂.HasLeftHomology] {Z : Cᵒᵖ} (h : Opposite.op S₁.cycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.ShortComplex.opMap φ)) (CategoryTheory.CategoryStruct.comp S₁.opcyclesOpIso.hom h) = CategoryTheory.CategoryStruct.comp S₂.opcyclesOpIso.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap φ).op h) - CategoryTheory.ShortComplex.opcyclesOpIso_inv_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasLeftHomology] [S₂.HasLeftHomology] {Z : Cᵒᵖ} (h : S₁.op.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.cyclesMap φ).op (CategoryTheory.CategoryStruct.comp S₁.opcyclesOpIso.inv h) = CategoryTheory.CategoryStruct.comp S₂.opcyclesOpIso.inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (CategoryTheory.ShortComplex.opMap φ)) h) - CategoryTheory.ShortComplex.pOpcycles_π_isoOpcyclesOfIsColimit_inv 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) : CategoryTheory.CategoryStruct.comp S.pOpcycles (S.isoOpcyclesOfIsColimit hcc).inv = CategoryTheory.Limits.Cofork.π cc - CategoryTheory.ShortComplex.π_isoOpcyclesOfIsColimit_hom_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofork.π cc) (CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).hom h) = CategoryTheory.CategoryStruct.comp S.pOpcycles h - CategoryTheory.ShortComplex.pOpcycles_π_isoOpcyclesOfIsColimit_inv_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.RightHomology
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasRightHomology] {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) {Z : C} (h : cc.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).inv h) = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Cofork.π cc) h - CategoryTheory.ShortComplex.homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : S.homology ⟶ S.opcycles - CategoryTheory.ShortComplex.RightHomologyData.canonical_Q 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.RightHomologyData.canonical S).Q = S.opcycles - CategoryTheory.ShortComplex.instMonoHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : CategoryTheory.Mono S.homologyι - CategoryTheory.ShortComplex.HomologyData.canonical_right_Q 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.HomologyData.canonical S).right.Q = S.opcycles - CategoryTheory.ShortComplex.RightHomologyData.canonical_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.RightHomologyData.canonical S).ι = S.homologyι - CategoryTheory.ShortComplex.RightHomologyData.canonical_p 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.RightHomologyData.canonical S).p = S.pOpcycles - CategoryTheory.ShortComplex.HomologyData.canonical_right_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.HomologyData.canonical S).right.ι = S.homologyι - CategoryTheory.ShortComplex.HomologyData.canonical_right_p 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : (CategoryTheory.ShortComplex.HomologyData.canonical S).right.p = S.pOpcycles - CategoryTheory.ShortComplex.asIsoHomologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] : S.homology ≅ S.opcycles - CategoryTheory.ShortComplex.mono_homologyMap_of_mono_opcyclesMap 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasHomology] [S₂.HasHomology] [CategoryTheory.Mono (CategoryTheory.ShortComplex.opcyclesMap φ)] : CategoryTheory.Mono (CategoryTheory.ShortComplex.homologyMap φ) - CategoryTheory.ShortComplex.mono_homologyMap_of_mono_opcyclesMap' 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasHomology] [S₂.HasHomology] (h : CategoryTheory.Mono (CategoryTheory.ShortComplex.opcyclesMap φ)) : CategoryTheory.Mono (CategoryTheory.ShortComplex.homologyMap φ) - CategoryTheory.ShortComplex.isIso_homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] : CategoryTheory.IsIso S.homologyι - CategoryTheory.ShortComplex.rightHomologyIso_hom_comp_homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : CategoryTheory.CategoryStruct.comp S.rightHomologyIso.hom S.homologyι = S.rightHomologyι - CategoryTheory.ShortComplex.homologyι_comp_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : CategoryTheory.CategoryStruct.comp S.homologyι S.fromOpcycles = 0 - CategoryTheory.ShortComplex.isIso_homologyMap_of_isIso_opcyclesMap_of_mono 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} {φ : S₁ ⟶ S₂} [S₁.HasHomology] [S₂.HasHomology] (h₁ : CategoryTheory.IsIso (CategoryTheory.ShortComplex.opcyclesMap φ)) (h₂ : CategoryTheory.Mono φ.τ₃) : CategoryTheory.IsIso (CategoryTheory.ShortComplex.homologyMap φ) - CategoryTheory.ShortComplex.liftHomology 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} [S.HasHomology] (k : A ⟶ S.opcycles) (hk : CategoryTheory.CategoryStruct.comp k S.fromOpcycles = 0) : A ⟶ S.homology - CategoryTheory.ShortComplex.π_leftRightHomologyComparison_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] [S.HasRightHomology] : CategoryTheory.CategoryStruct.comp S.leftHomologyπ (CategoryTheory.CategoryStruct.comp S.leftRightHomologyComparison S.rightHomologyι) = CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles - CategoryTheory.ShortComplex.homology_π_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : CategoryTheory.CategoryStruct.comp S.homologyπ S.homologyι = CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles - CategoryTheory.ShortComplex.asIsoHomologyι_hom 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] : (S.asIsoHomologyι hg).hom = S.homologyι - CategoryTheory.ShortComplex.RightHomologyData.homologyIso_hom_comp_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (h : S.RightHomologyData) : CategoryTheory.CategoryStruct.comp h.homologyIso.hom h.ι = CategoryTheory.CategoryStruct.comp S.homologyι h.opcyclesIso.hom - CategoryTheory.ShortComplex.RightHomologyData.homologyIso_inv_comp_homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (h : S.RightHomologyData) : CategoryTheory.CategoryStruct.comp h.homologyIso.inv S.homologyι = CategoryTheory.CategoryStruct.comp h.ι h.opcyclesIso.inv - CategoryTheory.ShortComplex.homologyIsKernel 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι S.homologyι ⋯) - CategoryTheory.ShortComplex.homologyι_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasHomology] [S₂.HasHomology] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homologyMap φ) S₂.homologyι = CategoryTheory.CategoryStruct.comp S₁.homologyι (CategoryTheory.ShortComplex.opcyclesMap φ) - CategoryTheory.ShortComplex.π_leftRightHomologyComparison_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasLeftHomology] [S.HasRightHomology] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.leftHomologyπ (CategoryTheory.CategoryStruct.comp S.leftRightHomologyComparison (CategoryTheory.CategoryStruct.comp S.rightHomologyι h)) = CategoryTheory.CategoryStruct.comp S.iCycles (CategoryTheory.CategoryStruct.comp S.pOpcycles h) - CategoryTheory.ShortComplex.rightHomologyIso_hom_comp_homologyι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.rightHomologyIso.hom (CategoryTheory.CategoryStruct.comp S.homologyι h) = CategoryTheory.CategoryStruct.comp S.rightHomologyι h - CategoryTheory.ShortComplex.homologyι_comp_fromOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] {Z : C} (h : S.X₃ ⟶ Z) : CategoryTheory.CategoryStruct.comp S.homologyι (CategoryTheory.CategoryStruct.comp S.fromOpcycles h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.homology_π_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.homologyπ (CategoryTheory.CategoryStruct.comp S.homologyι h) = CategoryTheory.CategoryStruct.comp S.iCycles (CategoryTheory.CategoryStruct.comp S.pOpcycles h) - CategoryTheory.ShortComplex.homologyι_comp_asIsoHomologyι_inv 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] : CategoryTheory.CategoryStruct.comp S.homologyι (S.asIsoHomologyι hg).inv = CategoryTheory.CategoryStruct.id S.homology - CategoryTheory.ShortComplex.liftHomology_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} [S.HasHomology] (k : A ⟶ S.opcycles) (hk : CategoryTheory.CategoryStruct.comp k S.fromOpcycles = 0) : CategoryTheory.CategoryStruct.comp (S.liftHomology k hk) S.homologyι = k - CategoryTheory.ShortComplex.homologyι_descOpcycles_eq_zero_of_boundary 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} [S.HasHomology] (k : S.X₂ ⟶ A) (x : S.X₃ ⟶ A) (hx : k = CategoryTheory.CategoryStruct.comp S.g x) : CategoryTheory.CategoryStruct.comp S.homologyι (S.descOpcycles k ⋯) = 0 - CategoryTheory.ShortComplex.homologyι_comp_asIsoHomologyι_inv_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] {Z : C} (h : S.homology ⟶ Z) : CategoryTheory.CategoryStruct.comp S.homologyι (CategoryTheory.CategoryStruct.comp (S.asIsoHomologyι hg).inv h) = h - CategoryTheory.ShortComplex.RightHomologyData.homologyIso_hom_comp_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (h : S.RightHomologyData) {Z : C} (h✝ : h.Q ⟶ Z) : CategoryTheory.CategoryStruct.comp h.homologyIso.hom (CategoryTheory.CategoryStruct.comp h.ι h✝) = CategoryTheory.CategoryStruct.comp S.homologyι (CategoryTheory.CategoryStruct.comp h.opcyclesIso.hom h✝) - CategoryTheory.ShortComplex.asIsoHomologyι_inv_comp_homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] : CategoryTheory.CategoryStruct.comp (S.asIsoHomologyι hg).inv S.homologyι = CategoryTheory.CategoryStruct.id S.opcycles - CategoryTheory.ShortComplex.RightHomologyData.homologyIso_inv_comp_homologyι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] (h : S.RightHomologyData) {Z : C} (h✝ : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp h.homologyIso.inv (CategoryTheory.CategoryStruct.comp S.homologyι h✝) = CategoryTheory.CategoryStruct.comp h.ι (CategoryTheory.CategoryStruct.comp h.opcyclesIso.inv h✝) - CategoryTheory.ShortComplex.asIsoHomologyι_inv_comp_homologyι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) (hg : S.g = 0) [S.HasHomology] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.asIsoHomologyι hg).inv (CategoryTheory.CategoryStruct.comp S.homologyι h) = h - CategoryTheory.ShortComplex.homologyι_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasHomology] [S₂.HasHomology] {Z : C} (h : S₂.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homologyMap φ) (CategoryTheory.CategoryStruct.comp S₂.homologyι h) = CategoryTheory.CategoryStruct.comp S₁.homologyι (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap φ) h) - CategoryTheory.ShortComplex.liftHomology_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} [S.HasHomology] (k : A ⟶ S.opcycles) (hk : CategoryTheory.CategoryStruct.comp k S.fromOpcycles = 0) {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.liftHomology k hk) (CategoryTheory.CategoryStruct.comp S.homologyι h) = CategoryTheory.CategoryStruct.comp k h - CategoryTheory.ShortComplex.homologyι_descOpcycles_eq_zero_of_boundary_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) {A : C} [S.HasHomology] (k : S.X₂ ⟶ A) (x : S.X₃ ⟶ A) (hx : k = CategoryTheory.CategoryStruct.comp S.g x) {Z : C} (h : A ⟶ Z) : CategoryTheory.CategoryStruct.comp S.homologyι (CategoryTheory.CategoryStruct.comp (S.descOpcycles k ⋯) h) = CategoryTheory.CategoryStruct.comp 0 h - CategoryTheory.ShortComplex.π_homologyMap_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) : CategoryTheory.CategoryStruct.comp S₁.homologyπ (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homologyMap φ) S₂.homologyι) = CategoryTheory.CategoryStruct.comp S₁.iCycles (CategoryTheory.CategoryStruct.comp φ.τ₂ S₂.pOpcycles) - CategoryTheory.ShortComplex.π_homologyMap_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Homology
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) {Z : C} (h : S₂.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S₁.homologyπ (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.homologyMap φ) (CategoryTheory.CategoryStruct.comp S₂.homologyι h)) = CategoryTheory.CategoryStruct.comp S₁.iCycles (CategoryTheory.CategoryStruct.comp φ.τ₂ (CategoryTheory.CategoryStruct.comp S₂.pOpcycles h)) - CategoryTheory.ShortComplex.quasiIso_iff_isIso_descOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.QuasiIso
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {S₁ S₂ : CategoryTheory.ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] (φ : S₁ ⟶ S₂) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0) : CategoryTheory.ShortComplex.QuasiIso φ ↔ CategoryTheory.IsIso (S₁.descOpcycles φ.τ₂ ⋯) - CategoryTheory.ShortComplex.mapOpcyclesIso 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] (S : CategoryTheory.ShortComplex C) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S.HasRightHomology] [F.PreservesRightHomologyOf S] : (S.map F).opcycles ≅ F.obj S.opcycles - CategoryTheory.ShortComplex.RightHomologyData.mapOpcyclesIso_eq 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S : CategoryTheory.ShortComplex C} (hr : S.RightHomologyData) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S.HasRightHomology] [F.PreservesRightHomologyOf S] : S.mapOpcyclesIso F = (hr.map F).opcyclesIso ≪≫ F.mapIso hr.opcyclesIso.symm - CategoryTheory.ShortComplex.mapOpcyclesIso_inv_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S₁.HasRightHomology] [S₂.HasRightHomology] [F.PreservesRightHomologyOf S₁] [F.PreservesRightHomologyOf S₂] : CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.ShortComplex.opcyclesMap φ)) (S₂.mapOpcyclesIso F).inv = CategoryTheory.CategoryStruct.comp (S₁.mapOpcyclesIso F).inv (CategoryTheory.ShortComplex.opcyclesMap (F.mapShortComplex.map φ)) - CategoryTheory.ShortComplex.mapOpcyclesIso_inv_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S₁.HasRightHomology] [S₂.HasRightHomology] [F.PreservesRightHomologyOf S₁] [F.PreservesRightHomologyOf S₂] {Z : D} (h : (S₂.map F).opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.ShortComplex.opcyclesMap φ)) (CategoryTheory.CategoryStruct.comp (S₂.mapOpcyclesIso F).inv h) = CategoryTheory.CategoryStruct.comp (S₁.mapOpcyclesIso F).inv (CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (F.mapShortComplex.map φ)) h) - CategoryTheory.ShortComplex.mapOpcyclesIso_hom_naturality 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S₁.HasRightHomology] [S₂.HasRightHomology] [F.PreservesRightHomologyOf S₁] [F.PreservesRightHomologyOf S₂] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (F.mapShortComplex.map φ)) (S₂.mapOpcyclesIso F).hom = CategoryTheory.CategoryStruct.comp (S₁.mapOpcyclesIso F).hom (F.map (CategoryTheory.ShortComplex.opcyclesMap φ)) - CategoryTheory.ShortComplex.mapOpcyclesIso_hom_naturality_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.PreservesHomology
{C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} D] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroMorphisms D] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (F : CategoryTheory.Functor C D) [F.PreservesZeroMorphisms] [S₁.HasRightHomology] [S₂.HasRightHomology] [F.PreservesRightHomologyOf S₁] [F.PreservesRightHomologyOf S₂] {Z : D} (h : F.obj S₂.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.opcyclesMap (F.mapShortComplex.map φ)) (CategoryTheory.CategoryStruct.comp (S₂.mapOpcyclesIso F).hom h) = CategoryTheory.CategoryStruct.comp (S₁.mapOpcyclesIso F).hom (CategoryTheory.CategoryStruct.comp (F.map (CategoryTheory.ShortComplex.opcyclesMap φ)) h) - CategoryTheory.ShortComplex.opcyclesMap_neg 📋 Mathlib.Algebra.Homology.ShortComplex.Preadditive
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap (-φ) = -CategoryTheory.ShortComplex.opcyclesMap φ - CategoryTheory.ShortComplex.opcyclesMap_sub 📋 Mathlib.Algebra.Homology.ShortComplex.Preadditive
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ φ' : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap (φ - φ') = CategoryTheory.ShortComplex.opcyclesMap φ - CategoryTheory.ShortComplex.opcyclesMap φ' - CategoryTheory.ShortComplex.opcyclesMap_add 📋 Mathlib.Algebra.Homology.ShortComplex.Preadditive
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ φ' : S₁ ⟶ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap (φ + φ') = CategoryTheory.ShortComplex.opcyclesMap φ + CategoryTheory.ShortComplex.opcyclesMap φ' - CategoryTheory.ShortComplex.homologyIsoImageICyclesCompPOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) : S.homology ≅ CategoryTheory.Limits.image (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles) - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.g'_eq 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {cc : CategoryTheory.Limits.CokernelCofork S.f} (hcc : CategoryTheory.Limits.IsColimit cc) : hcc.desc (CategoryTheory.Limits.CokernelCofork.ofπ S.g ⋯) = CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).hom S.fromOpcycles - CategoryTheory.ShortComplex.homologyIsoImageICyclesCompPOpcycles_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) : CategoryTheory.CategoryStruct.comp S.homologyIsoImageICyclesCompPOpcycles.hom (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles)) = S.homologyι - CategoryTheory.ShortComplex.homologyIsoImageICyclesCompPOpcycles_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp S.homologyIsoImageICyclesCompPOpcycles.hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles)) h) = CategoryTheory.CategoryStruct.comp S.homologyι h - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoImage 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] : H ≅ CategoryTheory.Limits.image (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles) - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology_inv_homologyι 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology S hkf hcc fac).hom S.homologyι = CategoryTheory.CategoryStruct.comp ι (S.isoOpcyclesOfIsColimit hcc).hom - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology_inv_homologyι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology S hkf hcc fac).hom (CategoryTheory.CategoryStruct.comp S.homologyι h) = CategoryTheory.CategoryStruct.comp ι (CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).hom h) - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology_hom_comp_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology S hkf hcc fac).inv ι = CategoryTheory.CategoryStruct.comp S.homologyι (S.isoOpcyclesOfIsColimit hcc).inv - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology_hom_comp_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] {Z : C} (h : cc.pt ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoHomology S hkf hcc fac).inv (CategoryTheory.CategoryStruct.comp ι h) = CategoryTheory.CategoryStruct.comp S.homologyι (CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).inv h) - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoImage_ι 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoImage S hkf hcc fac).hom (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles)) = CategoryTheory.CategoryStruct.comp ι (S.isoOpcyclesOfIsColimit hcc).hom - CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoImage_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.Abelian
{C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Abelian C] (S : CategoryTheory.ShortComplex C) {kf : CategoryTheory.Limits.KernelFork S.g} {cc : CategoryTheory.Limits.CokernelCofork S.f} (hkf : CategoryTheory.Limits.IsLimit kf) (hcc : CategoryTheory.Limits.IsColimit cc) {H : C} {π : kf.pt ⟶ H} {ι : H ⟶ cc.pt} (fac : CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Fork.ι kf) (CategoryTheory.Limits.Cofork.π cc) = CategoryTheory.CategoryStruct.comp π ι) [CategoryTheory.Epi π] [CategoryTheory.Mono ι] {Z : C} (h : S.opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (CategoryTheory.ShortComplex.HomologyData.ofEpiMonoFactorisation.isoImage S hkf hcc fac).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.image.ι (CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles)) h) = CategoryTheory.CategoryStruct.comp ι (CategoryTheory.CategoryStruct.comp (S.isoOpcyclesOfIsColimit hcc).hom h) - CategoryTheory.ShortComplex.Exact.mono_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {S : CategoryTheory.ShortComplex C} (hS : S.Exact) [S.HasRightHomology] : CategoryTheory.Mono S.fromOpcycles - CategoryTheory.ShortComplex.exact_iff_mono_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : S.Exact ↔ CategoryTheory.Mono S.fromOpcycles - CategoryTheory.ShortComplex.Exact.isIso_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Preadditive C] {S : CategoryTheory.ShortComplex C} [CategoryTheory.Balanced C] (hS : S.Exact) [CategoryTheory.Epi S.g] [S.HasRightHomology] : CategoryTheory.IsIso S.fromOpcycles - CategoryTheory.ShortComplex.exact_iff_iCycles_pOpcycles_zero 📋 Mathlib.Algebra.Homology.ShortComplex.Exact
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (S : CategoryTheory.ShortComplex C) [S.HasHomology] : S.Exact ↔ CategoryTheory.CategoryStruct.comp S.iCycles S.pOpcycles = 0 - CategoryTheory.ShortComplex.comp_pOpcycles_eq_zero_iff_up_to_refinements 📋 Mathlib.CategoryTheory.Abelian.Refinements
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Abelian C] {S : CategoryTheory.ShortComplex C} {A : C} (x₂ : A ⟶ S.X₂) : CategoryTheory.CategoryStruct.comp x₂ S.pOpcycles = 0 ↔ ∃ A' π, ∃ (_ : CategoryTheory.Epi π), ∃ x₁, CategoryTheory.CategoryStruct.comp π x₂ = CategoryTheory.CategoryStruct.comp x₁ S.f - CategoryTheory.ShortComplex.moduleCatOpcyclesIso 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) : S.opcycles ≅ ModuleCat.of R (↑S.X₂ ⧸ (ModuleCat.Hom.hom S.f).range) - CategoryTheory.ShortComplex.moduleCat_pOpcycles_eq_zero_iff 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) (x : ↑S.X₂) : (CategoryTheory.ConcreteCategory.hom S.pOpcycles) x = 0 ↔ x ∈ (ModuleCat.Hom.hom S.f).range - CategoryTheory.ShortComplex.moduleCat_pOpcycles_eq_iff 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) (x y : ↑S.X₂) : (CategoryTheory.ConcreteCategory.hom S.pOpcycles) x = (CategoryTheory.ConcreteCategory.hom S.pOpcycles) y ↔ x - y ∈ (ModuleCat.Hom.hom S.f).range - CategoryTheory.ShortComplex.pOpcycles_comp_moduleCatOpcyclesIso_hom 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) : CategoryTheory.CategoryStruct.comp S.pOpcycles S.moduleCatOpcyclesIso.hom = ModuleCat.ofHom (ModuleCat.Hom.hom S.f).range.mkQ - CategoryTheory.ShortComplex.pOpcycles_comp_moduleCatOpcyclesIso_hom_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) {Z : ModuleCat R} (h : ModuleCat.of R (↑S.X₂ ⧸ (ModuleCat.Hom.hom S.f).range) ⟶ Z) : CategoryTheory.CategoryStruct.comp S.pOpcycles (CategoryTheory.CategoryStruct.comp S.moduleCatOpcyclesIso.hom h) = CategoryTheory.CategoryStruct.comp (ModuleCat.ofHom (ModuleCat.Hom.hom S.f).range.mkQ) h - CategoryTheory.ShortComplex.pOpcycles_comp_moduleCatOpcyclesIso_hom_apply 📋 Mathlib.Algebra.Homology.ShortComplex.ModuleCat
{R : Type u} [Ring R] (S : CategoryTheory.ShortComplex (ModuleCat R)) (x : ↑S.X₂) : (CategoryTheory.ConcreteCategory.hom S.moduleCatOpcyclesIso.hom) ((CategoryTheory.ConcreteCategory.hom S.pOpcycles) x) = Submodule.Quotient.mk x - HomologicalComplex.opcyclesIsoSc' 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : K.opcycles j ≅ (K.sc' i j k).opcycles - HomologicalComplex.pOpcycles_opcyclesIsoSc'_inv 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : CategoryTheory.CategoryStruct.comp (K.sc' i j k).pOpcycles (K.opcyclesIsoSc' i j k hi hk).inv = K.pOpcycles j - HomologicalComplex.pOpcycles_opcyclesIsoSc'_hom 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : CategoryTheory.CategoryStruct.comp (K.pOpcycles j) (K.opcyclesIsoSc' i j k hi hk).hom = (K.sc' i j k).pOpcycles - HomologicalComplex.opcyclesIsoSc'_inv_fromOpcycles 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).inv (K.fromOpcycles j k) = (K.sc' i j k).fromOpcycles - HomologicalComplex.homologyIsoSc'_inv_ι 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : CategoryTheory.CategoryStruct.comp (K.homologyIsoSc' i j k hi hk).inv (K.homologyι j) = CategoryTheory.CategoryStruct.comp (K.sc' i j k).homologyι (K.opcyclesIsoSc' i j k hi hk).inv - HomologicalComplex.pOpcycles_opcyclesIsoSc'_inv_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] {Z : C} (h : K.opcycles j ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.sc' i j k).pOpcycles (CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).inv h) = CategoryTheory.CategoryStruct.comp (K.pOpcycles j) h - HomologicalComplex.pOpcycles_opcyclesIsoSc'_hom_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] {Z : C} (h : (K.sc' i j k).opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.pOpcycles j) (CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).hom h) = CategoryTheory.CategoryStruct.comp (K.sc' i j k).pOpcycles h - HomologicalComplex.opcyclesIsoSc'_inv_fromOpcycles_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] {Z : C} (h : K.X k ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).inv (CategoryTheory.CategoryStruct.comp (K.fromOpcycles j k) h) = CategoryTheory.CategoryStruct.comp (K.sc' i j k).fromOpcycles h - HomologicalComplex.homologyIsoSc'_hom_ι 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] : CategoryTheory.CategoryStruct.comp (K.homologyIsoSc' i j k hi hk).hom (K.sc' i j k).homologyι = CategoryTheory.CategoryStruct.comp (K.homologyι j) (K.opcyclesIsoSc' i j k hi hk).hom - HomologicalComplex.homologyIsoSc'_inv_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] {Z : C} (h : K.opcycles j ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.homologyIsoSc' i j k hi hk).inv (CategoryTheory.CategoryStruct.comp (K.homologyι j) h) = CategoryTheory.CategoryStruct.comp (K.sc' i j k).homologyι (CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).inv h) - HomologicalComplex.homologyIsoSc'_hom_ι_assoc 📋 Mathlib.Algebra.Homology.ShortComplex.HomologicalComplex
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {ι : Type u_2} {c : ComplexShape ι} (K : HomologicalComplex C c) (i j k : ι) (hi : c.prev j = i) (hk : c.next j = k) [K.HasHomology j] [(K.sc' i j k).HasHomology] {Z : C} (h : (K.sc' i j k).opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (K.homologyIsoSc' i j k hi hk).hom (CategoryTheory.CategoryStruct.comp (K.sc' i j k).homologyι h) = CategoryTheory.CategoryStruct.comp (K.homologyι j) (CategoryTheory.CategoryStruct.comp (K.opcyclesIsoSc' i j k hi hk).hom h) - CategoryTheory.ComposableArrows.IsComplex.opcyclesToCycles 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.IsComplex) (k : ℕ) (hk : k ≤ n := by lia) [(S.sc hS k ⋯).HasRightHomology] [(S.sc hS (k + 1) ⋯).HasLeftHomology] : (S.sc hS k ⋯).opcycles ⟶ (S.sc hS (k + 1) ⋯).cycles - CategoryTheory.ComposableArrows.Exact.opcyclesIsoCycles 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Balanced C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.Exact) (k : ℕ) (hk : k ≤ n := by lia) [h₁ : (hS.sc k ⋯).HasRightHomology] [h₂ : (hS.sc (k + 1) ⋯).HasLeftHomology] : (hS.sc k ⋯).opcycles ≅ (hS.sc (k + 1) ⋯).cycles - CategoryTheory.ComposableArrows.IsComplex.opcyclesToCycles_fac 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.IsComplex) (k : ℕ) (hk : k ≤ n := by lia) [(S.sc hS k ⋯).HasRightHomology] [(S.sc hS (k + 1) ⋯).HasLeftHomology] : CategoryTheory.CategoryStruct.comp (S.sc hS k ⋯).pOpcycles (CategoryTheory.CategoryStruct.comp (hS.opcyclesToCycles k ⋯) (S.sc hS (k + 1) ⋯).iCycles) = S.map' (k + 1) (k + 2) ⋯ ⋯ - CategoryTheory.ComposableArrows.Exact.opcyclesIsoCycles_hom_fac 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Balanced C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.Exact) (k : ℕ) (hk : k ≤ n := by lia) [h₁ : (hS.sc k ⋯).HasRightHomology] [h₂ : (hS.sc (k + 1) ⋯).HasLeftHomology] : CategoryTheory.CategoryStruct.comp (hS.sc k ⋯).pOpcycles (CategoryTheory.CategoryStruct.comp (hS.opcyclesIsoCycles k ⋯).hom (hS.sc (k + 1) ⋯).iCycles) = S.map' (k + 1) (k + 2) ⋯ ⋯ - CategoryTheory.ComposableArrows.IsComplex.opcyclesToCycles_fac_assoc 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.IsComplex) (k : ℕ) (hk : k ≤ n := by lia) [(S.sc hS k ⋯).HasRightHomology] [(S.sc hS (k + 1) ⋯).HasLeftHomology] {Z : C} (h : S.obj ⟨k + 1 + 1, ⋯⟩ ⟶ Z) : CategoryTheory.CategoryStruct.comp (S.sc hS k ⋯).pOpcycles (CategoryTheory.CategoryStruct.comp (hS.opcyclesToCycles k ⋯) (CategoryTheory.CategoryStruct.comp (S.sc hS (k + 1) ⋯).iCycles h)) = CategoryTheory.CategoryStruct.comp (S.map' (k + 1) (k + 2) ⋯ ⋯) h - CategoryTheory.ComposableArrows.Exact.opcyclesIsoCycles_hom_fac_assoc 📋 Mathlib.Algebra.Homology.ExactSequenceFour
{C : Type u_1} [CategoryTheory.Category.{u_2, u_1} C] [CategoryTheory.Preadditive C] [CategoryTheory.Balanced C] {n : ℕ} {S : CategoryTheory.ComposableArrows C (n + 3)} (hS : S.Exact) (k : ℕ) (hk : k ≤ n := by lia) [h₁ : (hS.sc k ⋯).HasRightHomology] [h₂ : (hS.sc (k + 1) ⋯).HasLeftHomology] {Z : C} (h : S.obj ⟨k + 1 + 1, ⋯⟩ ⟶ Z) : CategoryTheory.CategoryStruct.comp (hS.sc k ⋯).pOpcycles (CategoryTheory.CategoryStruct.comp (hS.opcyclesIsoCycles k ⋯).hom (CategoryTheory.CategoryStruct.comp (hS.sc (k + 1) ⋯).iCycles h)) = CategoryTheory.CategoryStruct.comp (S.map' (k + 1) (k + 2) ⋯ ⋯) h - CategoryTheory.ShortComplex.opcyclesMap_smul 📋 Mathlib.Algebra.Homology.ShortComplex.Linear
{R : Type u_1} {C : Type u_2} [Semiring R] [CategoryTheory.Category.{v_1, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Linear R C] {S₁ S₂ : CategoryTheory.ShortComplex C} (φ : S₁ ⟶ S₂) (a : R) [S₁.HasRightHomology] [S₂.HasRightHomology] : CategoryTheory.ShortComplex.opcyclesMap (a • φ) = a • CategoryTheory.ShortComplex.opcyclesMap φ - CategoryTheory.Abelian.SpectralObject.opcyclesIso 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).opcycles ≅ X.opcycles f₂ f₃ n₁ - CategoryTheory.Abelian.SpectralObject.p_opcyclesIso_hom 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : CategoryTheory.CategoryStruct.comp (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).pOpcycles (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).hom = X.pOpcycles f₂ f₃ n₁ - CategoryTheory.Abelian.SpectralObject.kernelSequenceOpcyclesEIso 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : X.kernelSequenceOpcyclesE f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂ ≅ { X₁ := (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).homology, X₂ := (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).opcycles, X₃ := (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).X₃, f := (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).homologyι, g := (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).fromOpcycles, zero := ⋯ } - CategoryTheory.Abelian.SpectralObject.p_opcyclesIso_hom_assoc 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) {Z : C} (h : X.opcycles f₂ f₃ n₁ ⟶ Z) : CategoryTheory.CategoryStruct.comp (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).pOpcycles (CategoryTheory.CategoryStruct.comp (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).hom h) = CategoryTheory.CategoryStruct.comp (X.pOpcycles f₂ f₃ n₁) h - CategoryTheory.Abelian.SpectralObject.p_opcyclesIso_inv 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : CategoryTheory.CategoryStruct.comp (X.pOpcycles f₂ f₃ n₁) (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).inv = (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).pOpcycles - CategoryTheory.Abelian.SpectralObject.opcyclesIso_hom_δFromOpcycles 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) : CategoryTheory.CategoryStruct.comp (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).hom (X.δFromOpcycles f₁ f₂ f₃ n₁ n₂ hn₂) = (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).fromOpcycles - CategoryTheory.Abelian.SpectralObject.p_opcyclesIso_inv_assoc 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) {Z : C} (h : (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).opcycles ⟶ Z) : CategoryTheory.CategoryStruct.comp (X.pOpcycles f₂ f₃ n₁) (CategoryTheory.CategoryStruct.comp (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).inv h) = CategoryTheory.CategoryStruct.comp (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).pOpcycles h - CategoryTheory.Abelian.SpectralObject.opcyclesIso_hom_δFromOpcycles_assoc 📋 Mathlib.Algebra.Homology.SpectralObject.Page
{C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{v_1, u_1} C] [CategoryTheory.Category.{v_2, u_2} ι] [CategoryTheory.Abelian C] (X : CategoryTheory.Abelian.SpectralObject C ι) {i j k l : ι} (f₁ : i ⟶ j) (f₂ : j ⟶ k) (f₃ : k ⟶ l) (n₀ n₁ n₂ : ℤ) (hn₁ : n₀ + 1 = n₁ := by lia) (hn₂ : n₁ + 1 = n₂ := by lia) {Z : C} (h : (X.H n₂).obj (CategoryTheory.ComposableArrows.mk₁ f₁) ⟶ Z) : CategoryTheory.CategoryStruct.comp (X.opcyclesIso f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).hom (CategoryTheory.CategoryStruct.comp (X.δFromOpcycles f₁ f₂ f₃ n₁ n₂ hn₂) h) = CategoryTheory.CategoryStruct.comp (X.shortComplex f₁ f₂ f₃ n₀ n₁ n₂ hn₁ hn₂).fromOpcycles h
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59