Documentation

Mathlib.CategoryTheory.Triangulated.Functor

Triangulated functors #

In this file, when C and D are categories equipped with a shift by and F : C ⥤ D is a functor which commutes with the shift, we define the induced functor F.mapTriangle : Triangle C ⥤ Triangle D on the categories of triangles. When C and D are pretriangulated, a triangulated functor is such a functor F which also sends distinguished triangles to distinguished triangles: this defines the typeclass Functor.IsTriangulated.

The functor Triangle C ⥤ Triangle D that is induced by a functor F : C ⥤ D which commutes with shift by .

Instances For
    @[simp]
    theorem CategoryTheory.Functor.mapTriangle_map_hom₃ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] (F : Functor C D) [F.CommShift ] {X✝ Y✝ : Pretriangulated.Triangle C} (f : X✝ Y✝) :
    @[simp]
    theorem CategoryTheory.Functor.mapTriangle_map_hom₁ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] (F : Functor C D) [F.CommShift ] {X✝ Y✝ : Pretriangulated.Triangle C} (f : X✝ Y✝) :
    @[simp]
    theorem CategoryTheory.Functor.mapTriangle_map_hom₂ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] (F : Functor C D) [F.CommShift ] {X✝ Y✝ : Pretriangulated.Triangle C} (f : X✝ Y✝) :
    @[implicit_reducible]
    noncomputable instance CategoryTheory.Functor.instCommShiftTriangleMapTriangleInt {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] (F : Functor C D) [F.CommShift ] [Preadditive C] [Preadditive D] [F.Additive] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] :

    F.mapTriangle commutes with the inverse of the rotation of triangles.

    Instances For

      The canonical isomorphism (𝟭 C).mapTriangle ≅ 𝟭 (Triangle C).

      Instances For

        The canonical isomorphism (F ⋙ G).mapTriangle ≅ F.mapTriangle ⋙ G.mapTriangle.

        Instances For
          def CategoryTheory.Functor.mapTriangleIso {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] :

          Two isomorphic functors F₁ and F₂ induce isomorphic functors F₁.mapTriangle and F₂.mapTriangle if the isomorphism F₁ ≅ F₂ is compatible with the shifts.

          Instances For
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_inv_app_hom₁ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_hom_app_hom₃ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_hom_app_hom₁ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_hom_app_hom₂ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_inv_app_hom₃ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :
            @[simp]
            theorem CategoryTheory.Functor.mapTriangleIso_inv_app_hom₂ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] (X : Pretriangulated.Triangle C) :

            A functor which commutes with the shift by is triangulated if it sends distinguished triangles to distinguished triangles.

            Instances
              theorem CategoryTheory.Functor.isTriangulated_of_iso {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] [Limits.HasZeroObject C] [Limits.HasZeroObject D] [Preadditive C] [Preadditive D] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] [Pretriangulated C] [Pretriangulated D] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] [F₁.IsTriangulated] :
              theorem CategoryTheory.Functor.isTriangulated_iff_of_iso {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] [Limits.HasZeroObject C] [Limits.HasZeroObject D] [Preadditive C] [Preadditive D] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] [Pretriangulated C] [Pretriangulated D] {F₁ F₂ : Functor C D} (e : F₁ F₂) [F₁.CommShift ] [F₂.CommShift ] [NatTrans.CommShift e.hom ] :
              def CategoryTheory.Triangulated.Octahedron.map {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] [Limits.HasZeroObject C] [Limits.HasZeroObject D] [Preadditive C] [Preadditive D] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] [Pretriangulated C] [Pretriangulated D] {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C} {u₁₂ : X₁ X₂} {u₂₃ : X₂ X₃} {u₁₃ : X₁ X₃} {comm : CategoryStruct.comp u₁₂ u₂₃ = u₁₃} {v₁₂ : X₂ Z₁₂} {w₁₂ : Z₁₂ (shiftFunctor C 1).obj X₁} {h₁₂ : Pretriangulated.Triangle.mk u₁₂ v₁₂ w₁₂ Pretriangulated.distinguishedTriangles} {v₂₃ : X₃ Z₂₃} {w₂₃ : Z₂₃ (shiftFunctor C 1).obj X₂} {h₂₃ : Pretriangulated.Triangle.mk u₂₃ v₂₃ w₂₃ Pretriangulated.distinguishedTriangles} {v₁₃ : X₃ Z₁₃} {w₁₃ : Z₁₃ (shiftFunctor C 1).obj X₁} {h₁₃ : Pretriangulated.Triangle.mk u₁₃ v₁₃ w₁₃ Pretriangulated.distinguishedTriangles} (h : Octahedron comm h₁₂ h₂₃ h₁₃) (F : Functor C D) [F.CommShift ] [F.IsTriangulated] :
              Octahedron

              The image of an octahedron by a triangulated functor.

              Instances For
                @[simp]
                theorem CategoryTheory.Triangulated.Octahedron.map_m₁ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] [Limits.HasZeroObject C] [Limits.HasZeroObject D] [Preadditive C] [Preadditive D] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] [Pretriangulated C] [Pretriangulated D] {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C} {u₁₂ : X₁ X₂} {u₂₃ : X₂ X₃} {u₁₃ : X₁ X₃} {comm : CategoryStruct.comp u₁₂ u₂₃ = u₁₃} {v₁₂ : X₂ Z₁₂} {w₁₂ : Z₁₂ (shiftFunctor C 1).obj X₁} {h₁₂ : Pretriangulated.Triangle.mk u₁₂ v₁₂ w₁₂ Pretriangulated.distinguishedTriangles} {v₂₃ : X₃ Z₂₃} {w₂₃ : Z₂₃ (shiftFunctor C 1).obj X₂} {h₂₃ : Pretriangulated.Triangle.mk u₂₃ v₂₃ w₂₃ Pretriangulated.distinguishedTriangles} {v₁₃ : X₃ Z₁₃} {w₁₃ : Z₁₃ (shiftFunctor C 1).obj X₁} {h₁₃ : Pretriangulated.Triangle.mk u₁₃ v₁₃ w₁₃ Pretriangulated.distinguishedTriangles} (h : Octahedron comm h₁₂ h₂₃ h₁₃) (F : Functor C D) [F.CommShift ] [F.IsTriangulated] :
                (h.map F).m₁ = F.map h.m₁
                @[simp]
                theorem CategoryTheory.Triangulated.Octahedron.map_m₃ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [HasShift C ] [HasShift D ] [Limits.HasZeroObject C] [Limits.HasZeroObject D] [Preadditive C] [Preadditive D] [∀ (n : ), (shiftFunctor C n).Additive] [∀ (n : ), (shiftFunctor D n).Additive] [Pretriangulated C] [Pretriangulated D] {X₁ X₂ X₃ Z₁₂ Z₂₃ Z₁₃ : C} {u₁₂ : X₁ X₂} {u₂₃ : X₂ X₃} {u₁₃ : X₁ X₃} {comm : CategoryStruct.comp u₁₂ u₂₃ = u₁₃} {v₁₂ : X₂ Z₁₂} {w₁₂ : Z₁₂ (shiftFunctor C 1).obj X₁} {h₁₂ : Pretriangulated.Triangle.mk u₁₂ v₁₂ w₁₂ Pretriangulated.distinguishedTriangles} {v₂₃ : X₃ Z₂₃} {w₂₃ : Z₂₃ (shiftFunctor C 1).obj X₂} {h₂₃ : Pretriangulated.Triangle.mk u₂₃ v₂₃ w₂₃ Pretriangulated.distinguishedTriangles} {v₁₃ : X₃ Z₁₃} {w₁₃ : Z₁₃ (shiftFunctor C 1).obj X₁} {h₁₃ : Pretriangulated.Triangle.mk u₁₃ v₁₃ w₁₃ Pretriangulated.distinguishedTriangles} (h : Octahedron comm h₁₂ h₂₃ h₁₃) (F : Functor C D) [F.CommShift ] [F.IsTriangulated] :
                (h.map F).m₃ = F.map h.m₃

                If F : C ⥤ D is a triangulated functor from a triangulated category, then D is also triangulated if tuples of composable arrows in D can be lifted to C.