Documentation

Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Scheme

Proj as a scheme #

This file is to prove that Proj is a scheme.

Notation #

Implementation #

In AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.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 homogeneous element f : A of positive degree m, Proj.T | (pbo f) is homeomorphic to Spec.T A⁰_f:

Main Definitions and Statements #

For a homogeneous element f of degree n

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    For any x in Proj| (pbo f), the corresponding ideal in Spec A⁰_f. This fact that this ideal is prime is proven in TopComponent.Forward.toFun

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.MemCarrier.clear_denominator' {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} (x : ↑(AlgebraicGeometry.LocallyRingedSpace.toTopCat (AlgebraicGeometry.LocallyRingedSpace.restrict (AlgebraicGeometry.Proj.toLocallyRingedSpace 𝒜) (_ : OpenEmbedding ⇑(TopologicalSpace.Opens.inclusion (ProjectiveSpectrum.basicOpen 𝒜 f)))))) [DecidableEq (Localization.Away f)] {z : Localization.Away f} (hz : z ∈ Ideal.span (⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal)) :
      ∃ (c : ↑(⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal) →₀ Localization.Away f) (N : ℕ) (acd : (y : Localization.Away f) → y ∈ Finset.image (⇑c) c.support → A), f ^ N • z = (algebraMap A (Localization.Away f)) (Finset.sum (Finset.attach c.support) fun (i : { x_1 : ↑(⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal) // x_1 ∈ c.support }) => acd (c ↑i) (_ : c ↑i ∈ Finset.image (⇑c) c.support) * Exists.choose (_ : ↑↑i ∈ ⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal))
      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.MemCarrier.clear_denominator {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} (x : ↑(AlgebraicGeometry.LocallyRingedSpace.toTopCat (AlgebraicGeometry.LocallyRingedSpace.restrict (AlgebraicGeometry.Proj.toLocallyRingedSpace 𝒜) (_ : OpenEmbedding ⇑(TopologicalSpace.Opens.inclusion (ProjectiveSpectrum.basicOpen 𝒜 f)))))) [DecidableEq (Localization.Away f)] {z : HomogeneousLocalization.Away 𝒜 f} (hz : z ∈ AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.carrier x) :
      ∃ (c : ↑(⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal) →₀ Localization.Away f) (N : ℕ) (acd : (y : Localization.Away f) → y ∈ Finset.image (⇑c) c.support → A), f ^ N • HomogeneousLocalization.val z = (algebraMap A (Localization.Away f)) (Finset.sum (Finset.attach c.support) fun (i : { x_1 : ↑(⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal) // x_1 ∈ c.support }) => acd (c ↑i) (_ : c ↑i ∈ Finset.image (⇑c) c.support) * Exists.choose (_ : ↑↑i ∈ ⇑(algebraMap A (Localization.Away f)) '' ↑(↑x).asHomogeneousIdeal))

      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 TopComponent.forward.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.preimage_eq {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] (f : A) (a : A) (b : A) (k : ℕ) (a_mem : a ∈ 𝒜 k) (b_mem1 : b ∈ 𝒜 k) (b_mem2 : b ∈ Submonoid.powers f) :
        AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.toFun f ⁻¹' ↑(PrimeSpectrum.basicOpen (Quotient.mk'' { deg := k, num := { val := a, property := a_mem }, den := { val := b, property := b_mem1 }, den_mem := b_mem2 })) = {x : ↑↑(AlgebraicGeometry.LocallyRingedSpace.restrict (AlgebraicGeometry.Proj.toLocallyRingedSpace 𝒜) (_ : OpenEmbedding ⇑(TopologicalSpace.Opens.inclusion (ProjectiveSpectrum.basicOpen 𝒜 f)))).toSheafedSpace.toPresheafedSpace | ↑x ∈ ProjectiveSpectrum.basicOpen 𝒜 f ⊓ ProjectiveSpectrum.basicOpen 𝒜 a}

        The continuous function between the basic open set D(f) in Proj to the corresponding basic open set in Spec A⁰_f.

        Equations
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) :
              Set A

              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}

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.mem_carrier_iff {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) (a : A) :
                a ∈ AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier f_deg q ↔ ∀ (i : ℕ), Quotient.mk'' { deg := m * i, num := { val := (GradedAlgebra.proj 𝒜 i) a ^ m, property := (_ : ↑((LinearMap.comp (DFinsupp.lapply i) (AlgHom.toLinearMap ↑(DirectSum.decomposeAlgEquiv 𝒜))) a) ^ m ∈ 𝒜 (m • i)) }, den := { val := f ^ i, property := (_ : f ^ i ∈ 𝒜 (m * i)) }, den_mem := (_ : ∃ (y : ℕ), (fun (x : ℕ) => f ^ x) y = ↑{ val := f ^ i, property := (_ : f ^ i ∈ 𝒜 (m * i)) }) } ∈ q.asIdeal
                theorem AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.mem_carrier_iff' {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) (a : A) :
                a ∈ AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier f_deg q ↔ ∀ (i : ℕ), Localization.mk ((GradedAlgebra.proj 𝒜 i) a ^ m) { val := f ^ i, property := (_ : ∃ (y : ℕ), (fun (x : ℕ) => f ^ x) y = f ^ i) } ∈ ⇑(algebraMap (HomogeneousLocalization.Away 𝒜 f) (Localization.Away f)) '' {s : HomogeneousLocalization.Away 𝒜 f | s ∈ q.asIdeal}
                theorem AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.zero_mem {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) :
                theorem AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.smul_mem {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) (c : A) (x : A) (hx : x ∈ AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier f_deg q) :
                def AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.asIdeal {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) :

                For a prime ideal q in A⁰_f, the set {a | aᵢᵐ/fⁱ ∈ q} as an ideal.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.asHomogeneousIdeal {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) :

                  For a prime ideal q in A⁰_f, the set {a | aᵢᵐ/fⁱ ∈ q} as a homogeneous ideal.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.carrier.denom_not_mem {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) (q : ↑↑(AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toSheafedSpace.toPresheafedSpace) :
                    def AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.toFun {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {𝒜 : ℕ → Submodule R A} [GradedAlgebra 𝒜] {f : A} {m : ℕ} (f_deg : f ∈ 𝒜 m) (hm : 0 < m) :

                    The function Spec A⁰_f → Proj|D(f) by sending q to {a | aᵢᵐ/fⁱ ∈ q}.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For