Module

LocalComplement.lean

Nyll.SchemeTheory.Divisors.LocalComplement
16 declarations indexed from sourceView source ↗

Local descriptions of support complements

This file identifies the complement of the support of an ideal sheaf near a scheme point. If the stalk ideal becomes principal after localizing at a prime, the resulting open subscheme is canonically the spectrum of the localization away from that principal generator.

Declarations

PrimeSpectrum.idealComplement

The open complement of the closed set cut out by an ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace PrimeSpectrum
universe u
def idealComplement {R : Type u} [CommRing R] (J : Ideal R) :
    Opens (PrimeSpectrum R)
PrimeSpectrum.mem_idealComplement
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace PrimeSpectrum
universe u
theorem mem_idealComplement {R : Type u} [CommRing R] (J : Ideal R)
    (p : PrimeSpectrum R) :
    p ∈ idealComplement J ↔ ¬ J ≤ p.asIdeal
PrimeSpectrum.preimage_idealComplement

Pulling an ideal complement back along a spectrum map extends the defining ideal.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace PrimeSpectrum
universe u
theorem preimage_idealComplement {A B : Type u} [CommRing A] [CommRing B]
    (f : A →+* B) (J : Ideal A) :
    Spec.map (CommRingCat.ofHom f) ⁻¹ᵁ idealComplement J =
      idealComplement (J.map f)
PrimeSpectrum.idealComplement_span_singleton

The complement of the vanishing set of a principal ideal is the corresponding basic open.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace PrimeSpectrum
universe u
theorem idealComplement_span_singleton {R : Type u} [CommRing R]
    (f : R) :
    idealComplement (Ideal.span {f}) = basicOpen f
AlgebraicGeometry.Scheme.localizationAtPrimeTo

The canonical map from the spectrum of a prime localization of the stalk at x back to X.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme
universe u
variable (X : Scheme.{u}) (x : X)
def localizationAtPrimeTo
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime] :
    Spec (.of (Localization.AtPrime P)) ⟶ X
AlgebraicGeometry.Scheme.IdealSheafData.support_finset_prod

The support of a finite product is the finite union of the supports.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
lemma support_finset_prod {ι : Type*} (s : Finset ι)
    (I : ι → X.IdealSheafData) :
    (∏ i ∈ s, I i).support = s.sup (fun i => (I i).support) := by
  classical
  induction s using Finset.induction_on with
  | empty =>
      rw [Finset.prod_empty, one_eq_top, support_top, Finset.sup_empty]
  | insert i s hi ih =>
      rw [Finset.prod_insert hi, support_mul, Finset.sup_insert, ih]
AlgebraicGeometry.Scheme.IdealSheafData.supportComplement

The canonical open complement of the support of an ideal sheaf.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
def supportComplement (I : X.IdealSheafData) : X.Opens
AlgebraicGeometry.Scheme.IdealSheafData.mem_supportComplement
Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem mem_supportComplement (I : X.IdealSheafData) (y : X) :
    y ∈ I.supportComplement ↔ y ∉ I.support
AlgebraicGeometry.Scheme.IdealSheafData.supportComplement_comap

Formation of the support complement commutes with pullback of an ideal sheaf.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem supportComplement_comap
    (I : Y.IdealSheafData) (f : X ⟶ Y) :
    (I.comap f).supportComplement = f ⁻¹ᵁ I.supportComplement
AlgebraicGeometry.Scheme.IdealSheafData.mem_support_fromSpecStalk_iff_stalkIdeal_le

A point of the spectrum of 𝒪_{X,x} lies over the support precisely when its prime contains the stalk ideal.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem mem_support_fromSpecStalk_iff_stalkIdeal_le
    (I : X.IdealSheafData) (x : X)
    (p : Spec (X.presheaf.stalk x)) :
    X.fromSpecStalk x p ∈ I.support ↔ I.stalkIdeal x ≤ p.asIdeal
AlgebraicGeometry.Scheme.IdealSheafData.fromSpecStalk_preimage_supportComplement

