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 𝒜) ))) [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.supportA), 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) * Exists.choose )
      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 𝒜) ))) [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.supportA), 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) * Exists.choose )
      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.carrier_eq_span {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 𝒜) ))) :
      AlgebraicGeometry.ProjIsoSpecTopComponent.ToSpec.carrier x = Ideal.span {z : HomogeneousLocalization.Away 𝒜 f | ∃ (s : A) (F : A) (_ : s (x).asHomogeneousIdeal) (n : ) (s_mem : s 𝒜 n) (F_mem1 : F 𝒜 n) (F_mem2 : F Submonoid.powers f), z = Quotient.mk'' { deg := n, num := { val := s, property := s_mem }, den := { val := F, property := F_mem1 }, den_mem := F_mem2 }}

      For x : pbo f The ideal A⁰_f ∩ span {g / 1 | g ∈ x} is equal to span {a/f^n | a ∈ x and deg(a) = deg(f^n)}

      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
      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 𝒜) ).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))).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))).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 := }, den := { val := f ^ i, property := }, den_mem := } 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))).toPresheafedSpace) (a : A) :
                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))).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))).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
                    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
                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_fromSpec {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) (x : (AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toPresheafedSpace) :
                      AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec (AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.toFun f_deg hm x) = x
                      @[deprecated AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_fromSpec]
                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.toSpecFromSpec {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) (x : (AlgebraicGeometry.Spec.locallyRingedSpaceObj (CommRingCat.of (HomogeneousLocalization.Away 𝒜 f))).toPresheafedSpace) :
                      AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec (AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.toFun f_deg hm x) = x

                      Alias of AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_fromSpec.

                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.fromSpec_toSpec {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) (x : (AlgebraicGeometry.LocallyRingedSpace.restrict (AlgebraicGeometry.Proj.toLocallyRingedSpace 𝒜) ).toPresheafedSpace) :
                      AlgebraicGeometry.ProjIsoSpecTopComponent.FromSpec.toFun f_deg hm (AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec x) = x
                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_injective {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) :
                      Function.Injective AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec
                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_surjective {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) :
                      Function.Surjective AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec
                      theorem AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec_bijective {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] (𝒜 : Submodule R A) [GradedAlgebra 𝒜] {f : A} {m : } (hm : 0 < m) (f_deg : f 𝒜 m) :
                      Function.Bijective AlgebraicGeometry.ProjIsoSpecTopComponent.toSpec