Colimits in categories of presheaves of modules #
In this file, it is shown that under suitable assumptions,
colimits exist in the category PresheafOfModules R.
def PresheafOfModules.evaluationJointlyReflectsColimits {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) (c : CategoryTheory.Limits.Cocone F) (hc : (X : Cᵒᵖ) → CategoryTheory.Limits.IsColimit ((evaluation R X).mapCocone c)) :
A cocone in the category PresheafOfModules R is colimit if it is so after the application
of the functors evaluation R X for all X.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance PresheafOfModules.instHasColimitModuleCatCarrierObjOppositeRingCatCompEvaluationRestrictScalarsHomMap {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] {X Y : Cᵒᵖ} (f : X ⟶ Y) :
CategoryTheory.Limits.HasColimit
(F.comp ((evaluation R Y).comp (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))))
noncomputable def PresheafOfModules.colimitPresheafOfModules {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] :
Given F : J ⥤ PresheafOfModules.{v} R, this is the presheaf of modules obtained by
taking a colimit in the category of modules over R.obj X for all X.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem PresheafOfModules.colimitPresheafOfModules_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] {x✝ Y : Cᵒᵖ} (f : x✝ ⟶ Y) :
(colimitPresheafOfModules F).map f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.colimMap (F.whiskerLeft (restriction R f)))
(CategoryTheory.preservesColimitIso (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))
(F.comp (evaluation R Y))).inv
@[simp]
theorem PresheafOfModules.colimitPresheafOfModules_obj {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] (X : Cᵒᵖ) :
noncomputable def PresheafOfModules.colimitCocone {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] :
The (colimit) cocone for F : J ⥤ PresheafOfModules.{v} R that is constructed from
the colimit of F ⋙ evaluation R X for all X.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem PresheafOfModules.colimitCocone_ι_app_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] (j : J) (X : Cᵒᵖ) :
@[simp]
theorem PresheafOfModules.colimitCocone_pt {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] :
noncomputable def PresheafOfModules.isColimitColimitCocone {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] :
The cocone colimitCocone F is colimit for any F : J ⥤ PresheafOfModules.{v} R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance PresheafOfModules.hasColimit {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] :
instance PresheafOfModules.evaluation_preservesColimit {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] (X : Cᵒᵖ) :
instance PresheafOfModules.toPresheaf_preservesColimit {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {J : Type u₂} [CategoryTheory.Category.{v₂, u₂} J] (F : CategoryTheory.Functor J (PresheafOfModules R)) [∀ {X Y : Cᵒᵖ} (f : X ⟶ Y),
CategoryTheory.Limits.PreservesColimit (F.comp (evaluation R Y))
(ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))] [∀ (X : Cᵒᵖ), CategoryTheory.Limits.HasColimit (F.comp (evaluation R X))] [∀ (X : Cᵒᵖ),
CategoryTheory.Limits.PreservesColimit F
((evaluation R X).comp (CategoryTheory.forget₂ (ModuleCat ↑(R.obj X)) AddCommGrpCat))] :
instance PresheafOfModules.hasColimitsOfShape {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [CategoryTheory.Limits.HasColimitsOfShape J AddCommGrpCat] :
instance PresheafOfModules.evaluation_preservesColimitsOfShape {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [CategoryTheory.Limits.HasColimitsOfShape J AddCommGrpCat] (X : Cᵒᵖ) :
instance PresheafOfModules.toPresheaf_preservesColimitsOfShape {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [CategoryTheory.Limits.HasColimitsOfShape J AddCommGrpCat] :
instance PresheafOfModules.Finite.evaluation_preservesFiniteColimits {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (X : Cᵒᵖ) :
instance PresheafOfModules.evaluation_preservesColimitsOfSize {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) [CategoryTheory.Limits.HasColimitsOfSize.{v₂, u₂, v, v + 1} AddCommGrpCat] (X : Cᵒᵖ) :