On the spectrum of the stalk, the support complement is the complement of the stalk ideal.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem fromSpecStalk_preimage_supportComplement
    (I : X.IdealSheafData) (x : X) :
    X.fromSpecStalk x ⁻¹ᵁ I.supportComplement =
      PrimeSpectrum.idealComplement (I.stalkIdeal x)
AlgebraicGeometry.Scheme.IdealSheafData.localizationAtPrimeTo_preimage_supportComplement

After localizing the stalk at a prime, the support complement is defined by the extended stalk ideal.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem localizationAtPrimeTo_preimage_supportComplement
    (I : X.IdealSheafData) (x : X)
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime] :
    Scheme.localizationAtPrimeTo X x P ⁻¹ᵁ I.supportComplement =
      PrimeSpectrum.idealComplement
        ((I.stalkIdeal x).map
          (algebraMap (X.presheaf.stalk x) (Localization.AtPrime P)))
AlgebraicGeometry.Scheme.IdealSheafData.localizationAtPrimeTo_preimage_supportComplement_eq_basicOpen

If the localized stalk ideal is generated by f, the local support complement is the basic open D(f).

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem localizationAtPrimeTo_preimage_supportComplement_eq_basicOpen
    (I : X.IdealSheafData) (x : X)
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime]
    (f : Localization.AtPrime P)
    (hboundary :
      (I.stalkIdeal x).map
          (algebraMap (X.presheaf.stalk x) (Localization.AtPrime P)) =
        Ideal.span {f}) :
    Scheme.localizationAtPrimeTo X x P ⁻¹ᵁ I.supportComplement =
      PrimeSpectrum.basicOpen f
AlgebraicGeometry.Scheme.IdealSheafData.localizationAtPrimeSupportComplementIsoSpecAway

The local support complement cut out by a principal stalk ideal is the spectrum of the localization away from its generator.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
def localizationAtPrimeSupportComplementIsoSpecAway
    (I : X.IdealSheafData) (x : X)
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime]
    (f : Localization.AtPrime P)
    (hboundary :
      (I.stalkIdeal x).map
          (algebraMap (X.presheaf.stalk x) (Localization.AtPrime P)) =
        Ideal.span {f}) :
    (Scheme.localizationAtPrimeTo X x P ⁻¹ᵁ
        I.supportComplement).toScheme ≅
      Spec (.of (Localization.Away f))
AlgebraicGeometry.Scheme.IdealSheafData.localizationAwayToSupportComplement

The canonical morphism from the localized principal complement into the global support complement.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
def localizationAwayToSupportComplement
    (I : X.IdealSheafData) (x : X)
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime]
    (f : Localization.AtPrime P)
    (hboundary :
      (I.stalkIdeal x).map
          (algebraMap (X.presheaf.stalk x) (Localization.AtPrime P)) =
        Ideal.span {f}) :
    Spec (.of (Localization.Away f)) ⟶ I.supportComplement
AlgebraicGeometry.Scheme.IdealSheafData.localizationAwayToSupportComplement_comp_ι

The map to the support complement is the factorization of the canonical map from the principal localization back to the ambient scheme.

Source context 6 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open AlgebraicGeometry CategoryTheory TopologicalSpace
open scoped BigOperators
namespace AlgebraicGeometry.Scheme.IdealSheafData
universe u
variable {X Y : Scheme.{u}}
theorem localizationAwayToSupportComplement_comp_ι
    (I : X.IdealSheafData) (x : X)
    (P : Ideal (X.presheaf.stalk x)) [P.IsPrime]
    (f : Localization.AtPrime P)
    (hboundary :
      (I.stalkIdeal x).map
          (algebraMap (X.presheaf.stalk x) (Localization.AtPrime P)) =
        Ideal.span {f}) :
    localizationAwayToSupportComplement I x P f hboundary ≫
        I.supportComplement.ι =
      Spec.map (CommRingCat.ofHom
          (algebraMap (Localization.AtPrime P) (Localization.Away f))) ≫
        Scheme.localizationAtPrimeTo X x P