Linear maps from stalks of presheaves of modules #
Mathlib endows the stalk of a presheaf of modules with a module structure over the stalk of
its ring presheaf, without requiring commutativity. This file gives its linear universal property:
compatible additive maps on sections that respect scalar multiplication by germs induce a linear
map from the stalk. Over commutative coefficients, germSemilinear bundles the germ map of
sections as a map semilinear along the ring germ map, and stalkMapCommRing is the stalk map of a
morphism, linear over the commutative-ring stalk.
It also constructs the stalk map of a morphism defined on a neighborhood, for use with
local morphisms such as sections of an internal Hom.
Compatible section maps that are linear for the ring germ maps induce a linear map from the module stalk.
Equations
Instances For
The linear map induced from compatible section maps takes a germ to its prescribed value.
Compatible section maps linear for the original commutative-ring germs induce a linear map from the module stalk. This retains the commutative-ring stalk carrier, which differs from the stalk of the presheaf obtained by forgetting commutativity.
Equations
- PresheafOfModules.stalkLiftCommRing x N f hf hs = { toFun := ⇑(TopCat.Presheaf.stalkLiftAddHom N.presheaf x f ⋯), map_add' := ⋯, map_smul' := ⋯ }
Instances For
The commutative-ring linear stalk lift takes a germ to its prescribed value.
The germ map of a presheaf of modules over a presheaf of commutative rings, as a map semilinear along the ring germ map.
Equations
- PresheafOfModules.germSemilinear x N U hx = { toFun := ⇑(CategoryTheory.ConcreteCategory.hom (TopCat.Presheaf.germ N.presheaf U x hx)), map_add' := ⋯, map_smul' := ⋯ }
Instances For
The semilinear germ map is the germ map.
A morphism of presheaves of modules over a presheaf of commutative rings induces a map on stalks, linear over the commutative-ring stalk.
Equations
Instances For
The stalk map of a morphism sends a germ to the germ of its image.
A morphism defined on the slice over a neighborhood induces a map on stalks at every point of that neighborhood.
Equations
- M.stalkMapOver x U φ hxU = M.stalkLift x (PresheafOfModules.stalkMapOverSection✝ M x U φ hxU) ⋯ ⋯
Instances For
The stalk map of a local morphism is computed on any representative inside its domain.