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

      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
        • One or more equations did not get rendered due to their size.
        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
          • One or more equations did not get rendered due to their size.
          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
            • One or more equations did not get rendered due to their size.
            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
              • One or more equations did not get rendered due to their size.
              Instances For

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

                Equations
                • One or more equations did not get rendered due to their size.
                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
                  • One or more equations did not get rendered due to their size.
                  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
                    • One or more equations did not get rendered due to their size.
                    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

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

                                Equations
                                • One or more equations did not get rendered due to their size.
                                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₂) :
                                        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
                                        • One or more equations did not get rendered due to their size.
                                        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
                                          • One or more equations did not get rendered due to their size.
                                          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
                                            • One or more equations did not get rendered due to their size.
                                            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
                                              • One or more equations did not get rendered due to their size.
                                              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
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

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

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For

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

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    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, 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
                                                                  • One or more equations did not get rendered due to their size.
                                                                  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
                                                                          • One or more equations did not get rendered due to their size.
                                                                          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
                                                                              • One or more equations did not get rendered due to their size.
                                                                              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
                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                        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
                                                                                                          • One or more equations did not get rendered due to their size.
                                                                                                          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
                                                                                                            • One or more equations did not get rendered due to their size.
                                                                                                            Instances For