Documentation

TauCeti.Algebra.Homology.Bifunctor.TwoTermSupport

Two-term support sequences under cochain bifunctor totalization #

The high term of a two-term cochain complex is a subcomplex, and the low term is its quotient. A zero-preserving bifunctor carries this support sequence to a natural short exact sequence after cochain totalization. The proof compares each degree with its two supported summands. Splittings are degreewise data; they do not assert that the sequence splits as cochain complexes.

Single-row comparisons identify the endpoint functors with shifted row actions. Specified changes of endpoint functors transport both the short exactness and the degreewise splitting through an isomorphism of short complexes. Only the chosen left complex and its two single-row endpoints need totalizations. Row comparisons and short-complex constructions require a preadditive target; degreewise splittings also require binary biproducts. Abelian hypotheses enter only the short-exactness theorem.

Attribution #

The single-row component comparison, inverse, differential calculation and Hom.isoOfComponents construction adapt CategoryTheory.Functor.mapBifunctorLeftUnitor in TauCeti.Algebra.Homology.Bifunctor.Unitor to a row in arbitrary cochain degree. That formalization adapts Mathlib's CategoryTheory.GradedObject.mapBifunctorLeftUnitor and HomologicalComplex.leftUnitor, both due to Joël Riou. The original sources are Mathlib.CategoryTheory.GradedObject.Unitor and Mathlib.Algebra.Homology.Monoidal. The totalization primitives are also Joël Riou's Mathlib bifunctor construction.

A cochain complex with two distinct supported rows, its chosen endpoint identifications, and vanishing differentials required for the high inclusion and low projection.

  • The supported cochain complex.

  • a : ℤ

    The degree of the low term.

  • b : ℤ

    The degree of the high term.

  • A : C₁

    The chosen low-term object.

  • B : C₁

    The chosen high-term object.

  • low : self.K.X self.a ≅ self.A

    Identify the actual low term.

  • high : self.K.X self.b ≅ self.B

    Identify the actual high term.

  • ne : self.a ≠ self.b

    The two supported degrees are distinct.

  • outgoing (j : ℤ) : self.K.d self.b j = 0

    All differentials out of the high term vanish.

  • support (j : ℤ) : j ≠ self.a → j ≠ self.b → CategoryTheory.Limits.IsZero (self.K.X j)

    Every other term is zero.

