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
:Proj
as a locally ringed spaceProj.T
: the underlying topological space ofProj
Proj| U
:Proj
restricted to some open setU
Proj.T| U
: the underlying topological space ofProj
restricted to open setU
pbo f
: basic open set atf
inProj
Spec
:Spec
as a locally ringed spaceSpec.T
: the underlying topological space ofSpec
sbo g
: basic open set atg
inSpec
A⁰_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
Proj
can be covered by basic open sets at homogeneous element of positive degree. - We prove that for any homogeneous element
f : A
of 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_Spec
andto_Spec ∘ from_Spec
are 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ₓ
wherex
is a homogeneous element of degreen
is the subring of elements of the forma/f^m
wherea
has degreemn
.
For a homogeneous element f
of degree n
-
Proj_iso_Spec_Top_component.to_Spec
:forward f
is the continuous map betweenProj.T| pbo f
andSpec.T A⁰_f
-
Proj_iso_Spec_Top_component.to_Spec.preimage_eq
: for anya: A
, ifa/f^m
has degree zero, then the preimage ofsbo a/f^m
underto_Spec f
ispbo 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 := _}, _⟩