Module

AffineTransitionImageLimit.lean

Nyll.SchemeTheory.Descent.AffineTransitionImageLimit
6 declarations indexed from sourceView source ↗

Recovering a closed subscheme from its stage images

Sections on affine preimages descend to an actual ambient stage. This detects the kernel of a quasi-compact morphism from its stage kernels and supplies the universal property of the corresponding scheme-theoretic image limit.

Declarations

AlgebraicGeometry.AffineTransitionImage.exists_affine_preimage_section
Source context 6 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
include hc in
theorem exists_affine_preimage_section (i : I) (V : (D.obj i).Opens)
    (hV : IsAffineOpen V) (s : Γ(c.pt, c.π.app i ⁻¹ᵁ V)) :
    ∃ (k : I) (f : k ⟶ i) (t : Γ(D.obj k, D.map f ⁻¹ᵁ V)),
      (c.π.app k).appLE (D.map f ⁻¹ᵁ V) (c.π.app i ⁻¹ᵁ V)
        (by rw [← Scheme.Hom.comp_preimage, c.w f]) t = s := by
  have (k : Over i) : IsAffine ((opensDiagram D i V).obj k) :=
    hV.preimage (D.map k.hom)
  obtain ⟨k, t, ht⟩ := exists_appTop_π_eq_of_isAffine_of_isLimit
    (opensDiagram D i V) (opensCone D c i V) (isLimitOpensCone D c hc i V)
    ((c.π.app i ⁻¹ᵁ V).topIso.inv s)
  let t' : Γ((D.map k.hom ⁻¹ᵁ V).toScheme, ⊤) := t
  have ht' : ((c.π.app k.left).resLE (D.map k.hom ⁻¹ᵁ V) (c.π.app i ⁻¹ᵁ V)
      (by rw [← Scheme.Hom.comp_preimage, c.w k.hom])).appTop t' =
        (c.π.app i ⁻¹ᵁ V).topIso.inv s := ht
  refine ⟨k.left, k.hom, (D.map k.hom ⁻¹ᵁ V).topIso.hom t', ?_⟩
  apply (c.π.app i ⁻¹ᵁ V).topIso.commRingCatIsoToRingEquiv.symm.injective
  change (c.π.app i ⁻¹ᵁ V).topIso.inv
      ((c.π.app k.left).appLE _ _ _ ((D.map k.hom ⁻¹ᵁ V).topIso.hom t')) =
    (c.π.app i ⁻¹ᵁ V).topIso.inv s
  rw [Scheme.Hom.appTop, Scheme.Hom.resLE_app_top] at ht'
  exact ht'
AlgebraicGeometry.AffineTransitionImage.appLE_eq_zero_of_mem_ker
Source context 5 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
lemma appLE_eq_zero_of_mem_ker {X Y : Scheme.{u}} (f : X ⟶ Y)
    (U : Y.affineOpens) (V : X.Opens) (h : V ≤ f ⁻¹ᵁ U)
    (s : Γ(Y, U)) (hs : s ∈ f.ker.ideal U) : f.appLE U V h s = 0
AlgebraicGeometry.AffineTransitionImage.mem_ker_of_appLE_eq_zero
Source context 5 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
lemma mem_ker_of_appLE_eq_zero {X Y : Scheme.{u}} (f : X ⟶ Y)
    [QuasiCompact f] (U : Y.affineOpens) (V : X.Opens) (h : V = f ⁻¹ᵁ U)
    (s : Γ(Y, U)) (hs : f.appLE U V h.le s = 0) : s ∈ f.ker.ideal U
AlgebraicGeometry.AffineTransitionImage.app_eq_zero_of_stage_kernel_le
Source context 5 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
lemma app_eq_zero_of_stage_kernel_le {X Y Z T : Scheme.{u}}
    (p : X ⟶ Y) [QuasiCompact p] (j : Z ⟶ X) [QuasiCompact j] (g : T ⟶ X)
    (U : Y.affineOpens) (V : X.Opens) (hpre : V = p ⁻¹ᵁ U)
    (s : Γ(X, V)) (t : Γ(Y, U)) (ht : p.appLE U V hpre.le t = s)
    (hjs : j.app V s = 0) (h : (j ≫ p).ker ≤ (g ≫ p).ker) :
    g.app V s = 0
AlgebraicGeometry.AffineTransitionImage.ker_le_of_stage_ker_le

Kernels into an affine-transition limit are detected by the actual kernels at the ambient stages. The source of the second morphism need not be compact.

Source context 6 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
include hc in
theorem ker_le_of_stage_ker_le [∀ i, QuasiSeparatedSpace (D.obj i)]
    {Z T : Scheme.{u}} (j : Z ⟶ c.pt) [QuasiCompact j] (g : T ⟶ c.pt)
    (h : ∀ i, (j ≫ c.π.app i).ker ≤ (g ≫ c.π.app i).ker) :
    j.ker ≤ g.ker
AlgebraicGeometry.AffineTransitionImage.coneIsLimit

A closed subscheme of an affine-transition limit is the limit of its actual scheme-theoretic images at the ambient stages.

Source context 5 commands

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

noncomputable section
open CategoryTheory CategoryTheory.Limits
namespace AlgebraicGeometry.AffineTransitionImage
universe u
variable {I : Type u} [Category.{u} I] [IsCofiltered I]
  (D : I ⥤ Scheme.{u}) (c : Cone D) (hc : IsLimit c)
  [∀ {i k} (f : i ⟶ k), IsAffineHom (D.map f)]
def coneIsLimit [∀ i, QuasiSeparatedSpace (D.obj i)]
    {Z : Scheme.{u}} (j : Z ⟶ c.pt) [IsClosedImmersion j] :
    IsLimit (cone D c j)