# 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_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₂
@[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₃

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.

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

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

Equations
• One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_inv_app_hom₂ (C : Type u) [∀ (n : ), .Additive] (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) [∀ (n : ), .Additive] (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) [∀ (n : ), .Additive] (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) [∀ (n : ), .Additive] (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) [∀ (n : ), .Additive] (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) [∀ (n : ), .Additive] (a : ) (b : ) (n : ) (h : a + b = n) :
(.inv.app X).hom₃ = ().inv.app X.obj₃
noncomputable def CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd' (C : Type u) [∀ (n : ), .Additive] (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.

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

Rotating triangles three times identifies with the shift by 1.

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

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

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

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

Equations
• One or more equations did not get rendered due to their size.
Instances For
noncomputable instance CategoryTheory.Pretriangulated.Triangle.instHasShiftInt (C : Type u) [∀ (n : ), .Additive] :
Equations
• One or more equations did not get rendered due to their size.
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctor_eq (C : Type u) [∀ (n : ), .Additive] (n : ) :
@[simp]
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd_eq (C : Type u) [∀ (n : ), .Additive] (a : ) (b : ) :
@[simp]
theorem CategoryTheory.Pretriangulated.Triangle.shiftFunctorAdd'_eq (C : Type u) [∀ (n : ), .Additive] (a : ) (b : ) (c : ) (h : a + b = c) :