Presheaves of modules over a presheaf of rings. #
We give a hands-on description of a presheaf of modules over a fixed presheaf of rings R
,
as a presheaf of abelian groups with additional data.
We also provide two alternative constructors :
- When
M : CorePresheafOfModules R
consists of a family of unbundled modules overR.obj X
for allX
, the corresponding presheaf of modules isM.toPresheafOfModules
. - When
M : BundledCorePresheafOfModules R
consists of a family of objects inModuleCat (R.obj X)
for allX
, the corresponding presheaf of modules isM.toPresheafOfModules
.
Future work #
- Compare this to the definition as a presheaf of pairs
(R, M)
with specified first part. - Compare this to the definition as a module object of the presheaf of rings thought of as a monoid object.
- (Pre)sheaves of modules over a given sheaf of rings are an abelian category.
- Presheaves of modules over a presheaf of commutative rings form a monoidal category.
- Pushforward and pullback.
A presheaf of modules over a given presheaf of rings, described as a presheaf of abelian groups, and the extra data of the action at each object, and a condition relating functoriality and scalar multiplication.
- presheaf : CategoryTheory.Functor Cᵒᵖ AddCommGroupCat
Instances For
The bundled module over an object X
.
Equations
- PresheafOfModules.obj P X = ModuleCat.of ↑(R.obj X) ↑(P.presheaf.obj X)
Instances For
If P
is a presheaf of modules over a presheaf of rings R
, both over some category C
,
and f : X ⟶ Y
is a morphism in Cᵒᵖ
, we construct the R.map f
-semilinear map
from the R.obj X
-module P.presheaf.obj X
to the R.obj Y
-module P.presheaf.obj Y
.
Equations
- PresheafOfModules.map P f = { toAddHom := ↑(P.presheaf.map f), map_smul' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A morphism of presheaves of modules.
- hom : P.presheaf ⟶ Q.presheaf
Instances For
The identity morphism on a presheaf of modules.
Equations
- PresheafOfModules.Hom.id P = { hom := CategoryTheory.CategoryStruct.id P.presheaf, map_smul := ⋯ }
Instances For
Composition of morphisms of presheaves of modules.
Equations
- PresheafOfModules.Hom.comp f g = { hom := CategoryTheory.CategoryStruct.comp f.hom g.hom, map_smul := ⋯ }
Instances For
Equations
- PresheafOfModules.instCategoryPresheafOfModules = CategoryTheory.Category.mk ⋯ ⋯ ⋯
The (X : Cᵒᵖ)
-component of morphism between presheaves of modules
over a presheaf of rings R
, as an R.obj X
-linear map.
Equations
- PresheafOfModules.Hom.app f X = { toAddHom := ↑(f.hom.app X), map_smul' := ⋯ }
Instances For
Equations
- PresheafOfModules.Hom.instZeroHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = { zero := { hom := 0, map_smul := ⋯ } }
Equations
- PresheafOfModules.Hom.instAddCommGroupHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = AddCommGroup.mk ⋯
Equations
- PresheafOfModules.Hom.instPreadditivePresheafOfModulesInstCategoryPresheafOfModules = { homGroup := inferInstance, add_comp := ⋯, comp_add := ⋯ }
The functor from presheaves of modules over a specified presheaf of rings, to presheaves of abelian groups.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Evaluation on an object X
gives a functor
PresheafOfModules R ⥤ ModuleCat (R.obj X)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a presheaf of modules M
on a category C
and f : X ⟶ Y
in Cᵒᵖ
, this
is the restriction map M.obj X ⟶ M.obj Y
, considered as a linear map to
the restriction of scalars of M.obj Y
.
Equations
- PresheafOfModules.restrictionApp f M = (ModuleCat.semilinearMapAddEquiv (R.map f) (PresheafOfModules.obj M X) (PresheafOfModules.obj M Y)) (PresheafOfModules.map M f)
Instances For
The restriction natural transformation on presheaves of modules, considered as linear maps to restriction of scalars.
Equations
- PresheafOfModules.restriction R f = { app := PresheafOfModules.restrictionApp f, naturality := ⋯ }
Instances For
A constructor for morphisms in PresheafOfModules R
that is based on the data
of a family of linear maps over the various rings R.obj X
.
Equations
- PresheafOfModules.Hom.mk' app naturality = { hom := { app := fun (X : Cᵒᵖ) => LinearMap.toAddMonoidHom (app X), naturality := ⋯ }, map_smul := ⋯ }
Instances For
A constructor for morphisms in PresheafOfModules R
that is based on the data
of a family of linear maps over the various rings R.obj X
, and for which the
naturality condition is stated using the restriction of scalars.
Equations
- PresheafOfModules.Hom.mk'' app naturality = PresheafOfModules.Hom.mk' app ⋯
Instances For
This structure contains the data and axioms in order to
produce a PresheafOfModules R
from a collection of types
equipped with module structures over the various rings R.obj X
.
(See the constructor PresheafOfModules.mk'
.)
the datum of a type for each object in
Cᵒᵖ
- addCommGroup : (X : Cᵒᵖ) → AddCommGroup (self.obj X)
the abelian group structure on the types
obj X
the semi-linear restriction maps
- map_id : ∀ (X : Cᵒᵖ) (x : self.obj X), (self.map (CategoryTheory.CategoryStruct.id X)) x = x
map
is compatible with the identities - map_comp : ∀ {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) (x : self.obj X), (self.map (CategoryTheory.CategoryStruct.comp f g)) x = (self.map g) ((self.map f) x)
map
is compatible with the composition
Instances For
The presheaf of abelian groups attached to a CorePresheafOfModules R
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Constructor for PresheafOfModules R
based on a collection of types
equipped with module structures over the various rings R.obj X
, see
the structure CorePresheafOfModules
.
Equations
- CorePresheafOfModules.toPresheafOfModules M = { presheaf := CorePresheafOfModules.presheaf M, module := inferInstance, map_smul := ⋯ }
Instances For
This structure contains the data and axioms in order to
produce a PresheafOfModules R
from a collection of objects
of type ModuleCat (R.obj X)
for all X
, and restriction
maps expressed as linear maps to restriction of scalars.
(See the constructor PresheafOfModules.mk''
.)
- map : {X Y : Cᵒᵖ} → (f : X ⟶ Y) → self.obj X ⟶ (ModuleCat.restrictScalars (R.map f)).obj (self.obj Y)
the restriction maps as linear maps to restriction of scalars
- map_id : ∀ (X : Cᵒᵖ), self.map (CategoryTheory.CategoryStruct.id X) = (ModuleCat.restrictScalarsId' (R.map (CategoryTheory.CategoryStruct.id X)) ⋯).inv.app (self.obj X)
map
is compatible with the identities - map_comp : ∀ {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z), self.map (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (self.map f) (CategoryTheory.CategoryStruct.comp ((ModuleCat.restrictScalars (R.map f)).map (self.map g)) ((ModuleCat.restrictScalarsComp' (R.map f) (R.map g) (R.map (CategoryTheory.CategoryStruct.comp f g)) ⋯).inv.app (self.obj Z)))
map
is compatible with the composition
Instances For
The obvious map BundledCorePresheafOfModules R → CorePresheafOfModules R
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructor for PresheafOfModules R
based on a collection of objects
of type ModuleCat (R.obj X)
for all X
, and restriction maps expressed
as linear maps to restriction of scalars, see
the structure BundledCorePresheafOfModules
.