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.

See https://stacks.math.columbia.edu/tag/0145

Instances
    theorem CategoryTheory.Pretriangulated.isomorphic_distinguished {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) :
    T₁ CategoryTheory.Pretriangulated.distinguishedTriangles∀ (T₂ : CategoryTheory.Pretriangulated.Triangle C), (T₂ T₁)T₂ CategoryTheory.Pretriangulated.distinguishedTriangles

    a triangle that is isomorphic to a distinguished triangle is distinguished

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

    theorem CategoryTheory.Pretriangulated.distinguished_cocone_triangle {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] {X : C} {Y : C} (f : X Y) :
    ∃ (Z : C) (g : Y Z) (h : Z (CategoryTheory.shiftFunctor C 1).obj X), CategoryTheory.Pretriangulated.Triangle.mk f g h CategoryTheory.Pretriangulated.distinguishedTriangles

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

    theorem CategoryTheory.Pretriangulated.rotate_distinguished_triangle {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) :
    T CategoryTheory.Pretriangulated.distinguishedTriangles T.rotate CategoryTheory.Pretriangulated.distinguishedTriangles

    a triangle is distinguished iff it is so after rotating it

    theorem CategoryTheory.Pretriangulated.complete_distinguished_triangle_morphism {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [self : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) :
    T₁ CategoryTheory.Pretriangulated.distinguishedTrianglesT₂ CategoryTheory.Pretriangulated.distinguishedTriangles∀ (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂), CategoryTheory.CategoryStruct.comp T₁.mor₁ b = CategoryTheory.CategoryStruct.comp a T₂.mor₁∃ (c : T₁.obj₃ T₂.obj₃), CategoryTheory.CategoryStruct.comp T₁.mor₂ c = CategoryTheory.CategoryStruct.comp b T₂.mor₂ CategoryTheory.CategoryStruct.comp T₁.mor₃ ((CategoryTheory.shiftFunctor C 1).map a) = CategoryTheory.CategoryStruct.comp c T₂.mor₃

    given two distinguished triangle, a commutative square can be extended as morphism of triangles

    distinguished triangles in a pretriangulated category

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem CategoryTheory.Pretriangulated.distinguished_iff_of_iso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] {T₁ : CategoryTheory.Pretriangulated.Triangle C} {T₂ : CategoryTheory.Pretriangulated.Triangle C} (e : T₁ T₂) :
      T₁ CategoryTheory.Pretriangulated.distinguishedTriangles T₂ CategoryTheory.Pretriangulated.distinguishedTriangles
      theorem CategoryTheory.Pretriangulated.rot_of_distTriang {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (H : T CategoryTheory.Pretriangulated.distinguishedTriangles) :
      T.rotate CategoryTheory.Pretriangulated.distinguishedTriangles

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

      theorem CategoryTheory.Pretriangulated.inv_rot_of_distTriang {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (H : T CategoryTheory.Pretriangulated.distinguishedTriangles) :
      T.invRotate CategoryTheory.Pretriangulated.distinguishedTriangles

      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. See https://stacks.math.columbia.edu/tag/0146

      Given any distinguished triangle

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

      the composition g ≫ h = 0. See https://stacks.math.columbia.edu/tag/0146

      Given any distinguished triangle

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

      the composition h ≫ f⟦1⟧ = 0. See https://stacks.math.columbia.edu/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⟧

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

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

          theorem CategoryTheory.Pretriangulated.complete_distinguished_triangle_morphism₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (a : T₁.obj₁ T₂.obj₁) (c : T₁.obj₃ T₂.obj₃) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₃ ((CategoryTheory.shiftFunctor C 1).map a) = CategoryTheory.CategoryStruct.comp c T₂.mor₃) :
          ∃ (b : T₁.obj₂ T₂.obj₂), CategoryTheory.CategoryStruct.comp T₁.mor₁ b = CategoryTheory.CategoryStruct.comp a T₂.mor₁ CategoryTheory.CategoryStruct.comp T₁.mor₂ c = CategoryTheory.CategoryStruct.comp b T₂.mor₂

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

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

          theorem CategoryTheory.Pretriangulated.isIso₂_of_isIso₁₃ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] {T : CategoryTheory.Pretriangulated.Triangle C} {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : T T') (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT' : T' CategoryTheory.Pretriangulated.distinguishedTriangles) (h₁ : CategoryTheory.IsIso φ.hom₁) (h₃ : CategoryTheory.IsIso φ.hom₃) :
          theorem CategoryTheory.Pretriangulated.isIso₃_of_isIso₁₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] {T : CategoryTheory.Pretriangulated.Triangle C} {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : T T') (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT' : T' CategoryTheory.Pretriangulated.distinguishedTriangles) (h₁ : CategoryTheory.IsIso φ.hom₁) (h₂ : CategoryTheory.IsIso φ.hom₂) :
          theorem CategoryTheory.Pretriangulated.isIso₁_of_isIso₂₃ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] {T : CategoryTheory.Pretriangulated.Triangle C} {T' : CategoryTheory.Pretriangulated.Triangle C} (φ : T T') (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT' : T' CategoryTheory.Pretriangulated.distinguishedTriangles) (h₂ : CategoryTheory.IsIso φ.hom₂) (h₃ : CategoryTheory.IsIso φ.hom₃) :
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_inl {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).bicone.inl = T.mor₁
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_isBilimit {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).isBilimit = CategoryTheory.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
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_inr {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).bicone.inr = inr
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_fst {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).bicone.fst = fst
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_snd {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).bicone.snd = T.mor₂
          @[simp]
          theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_pt {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :
          (CategoryTheory.Pretriangulated.binaryBiproductData T hT hT₀ inr inr_snd fst total).bicone.pt = T.obj₂
          def CategoryTheory.Pretriangulated.binaryBiproductData {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₀ : T.mor₃ = 0) (inr : T.obj₃ T.obj₂) (inr_snd : CategoryTheory.CategoryStruct.comp inr T.mor₂ = CategoryTheory.CategoryStruct.id T.obj₃) (fst : T.obj₂ T.obj₁) (total : CategoryTheory.CategoryStruct.comp fst T.mor₁ + CategoryTheory.CategoryStruct.comp T.mor₂ inr = CategoryTheory.CategoryStruct.id T.obj₂) :

          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
            theorem CategoryTheory.Pretriangulated.exists_iso_binaryBiproduct_of_distTriang {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T : CategoryTheory.Pretriangulated.Triangle C) (hT : T CategoryTheory.Pretriangulated.distinguishedTriangles) (zero : T.mor₃ = 0) :
            ∃ (e : T.obj₂ T.obj₁ T.obj₃), CategoryTheory.CategoryStruct.comp T.mor₁ e.hom = CategoryTheory.Limits.biprod.inl T.mor₂ = CategoryTheory.CategoryStruct.comp e.hom CategoryTheory.Limits.biprod.snd
            @[simp]
            theorem CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism_hom₁ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ b = CategoryTheory.CategoryStruct.comp a T₂.mor₁) :
            @[simp]
            theorem CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism_hom₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ b = CategoryTheory.CategoryStruct.comp a T₂.mor₁) :
            def CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ b = CategoryTheory.CategoryStruct.comp a T₂.mor₁) :
            T₁ T₂

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

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

              A product of distinguished triangles is distinguished

              theorem CategoryTheory.Pretriangulated.exists_iso_of_arrow_iso {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e : CategoryTheory.Arrow.mk T₁.mor₁ CategoryTheory.Arrow.mk T₂.mor₁) :
              ∃ (e' : T₁ T₂), e'.hom.hom₁ = e.hom.left e'.hom.hom₂ = e.hom.right
              @[simp]
              theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_inv_hom₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom T₂.mor₁) :
              (CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).inv.hom₂ = e₂.inv
              @[simp]
              theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_inv_hom₁ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom T₂.mor₁) :
              (CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).inv.hom₁ = e₁.inv
              @[simp]
              theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_hom_hom₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom T₂.mor₁) :
              (CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).hom.hom₂ = e₂.hom
              @[simp]
              theorem CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂_hom_hom₁ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryTheory.CategoryStruct.comp e₁.hom T₂.mor₁) :
              (CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ T₁ T₂ hT₁ hT₂ e₁ e₂ comm).hom.hom₁ = e₁.hom
              def CategoryTheory.Pretriangulated.isoTriangleOfIso₁₂ {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroObject C] [CategoryTheory.HasShift C ] [CategoryTheory.Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : CategoryTheory.Pretriangulated C] (T₁ : CategoryTheory.Pretriangulated.Triangle C) (T₂ : CategoryTheory.Pretriangulated.Triangle C) (hT₁ : T₁ CategoryTheory.Pretriangulated.distinguishedTriangles) (hT₂ : T₂ CategoryTheory.Pretriangulated.distinguishedTriangles) (e₁ : T₁.obj₁ T₂.obj₁) (e₂ : T₁.obj₂ T₂.obj₂) (comm : CategoryTheory.CategoryStruct.comp T₁.mor₁ e₂.hom = CategoryTheory.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