Documentation

Mathlib.Algebra.Homology.ShortComplex.Homology

Homology of short complexes #

In this file, we shall define the homology of short complexes S, i.e. diagrams f : X₁ ⟶ X₂ and g : X₂ ⟶ X₃ such that f ≫ g = 0. We shall say that [S.HasHomology] when there exists h : S.HomologyData. A homology data for S consists of compatible left/right homology data left and right. The left homology data left involves an object left.H that is a cokernel of the canonical map S.X₁ ⟶ K where K is a kernel of g. On the other hand, the dual notion right.H is a kernel of the canonical morphism Q ⟶ S.X₃ when Q is a cokernel of f. The compatibility that is required involves an isomorphism left.H ≅ right.H which makes a certain pentagon commute. When such a homology data exists, S.homology shall be defined as h.left.H for a chosen h : S.HomologyData.

This definition requires very little assumption on the category (only the existence of zero morphisms). We shall prove that in abelian categories, all short complexes have homology data.

Note: This definition arose by the end of the Liquid Tensor Experiment which contained a structure has_homology which is quite similar to S.HomologyData. After the category ShortComplex C was introduced by J. Riou, A. Topaz suggested such a structure could be used as a basis for the definition of homology.

A homology data for a short complex consists of two compatible left and right homology data

