Documentation

Mathlib.Algebra.Homology.ShortComplex.RightHomology

Right Homology of short complexes #

In this file, we define the dual notions to those defined in Algebra.Homology.ShortComplex.LeftHomology. In particular, if S : ShortComplex C is a short complex consisting of two composable maps f : X₁ ⟶ X₂ and g : X₂ ⟶ X₃ such that f ≫ g = 0, we define h : S.RightHomologyData to be the datum of morphisms p : X₂ ⟶ Q and ι : HQ such that Q identifies to the cokernel of f and H to the kernel of the induced map g' : Q ⟶ X₃.

When such a S.RightHomologyData exists, we shall say that [S.HasRightHomology] and we define S.rightHomology to be the H field of a chosen right homology data. Similarly, we define S.opcycles to be the Q field.

In Homology.lean, when S has two compatible left and right homology data (i.e. they give the same H up to a canonical isomorphism), we shall define [S.HasHomology] and S.homology.

A right homology data for a short complex S consists of morphisms p : S.X₂ ⟶ Q and ι : HQ such that p identifies Q with the cokernel of f : S.X₁ ⟶ S.X₂, and that ι identifies H with the kernel of the induced map g' : Q ⟶ S.X₃

Instances For

    The chosen cokernels and kernels of the limits API give a RightHomologyData

    Equations
      Instances For

        Any morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0 descends to a morphism Q ⟶ A

        Equations
          Instances For

            The morphism from the (right) homology attached to a morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0.

            Equations
              Instances For

                The morphism h.Q ⟶ S.X₃ induced by S.g : S.X₂ ⟶ S.X₃ and the fact that h.Q is a cokernel of S.f : S.X₁ ⟶ S.X₂.

                Equations
                  Instances For

                    For h : S.RightHomologyData, this is a restatement of h., saying that ι : h.H ⟶ h.Q is a kernel of h.g' : h.Q ⟶ S.X₃.

                    Equations
                      Instances For

                        The morphism A ⟶ H induced by a morphism k : A ⟶ Q such that k ≫ g' = 0

                        Equations
                          Instances For

                            When the first map S.f is zero, this is the right 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 right 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 right homology data on S given by any colimit cokernel cofork of S.g

                                    Equations
                                      Instances For

                                        When the second map S.g is zero, this is the right 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 right homology data on S

                                            Equations
                                              Instances For

                                                Given a right homology data h of a short complex S, we can construct another right homology data by choosing another cokernel and kernel that are isomorphic to the ones in h.

                                                Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem CategoryTheory.ShortComplex.RightHomologyData.copy_Q {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S : ShortComplex C} (h : S.RightHomologyData) {Q' H' : C} (eQ : Q' h.Q) (eH : H' h.H) :
                                                    (h.copy eQ eH).Q = Q'
                                                    @[simp]
                                                    @[simp]
                                                    theorem CategoryTheory.ShortComplex.RightHomologyData.copy_H {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S : ShortComplex C} (h : S.RightHomologyData) {Q' H' : C} (eQ : Q' h.Q) (eH : H' h.H) :
                                                    (h.copy eQ eH).H = H'

                                                    A short complex S has right homology when there exists a S.RightHomologyData

                                                    Instances

                                                      A chosen S.RightHomologyData for a short complex S that has right homology

                                                      Equations
                                                        Instances For
                                                          instance CategoryTheory.ShortComplex.HasRightHomology.of_hasKernel {C : Type u_1} [Category.{u_2, u_1} 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 := }.HasRightHomology
                                                          instance CategoryTheory.ShortComplex.HasRightHomology.of_hasCokernel {C : Type u_1} [Category.{u_2, u_1} 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 := }.HasRightHomology
                                                          instance CategoryTheory.ShortComplex.HasRightHomology.of_zeros {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] (X Y Z : C) :
                                                          { X₁ := X, X₂ := Y, X₃ := Z, f := 0, g := 0, zero := }.HasRightHomology

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

                                                          Equations
                                                            Instances For

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

                                                              Equations
                                                                Instances For

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

                                                                  Equations
                                                                    Instances For

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

                                                                      Equations
                                                                        Instances For
                                                                          structure CategoryTheory.ShortComplex.RightHomologyMapData {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                          Type u_2

                                                                          Given right homology data h₁ and h₂ for two short complexes S₁ and S₂, a RightHomologyMapData for a morphism φ : S₁ ⟶ S₂ consists of a description of the induced morphisms on the Q (opcycles) and H (right homology) fields of h₁ and h₂.

                                                                          Instances For
                                                                            @[simp]
                                                                            theorem CategoryTheory.ShortComplex.RightHomologyMapData.commι_assoc {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (self : RightHomologyMapData φ h₁ h₂) {Z : C} (h : h₂.Q Z) :
                                                                            @[simp]

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

                                                                            Equations
                                                                              Instances For

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

                                                                                Equations
                                                                                  Instances For
                                                                                    def CategoryTheory.ShortComplex.RightHomologyMapData.comp {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} {h₃ : S₃.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) (ψ' : RightHomologyMapData φ' h₂ h₃) :

                                                                                    The composition of right homology map data.

                                                                                    Equations
                                                                                      Instances For
                                                                                        @[simp]
                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.comp_φH {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} {h₃ : S₃.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) (ψ' : RightHomologyMapData φ' h₂ h₃) :
                                                                                        @[simp]
                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.comp_φQ {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} {φ : S₁ S₂} {φ' : S₂ S₃} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} {h₃ : S₃.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) (ψ' : RightHomologyMapData φ' h₂ h₃) :
                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.congr_φH {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} {γ₁ γ₂ : RightHomologyMapData φ h₁ h₂} (eq : γ₁ = γ₂) :
                                                                                        γ₁.φH = γ₂.φH
                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.congr_φQ {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} {γ₁ γ₂ : RightHomologyMapData φ h₁ h₂} (eq : γ₁ = γ₂) :
                                                                                        γ₁.φQ = γ₂.φQ
                                                                                        def CategoryTheory.ShortComplex.RightHomologyMapData.ofZeros {C : Type u_1} [Category.{u_2, u_1} 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) :

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

                                                                                        Equations
                                                                                          Instances For
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.ShortComplex.RightHomologyMapData.ofZeros_φH {C : Type u_1} [Category.{u_2, u_1} 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₂).φH = φ.τ₂
                                                                                            @[simp]
                                                                                            theorem CategoryTheory.ShortComplex.RightHomologyMapData.ofZeros_φQ {C : Type u_1} [Category.{u_2, u_1} 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₂).φQ = φ.τ₂
                                                                                            def CategoryTheory.ShortComplex.RightHomologyMapData.ofIsLimitKernelFork {C : Type u_1} [Category.{u_2, u_1} 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₂)) :

                                                                                            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 right 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.RightHomologyMapData.ofIsLimitKernelFork_φH {C : Type u_1} [Category.{u_2, u_1} 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).φH = f
                                                                                                @[simp]
                                                                                                theorem CategoryTheory.ShortComplex.RightHomologyMapData.ofIsLimitKernelFork_φQ {C : Type u_1} [Category.{u_2, u_1} 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).φQ = φ.τ₂
                                                                                                def CategoryTheory.ShortComplex.RightHomologyMapData.ofIsColimitCokernelCofork {C : Type u_1} [Category.{u_2, u_1} 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 right 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.RightHomologyMapData.ofIsColimitCokernelCofork_φH {C : Type u_1} [Category.{u_2, u_1} 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).φH = f
                                                                                                    @[simp]
                                                                                                    theorem CategoryTheory.ShortComplex.RightHomologyMapData.ofIsColimitCokernelCofork_φQ {C : Type u_1} [Category.{u_2, u_1} 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).φQ = f

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

                                                                                                    Equations
                                                                                                      Instances For

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

                                                                                                        Equations
                                                                                                          Instances For

                                                                                                            The right homology of a short complex, given by the H field of a chosen right homology data.

                                                                                                            Equations
                                                                                                              Instances For

                                                                                                                The "opcycles" of a short complex, given by the Q field of a chosen right homology data. This is the dual notion to cycles.

                                                                                                                Equations
                                                                                                                  Instances For

                                                                                                                    The projection S.X₂ ⟶ S.opcycles.

                                                                                                                    Equations
                                                                                                                      Instances For

                                                                                                                        The canonical map S.opcycles ⟶ X₃.

                                                                                                                        Equations
                                                                                                                          Instances For

                                                                                                                            When S.f = 0, this is the canonical isomorphism S.opcycles ≅ S.X₂ induced by S.pOpcycles.

                                                                                                                            Equations
                                                                                                                              Instances For

                                                                                                                                When S.g = 0, this is the canonical isomorphism S.opcycles ≅ S.rightHomology induced by S.rightHomologyι.

                                                                                                                                Equations
                                                                                                                                  Instances For

                                                                                                                                    The (unique) right homology map data associated to a morphism of short complexes that are both equipped with right homology data.

                                                                                                                                    Equations
                                                                                                                                      Instances For
                                                                                                                                        def CategoryTheory.ShortComplex.rightHomologyMap' {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                        h₁.H h₂.H

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

                                                                                                                                        Equations
                                                                                                                                          Instances For
                                                                                                                                            def CategoryTheory.ShortComplex.opcyclesMap' {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                            h₁.Q h₂.Q

                                                                                                                                            Given a morphism φ : S₁ ⟶ S₂ of short complexes and right homology data h₁ and h₂ for S₁ and S₂ respectively, this is the induced morphism h₁.K ⟶ h₁.K on opcycles.

                                                                                                                                            Equations
                                                                                                                                              Instances For
                                                                                                                                                @[simp]
                                                                                                                                                theorem CategoryTheory.ShortComplex.p_opcyclesMap' {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                @[simp]
                                                                                                                                                theorem CategoryTheory.ShortComplex.p_opcyclesMap'_assoc {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) {Z : C} (h : h₂.Q Z) :
                                                                                                                                                @[simp]
                                                                                                                                                @[simp]

                                                                                                                                                The (right) homology map S₁.rightHomology ⟶ S₂.rightHomology induced by a morphism S₁ ⟶ S₂ of short complexes.

                                                                                                                                                Equations
                                                                                                                                                  Instances For
                                                                                                                                                    noncomputable def CategoryTheory.ShortComplex.opcyclesMap {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] (φ : S₁ S₂) :

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

                                                                                                                                                    Equations
                                                                                                                                                      Instances For
                                                                                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.opcyclesMap'_eq {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (γ : RightHomologyMapData φ h₁ h₂) :
                                                                                                                                                        opcyclesMap' φ h₁ h₂ = γ.φQ
                                                                                                                                                        theorem CategoryTheory.ShortComplex.rightHomologyMap'_comp {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (h₃ : S₃.RightHomologyData) :
                                                                                                                                                        rightHomologyMap' (CategoryStruct.comp φ₁ φ₂) h₁ h₃ = CategoryStruct.comp (rightHomologyMap' φ₁ h₁ h₂) (rightHomologyMap' φ₂ h₂ h₃)
                                                                                                                                                        theorem CategoryTheory.ShortComplex.rightHomologyMap'_comp_assoc {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (h₃ : S₃.RightHomologyData) {Z : C} (h : h₃.H Z) :
                                                                                                                                                        theorem CategoryTheory.ShortComplex.opcyclesMap'_comp {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (h₃ : S₃.RightHomologyData) :
                                                                                                                                                        opcyclesMap' (CategoryStruct.comp φ₁ φ₂) h₁ h₃ = CategoryStruct.comp (opcyclesMap' φ₁ h₁ h₂) (opcyclesMap' φ₂ h₂ h₃)
                                                                                                                                                        theorem CategoryTheory.ShortComplex.opcyclesMap'_comp_assoc {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) (h₃ : S₃.RightHomologyData) {Z : C} (h : h₃.Q Z) :
                                                                                                                                                        @[simp]
                                                                                                                                                        theorem CategoryTheory.ShortComplex.opcyclesMap_comp {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ S₃ : ShortComplex C} [S₁.HasRightHomology] [S₂.HasRightHomology] [S₃.HasRightHomology] (φ₁ : S₁ S₂) (φ₂ : S₂ S₃) :
                                                                                                                                                        def CategoryTheory.ShortComplex.rightHomologyMapIso' {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                        h₁.H h₂.H

                                                                                                                                                        An isomorphism of short complexes S₁ ≅ S₂ induces an isomorphism on the H fields of right homology data of S₁ and S₂.

                                                                                                                                                        Equations
                                                                                                                                                          Instances For
                                                                                                                                                            @[simp]
                                                                                                                                                            @[simp]
                                                                                                                                                            def CategoryTheory.ShortComplex.opcyclesMapIso' {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                            h₁.Q h₂.Q

                                                                                                                                                            An isomorphism of short complexes S₁ ≅ S₂ induces an isomorphism on the Q fields of right homology data of S₁ and S₂.

                                                                                                                                                            Equations
                                                                                                                                                              Instances For
                                                                                                                                                                @[simp]
                                                                                                                                                                theorem CategoryTheory.ShortComplex.opcyclesMapIso'_hom {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                                (opcyclesMapIso' e h₁ h₂).hom = opcyclesMap' e.hom h₁ h₂
                                                                                                                                                                @[simp]
                                                                                                                                                                theorem CategoryTheory.ShortComplex.opcyclesMapIso'_inv {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                                (opcyclesMapIso' e h₁ h₂).inv = opcyclesMap' e.inv h₂ h₁
                                                                                                                                                                instance CategoryTheory.ShortComplex.isIso_opcyclesMap'_of_isIso {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) [IsIso φ] (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                                IsIso (opcyclesMap' φ h₁ h₂)

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

                                                                                                                                                                Equations
                                                                                                                                                                  Instances For
                                                                                                                                                                    noncomputable def CategoryTheory.ShortComplex.opcyclesMapIso {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (e : S₁ S₂) [S₁.HasRightHomology] [S₂.HasRightHomology] :

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

                                                                                                                                                                    Equations
                                                                                                                                                                      Instances For

                                                                                                                                                                        The isomorphism S.rightHomology ≅ h.H induced by a right homology data h for a short complex S.

                                                                                                                                                                        Equations
                                                                                                                                                                          Instances For

                                                                                                                                                                            The isomorphism S.opcycles ≅ h.Q induced by a right homology data h for a short complex S.

                                                                                                                                                                            Equations
                                                                                                                                                                              Instances For

                                                                                                                                                                                The right homology functor ShortComplex C ⥤ C, where the right homology of a short complex S is understood as a kernel of the obvious map S.fromOpcycles : S.opcycles ⟶ S.X₃ where S.opcycles is a cokernel of S.f : S.X₁ ⟶ S.X₂.

                                                                                                                                                                                Equations
                                                                                                                                                                                  Instances For

                                                                                                                                                                                    The opcycles functor ShortComplex C ⥤ C which sends a short complex S to S.opcycles which is a cokernel of S.f : S.X₁ ⟶ S.X₂.

                                                                                                                                                                                    Equations
                                                                                                                                                                                      Instances For

                                                                                                                                                                                        The natural transformation S.rightHomology ⟶ S.opcycles for all short complexes S.

                                                                                                                                                                                        Equations
                                                                                                                                                                                          Instances For

                                                                                                                                                                                            The natural transformation S.X₂ ⟶ S.opcycles for all short complexes S.

                                                                                                                                                                                            Equations
                                                                                                                                                                                              Instances For

                                                                                                                                                                                                The natural transformation S.opcycles ⟶ S.X₃ for all short complexes S.

                                                                                                                                                                                                Equations
                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                    def CategoryTheory.ShortComplex.LeftHomologyMapData.op {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (ψ : LeftHomologyMapData φ h₁ h₂) :

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

                                                                                                                                                                                                    Equations
                                                                                                                                                                                                      Instances For
                                                                                                                                                                                                        @[simp]
                                                                                                                                                                                                        theorem CategoryTheory.ShortComplex.LeftHomologyMapData.op_φQ {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (ψ : LeftHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                        ψ.op.φQ = ψ.φK.op
                                                                                                                                                                                                        @[simp]
                                                                                                                                                                                                        theorem CategoryTheory.ShortComplex.LeftHomologyMapData.op_φH {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (ψ : LeftHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                        ψ.op.φH = ψ.φH.op

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

                                                                                                                                                                                                        Equations
                                                                                                                                                                                                          Instances For
                                                                                                                                                                                                            @[simp]
                                                                                                                                                                                                            theorem CategoryTheory.ShortComplex.LeftHomologyMapData.unop_φQ {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex Cᵒᵖ} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (ψ : LeftHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                            ψ.unop.φQ = ψ.φK.unop
                                                                                                                                                                                                            @[simp]
                                                                                                                                                                                                            theorem CategoryTheory.ShortComplex.LeftHomologyMapData.unop_φH {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex Cᵒᵖ} {φ : S₁ S₂} {h₁ : S₁.LeftHomologyData} {h₂ : S₂.LeftHomologyData} (ψ : LeftHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                            ψ.unop.φH = ψ.φH.unop
                                                                                                                                                                                                            def CategoryTheory.ShortComplex.RightHomologyMapData.op {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) :

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

                                                                                                                                                                                                            Equations
                                                                                                                                                                                                              Instances For
                                                                                                                                                                                                                @[simp]
                                                                                                                                                                                                                theorem CategoryTheory.ShortComplex.RightHomologyMapData.op_φH {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                                ψ.op.φH = ψ.φH.op
                                                                                                                                                                                                                @[simp]
                                                                                                                                                                                                                theorem CategoryTheory.ShortComplex.RightHomologyMapData.op_φK {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} {φ : S₁ S₂} {h₁ : S₁.RightHomologyData} {h₂ : S₂.RightHomologyData} (ψ : RightHomologyMapData φ h₁ h₂) :
                                                                                                                                                                                                                ψ.op.φK = ψ.φQ.op

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

                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                    @[simp]
                                                                                                                                                                                                                    @[simp]

                                                                                                                                                                                                                    The right homology in the opposite category of the opposite of a short complex identifies to the left homology of this short complex.

                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                        The left homology in the opposite category of the opposite of a short complex identifies to the right homology of this short complex.

                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                            The opcycles in the opposite category of the opposite of a short complex identifies to the cycles of this short complex.

                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                The cycles in the opposite category of the opposite of a short complex identifies to the opcycles of this short complex.

                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                                    @[simp]
                                                                                                                                                                                                                                    theorem CategoryTheory.ShortComplex.leftHomologyMap'_op {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.LeftHomologyData) (h₂ : S₂.LeftHomologyData) :
                                                                                                                                                                                                                                    (leftHomologyMap' φ h₁ h₂).op = rightHomologyMap' (opMap φ) h₂.op h₁.op
                                                                                                                                                                                                                                    @[simp]
                                                                                                                                                                                                                                    theorem CategoryTheory.ShortComplex.rightHomologyMap'_op {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                                                                                                                                                                                                                    (rightHomologyMap' φ h₁ h₂).op = leftHomologyMap' (opMap φ) h₂.op h₁.op

                                                                                                                                                                                                                                    If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso and φ.τ₃ is mono, then a right homology data for S₁ induces a right homology data for S₂ with the same Q and H fields. This is obtained by dualising LeftHomologyData.ofEpiOfIsIsoOfMono'. The inverse construction is ofEpiOfIsIsoOfMono'.

                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                        If φ : S₁ ⟶ S₂ is a morphism of short complexes such that φ.τ₁ is epi, φ.τ₂ is an iso and φ.τ₃ is mono, then a right homology data for S₂ induces a right homology data for S₁ with the same Q and H fields. This is obtained by dualising LeftHomologyData.ofEpiOfIsIsoOfMono. The inverse construction is ofEpiOfIsIsoOfMono.

                                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                                          Instances For

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

                                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                                              Instances For

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

                                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                                  Instances For

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

                                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                                        If a morphism of short complexes φ : S₁ ⟶ S₂ is such that φ.τ₁ is epi, φ.τ₂ is an iso, and φ.τ₃ is mono, then the induced morphism on right homology is an isomorphism.

                                                                                                                                                                                                                                                        The opposite of the right homology functor is the left homology functor.

                                                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                                                            The opposite of the left homology functor is the right homology functor.

                                                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                                                A morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0 descends to a morphism S.opcycles ⟶ A.

                                                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                                                                                    Via S.pOpcycles : S.X₂ ⟶ S.opcycles, the object S.opcycles identifies to the cokernel of S.f : S.X₁ ⟶ S.X₂.

                                                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                                                        The canonical isomorphism S.opcycles ≅ cokernel S.f.

                                                                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                                                                            The morphism S.rightHomology ⟶ A obtained from a morphism k : S.X₂ ⟶ A such that S.f ≫ k = 0.

                                                                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                                                                Via S.rightHomologyι : S.rightHomology ⟶ S.opcycles, the object S.rightHomology identifies to the kernel of S.fromOpcycles : S.opcycles ⟶ S.X₃.

                                                                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                                                                  Instances For

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

                                                                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                                                                        The following lemmas and instance gives a sufficient condition for a morphism of short complexes to induce an isomorphism on opcycles.

                                                                                                                                                                                                                                                                                        theorem CategoryTheory.ShortComplex.isIso_opcyclesMap'_of_isIso_of_epi {C : Type u_1} [Category.{u_2, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₂ : IsIso φ.τ₂) (h₁ : Epi φ.τ₁) (h₁✝ : S₁.RightHomologyData) (h₂✝ : S₂.RightHomologyData) :
                                                                                                                                                                                                                                                                                        IsIso (opcyclesMap' φ h₁✝ h₂✝)