Restricting a section of a module sheaf #
Four facts about M.presheaf.map on a scheme, each one or two lines and each stated at the
generality it actually has: any scheme, any X.Modules. Nothing here mentions Proj, a grading,
or quasi-coherence.
Why they are named at all #
They are the kind of step a proof takes without comment until it takes it forty times. The
#585 glue composes restrictions constantly, and rw cannot be used on goals carrying
show-ascription residue, so each composition has to be available as a term. presheaf_map_square_eq
has the same origin on the coherence side: in a clean context its rewrites fire, while at the use
site the goal carries a transparency defect and only exact works.
Why they are here rather than where they were first needed #
#824. resSection_trans, resSection_smul and homApp_res were stated inside
Proj/Modules/Glue.lean; presheaf_map_square_eq was in the former
Modules/Coherent/Pushforward/BaseChange.lean. Each was placed with its first consumer.
The open-square comparison now lives in Modules/Pushforward/BaseChange.lean. Three of
the four were then stated over Proj 𝒜 despite the proofs never using the grading —
resSection_smul is Scheme.Modules.map_smul verbatim — so another lane would have
re-proved them rather than found them.
Restriction composes.
Restriction is semilinear over restriction of scalars.
A morphism of module sheaves commutes with restriction.
Any two ways round a square of restrictions agree.
Opens is a poset, so the two composites are M.presheaf.map of parallel morphisms and
Subsingleton.elim settles it.