Transporting generating sections #
This file provides a general transport for generating sections: first carry them along a colimit-preserving functor, then read them through an isomorphism of the resulting sheaf. The transport preserves the indexing type, invertibility of the generating morphism, and finiteness.
It also records what it means, sectionwise, for finitely many sections to generate: every section is, locally on a covering sieve, a linear combination of the restricted generators. This is the form in which generators are used to compute stalks.
The iterated-slice specialization provides the transport used to combine local bases over a refinement. It is adapted from Brian Nugent's implementation.
Main declarations #
SheafOfModules.GeneratingSections.equivOfIso_apply_π: the generating morphism after transport along an isomorphism;SheafOfModules.GeneratingSections.mapIso: generating sections carried along a colimit-preserving functor and read through an isomorphism;SheafOfModules.GeneratingSections.restrict: generating sections restricted along an arrow;SheafOfModules.GeneratingSections.ofIteratedSlice: generating sections on an iterated slice, read as generating sections on the slice over the underlying object;SheafOfModules.GeneratingSections.exists_sieve_sum_smul_eq: finitely many generating sections generate every section locally.
Transporting generating sections along an isomorphism preserves their index type.
Transporting generating sections along an isomorphism e composes the generating morphism
with e.
Transporting generating sections along an isomorphism preserves an invertible generating morphism.
Transporting generating sections along an isomorphism preserves finiteness.
Generating sections carried along a colimit-preserving functor F and then read through an
isomorphism e : F.obj M ≅ N.
Equations
- σ.mapIso F η e = (SheafOfModules.GeneratingSections.equivOfIso e) (σ.map F η)
Instances For
Carrying generating sections along a functor and an isomorphism preserves their index type.
The generating morphism of carried generating sections is the mapped generating morphism
followed by the isomorphism, read along the identification mapIso_I of the index types.
Carrying generating sections along a functor and an isomorphism preserves an invertible generating morphism.
Carrying generating sections along a functor and an isomorphism preserves finiteness.
Generating sections of M.over X restricted along f : Y ⟶ X to generating sections of
M.over Y: they are carried by the restriction functor overMap R f, which is identified with
restriction to Y by overFunctorMap.
Equations
- G.restrict f = G.mapIso (SheafOfModules.overMap R f) (SheafOfModules.overMapUnitIso f).symm ((SheafOfModules.overFunctorMap R f).app M)
Instances For
Restricting generating sections preserves their index type.
The generating morphism of restricted generating sections is obtained by mapping the original
generating morphism and then applying the comparison with restriction to Y, read along the
identification restrict_I of the index types.
Restricting generating sections preserves an invertible generating morphism.
Restricting generating sections preserves finiteness.
Generating sections of the twice-restricted sheaf (M.over Z).over Y, read along
Sheaf.iteratedSliceEquivalence as generating sections of the restriction of M to Y.left.
Equations
Instances For
Transporting generating sections off an iterated slice preserves their index type.
The generating morphism after transport off an iterated slice is the mapped generating
morphism followed by the comparison with restriction to Y.left, read along the identification
ofIteratedSlice_I of the index types.
Reading a local basis through Sheaf.iteratedSliceEquivalence again gives a local basis.
Transporting generating sections off an iterated slice preserves finiteness.
Finitely many generating sections generate every section locally: a section m of M over
Y is, on a covering sieve of Y, a linear combination of the restricted generators.