The structure sheaf on projective_spectrum π
. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In src/algebraic_geometry/topology.lean
, we have given a topology on projective_spectrum π
; in
this file we will construct a sheaf on projective_spectrum π
.
Notation #
R
is a commutative semiring;A
is a commutative ring and anR
-algebra;π : β β submodule R A
is the grading ofA
;U
is opposite object of some open subset ofprojective_spectrum.Top
.
Main definitions and results #
We define the structure sheaf as the subsheaf of all dependent function
f : Ξ x : U, homogeneous_localization π x
such that f
is locally expressible as ratio of two
elements of the same grading, i.e. β y β U, β (V β U) (i : β) (a b β π i), β z β V, f z = a / b
.
algebraic_geometry.projective_spectrum.structure_sheaf.is_locally_fraction
: the predicate that a dependent function is locally expressible as a ratio of two elements of the same grading.algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring
: the dependent functions satisfying the above local property forms a subring of all dependent functionsΞ x : U, homogeneous_localization π x
.algebraic_geometry.Proj.structure_sheaf
: the sheaf withU β¦ sections_subring U
and natural restriction map.
Then we establish that Proj π
is a LocallyRingedSpace
:
algebraic_geometry.Proj.stalk_iso'
: for anyx : projective_spectrum π
, the stalk ofProj.structure_sheaf
atx
is isomorphic tohomogeneous_localization π x
.algebraic_geometry.Proj.to_LocallyRingedSpace
:Proj
as a locally ringed space.
References #
The predicate saying that a dependent function on an open U
is realised as a fixed fraction
r / s
of same grading in each of the stalks (which are localizations at various prime ideals).
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
- algebraic_geometry.projective_spectrum.structure_sheaf.is_fraction_prelocal π = {pred := Ξ» (U : topological_space.opens β₯(projective_spectrum.Top π)) (f : Ξ (x : β₯U), homogeneous_localization.at_prime π βx.as_homogeneous_ideal.to_ideal), algebraic_geometry.projective_spectrum.structure_sheaf.is_fraction f, res := _}
We will define the structure sheaf as the subsheaf of all dependent functions in
Ξ x : U, homogeneous_localization π x
consisting of those functions which can locally be expressed
as a ratio of A
of same grading.
The functions satisfying is_locally_fraction
form a subring of all dependent functions
Ξ x : U, homogeneous_localization π x
.
Equations
- algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring U = {carrier := {f : Ξ (x : β₯(opposite.unop U)), homogeneous_localization.at_prime π x.val.as_homogeneous_ideal.to_ideal | (algebraic_geometry.projective_spectrum.structure_sheaf.is_locally_fraction π).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.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing π = {obj := Ξ» (U : (topological_space.opens β₯(projective_spectrum.Top π))α΅α΅), CommRing.of ((algebraic_geometry.projective_spectrum.structure_sheaf.structure_sheaf_in_Type π).val.obj U), map := Ξ» (U V : (topological_space.opens β₯(projective_spectrum.Top π))α΅α΅) (i : U βΆ V), {to_fun := (algebraic_geometry.projective_spectrum.structure_sheaf.structure_sheaf_in_Type π).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
- algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_comp_forget π = category_theory.nat_iso.of_components (Ξ» (U : (topological_space.opens β₯(projective_spectrum.Top π))α΅α΅), category_theory.iso.refl ((algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing π β category_theory.forget CommRing).obj U)) _
Proj
of a graded ring as a SheafedSpace
Equations
- algebraic_geometry.Proj.to_SheafedSpace π = {to_PresheafedSpace := {carrier := Top.of (projective_spectrum π) (projective_spectrum.zariski_topology π), presheaf := (algebraic_geometry.projective_spectrum.Proj.structure_sheaf π).val}, is_sheaf := _}
The ring homomorphism that takes a section of the structure sheaf of Proj
on the open set U
,
implemented as a subtype of dependent functions to localizations at homogeneous prime ideals, and
evaluates the section on the point corresponding to a given homogeneous prime ideal.
Equations
- algebraic_geometry.open_to_localization π U x hx = {to_fun := Ξ» (s : β₯((algebraic_geometry.projective_spectrum.Proj.structure_sheaf π).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 Proj
at a point corresponding
to a homogeneous prime ideal x
to the homogeneous localization at x
,
formed by gluing the open_to_localization
maps.
Equations
- algebraic_geometry.stalk_to_fiber_ring_hom π x = category_theory.limits.colimit.desc ((topological_space.open_nhds.inclusion x).op β (algebraic_geometry.projective_spectrum.Proj.structure_sheaf π).val) {X := {Ξ± := homogeneous_localization.at_prime π x.as_homogeneous_ideal.to_ideal _, str := homogeneous_localization.homogenous_localization_comm_ring x.as_homogeneous_ideal.to_ideal.prime_compl}, ΞΉ := {app := Ξ» (U : (topological_space.open_nhds x)α΅α΅), algebraic_geometry.open_to_localization π ((topological_space.open_nhds.inclusion x).obj (opposite.unop U)) x _, naturality' := _}}
Given a point x
corresponding to a homogeneous prime ideal, there is a (dependent) function
such that, for any f
in the homogeneous localization at x
, it returns the obvious section in the
basic open set D(f.denom)
Equations
- algebraic_geometry.section_in_basic_open π x = Ξ» (f : homogeneous_localization.at_prime π x.as_homogeneous_ideal.to_ideal), β¨Ξ» (y : β₯(opposite.unop (opposite.op (projective_spectrum.basic_open π (homogeneous_localization.denom f))))), quotient.mk' {deg := homogeneous_localization.deg f, num := β¨homogeneous_localization.num f, _β©, denom := β¨homogeneous_localization.denom f, _β©, denom_mem := _}, _β©
Given any point x
and f
in the homogeneous localization at x
, there is an element in the
stalk at x
obtained by section_in_basic_open
. This is the inverse of stalk_to_fiber_ring_hom
.
Equations
- algebraic_geometry.homogeneous_localization_to_stalk π x = Ξ» (f : homogeneous_localization.at_prime π x.as_homogeneous_ideal.to_ideal), β((algebraic_geometry.projective_spectrum.Proj.structure_sheaf π).presheaf.germ β¨x, _β©) (algebraic_geometry.section_in_basic_open π x f)
Using homogeneous_localization_to_stalk
, we construct a ring isomorphism between stalk at x
and homogeneous localization at x
for any point x
in Proj
.
Equations
Proj
of a graded ring as a LocallyRingedSpace
Equations
- algebraic_geometry.Proj.to_LocallyRingedSpace π = {to_SheafedSpace := {to_PresheafedSpace := (algebraic_geometry.Proj.to_SheafedSpace π).to_PresheafedSpace, is_sheaf := _}, local_ring := _}