Pushforward and restriction across an open square #
For any scheme morphism f : X ⟶ Y and open U of Y, compare the two ways
to push forward a module sheaf and restrict it across the square
f ⁻¹ᵁ U ──(f ⁻¹ᵁ U).ι──> X
│ │
f ∣_ U f
│ │
U ─────U.ι─────────> Y
The comparison is independent of finiteness, affineness, and coherence.
Why this is the whole geometric content #
Both composites send an open V of U to the preimage of V under f, viewed in X —
image_morphismRestrict_preimage is exactly that equality, and it is at the pin. Opens is a
poset, so a natural transformation between functors into it is determined by nothing at all:
agreement on objects is the isomorphism, and NatIso.ofComponents discharges naturality
because the naturality squares live in a subsingleton.
The comparison of module sheaves, object by object #
pushforwardRestrictIso compares the resulting module sheaves for one M.
pushforwardRestrictNatIso assembles these isomorphisms into a functor comparison;
its naturality is the naturality of a sheaf morphism on the same transported
sections. The coherent pushforward chart argument consumes the object component.
What the comparison rests on #
Both sides have the same sections: Γ(M, f ⁻¹ᵁ (U.ι ''ᵁ V)) and
Γ(M, (f ⁻¹ᵁ U).ι ''ᵁ ((f ∣_ U) ⁻¹ᵁ V)) are rfl-equal to the two composites, and the opens are
equal by image_morphismRestrict_preimage — the equality this file's first half packages. So the
comparison map is that transport, restrictSquareSections.
What has to be proved is that the transport is linear, and this is the "equality of sheaf-of-rings data" the earlier version of this file left open. It decomposes into four steps, three of which are definitional:
- each side's scalar action unfolds to an action through
Scheme.Hom.app, byrfl; - the open immersion's
Scheme.Hom.appIsois the identity —Scheme.Opens.ι_appIso, and this one is not definitional, it needs the rewrite; - the transport is semilinear over
X's structure sheaf —Scheme.Modules.map_smul; - the two structure-sheaf maps differ by exactly that transport —
morphismRestrict_app, whoseeqToHomis the same one, direction included.
Why the naturality square is written with explicit morphisms #
presheaf_map_square_eq is applied at its four opens morphisms spelled out, and that is the whole
reason this file needs no maxHeartbeats raise. Left as _, they are metavariables Lean has to
solve by unifying against a goal that also carries the instances-transparency defect — which costs
more than twenty times the default budget and buys nothing, since the morphisms are determined and
can simply be written down. Supplied explicitly, the square closes in one exact, in seconds.
The lesson generalises, and it is the opposite of the reflex: a large heartbeat bump here meant the statement was underspecified, not that the proof was hard.
presheaf_map_square_eq is stated separately because in a clean context its rewrites fire, while at
the use site only exact is available — exact unifies up to defeq and never has to match
syntactically, which is what the defective goal rules out.
The functor comparison is built from these explicit objectwise components.
The mate of the independent pushforward/restriction comparison in the
open-immersion direction is the direct pushforward-composite comparison.
Pasting the five factors of the independent pullback iso gives the same
pushforward-composite comparison under conjugation; the iterated-mate
identity then identifies its horizontal mate with the independent comparison.
The actual pullback/pushforward units obey the resulting natural open-square
unit equation. Its ordinary-section form evaluates the pushforward comparison
as restrictSquareSections; this is distinct from slice-site pullbackOverIso
transport and does not assert relative base-change invertibility.
The restriction square commutes on opens. Going round by U.ι and then taking the
preimage under f is going round by f ∣_ U and then taking the image in X.
This is image_morphismRestrict_preimage packaged as an isomorphism of the two composite
functors Opens U ⥤ Opens X, which is the form the base-change comparison of pushforwards
consumes.
Equations
- AlgebraicGeometry.restrictSquareOpensIso f U = CategoryTheory.NatIso.ofComponents (fun (V : (↑U).Opens) => CategoryTheory.eqToIso ⋯) ⋯
Instances For
The transport of sections across the restriction square.
Both ways round the square have the same sections over V — Γ(M, f ⁻¹ᵁ (U.ι ''ᵁ V)) one way and
Γ(M, (f ⁻¹ᵁ U).ι ''ᵁ ((f ∣_ U) ⁻¹ᵁ V)) the other, each rfl-equal to the composite — so the
comparison is the transport along image_morphismRestrict_preimage.
Equations
- AlgebraicGeometry.restrictSquareSections f U M V = M.presheaf.map (CategoryTheory.eqToHom ⋯).op
Instances For
The transport the other way.
Equations
Instances For
The transport is linear, which is the whole content of the module-level comparison.
Each side's action unfolds by rfl to an action through Scheme.Hom.app; Scheme.Opens.ι_appIso
removes the open immersion's appIso, which is the one step that is not definitional; and
morphismRestrict_app says the two structure-sheaf maps differ by exactly the transport being
compared.
The comparison on sections over one open, as a linear equivalence.
Named at the Γ spelling: written through the unfolded pushforward the Module instance does not
synthesize, which is references/instance-transparency.md technique 5 in its usual form.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The open-square comparison, object by object.
Pushing forward along f and then restricting to U is restricting to f ⁻¹ᵁ U and then pushing
forward along f ∣_ U. The coherent-pushforward chart argument uses this
objectwise isomorphism to transport finite presentation.
The component on every open is restrictSquareSections, transporting along
image_morphismRestrict_preimage.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The independent comparison of pushforward and restriction around an open square.
Its component at M is pushforwardRestrictIso f U M, whose map on sections is
restrictSquareSections f U M.
Equations
Instances For
The geometric pullback comparison around the open square, assembled directly from the restriction/pullback comparison, pullback composition, and the equality of the two scheme morphism composites.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two pushforward composites around the open square agree. This comparison is
built from composition and the equality morphismRestrict_ι, independently of
pushforwardRestrictNatIso.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Taking the mate of the independent pushforward/restriction comparison in the open-immersion direction gives the direct comparison of pushforward composites. The proof reduces pointwise to maps in the poset of opens.
Conjugating the directly assembled pullback comparison gives the direct pushforward-composite comparison. This proves the equality-transport factor pointwise, then pastes all five independent factors.
The horizontal mate of the independent geometric pullback comparison is exactly the independently defined pushforward/restriction comparison.
The actual pullback/pushforward units commute with the independent open-square
comparisons. This is the component of the natural unit square at N.
The natural unit square for the actual pullback/pushforward adjunctions. The upper route uses the independent pushforward/restriction comparison; the lower route uses the independent geometric pullback comparison.
On ordinary sections over W, the independent pushforward comparison in
the actual unit square is exactly restrictSquareSections. This is the direct
open-square equation, not its slice-site pullbackOverIso transport.