Documentation

Mathlib.CategoryTheory.Shift.ShiftedHomOpposite

Shifted morphisms in the opposite category

If C is a category equipped with a shift by , X and Y are objects of C, and n : ℤ, we define a bijection ShiftedHom.opEquiv : ShiftedHom X Y n ≃ ShiftedHom (Opposite.op Y) (Opposite.op X) n. We also introduce ShiftedHom.opEquiv' which produces a bijection ShiftedHom X Y a' ≃ (Opposite.op (Y⟦a⟧) ⟶ (Opposite.op X)⟦n⟧) when n + a = a'. The compatibilities that are obtained shall be used in order to study the homological functor preadditiveYoneda.obj B : Cᵒᵖ ⥤ Type _ when B is an object in a pretriangulated category C.

noncomputable def CategoryTheory.ShiftedHom.opEquiv {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} (n : ) :

The bijection ShiftedHom X Y n ≃ ShiftedHom (Opposite.op Y) (Opposite.op X) n when n : ℤ, and X and Y are objects of a category equipped with a shift by .

Equations
Instances For
    theorem CategoryTheory.ShiftedHom.opEquiv_symm_apply_comp {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} {a : } (f : ShiftedHom (Opposite.op X) (Opposite.op Y) a) {b : } {Z : C} (z : ShiftedHom X Z b) {c : } (h : b + a = c) :
    ((opEquiv a).symm f).comp z h = CategoryStruct.comp ((opEquiv a).symm (CategoryStruct.comp (Quiver.Hom.op z) f)) ((shiftFunctorAdd' C b a c h).inv.app Z)
    theorem CategoryTheory.ShiftedHom.opEquiv_symm_comp {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y Z : C} {a b : } (f : ShiftedHom (Opposite.op Z) (Opposite.op Y) a) (g : ShiftedHom (Opposite.op Y) (Opposite.op X) b) {c : } (h : b + a = c) :
    (opEquiv c).symm (f.comp g h) = ((opEquiv b).symm g).comp ((opEquiv a).symm f)
    noncomputable def CategoryTheory.ShiftedHom.opEquiv' {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} (n a a' : ) (h : n + a = a') :

    The bijection ShiftedHom X Y a' ≃ (Opposite.op (Y⟦a⟧) ⟶ (Opposite.op X)⟦n⟧) when integers n, a and a' satisfy n + a = a', and X and Y are objects of a category equipped with a shift by .

    Equations
    Instances For
      theorem CategoryTheory.ShiftedHom.opEquiv'_symm_apply {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} {n a : } (f : Opposite.op ((shiftFunctor C a).obj Y) (shiftFunctor Cᵒᵖ n).obj (Opposite.op X)) (a' : ) (h : n + a = a') :
      (opEquiv' n a a' h).symm f = CategoryStruct.comp ((opEquiv n).symm f) ((shiftFunctorAdd' C a n a' ).inv.app Y)
      theorem CategoryTheory.ShiftedHom.opEquiv'_apply {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} {a' : } (f : ShiftedHom X Y a') (n a : ) (h : n + a = a') :
      (opEquiv' n a a' h) f = (opEquiv n) (CategoryStruct.comp f ((shiftFunctorAdd' C a n a' ).hom.app Y))
      theorem CategoryTheory.ShiftedHom.opEquiv'_symm_comp {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y Z : C} (f : Y X) {n a : } (x : Opposite.op ((shiftFunctor C a).obj Z) (shiftFunctor Cᵒᵖ n).obj (Opposite.op X)) (a' : ) (h : n + a = a') :
      (opEquiv' n a a' h).symm (CategoryStruct.comp x ((shiftFunctor Cᵒᵖ n).map f.op)) = CategoryStruct.comp f ((opEquiv' n a a' h).symm x)
      theorem CategoryTheory.ShiftedHom.opEquiv'_zero_add_symm {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} (a : ) (f : Opposite.op ((shiftFunctor C a).obj Y) (shiftFunctor Cᵒᵖ 0).obj (Opposite.op X)) :
      (opEquiv' 0 a a ).symm f = CategoryStruct.comp ((shiftFunctorZero Cᵒᵖ ).hom.app (Opposite.op X)).unop f.unop
      theorem CategoryTheory.ShiftedHom.opEquiv'_add_symm {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} (n m a a' a'' : ) (ha' : n + a = a') (ha'' : m + a' = a'') (x : Opposite.op ((shiftFunctor C a).obj Y) (shiftFunctor Cᵒᵖ (m + n)).obj (Opposite.op X)) :
      (opEquiv' (m + n) a a'' ).symm x = (opEquiv' m a' a'' ha'').symm (Quiver.Hom.op ((opEquiv' n a a' ha').symm (CategoryStruct.comp x ((shiftFunctorAdd Cᵒᵖ m n).hom.app (Opposite.op X)))))
      @[simp]
      theorem CategoryTheory.ShiftedHom.opEquiv_symm_add {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] {n : } (x y : ShiftedHom (Opposite.op Y) (Opposite.op X) n) :
      (opEquiv n).symm (x + y) = (opEquiv n).symm x + (opEquiv n).symm y
      @[simp]
      theorem CategoryTheory.ShiftedHom.opEquiv'_symm_add {C : Type u_1} [Category.{u_2, u_1} C] [HasShift C ] {X Y : C} [Preadditive C] [∀ (n : ), (shiftFunctor C n).Additive] {n a : } (x y : Opposite.op ((shiftFunctor C a).obj Y) (shiftFunctor Cᵒᵖ n).obj (Opposite.op X)) (a' : ) (h : n + a = a') :
      (opEquiv' n a a' h).symm (x + y) = (opEquiv' n a a' h).symm x + (opEquiv' n a a' h).symm y