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
    • One or more equations did not get rendered due to their size.
    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
                • 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 right 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 right homology data on S given by any colimit cokernel cofork of 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 right 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 right homology data on S

                        Equations
                        • One or more equations did not get rendered due to their size.
                        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
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.ShortComplex.RightHomologyData.copy_Q {C : Type u_1} [Category.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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
                                • One or more equations did not get rendered due to their size.
                                Instances For

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

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

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

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

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

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        structure CategoryTheory.ShortComplex.RightHomologyMapData {C : Type u_1} [Category.{v_1, u_1} C] [Limits.HasZeroMorphisms C] {S₁ S₂ : ShortComplex C} (φ : S₁ S₂) (h₁ : S₁.RightHomologyData) (h₂ : S₂.RightHomologyData) :
                                        Type v_1

                                        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.{v_1, 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) :

                                          commutation with ι

                                          @[simp]

                                          commutation with p

                                          @[simp]

                                          commutation with g'

                                          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.{v_1, 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.{v_1, 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.{v_1, 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₃) :
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                theorem CategoryTheory.ShortComplex.RightHomologyMapData.congr_φH {C : Type u_1} [Category.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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
                                                      • 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 right homology map data (for the identity of S) which relates the right homology data ofZeros and ofIsColimitCokernelCofork.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For
                                                                                  @[simp]
                                                                                  @[simp]
                                                                                  def CategoryTheory.ShortComplex.opcyclesMapIso' {C : Type u_1} [Category.{v_1, 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
                                                                                  • One or more equations did not get rendered due to their size.
                                                                                  Instances For
                                                                                    @[simp]
                                                                                    theorem CategoryTheory.ShortComplex.opcyclesMapIso'_hom {C : Type u_1} [Category.{v_1, 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.{v_1, 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.{v_1, 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
                                                                                    • One or more equations did not get rendered due to their size.
                                                                                    Instances For
                                                                                      noncomputable def CategoryTheory.ShortComplex.opcyclesMapIso {C : Type u_1} [Category.{v_1, 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.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
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          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
                                                                                            • One or more equations did not get rendered due to their size.
                                                                                            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.{v_1, 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
                                                                                                  • ψ.op = { φQ := ψ.φK.op, φH := ψ.φH.op, commp := , commg' := , commι := }
                                                                                                  Instances For
                                                                                                    @[simp]
                                                                                                    theorem CategoryTheory.ShortComplex.LeftHomologyMapData.op_φQ {C : Type u_1} [Category.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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
                                                                                                      • ψ.op = { φK := ψ.φQ.op, φH := ψ.φH.op, commi := , commf' := , commπ := }
                                                                                                      Instances For
                                                                                                        @[simp]
                                                                                                        theorem CategoryTheory.ShortComplex.RightHomologyMapData.op_φH {C : Type u_1} [Category.{v_1, 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.{v_1, 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.{v_1, 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.{v_1, 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
                                                                                                                        • One or more equations did not get rendered due to their size.
                                                                                                                        Instances For

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

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

                                                                                                                            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

                                                                                                                                    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.{v_1, 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₂✝)