The structure sheaf on prime_spectrum R
. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define the structure sheaf on Top.of (prime_spectrum R)
, for a commutative ring R
and prove
basic properties about it. We define this as a subsheaf of the sheaf of dependent functions into the
localizations, cut out by the condition that the function must be locally equal to a ratio of
elements of R
.
Because the condition "is equal to a fraction" passes to smaller open subsets, the subset of functions satisfying this condition is automatically a subpresheaf. Because the condition "is locally equal to a fraction" is local, it is also a subsheaf.
(It may be helpful to refer back to topology.sheaves.sheaf_of_functions
,
where we show that dependent functions into any type family form a sheaf,
and also topology.sheaves.local_predicate
, where we characterise the predicates
which pick out sub-presheaves and sub-sheaves of these sheaves.)
We also set up the ring structure, obtaining
structure_sheaf R : sheaf CommRing (Top.of (prime_spectrum R))
.
We then construct two basic isomorphisms, relating the structure sheaf to the underlying ring R
.
First, structure_sheaf.stalk_iso
gives an isomorphism between the stalk of the structure sheaf
at a point p
and the localization of R
at the prime ideal p
. Second,
structure_sheaf.basic_open_iso
gives an isomorphism between the structure sheaf on basic_open f
and the localization of R
at the submonoid of powers of f
.
References #
The prime spectrum, just as a topological space.
Equations
The type family over prime_spectrum R
consisting of the localization over each point.
Instances for algebraic_geometry.structure_sheaf.localizations
- algebraic_geometry.structure_sheaf.localizations.comm_ring
- algebraic_geometry.structure_sheaf.localizations.local_ring
- algebraic_geometry.structure_sheaf.localizations.inhabited
- algebraic_geometry.structure_sheaf.localizations.algebra
- algebraic_geometry.structure_sheaf.as_ideal.is_localization.at_prime
Equations
The predicate saying that a dependent function on an open U
is realised as a fixed fraction
r / s
in each of the stalks (which are localizations at various prime ideals).
Equations
- algebraic_geometry.structure_sheaf.is_fraction f = ∃ (r s : R), ∀ (x : ↥U), s ∉ x.val.as_ideal ∧ f x * ⇑(algebra_map R (algebraic_geometry.structure_sheaf.localizations R ↑x)) s = ⇑(algebra_map R (algebraic_geometry.structure_sheaf.localizations R ↑x)) r
The predicate is_fraction
is "prelocal",
in the sense that if it holds on U
it holds on any open subset V
of U
.
Equations
We will define the structure sheaf as
the subsheaf of all dependent functions in Π x : U, localizations R x
consisting of those functions which can locally be expressed as a ratio of
(the images in the localization of) elements of R
.
Quoting Hartshorne:
For an open set $U ⊆ Spec A$, we define $𝒪(U)$ to be the set of functions $s : U → ⨆_{𝔭 ∈ U} A_𝔭$, such that $s(𝔭) ∈ A_𝔭$ for each $𝔭$, and such that $s$ is locally a quotient of elements of $A$: to be precise, we require that for each $𝔭 ∈ U$, there is a neighborhood $V$ of $𝔭$, contained in $U$, and elements $a, f ∈ A$, such that for each $𝔮 ∈ V, f ∉ 𝔮$, and $s(𝔮) = a/f$ in $A_𝔮$.
Now Hartshorne had the disadvantage of not knowing about dependent functions,
so we replace his circumlocution about functions into a disjoint union with
Π x : U, localizations x
.
The functions satisfying is_locally_fraction
form a subring.
Equations
- algebraic_geometry.structure_sheaf.sections_subring R U = {carrier := {f : Π (x : ↥(opposite.unop U)), algebraic_geometry.structure_sheaf.localizations R ↑x | (algebraic_geometry.structure_sheaf.is_locally_fraction R).to_prelocal_predicate.pred f}, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, neg_mem' := _}
The structure sheaf (valued in Type
, not yet CommRing
) is the subsheaf consisting of
functions satisfying is_locally_fraction
.
The structure presheaf, valued in CommRing
, constructed by dressing up the Type
valued
structure presheaf.
Equations
- algebraic_geometry.structure_presheaf_in_CommRing R = {obj := λ (U : (topological_space.opens ↥(algebraic_geometry.prime_spectrum.Top R))ᵒᵖ), CommRing.of ((algebraic_geometry.structure_sheaf_in_Type R).val.obj U), map := λ (U V : (topological_space.opens ↥(algebraic_geometry.prime_spectrum.Top R))ᵒᵖ) (i : U ⟶ V), {to_fun := (algebraic_geometry.structure_sheaf_in_Type R).val.map i, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, map_id' := _, map_comp' := _}
Some glue, verifying that that structure presheaf valued in CommRing
agrees
with the Type
valued structure presheaf.
Equations
The structure sheaf on $Spec R$, valued in CommRing
.
This is provided as a bundled SheafedSpace
as Spec.SheafedSpace R
later.
Equations
- algebraic_geometry.Spec.structure_sheaf R = {val := algebraic_geometry.structure_presheaf_in_CommRing R _inst_1, cond := _}
The section of structure_sheaf R
on an open U
sending each x ∈ U
to the element
f/g
in the localization of R
at x
.
Equations
- algebraic_geometry.structure_sheaf.const R f g U hu = ⟨λ (x : ↥(opposite.unop (opposite.op U))), is_localization.mk' (algebraic_geometry.structure_sheaf.localizations R ↑x) f ⟨g, _⟩, _⟩
The canonical ring homomorphism interpreting an element of R
as
a section of the structure sheaf.
Equations
- algebraic_geometry.structure_sheaf.to_open R U = {to_fun := λ (f : ↥(CommRing.of R)), ⟨λ (x : ↥(opposite.unop (opposite.op U))), ⇑(algebra_map R (algebraic_geometry.structure_sheaf.localizations R ↑x)) f, _⟩, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
Instances for algebraic_geometry.structure_sheaf.to_open
The canonical ring homomorphism interpreting an element of R
as an element of
the stalk of structure_sheaf R
at x
.
Equations
The canonical ring homomorphism from the localization of R
at p
to the stalk
of the structure sheaf at the point p
.
Equations
Instances for algebraic_geometry.structure_sheaf.localization_to_stalk
The ring homomorphism that takes a section of the structure sheaf of R
on the open set U
,
implemented as a subtype of dependent functions to localizations at prime ideals, and evaluates
the section on the point corresponding to a given prime ideal.
Equations
- algebraic_geometry.structure_sheaf.open_to_localization R U x hx = {to_fun := λ (s : ↥((algebraic_geometry.Spec.structure_sheaf R).val.obj (opposite.op U))), s.val ⟨x, hx⟩, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
The ring homomorphism from the stalk of the structure sheaf of R
at a point corresponding to
a prime ideal p
to the localization of R
at p
,
formed by gluing the open_to_localization
maps.
Equations
- algebraic_geometry.structure_sheaf.stalk_to_fiber_ring_hom R x = category_theory.limits.colimit.desc ((topological_space.open_nhds.inclusion x).op ⋙ (algebraic_geometry.Spec.structure_sheaf R).val) {X := {α := localization.at_prime x.as_ideal _, str := localization.comm_ring x.as_ideal.prime_compl}, ι := {app := λ (U : (topological_space.open_nhds x)ᵒᵖ), algebraic_geometry.structure_sheaf.open_to_localization R ((topological_space.open_nhds.inclusion x).obj (opposite.unop U)) x _, naturality' := _}}
Instances for algebraic_geometry.structure_sheaf.stalk_to_fiber_ring_hom
The ring isomorphism between the stalk of the structure sheaf of R
at a point p
corresponding to a prime ideal in R
and the localization of R
at p
.
Equations
The canonical ring homomorphism interpreting s ∈ R_f
as a section of the structure sheaf
on the basic open defined by f ∈ R
.
Equations
Instances for algebraic_geometry.structure_sheaf.to_basic_open
The ring isomorphism between the structure sheaf on basic_open f
and the localization of R
at the submonoid of powers of f
.
Equations
Stalk of the structure sheaf at a prime p as localization of R
Sections of the structure sheaf of Spec R on a basic open as localization of R
The ring isomorphism between the ring R
and the global sections Γ(X, 𝒪ₓ)
.
Given a ring homomorphism f : R →+* S
, an open set U
of the prime spectrum of R
and an open
set V
of the prime spectrum of S
, such that V ⊆ (comap f) ⁻¹' U
, we can push a section s
on U
to a section on V
, by composing with localization.local_ring_hom _ _ f
from the left and
comap f
from the right. Explicitly, if s
evaluates on comap f p
to a / b
, its image on V
evaluates on p
to f(a) / f(b)
.
At the moment, we work with arbitrary dependent functions s : Π x : U, localizations R x
. Below,
we prove the predicate is_locally_fraction
is preserved by this map, hence it can be extended to
a morphism between the structure sheaves of R
and S
.
Equations
- algebraic_geometry.structure_sheaf.comap_fun f U V hUV s y = ⇑(localization.local_ring_hom (⇑(prime_spectrum.comap f) y.val).as_ideal y.val.as_ideal f _) (s ⟨⇑(prime_spectrum.comap f) y.val, _⟩)
For a ring homomorphism f : R →+* S
and open sets U
and V
of the prime spectra of R
and
S
such that V ⊆ (comap f) ⁻¹ U
, the induced ring homomorphism from the structure sheaf of R
at U
to the structure sheaf of S
at V
.
Explicitly, this map is given as follows: For a point p : V
, if the section s
evaluates on p
to the fraction a / b
, its image on V
evaluates on p
to the fraction f(a) / f(b)
.
Equations
- algebraic_geometry.structure_sheaf.comap f U V hUV = {to_fun := λ (s : ↥((algebraic_geometry.Spec.structure_sheaf R).val.obj (opposite.op U))), ⟨algebraic_geometry.structure_sheaf.comap_fun f U V hUV s.val, _⟩, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
For an inclusion i : V ⟶ U
between open sets of the prime spectrum of R
, the comap of the
identity from OO_X(U) to OO_X(V) equals as the restriction map of the structure sheaf.
This is a generalization of the fact that, for fixed U
, the comap of the identity from OO_X(U)
to OO_X(U) is the identity.
The comap of the identity is the identity. In this variant of the lemma, two open subsets U
and
V
are given as arguments, together with a proof that U = V
. This is be useful when U
and V
are not definitionally equal.