# Documentation

Mathlib.CategoryTheory.Triangulated.TriangleShift

# The shift on the category of triangles #

In this file, it is shown that if C is a preadditive category with a shift by ℤ, then the category of triangles Triangle C is also endowed with a shift. We also show that rotating triangles three times identifies with the shift by 1.

The shift on the category of triangles was also obtained by Adam Topaz, Johan Commelin and Andrew Yang during the Liquid Tensor Experiment.

@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctor_map_hom₁ (C : Type u) (n : ) :
∀ {X Y : } (f : X Y), ().hom₁ = ().map f.hom₁
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctor_map_hom₃ (C : Type u) (n : ) :
∀ {X Y : } (f : X Y), ().hom₃ = ().map f.hom₃
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctor_obj (C : Type u) (n : ) :
= CategoryTheory.Pretriangulated.Triangle.mk (n.negOnePow ().map T.mor₁) (n.negOnePow ().map T.mor₂) (n.negOnePow CategoryTheory.CategoryStruct.comp (().map T.mor₃) (().hom.app T.obj₁))
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctor_map_hom₂ (C : Type u) (n : ) :
∀ {X Y : } (f : X Y), ().hom₂ = ().map f.hom₂

The shift functor Triangle C ⥤ Triangle C by n : ℤ sends a triangle to the triangle obtained by shifting the objects by n in C and by multiplying the three morphisms by (-1)^n.

Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]

The canonical isomorphism Triangle.shiftFunctor C 0 ≅ 𝟭 (Triangle C).

Instances For
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_inv_app_hom₁ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().inv.app X).hom₁ = ().inv.app X.obj₁
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_hom_app_hom₂ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().hom.app X).hom₂ = ().hom.app X.obj₂
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_inv_app_hom₂ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().inv.app X).hom₂ = ().inv.app X.obj₂
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_inv_app_hom₃ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().inv.app X).hom₃ = ().inv.app X.obj₃
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_hom_app_hom₁ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().hom.app X).hom₁ = ().hom.app X.obj₁
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_hom_app_hom₃ (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :
(().hom.app X).hom₃ = ().hom.app X.obj₃
noncomputable def CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd' (C : Type u) [] (a : ) (b : ) (n : ) (h : a + b = n) :

The canonical isomorphism Triangle.shiftFunctor C n ≅ Triangle.shiftFunctor C a ⋙ Triangle.shiftFunctor C b when a + b = n.

Instances For

Rotating triangles three times identifies with the shift by 1.

Instances For

Rotating triangles three times backwards identifies with the shift by -1.

Instances For

The inverse of the rotation of triangles can be expressed using a double rotation and the shift by -1.

Instances For