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

class CategoryTheory.Pretriangulated (C : Type u) [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] :
Type (max u v)

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

    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. 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
          theorem CategoryTheory.Pretriangulated.distinguished_cocone_triangle₁ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] [hC : Pretriangulated C] {Y Z : C} (g : Y Z) :
          ∃ (X : C) (f : X Y) (h : Z (shiftFunctor C 1).obj X), Triangle.mk f g h distinguishedTriangles

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

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

          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} [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) (b : T₁.obj₂ T₂.obj₂) (c : T₁.obj₃ T₂.obj₃) (comm : CategoryStruct.comp T₁.mor₂ c = CategoryStruct.comp b T₂.mor₂) :
          ∃ (a : T₁.obj₁ T₂.obj₁), CategoryStruct.comp T₁.mor₁ b = CategoryStruct.comp a T₂.mor₁ CategoryStruct.comp T₁.mor₃ ((shiftFunctor C 1).map a) = CategoryStruct.comp c 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} [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) (a : T₁.obj₁ T₂.obj₁) (c : T₁.obj₃ T₂.obj₃) (comm : CategoryStruct.comp T₁.mor₃ ((shiftFunctor C 1).map a) = CategoryStruct.comp c T₂.mor₃) :
          ∃ (b : T₁.obj₂ T₂.obj₂), CategoryStruct.comp T₁.mor₁ b = CategoryStruct.comp a T₂.mor₁ CategoryStruct.comp T₁.mor₂ c = 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 0 ⟶ X ⟶ X ⟶ 0⟦1⟧ are distinguished

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

          theorem CategoryTheory.Pretriangulated.Triangle.yoneda_exact₂ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) {X : C} (f : T.obj₂ X) (hf : CategoryStruct.comp T.mor₁ f = 0) :
          ∃ (g : T.obj₃ X), f = CategoryStruct.comp T.mor₂ g
          theorem CategoryTheory.Pretriangulated.Triangle.yoneda_exact₃ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) {X : C} (f : T.obj₃ X) (hf : CategoryStruct.comp T.mor₂ f = 0) :
          ∃ (g : (CategoryTheory.shiftFunctor C 1).obj T.obj₁ X), f = CategoryStruct.comp T.mor₃ g
          theorem CategoryTheory.Pretriangulated.Triangle.coyoneda_exact₂ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) {X : C} (f : X T.obj₂) (hf : CategoryStruct.comp f T.mor₂ = 0) :
          ∃ (g : X T.obj₁), f = CategoryStruct.comp g T.mor₁
          theorem CategoryTheory.Pretriangulated.Triangle.coyoneda_exact₁ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) {X : C} (f : X (CategoryTheory.shiftFunctor C 1).obj T.obj₁) (hf : CategoryStruct.comp f ((CategoryTheory.shiftFunctor C 1).map T.mor₁) = 0) :
          ∃ (g : X T.obj₃), f = CategoryStruct.comp g T.mor₃
          theorem CategoryTheory.Pretriangulated.Triangle.coyoneda_exact₃ {C : Type u} [Category.{v, u} C] [Limits.HasZeroObject C] [HasShift C ] [Preadditive C] [∀ (n : ), (CategoryTheory.shiftFunctor C n).Additive] [hC : Pretriangulated C] (T : Triangle C) (hT : T distinguishedTriangles) {X : C} (f : X T.obj₃) (hf : CategoryStruct.comp f T.mor₃ = 0) :
          ∃ (g : X T.obj₂), f = CategoryStruct.comp g T.mor₂
          theorem CategoryTheory.Pretriangulated.isIso₂_of_isIso₁₃ {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} (φ : T T') (hT : T distinguishedTriangles) (hT' : T' distinguishedTriangles) (h₁ : IsIso φ.hom₁) (h₃ : IsIso φ.hom₃) :
          IsIso φ.hom₂
          theorem CategoryTheory.Pretriangulated.isIso₃_of_isIso₁₂ {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} (φ : T T') (hT : T distinguishedTriangles) (hT' : T' distinguishedTriangles) (h₁ : IsIso φ.hom₁) (h₂ : IsIso φ.hom₂) :
          IsIso φ.hom₃
          theorem CategoryTheory.Pretriangulated.isIso₁_of_isIso₂₃ {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} (φ : T T') (hT : T distinguishedTriangles) (hT' : T' distinguishedTriangles) (h₂ : IsIso φ.hom₂) (h₃ : IsIso φ.hom₃) :
          IsIso φ.hom₁
          def CategoryTheory.Pretriangulated.binaryBiproductData {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₂) :
          Limits.BinaryBiproductData T.obj₁ 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
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_pt {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).bicone.pt = T.obj₂
            @[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
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_inr {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).bicone.inr = inr
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_inl {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).bicone.inl = T.mor₁
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_snd {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).bicone.snd = T.mor₂
            @[simp]
            theorem CategoryTheory.Pretriangulated.binaryBiproductData_bicone_fst {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).bicone.fst = fst
            theorem CategoryTheory.Pretriangulated.exists_iso_binaryBiproduct_of_distTriang {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) (zero : T.mor₃ = 0) :
            ∃ (e : T.obj₂ T.obj₁ T.obj₃), CategoryStruct.comp T.mor₁ e.hom = Limits.biprod.inl T.mor₂ = CategoryStruct.comp e.hom Limits.biprod.snd
            def CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism {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) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ b = CategoryStruct.comp a T₂.mor₁) :
            T₁ T₂

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

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism_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) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ b = CategoryStruct.comp a T₂.mor₁) :
              (completeDistinguishedTriangleMorphism T₁ T₂ hT₁ hT₂ a b comm).hom₁ = a
              @[simp]
              theorem CategoryTheory.Pretriangulated.completeDistinguishedTriangleMorphism_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) (a : T₁.obj₁ T₂.obj₁) (b : T₁.obj₂ T₂.obj₂) (comm : CategoryStruct.comp T₁.mor₁ b = CategoryStruct.comp a T₂.mor₁) :
              (completeDistinguishedTriangleMorphism T₁ T₂ hT₁ hT₂ a b comm).hom₂ = b
              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

              theorem CategoryTheory.Pretriangulated.exists_iso_of_arrow_iso {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 : Arrow.mk T₁.mor₁ Arrow.mk T₂.mor₁) :
              ∃ (e' : T₁ T₂), e'.hom.hom₁ = e.hom.left e'.hom.hom₂ = e.hom.right
              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