# mathlibdocumentation

algebraic_geometry.projective_spectrum.scheme

# Proj as a scheme #

This file is to prove that Proj is a scheme.

## Notation #

• Proj : Proj as a locally ringed space
• Proj.T : the underlying topological space of Proj
• Proj| U : Proj restricted to some open set U
• Proj.T| U : the underlying topological space of Proj restricted to open set U
• pbo f : basic open set at f in Proj
• Spec : Spec as a locally ringed space
• Spec.T : the underlying topological space of Spec
• sbo g : basic open set at g in Spec
• A⁰_x : the degree zero part of localized ring Aₓ

## 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:

1. We prove that Proj can be covered by basic open sets at homogeneous element of positive degree.
2. We prove that for any f : A, Proj.T | (pbo f) is homeomorphic to Spec.T A⁰_f:
• forward direction : for any x : pbo f, i.e. a relevant homogeneous prime ideal x, send it to x ∩ span {g / 1 | g ∈ A} (see Top_component.forward.carrier). This ideal is prime, the proof is in Top_component.forward.to_fun. The fact that this function is continuous is found in Top_component.forward
• backward direction : TBC

## Main Definitions and Statements #

• degree_zero_part: the degree zero part of the localized ring Aₓ where x is a homogeneous element of degree n is the subring of elements of the form a/f^m where a has degree mn.

For a homogeneous element f of degree n

• Top_component.forward: forward f is the continuous map between Proj.T| pbo f and Spec.T A⁰_f

• Top_component.forward.preimage_eq: for any a: A, if a/f^m has degree zero, then the preimage of sbo a/f^m under forward f is pbo f ∩ pbo a.

• Robin Hartshorne, Algebraic Geometry: Chapter II.2 Proposition 2.5

def algebraic_geometry.degree_zero_part {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) :

The degree zero part of the localized ring Aₓ is the subring of elements of the form a/x^n such that a and x^n have the same degree.

Equations
Instances for ↥algebraic_geometry.degree_zero_part
@[protected, instance]
def algebraic_geometry.degree_zero_part.comm_ring {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} (f : A) {m : } (f_deg : f 𝒜 m) :
Equations
noncomputable def algebraic_geometry.degree_zero_part.deg {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) (x : ) :

Every element in the degree zero part of Aₓ can be written as a/x^n for some a and n : ℕ, degree_zero_part.deg picks this natural number n

Equations
noncomputable def algebraic_geometry.degree_zero_part.num {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) (x : ) :
A

Every element in the degree zero part of Aₓ can be written as a/x^n for some a and n : ℕ, degree_zero_part.deg picks the numerator a

Equations
theorem algebraic_geometry.degree_zero_part.num_mem {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) (x : ) :
𝒜 (m *
theorem algebraic_geometry.degree_zero_part.eq {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) (x : ) :
x.val = , _⟩
theorem algebraic_geometry.degree_zero_part.mul_val {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [ A] {𝒜 : A} {f : A} {m : } (f_deg : f 𝒜 m) (x y : ) :
(x * y).val = x.val * y.val