Documentation

Mathlib.CategoryTheory.Shift.ShiftedHom

Shifted morphisms

Given a category C endowed with a shift by an additive monoid M and two objects X and Y in C, we consider the types ShiftedHom X Y m defined as X ⟶ (Y⟦m⟧) for all m : M, and the composition on these shifted hom.

TODO #

def CategoryTheory.ShiftedHom {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] (X : C) (Y : C) (m : M) :
Type u_5

In a category C equipped with a shift by an additive monoid, this is the type of morphisms X ⟶ (Y⟦n⟧) for m : M.

Equations
Instances For
    noncomputable def CategoryTheory.ShiftedHom.comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} {a : M} {b : M} {c : M} (f : CategoryTheory.ShiftedHom X Y a) (g : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :

    The composition of f : X ⟶ Y⟦a⟧ and g : Y ⟶ Z⟦b⟧, as a morphism X ⟶ Z⟦c⟧ when b + a = c.

    Equations
    Instances For
      theorem CategoryTheory.ShiftedHom.comp_assoc {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} {T : C} {a₁ : M} {a₂ : M} {a₃ : M} {a₁₂ : M} {a₂₃ : M} {a : M} (α : CategoryTheory.ShiftedHom X Y a₁) (β : CategoryTheory.ShiftedHom Y Z a₂) (γ : CategoryTheory.ShiftedHom Z T a₃) (h₁₂ : a₂ + a₁ = a₁₂) (h₂₃ : a₃ + a₂ = a₂₃) (h : a₃ + a₂ + a₁ = a) :
      (α.comp β h₁₂).comp γ = α.comp (β.comp γ h₂₃)

      In degree 0 : M, shifted hom ShiftedHom X Y 0 identify to morphisms X ⟶ Y. We generalize this to m₀ : M such that m₀ : 0 as it shall be convenient when we apply this with M := ℤ and m₀ the coercion of 0 : ℕ.

      noncomputable def CategoryTheory.ShiftedHom.mk₀ {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} (m₀ : M) (hm₀ : m₀ = 0) (f : X Y) :

      The element of ShiftedHom X Y m₀ (when m₀ = 0) attached to a morphism X ⟶ Y.

      Equations
      Instances For
        noncomputable def CategoryTheory.ShiftedHom.homEquiv {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} (m₀ : M) (hm₀ : m₀ = 0) :

        The bijection (X ⟶ Y) ≃ ShiftedHom X Y m₀ when m₀ = 0.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.ShiftedHom.homEquiv_apply {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} (m₀ : M) (hm₀ : m₀ = 0) (f : X Y) :
          theorem CategoryTheory.ShiftedHom.mk₀_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} (m₀ : M) (hm₀ : m₀ = 0) (f : X Y) {a : M} (g : CategoryTheory.ShiftedHom Y Z a) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.mk₀_id_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} (m₀ : M) (hm₀ : m₀ = 0) {a : M} (f : CategoryTheory.ShiftedHom X Y a) :
          theorem CategoryTheory.ShiftedHom.comp_mk₀ {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0) (g : Y Z) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.comp_mk₀_id {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) (m₀ : M) (hm₀ : m₀ = 0) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.mk₀_comp_mk₀ {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} (f : X Y) (g : Y Z) {a : M} {b : M} {c : M} (h : b + a = c) (ha : a = 0) (hb : b = 0) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.mk₀_comp_mk₀_assoc {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} {T : C} (f : X Y) (g : Y Z) {a : M} (ha : a = 0) {d : M} (h : CategoryTheory.ShiftedHom Z T d) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.mk₀_zero {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] (X : C) (Y : C) [CategoryTheory.Preadditive C] (m₀ : M) (hm₀ : m₀ = 0) :
          @[simp]
          theorem CategoryTheory.ShiftedHom.comp_add {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} [CategoryTheory.Preadditive C] [∀ (a : M), (CategoryTheory.shiftFunctor C a).Additive] {a : M} {b : M} {c : M} (α : CategoryTheory.ShiftedHom X Y a) (β₁ : CategoryTheory.ShiftedHom Y Z b) (β₂ : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :
          α.comp (β₁ + β₂) h = α.comp β₁ h + α.comp β₂ h
          @[simp]
          theorem CategoryTheory.ShiftedHom.add_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} [CategoryTheory.Preadditive C] {a : M} {b : M} {c : M} (α₁ : CategoryTheory.ShiftedHom X Y a) (α₂ : CategoryTheory.ShiftedHom X Y a) (β : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :
          (α₁ + α₂).comp β h = α₁.comp β h + α₂.comp β h
          @[simp]
          theorem CategoryTheory.ShiftedHom.comp_neg {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} [CategoryTheory.Preadditive C] [∀ (a : M), (CategoryTheory.shiftFunctor C a).Additive] {a : M} {b : M} {c : M} (α : CategoryTheory.ShiftedHom X Y a) (β : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :
          α.comp (-β) h = -α.comp β h
          @[simp]
          theorem CategoryTheory.ShiftedHom.neg_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} {Z : C} [CategoryTheory.Preadditive C] {a : M} {b : M} {c : M} (α : CategoryTheory.ShiftedHom X Y a) (β : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :
          (-α).comp β h = -α.comp β h
          @[simp]
          theorem CategoryTheory.ShiftedHom.comp_zero {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] {X : C} {Y : C} (Z : C) [CategoryTheory.Preadditive C] [∀ (a : M), (CategoryTheory.shiftFunctor C a).PreservesZeroMorphisms] {a : M} (β : CategoryTheory.ShiftedHom X Y a) {b : M} {c : M} (h : b + a = c) :
          β.comp 0 h = 0
          @[simp]
          theorem CategoryTheory.ShiftedHom.zero_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] (X : C) {Y : C} {Z : C} [CategoryTheory.Preadditive C] (a : M) {b : M} {c : M} (β : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) :

          The action on ShiftedHom of a functor which commutes with the shift.

          Equations
          Instances For
            theorem CategoryTheory.ShiftedHom.comp_map {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {E : Type u_3} [CategoryTheory.Category.{u_7, u_3} E] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [CategoryTheory.HasShift E M] {X : C} {Y : C} {a : M} (f : CategoryTheory.ShiftedHom X Y a) (F : CategoryTheory.Functor C D) [F.CommShift M] (G : CategoryTheory.Functor D E) [G.CommShift M] :
            f.map (F.comp G) = (f.map F).map G
            theorem CategoryTheory.ShiftedHom.map_comp {C : Type u_1} [CategoryTheory.Category.{u_5, u_1} C] {D : Type u_2} [CategoryTheory.Category.{u_6, u_2} D] {M : Type u_4} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] {X : C} {Y : C} {Z : C} {a : M} {b : M} {c : M} (f : CategoryTheory.ShiftedHom X Y a) (g : CategoryTheory.ShiftedHom Y Z b) (h : b + a = c) (F : CategoryTheory.Functor C D) [F.CommShift M] :
            (f.comp g h).map F = (f.map F).comp (g.map F) h