The twisting sheaf is generated by gᴺ on the chart D₊(g) #
exists_smul_sectionOfMem_eq says that near every point of D₊(g), every section of O(N) is a
structure-sheaf multiple of the single section gᴺ / 1. This is the chart-local half of Serre's
global generation: #586 needs the twisted generators to generate F(N) on each chart, and the
O(N) factor of that is exactly this statement.
Why this is not a triviality about invertible sheaves #
O(N) is invertible (twistingSheaf_isInvertible) and trivial on a degree-one chart
(twistingSheafOverUnitIso), so it is tempting to read the statement off those. That does not
work, and the reason is #585's: those isomorphisms are property witnesses, not computations.
They say a trivialization exists; they do not say that this section, gᴺ / 1, is one. A
generator has to be exhibited, and the argument has to be made on fractions.
The argument #
isLocallyFraction hands over, near the point, a single fraction: w = r / s on some V', with
s ∈ 𝒜 i invertible there and r in the shifted piece — which, because the shift N is a
natural number, is just 𝒜 (i + N) (mem_intShift_ofNat_iff).
Shrink to V' ⊓ D₊(g) and take the scalar
r / (s · gᴺ),
a degree-zero fraction because s · gᴺ ∈ 𝒜 (i + N) matches r's degree, and a legitimate section
because both s and g are invertible on that open. Multiplying gᴺ / 1 by it gives
r · gᴺ / (s · gᴺ · 1), which is r / s after cancelling gᴺ — one LocalizedModule.mk_eq with
witness 1, the same last step as frac_smul_sectionOfMem.
Shrinking is not optional #
The neighbourhood is cut down twice, and both cuts are forced. isLocallyFraction only offers a
fraction on some neighbourhood, and the denominator s · gᴺ is invertible only where g is —
which is why the conclusion carries W and a proof W ≤ V rather than asserting anything on V
itself. On the chart this costs nothing: the caller is choosing an open around a point it was
already handed.
Scope #
The O(N) factor alone. Nothing here mentions F, twistBy, or surjectivity; the passage from
this to F(N) is the tensor step and is not in this file.
gᴺ / 1 generates O(N) near every point of D₊(g).
For g of degree one and w a section of O(N) over V, every point of V ⊓ D₊(g) has a
neighbourhood on which w is a structure-sheaf multiple of sectionOfMem 𝒜 𝒜 _ N gᴺ.
The conclusion compares the two sections pointwise rather than through a restriction map: the
module action on associatedSheafInType is pointwise, so this is the form both the proof and the
callers want, and it avoids naming the restriction of w at all.
The same, as an equation of sections of O(N).
exists_smul_sectionOfMem_eq compares the two sides at every point of W; sections of the
associated sheaf are determined by their values (section_ext), and restriction is pointwise,
so this is the pointwise statement read as r • (gᴺ / 1) = w|_W. The section type is
ascribed at Γ(O(N), W) so that the scalar action is the module-sheaf one a consumer sees.