Limits in categories of presheaves of modules #
In this file, it is shown that under suitable assumptions,
limits exist in the category PresheafOfModules R.
def PresheafOfModules.evaluationJointlyReflectsLimits {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] (c : CategoryTheory.Limits.Cone F) (hc : (X : Cᵒᵖ) → CategoryTheory.Limits.IsLimit ((evaluation R X).mapCone c)) :
A cone in the category PresheafOfModules R is limit 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.instHasLimitModuleCatCarrierObjOppositeRingCatCompEvaluationRestrictScalarsHomMap {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] {X Y : Cᵒᵖ} (f : X ⟶ Y) :
CategoryTheory.Limits.HasLimit (F.comp ((evaluation R Y).comp (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))))
noncomputable def PresheafOfModules.limitPresheafOfModules {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
Given F : J ⥤ PresheafOfModules.{v} R, this is the presheaf of modules obtained by
taking a limit 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.limitPresheafOfModules_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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] {x✝ Y : Cᵒᵖ} (f : x✝ ⟶ Y) :
(limitPresheafOfModules F).map f = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.limMap (F.whiskerLeft (restriction R f)))
(CategoryTheory.preservesLimitIso (ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f)))
(F.comp (evaluation R Y))).inv
@[simp]
theorem PresheafOfModules.limitPresheafOfModules_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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] (X : Cᵒᵖ) :
noncomputable def PresheafOfModules.limitCone {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
The (limit) cone for F : J ⥤ PresheafOfModules.{v} R that is constructed from the limit
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.limitCone_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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
@[simp]
theorem PresheafOfModules.limitCone_π_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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] (j : J) (X : Cᵒᵖ) :
noncomputable def PresheafOfModules.isLimitLimitCone {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
The cone limitCone F is limit for any F : J ⥤ PresheafOfModules.{v} R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance PresheafOfModules.hasLimit {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
instance PresheafOfModules.evaluation_preservesLimit {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] (X : Cᵒᵖ) :
instance PresheafOfModules.toPresheaf_preservesLimit {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 : Cᵒᵖ),
Small.{v, max u₂ v} ↑((F.comp (evaluation R X)).comp (CategoryTheory.forget (ModuleCat ↑(R.obj X)))).sections] :
instance PresheafOfModules.hasLimitsOfShape {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [Small.{v, u₂} J] :
instance PresheafOfModules.instPreservesLimitsOfShapeModuleCatCarrierObjOppositeRingCatEvaluation {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [Small.{v, u₂} J] (X : Cᵒᵖ) :
instance PresheafOfModules.instPreservesLimitsOfSizeModuleCatCarrierObjOppositeRingCatEvaluation {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (X : Cᵒᵖ) :
instance PresheafOfModules.instPreservesLimitsOfShapeFunctorOppositeAbToPresheaf {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (J : Type u₂) [CategoryTheory.Category.{v₂, u₂} J] [Small.{v, u₂} J] :
instance PresheafOfModules.instPreservesLimitsOfSizeFunctorOppositeAbToPresheaf {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) :
instance PresheafOfModules.hasFiniteLimits {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) :
instance PresheafOfModules.evaluation_preservesFiniteLimits {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) (X : Cᵒᵖ) :