Instances For
    structure CategoryTheory.ShortComplex.HomologyMapData {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :

    A homology map data for a morphism φ : S₁ ⟶ S₂ where both S₁ and S₂ are equipped with homology data consists of left and right homology map data.

    Instances For
      theorem CategoryTheory.ShortComplex.HomologyMapData.comm_assoc {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (h : HomologyMapData φ h₁ h₂) {Z : C} (h✝ : h₂.right.H Z) :
      instance CategoryTheory.ShortComplex.HomologyMapData.instInhabited {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} :
      Inhabited (HomologyMapData φ h₁ h₂)
      Equations
        instance CategoryTheory.ShortComplex.HomologyMapData.instUnique {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} :
        Unique (HomologyMapData φ h₁ h₂)
        Equations

          A choice of the (unique) homology map data associated with a morphism φ : S₁ ⟶ S₂ where both short complexes S₁ and S₂ are equipped with homology data.

          Equations
            Instances For
              theorem CategoryTheory.ShortComplex.HomologyMapData.congr_left_φH {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} {γ₁ γ₂ : HomologyMapData φ h₁ h₂} (eq : γ₁ = γ₂) :
              γ₁.left.φH = γ₂.left.φH

              When the first map S.f is zero, this is the homology data on S given by any limit kernel fork of S.g

              Equations
                Instances For

                  When the first map S.f is zero, this is the homology data on S given by the chosen kernel S.g

                  Equations
                    Instances For

                      When the second map S.g is zero, this is the homology data on S given by any colimit cokernel cofork of S.f

                      Equations
                        Instances For

                          When the second map S.g is zero, this is the homology data on S given by the chosen cokernel S.f

                          Equations
                            Instances For

                              When both S.f and S.g are zero, the middle object S.X₂ gives a homology data on S

                              Equations
                                Instances For
                                  noncomputable def CategoryTheory.ShortComplex.HomologyData.ofEpiOfIsIsoOfMono {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h : S₁.HomologyData) [Epi φ.τ₁] [IsIso φ.τ₂] [Mono φ.τ₃] :

                                  If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso and φ.τ₃ is mono, then a homology data for S₁ induces a homology data for S₂. The inverse construction is ofEpiOfIsIsoOfMono'.

                                  Equations
                                    Instances For
                                      noncomputable def CategoryTheory.ShortComplex.HomologyData.ofEpiOfIsIsoOfMono' {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h : S₂.HomologyData) [Epi φ.τ₁] [IsIso φ.τ₂] [Mono φ.τ₃] :

                                      If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso and φ.τ₃ is mono, then a homology data for S₂ induces a homology data for S₁. The inverse construction is ofEpiOfIsIsoOfMono.

                                      Equations
                                        Instances For
                                          noncomputable def CategoryTheory.ShortComplex.HomologyData.ofIso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h : S₁.HomologyData) :

                                          If e : S₁ ≅ S₂ is an isomorphism of short complexes and h₁ : HomologyData S₁, this is the homology data for S₂ deduced from the isomorphism.

                                          Equations
                                            Instances For
                                              @[simp]
                                              @[simp]
                                              @[simp]

                                              A homology data for a short complex S induces a homology data for S.op.

                                              Equations
                                                Instances For

                                                  A homology data for a short complex S in the opposite category induces a homology data for S.unop.

                                                  Equations
                                                    Instances For

                                                      A short complex S has homology when there exists a S.HomologyData

                                                      Instances

                                                        A chosen S.HomologyData for a short complex S that has homology

                                                        Equations
                                                          Instances For
                                                            instance CategoryTheory.ShortComplex.hasHomology_of_hasCokernel {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {X Y : C} (f : X Y) (Z : C) [Limits.HasCokernel f] :
                                                            { X₁ := X, X₂ := Y, X₃ := Z, f := f, g := 0, zero := }.HasHomology
                                                            instance CategoryTheory.ShortComplex.hasHomology_of_hasKernel {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {Y Z : C} (g : Y Z) (X : C) [Limits.HasKernel g] :
                                                            { X₁ := X, X₂ := Y, X₃ := Z, f := 0, g := g, zero := }.HasHomology
                                                            instance CategoryTheory.ShortComplex.hasHomology_of_zeros {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (X Y Z : C) :
                                                            { X₁ := X, X₂ := Y, X₃ := Z, f := 0, g := 0, zero := }.HasHomology

                                                            The homology map data associated to the identity morphism of a short complex.

                                                            Equations
                                                              Instances For

                                                                The homology map data associated to the zero morphism between two short complexes.

                                                                Equations
                                                                  Instances For
                                                                    def CategoryTheory.ShortComplex.HomologyMapData.comp {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} {h₃ : S₃.HomologyData} (ψ : HomologyMapData φ h₁ h₂) (ψ' : HomologyMapData φ' h₂ h₃) :

                                                                    The composition of homology map data.

                                                                    Equations
                                                                      Instances For
                                                                        @[simp]
                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.comp_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} {h₃ : S₃.HomologyData} (ψ : HomologyMapData φ h₁ h₂) (ψ' : HomologyMapData φ' h₂ h₃) :
                                                                        (ψ.comp ψ').left = ψ.left.comp ψ'.left
                                                                        @[simp]
                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.comp_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} {h₃ : S₃.HomologyData} (ψ : HomologyMapData φ h₁ h₂) (ψ' : HomologyMapData φ' h₂ h₃) :
                                                                        (ψ.comp ψ').right = ψ.right.comp ψ'.right
                                                                        def CategoryTheory.ShortComplex.HomologyMapData.op {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :
                                                                        HomologyMapData (opMap φ) h₂.op h₁.op

                                                                        A homology map data for a morphism of short complexes induces a homology map data in the opposite category.

                                                                        Equations
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem CategoryTheory.ShortComplex.HomologyMapData.op_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :
                                                                            ψ.op.left = ψ.right.op
                                                                            @[simp]
                                                                            theorem CategoryTheory.ShortComplex.HomologyMapData.op_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :
                                                                            ψ.op.right = ψ.left.op
                                                                            def CategoryTheory.ShortComplex.HomologyMapData.unop {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex Cᵒᵖ} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :

                                                                            A homology map data for a morphism of short complexes in the opposite category induces a homology map data in the original category.

                                                                            Equations
                                                                              Instances For
                                                                                @[simp]
                                                                                theorem CategoryTheory.ShortComplex.HomologyMapData.unop_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex Cᵒᵖ} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :
                                                                                @[simp]
                                                                                theorem CategoryTheory.ShortComplex.HomologyMapData.unop_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex Cᵒᵖ} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (ψ : HomologyMapData φ h₁ h₂) :
                                                                                noncomputable def CategoryTheory.ShortComplex.HomologyMapData.ofZeros {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0) :
                                                                                HomologyMapData φ (HomologyData.ofZeros S₁ hf₁ hg₁) (HomologyData.ofZeros S₂ hf₂ hg₂)

                                                                                When S₁.f, S₁.g, S₂.f and S₂.g are all zero, the action on homology of a morphism φ : S₁ ⟶ S₂ is given by the action φ.τ₂ on the middle objects.

                                                                                Equations
                                                                                  Instances For
                                                                                    @[simp]
                                                                                    theorem CategoryTheory.ShortComplex.HomologyMapData.ofZeros_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0) :
                                                                                    (ofZeros φ hf₁ hg₁ hf₂ hg₂).right = RightHomologyMapData.ofZeros φ hf₁ hg₁ hf₂ hg₂
                                                                                    @[simp]
                                                                                    theorem CategoryTheory.ShortComplex.HomologyMapData.ofZeros_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (hg₁ : S₁.g = 0) (hf₂ : S₂.f = 0) (hg₂ : S₂.g = 0) :
                                                                                    (ofZeros φ hf₁ hg₁ hf₂ hg₂).left = LeftHomologyMapData.ofZeros φ hf₁ hg₁ hf₂ hg₂
                                                                                    def CategoryTheory.ShortComplex.HomologyMapData.ofIsColimitCokernelCofork {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hg₁ : S₁.g = 0) (c₁ : Limits.CokernelCofork S₁.f) (hc₁ : Limits.IsColimit c₁) (hg₂ : S₂.g = 0) (c₂ : Limits.CokernelCofork S₂.f) (hc₂ : Limits.IsColimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp φ.τ₂ (Limits.Cofork.π c₂) = CategoryStruct.comp (Limits.Cofork.π c₁) f) :

                                                                                    When S₁.g and S₂.g are zero and we have chosen colimit cokernel coforks c₁ and c₂ for S₁.f and S₂.f respectively, the action on homology of a morphism φ : S₁ ⟶ S₂ of short complexes is given by the unique morphism f : c₁.pt ⟶ c₂.pt such that φ.τ₂ ≫ c₂.π = c₁.π ≫ f.

                                                                                    Equations
                                                                                      Instances For
                                                                                        @[simp]
                                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.ofIsColimitCokernelCofork_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hg₁ : S₁.g = 0) (c₁ : Limits.CokernelCofork S₁.f) (hc₁ : Limits.IsColimit c₁) (hg₂ : S₂.g = 0) (c₂ : Limits.CokernelCofork S₂.f) (hc₂ : Limits.IsColimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp φ.τ₂ (Limits.Cofork.π c₂) = CategoryStruct.comp (Limits.Cofork.π c₁) f) :
                                                                                        (ofIsColimitCokernelCofork φ hg₁ c₁ hc₁ hg₂ c₂ hc₂ f comm).right = RightHomologyMapData.ofIsColimitCokernelCofork φ hg₁ c₁ hc₁ hg₂ c₂ hc₂ f comm
                                                                                        @[simp]
                                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.ofIsColimitCokernelCofork_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hg₁ : S₁.g = 0) (c₁ : Limits.CokernelCofork S₁.f) (hc₁ : Limits.IsColimit c₁) (hg₂ : S₂.g = 0) (c₂ : Limits.CokernelCofork S₂.f) (hc₂ : Limits.IsColimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp φ.τ₂ (Limits.Cofork.π c₂) = CategoryStruct.comp (Limits.Cofork.π c₁) f) :
                                                                                        (ofIsColimitCokernelCofork φ hg₁ c₁ hc₁ hg₂ c₂ hc₂ f comm).left = LeftHomologyMapData.ofIsColimitCokernelCofork φ hg₁ c₁ hc₁ hg₂ c₂ hc₂ f comm
                                                                                        def CategoryTheory.ShortComplex.HomologyMapData.ofIsLimitKernelFork {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (c₁ : Limits.KernelFork S₁.g) (hc₁ : Limits.IsLimit c₁) (hf₂ : S₂.f = 0) (c₂ : Limits.KernelFork S₂.g) (hc₂ : Limits.IsLimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp (Limits.Fork.ι c₁) φ.τ₂ = CategoryStruct.comp f (Limits.Fork.ι c₂)) :
                                                                                        HomologyMapData φ (HomologyData.ofIsLimitKernelFork S₁ hf₁ c₁ hc₁) (HomologyData.ofIsLimitKernelFork S₂ hf₂ c₂ hc₂)

                                                                                        When S₁.f and S₂.f are zero and we have chosen limit kernel forks c₁ and c₂ for S₁.g and S₂.g respectively, the action on homology of a morphism φ : S₁ ⟶ S₂ of short complexes is given by the unique morphism f : c₁.pt ⟶ c₂.pt such that c₁.ι ≫ φ.τ₂ = f ≫ c₂.ι.

                                                                                        Equations
                                                                                          Instances For
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.ShortComplex.HomologyMapData.ofIsLimitKernelFork_right {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (c₁ : Limits.KernelFork S₁.g) (hc₁ : Limits.IsLimit c₁) (hf₂ : S₂.f = 0) (c₂ : Limits.KernelFork S₂.g) (hc₂ : Limits.IsLimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp (Limits.Fork.ι c₁) φ.τ₂ = CategoryStruct.comp f (Limits.Fork.ι c₂)) :
                                                                                            (ofIsLimitKernelFork φ hf₁ c₁ hc₁ hf₂ c₂ hc₂ f comm).right = RightHomologyMapData.ofIsLimitKernelFork φ hf₁ c₁ hc₁ hf₂ c₂ hc₂ f comm
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.ShortComplex.HomologyMapData.ofIsLimitKernelFork_left {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (hf₁ : S₁.f = 0) (c₁ : Limits.KernelFork S₁.g) (hc₁ : Limits.IsLimit c₁) (hf₂ : S₂.f = 0) (c₂ : Limits.KernelFork S₂.g) (hc₂ : Limits.IsLimit c₂) (f : c₁.pt c₂.pt) (comm : CategoryStruct.comp (Limits.Fork.ι c₁) φ.τ₂ = CategoryStruct.comp f (Limits.Fork.ι c₂)) :
                                                                                            (ofIsLimitKernelFork φ hf₁ c₁ hc₁ hf₂ c₂ hc₂ f comm).left = LeftHomologyMapData.ofIsLimitKernelFork φ hf₁ c₁ hc₁ hf₂ c₂ hc₂ f comm

                                                                                            When both maps S.f and S.g of a short complex S are zero, this is the homology map data (for the identity of S) which relates the homology data ofZeros and ofIsColimitCokernelCofork.

                                                                                            Equations
                                                                                              Instances For

                                                                                                When both maps S.f and S.g of a short complex S are zero, this is the homology map data (for the identity of S) which relates the homology data HomologyData.ofIsLimitKernelFork and ofZeros .

                                                                                                Equations
                                                                                                  Instances For

                                                                                                    This homology map data expresses compatibilities of the homology data constructed by HomologyData.ofEpiOfIsIsoOfMono

                                                                                                    Equations
                                                                                                      Instances For

                                                                                                        This homology map data expresses compatibilities of the homology data constructed by HomologyData.ofEpiOfIsIsoOfMono'

                                                                                                        Equations
                                                                                                          Instances For

                                                                                                            The homology of a short complex is the left.H field of a chosen homology data.

                                                                                                            Equations
                                                                                                              Instances For

                                                                                                                When a short complex has homology, this is the canonical isomorphism S.leftHomology ≅ S.homology.

                                                                                                                Equations
                                                                                                                  Instances For

                                                                                                                    When a short complex has homology, this is the canonical isomorphism S.rightHomology ≅ S.homology.

                                                                                                                    Equations
                                                                                                                      Instances For

                                                                                                                        When a short complex has homology, its homology can be computed using any left homology data.

                                                                                                                        Equations
                                                                                                                          Instances For

                                                                                                                            When a short complex has homology, its homology can be computed using any right homology data.

                                                                                                                            Equations
                                                                                                                              Instances For
                                                                                                                                def CategoryTheory.ShortComplex.homologyMap' {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                h₁.left.H h₂.left.H

                                                                                                                                Given a morphism φ : S₁ ⟶ S₂ of short complexes and homology data h₁ and h₂ for S₁ and S₂ respectively, this is the induced homology map h₁.left.H ⟶ h₁.left.H.

                                                                                                                                Equations
                                                                                                                                  Instances For
                                                                                                                                    noncomputable def CategoryTheory.ShortComplex.homologyMap {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) [S₁.HasHomology] [S₂.HasHomology] :

                                                                                                                                    The homology map S₁.homology ⟶ S₂.homology induced by a morphism S₁ ⟶ S₂ of short complexes.

                                                                                                                                    Equations
                                                                                                                                      Instances For
                                                                                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.homologyMap'_eq {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) :
                                                                                                                                        homologyMap' φ h₁ h₂ = γ.left.φH
                                                                                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.cyclesMap'_eq {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) :
                                                                                                                                        cyclesMap' φ h₁.left h₂.left = γ.left.φK
                                                                                                                                        theorem CategoryTheory.ShortComplex.HomologyMapData.opcyclesMap'_eq {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.HomologyData} {h₂ : S₂.HomologyData} (γ : HomologyMapData φ h₁ h₂) :
                                                                                                                                        opcyclesMap' φ h₁.right h₂.right = γ.right.φQ
                                                                                                                                        @[simp]
                                                                                                                                        theorem CategoryTheory.ShortComplex.homologyMap'_zero {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                        homologyMap' 0 h₁ h₂ = 0
                                                                                                                                        theorem CategoryTheory.ShortComplex.homologyMap'_comp {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) (h₃ : S₃.HomologyData) :
                                                                                                                                        homologyMap' (CategoryStruct.comp φ₁ φ₂) h₁ h₃ = CategoryStruct.comp (homologyMap' φ₁ h₁ h₂) (homologyMap' φ₂ h₂ h₃)
                                                                                                                                        @[simp]
                                                                                                                                        theorem CategoryTheory.ShortComplex.homologyMap_comp {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} [S₁.HasHomology] [S₂.HasHomology] [S₃.HasHomology] (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) :
                                                                                                                                        def CategoryTheory.ShortComplex.homologyMapIso' {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                        h₁.left.H h₂.left.H

                                                                                                                                        Given an isomorphism S₁ ≅ S₂ of short complexes and homology data h₁ and h₂ for S₁ and S₂ respectively, this is the induced homology isomorphism h₁.left.H ≅ h₁.left.H.

                                                                                                                                        Equations
                                                                                                                                          Instances For
                                                                                                                                            @[simp]
                                                                                                                                            theorem CategoryTheory.ShortComplex.homologyMapIso'_hom {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                            (homologyMapIso' e h₁ h₂).hom = homologyMap' e.hom h₁ h₂
                                                                                                                                            @[simp]
                                                                                                                                            theorem CategoryTheory.ShortComplex.homologyMapIso'_inv {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                            (homologyMapIso' e h₁ h₂).inv = homologyMap' e.inv h₂ h₁
                                                                                                                                            instance CategoryTheory.ShortComplex.isIso_homologyMap'_of_isIso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) [IsIso φ] (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :
                                                                                                                                            IsIso (homologyMap' φ h₁ h₂)
                                                                                                                                            noncomputable def CategoryTheory.ShortComplex.homologyMapIso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) [S₁.HasHomology] [S₂.HasHomology] :

                                                                                                                                            The homology isomorphism S₁.homology ⟶ S₂.homology induced by an isomorphism S₁ ≅ S₂ of short complexes.

                                                                                                                                            Equations
                                                                                                                                              Instances For

                                                                                                                                                If a short complex S has both a left homology data h₁ and a right homology data h₂, this is the canonical morphism h₁.H ⟶ h₂.H.

                                                                                                                                                Equations
                                                                                                                                                  Instances For

                                                                                                                                                    If a short complex S has both a left and right homology, this is the canonical morphism S.leftHomology ⟶ S.rightHomology.

                                                                                                                                                    Equations
                                                                                                                                                      Instances For

                                                                                                                                                        This is the homology data for a short complex S that is obtained from a left homology data h₁ and a right homology data h₂ when the comparison morphism leftRightHomologyComparison' h₁ h₂ : h₁.H ⟶ h₂.H is an isomorphism.

                                                                                                                                                        Equations
                                                                                                                                                          Instances For

                                                                                                                                                            We shall say that a category C is a category with homology when all short complexes have homology.

                                                                                                                                                            Instances

                                                                                                                                                              The homology functor ShortComplex C ⥤ C for a category C with homology.

                                                                                                                                                              Equations
                                                                                                                                                                Instances For

                                                                                                                                                                  The canonical morphism S.cycles ⟶ S.homology for a short complex S that has homology.

                                                                                                                                                                  Equations
                                                                                                                                                                    Instances For

                                                                                                                                                                      The canonical morphism S.homology ⟶ S.opcycles for a short complex S that has homology.

                                                                                                                                                                      Equations
                                                                                                                                                                        Instances For

                                                                                                                                                                          The homology S.homology of a short complex is the cokernel of the morphism S.toCycles : S.X₁ ⟶ S.cycles.

                                                                                                                                                                          Equations
                                                                                                                                                                            Instances For

                                                                                                                                                                              The homology S.homology of a short complex is the kernel of the morphism S.fromOpcycles : S.opcycles ⟶ S.X₃.

                                                                                                                                                                              Equations
                                                                                                                                                                                Instances For

                                                                                                                                                                                  Given a morphism k : S.cycles ⟶ A such that S.toCycles ≫ k = 0, this is the induced morphism S.homology ⟶ A.

                                                                                                                                                                                  Equations
                                                                                                                                                                                    Instances For

                                                                                                                                                                                      Given a morphism k : A ⟶ S.opcycles such that k ≫ S.fromOpcycles = 0, this is the induced morphism A ⟶ S.homology.

                                                                                                                                                                                      Equations
                                                                                                                                                                                        Instances For

                                                                                                                                                                                          The homology of a short complex S identifies to the kernel of the induced morphism cokernel S.f ⟶ S.X₃.

                                                                                                                                                                                          Equations
                                                                                                                                                                                            Instances For

                                                                                                                                                                                              The homology of a short complex S identifies to the cokernel of the induced morphism S.X₁ ⟶ kernel S.g.

                                                                                                                                                                                              Equations
                                                                                                                                                                                                Instances For

                                                                                                                                                                                                  The canonical isomorphism S.op.homologyOpposite.op S.homology when a short complex S has homology.

                                                                                                                                                                                                  Equations
                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                      theorem CategoryTheory.ShortComplex.homologyMap'_op {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.HomologyData) (h₂ : S₂.HomologyData) :

                                                                                                                                                                                                      The natural isomorphism (homologyFunctor C).op ≅ opFunctor C ⋙ homologyFunctor Cᵒᵖ which relates the homology in C and in Cᵒᵖ.

                                                                                                                                                                                                      Equations
                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                          The canonical isomorphism S.cycles ≅ S.homology when S.f = 0.

                                                                                                                                                                                                          Equations
                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                              The canonical isomorphism S.homology ≅ S.opcycles when S.g = 0.

                                                                                                                                                                                                              Equations
                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                  Given a short complex S such that S.HasHomology, this is the canonical left homology data for S whose K and H fields are respectively S.cycles and S.homology.

                                                                                                                                                                                                                  Equations
                                                                                                                                                                                                                    Instances For

                                                                                                                                                                                                                      Given a short complex S such that S.HasHomology, this is the canonical right homology data for S whose Q and H fields are respectively S.opcycles and S.homology.

                                                                                                                                                                                                                      Equations
                                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                                          Given a short complex S such that S.HasHomology, this is the canonical homology data for S whose left.K, left/right.H and right.Q fields are respectively S.cycles, S.homology and S.opcycles.

                                                                                                                                                                                                                          Equations
                                                                                                                                                                                                                            Instances For