Instances For

    All differentials into the low term vanish: a differential into the low term starts at the high term, where every differential vanishes, or at a zero term.

    The supported high term includes as a single-row subcomplex.

    Instances For

      The supported low term is the single-row quotient complex.

      Instances For
        @[simp]

        The high-row inclusion is the supplied high-term identification at its supported degree.

        @[simp]

        The low-row projection is the supplied low-term identification at its supported degree.

        The high-row inclusion and low-row projection form a short complex.

        Instances For

          Totalization against a single supported row is the corresponding shifted row functor.

          Instances For

            A row supported in cochain degree zero has the unshifted row functor.

            Instances For
              @[simp]

              The inverse row comparison includes its supported totalization summand.

              @[simp]

              The row comparison sends the supported inclusion to the row-object identification.

              @[simp]

              The row comparison sends the supported inclusion to the row-object identification.

              @[simp]

              The inverse degree-zero comparison includes the unshifted supported summand.

              @[simp]

              The degree-zero comparison sends its inclusion to the unshifted row identification.

              Apply totalization to the supported short complex, using only its three left complexes.

              Instances For

                In each cochain degree the mapped support sequence is the canonical biproduct sequence.

                Instances For
                  @[simp]

                  The reframed inclusion is the high-row totalization precomposed with its endpoint change.

                  @[simp]
                  theorem CategoryTheory.Functor.mapTwoTermSupportReframed_f_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Limits.HasZeroMorphisms C₁] [Limits.HasZeroMorphisms C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (A : C₁), (F.obj A).PreservesZeroMorphisms] [Limits.HasZeroObject C₁] (s : TauCeti.TwoTermSupport C₁) [∀ (N : CochainComplex C₂ ℤ), HomologicalComplex.HasMapBifunctor s.K N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B).HasMapBifunctor N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A).HasMapBifunctor N F (ComplexShape.up ℤ)] {E₁ E₃ : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (u₁ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B) ≅ E₁) (u₃ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A) ≅ E₃) {Z : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (h : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) s.K ⟶ Z) :

                  The reframed inclusion is the high-row totalization precomposed with its endpoint change.

                  @[simp]

                  The reframed projection is the low-row totalization followed by its endpoint change.

                  @[simp]
                  theorem CategoryTheory.Functor.mapTwoTermSupportReframed_g_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Limits.HasZeroMorphisms C₁] [Limits.HasZeroMorphisms C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (A : C₁), (F.obj A).PreservesZeroMorphisms] [Limits.HasZeroObject C₁] (s : TauCeti.TwoTermSupport C₁) [∀ (N : CochainComplex C₂ ℤ), HomologicalComplex.HasMapBifunctor s.K N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B).HasMapBifunctor N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A).HasMapBifunctor N F (ComplexShape.up ℤ)] {E₁ E₃ : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (u₁ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B) ≅ E₁) (u₃ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A) ≅ E₃) {Z : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (h : E₃ ⟶ Z) :

                  The reframed projection is the low-row totalization followed by its endpoint change.

                  Transport the canonical degreewise splitting through the endpoint-change isomorphism.

                  Instances For

                    The reframed totalization term is the biproduct of its two public endpoint terms.

                    Instances For
                      @[simp]

                      The reframed inclusion is the first inclusion under its degreewise comparison.

                      @[simp]
                      theorem CategoryTheory.Functor.mapTwoTermSupportReframed_f_degreewiseIso_hom_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Limits.HasZeroMorphisms C₁] [Limits.HasZeroMorphisms C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (A : C₁), (F.obj A).PreservesZeroMorphisms] [Limits.HasZeroObject C₁] (s : TauCeti.TwoTermSupport C₁) [∀ (N : CochainComplex C₂ ℤ), HomologicalComplex.HasMapBifunctor s.K N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B).HasMapBifunctor N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A).HasMapBifunctor N F (ComplexShape.up ℤ)] [Limits.HasBinaryBiproducts D] {E₁ E₃ : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (u₁ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B) ≅ E₁) (u₃ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A) ≅ E₃) (N : CochainComplex C₂ ℤ) (j : ℤ) {Z : D} (h : ((F.mapTwoTermSupportReframed s u₁ u₃).X₁.obj N).X j ⊞ ((F.mapTwoTermSupportReframed s u₁ u₃).X₃.obj N).X j ⟶ Z) :

                      The reframed inclusion is the first inclusion under its degreewise comparison.

                      @[simp]

                      The reframed projection is the second projection under its degreewise comparison.

                      @[simp]
                      theorem CategoryTheory.Functor.mapTwoTermSupportReframed_degreewiseIso_hom_snd_assoc {C₁ : Type u_1} {C₂ : Type u_2} {D : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} D] [Limits.HasZeroMorphisms C₁] [Limits.HasZeroMorphisms C₂] [Preadditive D] (F : Functor C₁ (Functor C₂ D)) [F.PreservesZeroMorphisms] [∀ (A : C₁), (F.obj A).PreservesZeroMorphisms] [Limits.HasZeroObject C₁] (s : TauCeti.TwoTermSupport C₁) [∀ (N : CochainComplex C₂ ℤ), HomologicalComplex.HasMapBifunctor s.K N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B).HasMapBifunctor N F (ComplexShape.up ℤ)] [∀ (N : CochainComplex C₂ ℤ), ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A).HasMapBifunctor N F (ComplexShape.up ℤ)] [Limits.HasBinaryBiproducts D] {E₁ E₃ : Functor (CochainComplex C₂ ℤ) (CochainComplex D ℤ)} (u₁ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.b).obj s.B) ≅ E₁) (u₃ : F.mapBifunctorLeft (ComplexShape.up ℤ) (ComplexShape.up ℤ) ((HomologicalComplex.single C₁ (ComplexShape.up ℤ) s.a).obj s.A) ≅ E₃) (N : CochainComplex C₂ ℤ) (j : ℤ) {Z : D} (h : ((F.mapTwoTermSupportReframed s u₁ u₃).X₃.obj N).X j ⟶ Z) :

                      The reframed projection is the second projection under its degreewise comparison.