The triangulated equivalence Cᵒᵖᵒᵖ ≌ C. #
In this file, we show that if C is a pretriangulated category, then
the functors opOp C : C ⥤ Cᵒᵖᵒᵖ and unopUnop C : Cᵒᵖᵒᵖ ⥤ C are triangulated.
We also show that the unit and counit isomorphisms of the equivalence
opOpEquivalence C : Cᵒᵖᵒᵖ ≌ C are compatible with shifts, which is summarized
by the property (opOpEquivalence C).IsTriangulated.
def CategoryTheory.Pretriangulated.Opposite.OpOpCommShift.iso (C : Type u_1) [Category.{v_1, u_1} C] [HasShift C ℤ] (n : ℤ) :
The isomorphism expressing the commutation of the functor opOp C : C ⥤ Cᵒᵖᵒᵖ
with the shift by n : ℤ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem CategoryTheory.Pretriangulated.Opposite.OpOpCommShift.iso_hom_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(iso C n).hom.app X = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.op X)).op
((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app (Opposite.op (Opposite.op X)))
theorem CategoryTheory.Pretriangulated.Opposite.OpOpCommShift.iso_hom_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : Cᵒᵖᵒᵖ} (h : (opOp C).obj X⟦n⟧ ⟶ Z) :
CategoryStruct.comp ((iso C n).hom.app X) h = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.op X)).op
(CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app (Opposite.op (Opposite.op X))) h)
theorem CategoryTheory.Pretriangulated.Opposite.OpOpCommShift.iso_inv_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(iso C n).inv.app X = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app (Opposite.op (Opposite.op X)))
((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.op X)).op
theorem CategoryTheory.Pretriangulated.Opposite.OpOpCommShift.iso_inv_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : Cᵒᵖᵒᵖ} (h : (opOp C).obj (X⟦n⟧) ⟶ Z) :
CategoryStruct.comp ((iso C n).inv.app X) h = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app (Opposite.op (Opposite.op X)))
(CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.op X)).op h)
def CategoryTheory.Pretriangulated.Opposite.UnopUnopCommShift.iso (C : Type u_1) [Category.{v_1, u_1} C] [HasShift C ℤ] (n : ℤ) :
The isomorphism expressing the commutation of the functor unopUnop C : Cᵒᵖᵒᵖ ⥤ C
with the shift by n : ℤ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem CategoryTheory.Pretriangulated.Opposite.UnopUnopCommShift.iso_hom_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(iso C n).hom.app X = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app X).unop.unop
((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.unop X)).unop
theorem CategoryTheory.Pretriangulated.Opposite.UnopUnopCommShift.iso_hom_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : C} (h : (unopUnop C).obj X⟦n⟧ ⟶ Z) :
CategoryStruct.comp ((iso C n).hom.app X) h = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app X).unop.unop
(CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.unop X)).unop h)
theorem CategoryTheory.Pretriangulated.Opposite.UnopUnopCommShift.iso_inv_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(iso C n).inv.app X = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.unop X)).unop
((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app X).unop.unop
theorem CategoryTheory.Pretriangulated.Opposite.UnopUnopCommShift.iso_inv_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : C} (h : (unopUnop C).obj (X⟦n⟧) ⟶ Z) :
CategoryStruct.comp ((iso C n).inv.app X) h = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.unop X)).unop
(CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app X).unop.unop h)
@[instance_reducible]
instance CategoryTheory.Pretriangulated.Opposite.instCommShiftOppositeOpOpInt (C : Type u_1) [Category.{v_1, u_1} C] [HasShift C ℤ] :
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
instance CategoryTheory.Pretriangulated.Opposite.instCommShiftOppositeUnopUnopInt (C : Type u_1) [Category.{v_1, u_1} C] [HasShift C ℤ] :
Equations
- One or more equations did not get rendered due to their size.
theorem CategoryTheory.Pretriangulated.commShiftIso_opOp_hom_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(Functor.commShiftIso (opOp C) n).hom.app X = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.op X)).op
((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app (Opposite.op (Opposite.op X)))
theorem CategoryTheory.Pretriangulated.commShiftIso_opOp_hom_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : Cᵒᵖᵒᵖ} (h : (opOp C).obj X⟦n⟧ ⟶ Z) :
CategoryStruct.comp ((Functor.commShiftIso (opOp C) n).hom.app X) h = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.op X)).op
(CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app (Opposite.op (Opposite.op X))) h)
theorem CategoryTheory.Pretriangulated.commShiftIso_opOp_inv_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(Functor.commShiftIso (opOp C) n).inv.app X = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app (Opposite.op (Opposite.op X)))
((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.op X)).op
theorem CategoryTheory.Pretriangulated.commShiftIso_opOp_inv_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : C) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : Cᵒᵖᵒᵖ} (h : (opOp C).obj (X⟦n⟧) ⟶ Z) :
CategoryStruct.comp ((Functor.commShiftIso (opOp C) n).inv.app X) h = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app (Opposite.op (Opposite.op X)))
(CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.op X)).op h)
theorem CategoryTheory.Pretriangulated.commShiftIso_unopUnop_hom_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(Functor.commShiftIso (unopUnop C) n).hom.app X = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app X).unop.unop
((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.unop X)).unop
theorem CategoryTheory.Pretriangulated.commShiftIso_unopUnop_hom_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : C} (h : (unopUnop C).obj X⟦n⟧ ⟶ Z) :
CategoryStruct.comp ((Functor.commShiftIso (unopUnop C) n).hom.app X) h = CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).hom.app X).unop.unop
(CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).inv.app (Opposite.unop X)).unop h)
theorem CategoryTheory.Pretriangulated.commShiftIso_unopUnop_inv_app {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) :
(Functor.commShiftIso (unopUnop C) n).inv.app X = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.unop X)).unop
((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app X).unop.unop
theorem CategoryTheory.Pretriangulated.commShiftIso_unopUnop_inv_app_assoc {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] (X : Cᵒᵖᵒᵖ) (n m : ℤ) (hnm : n + m = 0 := by lia) {Z : C} (h : (unopUnop C).obj (X⟦n⟧) ⟶ Z) :
CategoryStruct.comp ((Functor.commShiftIso (unopUnop C) n).inv.app X) h = CategoryStruct.comp ((shiftFunctorOpIso C m n ⋯).hom.app (Opposite.unop X)).unop
(CategoryStruct.comp ((shiftFunctorOpIso Cᵒᵖ n m hnm).inv.app X).unop.unop h)
@[instance_reducible]
instance CategoryTheory.Pretriangulated.instCommShiftOppositeFunctorOpOpEquivalenceInt {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] :
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
instance CategoryTheory.Pretriangulated.instCommShiftOppositeInverseOpOpEquivalenceInt {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] :
Equations
- One or more equations did not get rendered due to their size.
instance CategoryTheory.Pretriangulated.instCommShiftOppositeOpOpEquivalenceInt {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] :
instance CategoryTheory.Pretriangulated.instIsTriangulatedOppositeOpOp {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] [Preadditive C] [Limits.HasZeroObject C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] :
(opOp C).IsTriangulated
instance CategoryTheory.Pretriangulated.instIsTriangulatedOppositeOpOpEquivalence {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] [Preadditive C] [Limits.HasZeroObject C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] :
instance CategoryTheory.Pretriangulated.instIsTriangulatedOppositeUnopUnop {C : Type u_1} [Category.{v_1, u_1} C] [HasShift C ℤ] [Preadditive C] [Limits.HasZeroObject C] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] :