Documentation

Mathlib.CategoryTheory.Triangulated.Pretriangulated

Pretriangulated Categories #

This file contains the definition of pretriangulated categories and triangulated functors between them.

Implementation Notes #

We work under the assumption that pretriangulated categories are preadditive categories, but not necessarily additive categories, as is assumed in some sources.

TODO: generalise this to n-angulated categories as in https://arxiv.org/abs/1006.4592

A preadditive category C with an additive shift, and a class of "distinguished triangles" relative to that shift is called pretriangulated if the following hold:

  • Any triangle that is isomorphic to a distinguished triangle is also distinguished.
  • Any triangle of the form (X,X,0,id,0,0) is distinguished.
  • For any morphism f : X ⟶ Y there exists a distinguished triangle of the form (X,Y,Z,f,g,h).
  • The triangle (X,Y,Z,f,g,h) is distinguished if and only if (Y,Z,X⟦1⟧,g,h,-f⟦1⟧) is.
  • Given a diagram:
          f       g       h
      X  ───> Y  ───> Z  ───> X⟦1⟧
      │       │                │
      │a      │b               │a⟦1⟧'
      V       V                V
      X' ───> Y' ───> Z' ───> X'⟦1⟧
          f'      g'      h'
    
    where the left square commutes, and whose rows are distinguished triangles, there exists a morphism c : Z ⟶ Z' such that (a,b,c) is a triangle morphism.

Stacks Tag 0145

Instances

    distinguished triangles in a pretriangulated category

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

      Given any distinguished triangle T, then we know T.rotate is also distinguished.

      Given any distinguished triangle T, then we know T.inv_rotate is also distinguished.

      Given any distinguished triangle

            f       g       h
        X  ───> Y  ───> Z  ───> X⟦1⟧
      

      the composition f ≫ g = 0.

      Stacks Tag 0146

      Given any distinguished triangle

            f       g       h
        X  ───> Y  ───> Z  ───> X⟦1⟧
      

      the composition g ≫ h = 0.

      Stacks Tag 0146

      Given any distinguished triangle

            f       g       h
        X  ───> Y  ───> Z  ───> X⟦1⟧
      

      the composition h ≫ f⟦1⟧ = 0.

      Stacks Tag 0146

      The short complex T.obj₁ ⟶ T.obj₂ ⟶ T.obj₃ attached to a distinguished triangle.

      Equations
      Instances For

        The isomorphism between the short complex attached to two isomorphic distinguished triangles.

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

          Any morphism Y ⟶ Z is part of a distinguished triangle X ⟶ Y ⟶ Z ⟶ X⟦1⟧

          Any morphism Z ⟶ X⟦1⟧ is part of a distinguished triangle X ⟶ Y ⟶ Z ⟶ X⟦1⟧

          A commutative square involving the morphisms mor₂ of two distinguished triangles can be extended as morphism of triangles

          A commutative square involving the morphisms mor₃ of two distinguished triangles can be extended as morphism of triangles

          Obvious triangles 0 ⟶ X ⟶ X ⟶ 0⟦1⟧ are distinguished

          Obvious triangles X ⟶ 0 ⟶ X⟦1⟧ ⟶ X⟦1⟧ are distinguished

          Given a distinguished triangle T such that T.mor₃ = 0 and the datum of morphisms inr : T.obj₃ ⟶ T.obj₂ and fst : T.obj₂ ⟶ T.obj₁ satisfying suitable relations, this is the binary biproduct data expressing that T.obj₂ identifies to the binary biproduct of T.obj₁ and T.obj₃. See also exists_iso_binaryBiproduct_of_distTriang.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_isBilimit {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryStruct.comp inr T.mor₂ = CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryStruct.comp fst T.mor₁ + CategoryStruct.comp T.mor₂ inr = CategoryStruct.id T.obj₂) :
            (binaryBiproductData T hT hT₀ inr inr_snd fst total).isBilimit = Limits.isBinaryBilimitOfTotal { pt := T.obj₂, fst := fst, snd := T.mor₂, inl := T.mor₁, inr := inr, inl_fst := , inl_snd := , inr_fst := , inr_snd := inr_snd } total

            A chosen extension of a commutative square into a morphism of distinguished triangles.

            Equations
            Instances For
              theorem CategoryTheory.Pretriangulated.productTriangle_distinguished {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] {J : Type u_1} (T : JTriangle C) (hT : ∀ (j : J), T j distinguishedTriangles) [Limits.HasProduct fun (j : J) => (T j).obj₁] [Limits.HasProduct fun (j : J) => (T j).obj₂] [Limits.HasProduct fun (j : J) => (T j).obj₃] [Limits.HasProduct fun (j : J) => (shiftFunctor C 1).obj (T j).obj₁] :

              A product of distinguished triangles is distinguished

              def CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T₁ T₂ : Triangle C) (hT₁ : T₁ distinguishedTriangles) (hT₂ : T₂ distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryStruct.comp e₁.hom T₂.mor₁) :
              T₁ T₂

              A choice of isomorphism T₁ ≅ T₂ between two distinguished triangles when we are given two isomorphisms e₁ : T₁.obj₁ ≅ T₂.obj₁ and e₂ : T₁.obj₂ ≅ T₂.obj₂.

              Equations
              Instances For
                @[simp]
                theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_inv_hom₂ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T₁ T₂ : Triangle C) (hT₁ : T₁ distinguishedTriangles) (hT₂ : T₂ distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryStruct.comp e₁.hom T₂.mor₁) :
                (isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).inv.hom₂ = e₂.inv
                @[simp]
                theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_inv_hom₁ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T₁ T₂ : Triangle C) (hT₁ : T₁ distinguishedTriangles) (hT₂ : T₂ distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryStruct.comp e₁.hom T₂.mor₁) :
                (isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).inv.hom₁ = e₁.inv
                @[simp]
                theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_hom_hom₂ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T₁ T₂ : Triangle C) (hT₁ : T₁ distinguishedTriangles) (hT₂ : T₂ distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryStruct.comp e₁.hom T₂.mor₁) :
                (isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).hom.hom₂ = e₂.hom
                @[simp]
                theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_hom_hom₁ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] (T₁ T₂ : Triangle C) (hT₁ : T₁ distinguishedTriangles) (hT₂ : T₂ distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryStruct.comp e₁.hom T₂.mor₁) :
                (isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).hom.hom₁ = e₁.hom