Proj as a scheme #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file is to prove that Proj is a scheme.
Notation #
Proj:Projas a locally ringed spaceProj.T: the underlying topological space ofProjProj| U:Projrestricted to some open setUProj.T| U: the underlying topological space ofProjrestricted to open setUpbo f: basic open set atfinProjSpec:Specas a locally ringed spaceSpec.T: the underlying topological space ofSpecsbo g: basic open set atginSpecA⁰_x: the degree zero part of localized ringAₓ
Implementation #
In src/algebraic_geometry/projective_spectrum/structure_sheaf.lean, we have given Proj a
structure sheaf so that Proj is a locally ringed space. In this file we will prove that Proj
equipped with this structure sheaf is a scheme. We achieve this by using an affine cover by basic
open sets in Proj, more specifically:
- We prove that
Projcan be covered by basic open sets at homogeneous element of positive degree. - We prove that for any homogeneous element
f : Aof positive degreem,Proj.T | (pbo f)is homeomorphic toSpec.T A⁰_f:
- forward direction
to_Spec: for anyx : pbo f, i.e. a relevant homogeneous prime idealx, send it toA⁰_f ∩ span {g / 1 | g ∈ x}(seeProj_iso_Spec_Top_component.to_Spec.carrier). This ideal is prime, the proof is inProj_iso_Spec_Top_component.to_Spec.to_fun. The fact that this function is continuous is found inProj_iso_Spec_Top_component.to_Spec - backward direction
from_Spec: for anyq : Spec A⁰_f, we send it to{a | ∀ i, aᵢᵐ/fⁱ ∈ q}; we need this to be a homogeneous prime ideal that is relevant.- This is in fact an ideal, the proof can be found in
Proj_iso_Spec_Top_component.from_Spec.carrier.as_ideal; - This ideal is also homogeneous, the proof can be found in
Proj_iso_Spec_Top_component.from_Spec.carrier.as_ideal.homogeneous; - This ideal is relevant, the proof can be found in
Proj_iso_Spec_Top_component.from_Spec.carrier.relevant; - This ideal is prime, the proof can be found in
Proj_iso_Spec_Top_component.from_Spec.carrier.prime. Hence we have a well defined functionSpec.T A⁰_f → Proj.T | (pbo f), this function is calledProj_iso_Spec_Top_component.from_Spec.to_fun. But to prove the continuity of this function, we need to provefrom_Spec ∘ to_Specandto_Spec ∘ from_Specare both identities (TBC).
- This is in fact an ideal, the proof can be found in
Main Definitions and Statements #
degree_zero_part: the degree zero part of the localized ringAₓwherexis a homogeneous element of degreenis the subring of elements of the forma/f^mwhereahas degreemn.
For a homogeneous element f of degree n
-
Proj_iso_Spec_Top_component.to_Spec:forward fis the continuous map betweenProj.T| pbo fandSpec.T A⁰_f -
Proj_iso_Spec_Top_component.to_Spec.preimage_eq: for anya: A, ifa/f^mhas degree zero, then the preimage ofsbo a/f^munderto_Spec fispbo f ∩ pbo a. -
Robin Hartshorne, Algebraic Geometry: Chapter II.2 Proposition 2.5
For any x in Proj| (pbo f), the corresponding ideal in Spec A⁰_f. This fact that this ideal
is prime is proven in Top_component.forward.to_fun
Equations
The function between the basic open set D(f) in Proj to the corresponding basic open set in
Spec A⁰_f. This is bundled into a continuous map in Top_component.forward.
The continuous function between the basic open set D(f) in Proj to the corresponding basic
open set in Spec A⁰_f.
The function from Spec A⁰_f to Proj|D(f) is defined by q ↦ {a | aᵢᵐ/fⁱ ∈ q}, i.e. sending
q a prime ideal in A⁰_f to the homogeneous prime relevant ideal containing only and all the
elements a : A such that for every i, the degree 0 element formed by dividing the m-th power
of the i-th projection of a by the i-th power of the degree-m homogeneous element f,
lies in q.
The set {a | aᵢᵐ/fⁱ ∈ q}
- is an ideal, as proved in
carrier.as_ideal; - is homogeneous, as proved in
carrier.as_homogeneous_ideal; - is prime, as proved in
carrier.as_ideal.prime; - is relevant, as proved in
carrier.relevant.
For a prime ideal q in A⁰_f, the set {a | aᵢᵐ/fⁱ ∈ q} as an ideal.
Equations
- algebraic_geometry.Proj_iso_Spec_Top_component.from_Spec.carrier.as_ideal f_deg hm q = {carrier := algebraic_geometry.Proj_iso_Spec_Top_component.from_Spec.carrier f_deg q, add_mem' := _, zero_mem' := _, smul_mem' := _}
For a prime ideal q in A⁰_f, the set {a | aᵢᵐ/fⁱ ∈ q} as a homogeneous ideal.
The function Spec A⁰_f → Proj|D(f) by sending q to {a | aᵢᵐ/fⁱ ∈ q}.
Equations
- algebraic_geometry.Proj_iso_Spec_Top_component.from_Spec.to_fun f_deg hm = λ (q : ↥((algebraic_geometry.Spec.LocallyRingedSpace_obj (CommRing.of (homogeneous_localization.away 𝒜 f))).to_SheafedSpace.to_PresheafedSpace.carrier)), ⟨{as_homogeneous_ideal := algebraic_geometry.Proj_iso_Spec_Top_component.from_Spec.carrier.as_homogeneous_ideal f_deg hm q, is_prime := _, not_irrelevant_le := _}, _⟩