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
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
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
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
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.evaluation_preservesFiniteLimits
{C : Type uā}
[CategoryTheory.Category.{vā, uā} C]
(R : CategoryTheory.Functor Cįµįµ RingCat)
(X : Cįµįµ)
: