Rotate #
This file adds the ability to rotate triangles and triangle morphisms. It also shows that rotation gives an equivalence on the category of triangles.
If you rotate a triangle, you get another triangle. Given a triangle of the form:
f g h
X ───> Y ───> Z ───> X⟦1⟧
applying rotate
gives a triangle of the form:
g h -f⟦1⟧'
Y ───> Z ───> X⟦1⟧ ───> Y⟦1⟧
Equations
- T.rotate = category_theory.triangulated.triangle.mk C T.mor₂ T.mor₃ (-(category_theory.shift_functor C 1).map T.mor₁)
Given a triangle of the form:
f g h
X ───> Y ───> Z ───> X⟦1⟧
applying inv_rotate
gives a triangle that can be thought of as:
-h⟦-1⟧' f g
Z⟦-1⟧ ───> X ───> Y ───> Z
(note that this diagram doesn't technically fit the definition of triangle, as Z⟦-1⟧⟦1⟧
is
not necessarily equal to Z
, but it is isomorphic, by the counit_iso
of shift C
)
Equations
- T.inv_rotate = category_theory.triangulated.triangle.mk C (-(category_theory.shift_functor C (-1)).map T.mor₃ ≫ (category_theory.shift_shift_neg T.obj₁ 1).hom) T.mor₁ (T.mor₂ ≫ (category_theory.shift_neg_shift T.obj₃ 1).inv)
You can also rotate a triangle morphism to get a morphism between the two rotated triangles. Given a triangle morphism of the form:
f g h
X ───> Y ───> Z ───> X⟦1⟧
│ │ │ │
│a │b │c │a⟦1⟧
V V V V
X' ───> Y' ───> Z' ───> X'⟦1⟧
f' g' h'
applying rotate
gives a triangle morphism of the form:
g h -f⟦1⟧
Y ───> Z ───> X⟦1⟧ ───> Y⟦1⟧
│ │ │ │
│b │c │a⟦1⟧ │b⟦1⟧'
V V V V
Y' ───> Z' ───> X'⟦1⟧ ───> Y'⟦1⟧
g' h' -f'⟦1⟧
Given a triangle morphism of the form:
f g h
X ───> Y ───> Z ───> X⟦1⟧
│ │ │ │
│a │b │c │a⟦1⟧
V V V V
X' ───> Y' ───> Z' ───> X'⟦1⟧
f' g' h'
applying inv_rotate
gives a triangle morphism that can be thought of as:
-h⟦-1⟧ f g
Z⟦-1⟧ ───> X ───> Y ───> Z
│ │ │ │
│c⟦-1⟧' │a │b │c
V V V V
Z'⟦-1⟧ ───> X' ───> Y' ───> Z'
-h'⟦-1⟧ f' g'
(note that this diagram doesn't technically fit the definition of triangle morphism,
as Z⟦-1⟧⟦1⟧
is not necessarily equal to Z
, and Z'⟦-1⟧⟦1⟧
is not necessarily equal to Z'
,
but they are isomorphic, by the counit_iso
of shift C
)
Rotating triangles gives an endofunctor on the category of triangles in C
.
Equations
- category_theory.triangulated.rotate C = {obj := category_theory.triangulated.triangle.rotate _inst_3, map := λ (_x _x_1 : category_theory.triangulated.triangle C) (f : _x ⟶ _x_1), category_theory.triangulated.triangle_morphism.rotate f, map_id' := _, map_comp' := _}
Instances for category_theory.triangulated.rotate
The inverse rotation of triangles gives an endofunctor on the category of triangles in C
.
Equations
- category_theory.triangulated.inv_rotate C = {obj := category_theory.triangulated.triangle.inv_rotate _inst_3, map := λ (_x _x_1 : category_theory.triangulated.triangle C) (f : _x ⟶ _x_1), category_theory.triangulated.triangle_morphism.inv_rotate f, map_id' := _, map_comp' := _}
Instances for category_theory.triangulated.inv_rotate
There is a natural map from a triangle to the inv_rotate
of its rotate
.
There is a natural transformation between the identity functor on triangles in C
,
and the composition of a rotation with an inverse rotation.
Equations
- category_theory.triangulated.rot_comp_inv_rot_hom = {app := category_theory.triangulated.to_inv_rotate_rotate category_theory.triangulated.rot_comp_inv_rot_hom._proof_1, naturality' := _}
There is a natural map from the inv_rotate
of the rotate
of a triangle to itself.
There is a natural transformation between the composition of a rotation with an inverse rotation
on triangles in C
, and the identity functor.
Equations
- category_theory.triangulated.rot_comp_inv_rot_inv = {app := category_theory.triangulated.from_inv_rotate_rotate category_theory.triangulated.rot_comp_inv_rot_inv._proof_1, naturality' := _}
The natural transformations between the identity functor on triangles in C
and the composition
of a rotation with an inverse rotation are natural isomorphisms (they are isomorphisms in the
category of functors).
Equations
- category_theory.triangulated.rot_comp_inv_rot = {hom := category_theory.triangulated.rot_comp_inv_rot_hom category_theory.triangulated.rot_comp_inv_rot._proof_1, inv := category_theory.triangulated.rot_comp_inv_rot_inv category_theory.triangulated.rot_comp_inv_rot._proof_2, hom_inv_id' := _, inv_hom_id' := _}
There is a natural map from the rotate
of the inv_rotate
of a triangle to itself.
There is a natural transformation between the composition of an inverse rotation with a rotation
on triangles in C
, and the identity functor.
Equations
- category_theory.triangulated.inv_rot_comp_rot_hom = {app := category_theory.triangulated.from_rotate_inv_rotate category_theory.triangulated.inv_rot_comp_rot_hom._proof_1, naturality' := _}
There is a natural map from a triangle to the rotate
of its inv_rotate
.
There is a natural transformation between the identity functor on triangles in C
,
and the composition of an inverse rotation with a rotation.
Equations
- category_theory.triangulated.inv_rot_comp_rot_inv = {app := category_theory.triangulated.to_rotate_inv_rotate category_theory.triangulated.inv_rot_comp_rot_inv._proof_1, naturality' := _}
The natural transformations between the composition of a rotation with an inverse rotation
on triangles in C
, and the identity functor on triangles are natural isomorphisms
(they are isomorphisms in the category of functors).
Equations
- category_theory.triangulated.inv_rot_comp_rot = {hom := category_theory.triangulated.inv_rot_comp_rot_hom category_theory.triangulated.inv_rot_comp_rot._proof_1, inv := category_theory.triangulated.inv_rot_comp_rot_inv category_theory.triangulated.inv_rot_comp_rot._proof_2, hom_inv_id' := _, inv_hom_id' := _}
Rotating triangles gives an auto-equivalence on the category of triangles in C
.
Equations
- category_theory.triangulated.triangle_rotation C = {functor := category_theory.triangulated.rotate C _inst_3, inverse := category_theory.triangulated.inv_rotate C _inst_3, unit_iso := category_theory.triangulated.rot_comp_inv_rot _, counit_iso := category_theory.triangulated.inv_rot_comp_rot _, functor_unit_iso_comp' := _}