Definitions/Def_AlgebraicGeometry_AffineLimit.lean
Finite-presentation limit conditions for presheaves over
Fix a commutative ring R. The helper abbreviations package the directed system of finitely generated subalgebras of an R-algebra on the geometric side: specOver R A is \operatorname{Spec} A viewed as an object of the category of schemes over \operatorname{Spec} R, via the morphism induced by the structure map R \to A; specOverOfSubalgebra R A₀ is the morphism \operatorname{Spec} A \to \operatorname{Spec} A_0 over \operatorname{Spec} R induced by the inclusion of a subalgebra A_0 \subseteq A; and specOverOfLE R A₀ A₁ h is the morphism \operatorname{Spec} A_1 \to \operatorname{Spec} A_0 induced by an inclusion A_0 \le A_1 of subalgebras of A.
Two predicates are then defined on a presheaf of sets G on the category of schemes over \operatorname{Spec} R (with values in an arbitrary universe). IsLFPSurj G asserts that for every R-algebra A and every section x \in G(\operatorname{Spec} A) there are a finitely generated subalgebra A_0 \subseteq A and a section x_0 \in G(\operatorname{Spec} A_0) whose restriction along \operatorname{Spec} A \to \operatorname{Spec} A_0 is x. IsLFPInj G asserts that for every R-algebra A, every finitely generated subalgebra A_0 \subseteq A and every pair of sections x_0, x_0' \in G(\operatorname{Spec} A_0) having equal restrictions to \operatorname{Spec} A, there is a finitely generated subalgebra A_1 with A_0 \le A_1 \subseteq A over which the two restrictions already agree. Together these say that G turns the presentation of \operatorname{Spec} A as the limit of the \operatorname{Spec} A_0 into a colimit, stated elementwise rather than as an isomorphism of sets.
HomIsLFP ξ, for a morphism \xi \colon X \to \operatorname{Spec} R of schemes, is the conjunction of the same two conditions for the functor of R-morphisms into X: every \varphi \colon \operatorname{Spec} A \to X over \operatorname{Spec} R (the compatibility being expressed by \varphi followed by \xi equalling the morphism induced by R \to A) factors as \operatorname{Spec} A \to \operatorname{Spec} A_0 \to X through some R-morphism \varphi_0 defined on a finitely generated A_0 \subseteq A; and two such R-morphisms on \operatorname{Spec} A_0 that become equal after composition with \operatorname{Spec} A \to \operatorname{Spec} A_0 become equal already after composition with \operatorname{Spec} A_1 \to \operatorname{Spec} A_0 for some finitely generated A_1 \supseteq A_0 inside A.
Relation to Mathlib
Mathlib has predicates for morphisms of schemes locally of finite type or finite presentation, but no notion of a presheaf commuting with the limits presenting \operatorname{Spec} A as a limit of spectra of finitely generated subalgebras; these predicates are the project's own, built from Mathlib's Over, Spec and Subalgebra.FG.
Where it is used
This vocabulary is the concrete form of "locally of finite presentation" used to reduce assertions about arbitrary affine test schemes over R to test schemes of finite type, as in spreading-out arguments over a Noetherian base. It is invoked for morphisms into a scheme locally of finite type over a Noetherian ring and for the rigidified relative Picard presheaf of a smooth proper curve, and hence in the representability arguments for the moduli problems appearing in the modularity route.
References
- A. Grothendieck and J. Dieudonné, Éléments de géométrie algébrique IV, §8 (Publ. Math. IHÉS 28 (1966)), 8.8.2 and 8.14.2
- S. Bosch, W. Lütkebohmert and M. Raynaud, Néron Models, Ergebnisse der Mathematik und ihrer Grenzgebiete 21, Springer, 1990, §8.1
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 58 lines
- 6 declarations
- used in the statements of 27 theorems and imported by 29 proofs
- imports 0 definition modules
Source file: Definitions/Def_AlgebraicGeometry_AffineLimit.lean
Declarations
- abbrev
AlgebraicGeometry.AffineLimit.specOver - abbrev
AlgebraicGeometry.AffineLimit.specOverOfSubalgebra - abbrev
AlgebraicGeometry.AffineLimit.specOverOfLE - def
AlgebraicGeometry.AffineLimit.IsLFPSurj - def
AlgebraicGeometry.AffineLimit.IsLFPInj - def
AlgebraicGeometry.AffineLimit.HomIsLFP
Source
import Mathlib set_option autoImplicit false universe w u open CategoryTheory Opposite namespace AlgebraicGeometry.AffineLimit variable (R : Type u) [CommRing R] noncomputable abbrev specOver (A : Type u) [CommRing A] [Algebra R A] : Over (Spec (CommRingCat.of R)) := Over.mk (Spec.map (CommRingCat.ofHom (algebraMap R A))) noncomputable abbrev specOverOfSubalgebra {A : Type u} [CommRing A] [Algebra R A] (A₀ : Subalgebra R A) : specOver R A ⟶ specOver R A₀ := Over.homMk (Spec.map (CommRingCat.ofHom A₀.val.toRingHom)) (by change Spec.map _ ≫ Spec.map _ = Spec.map _ rw [← Spec.map_comp]; rfl) noncomputable abbrev specOverOfLE {A : Type u} [CommRing A] [Algebra R A] (A₀ A₁ : Subalgebra R A) (h : A₀ ≤ A₁) : specOver R A₁ ⟶ specOver R A₀ := Over.homMk (Spec.map (CommRingCat.ofHom (Subalgebra.inclusion h).toRingHom)) (by change Spec.map _ ≫ Spec.map _ = Spec.map _ rw [← Spec.map_comp]; rfl) variable {R} def IsLFPSurj (G : (Over (Spec (CommRingCat.of R)))ᵒᵖ ⥤ Type w) : Prop := ∀ (A : Type u) [CommRing A] [Algebra R A] (x : G.obj (op (specOver R A))), ∃ (A₀ : Subalgebra R A) (_ : A₀.FG) (x₀ : G.obj (op (specOver R A₀))), G.map (specOverOfSubalgebra R A₀).op x₀ = x def IsLFPInj (G : (Over (Spec (CommRingCat.of R)))ᵒᵖ ⥤ Type w) : Prop := ∀ (A : Type u) [CommRing A] [Algebra R A] (A₀ : Subalgebra R A) (_ : A₀.FG) (x₀ x₀' : G.obj (op (specOver R A₀))), G.map (specOverOfSubalgebra R A₀).op x₀ = G.map (specOverOfSubalgebra R A₀).op x₀' → ∃ (A₁ : Subalgebra R A) (_ : A₁.FG) (h : A₀ ≤ A₁), G.map (specOverOfLE R A₀ A₁ h).op x₀ = G.map (specOverOfLE R A₀ A₁ h).op x₀' def HomIsLFP {X : Scheme.{u}} (ξ : X ⟶ Spec (CommRingCat.of R)) : Prop := (∀ (A : Type u) [CommRing A] [Algebra R A] (φ : Spec (CommRingCat.of A) ⟶ X), φ ≫ ξ = Spec.map (CommRingCat.ofHom (algebraMap R A)) → ∃ (A₀ : Subalgebra R A) (_ : A₀.FG) (φ₀ : Spec (CommRingCat.of A₀) ⟶ X), φ₀ ≫ ξ = Spec.map (CommRingCat.ofHom (algebraMap R A₀)) ∧ Spec.map (CommRingCat.ofHom A₀.val.toRingHom) ≫ φ₀ = φ) ∧ (∀ (A : Type u) [CommRing A] [Algebra R A] (A₀ : Subalgebra R A) (_ : A₀.FG) (φ₀ φ₀' : Spec (CommRingCat.of A₀) ⟶ X), φ₀ ≫ ξ = Spec.map (CommRingCat.ofHom (algebraMap R A₀)) → φ₀' ≫ ξ = Spec.map (CommRingCat.ofHom (algebraMap R A₀)) → Spec.map (CommRingCat.ofHom A₀.val.toRingHom) ≫ φ₀ = Spec.map (CommRingCat.ofHom A₀.val.toRingHom) ≫ φ₀' → ∃ (A₁ : Subalgebra R A) (_ : A₁.FG) (h : A₀ ≤ A₁), Spec.map (CommRingCat.ofHom (Subalgebra.inclusion h).toRingHom) ≫ φ₀ = Spec.map (CommRingCat.ofHom (Subalgebra.inclusion h).toRingHom) ≫ φ₀') end AlgebraicGeometry.AffineLimit
Statements phrased using this module (27)
- Two-sided chart with vanishing H¹ and zeros inside U
AlgebraicGeometry.RelPicard.exists_chart_subsingleton_H1_and_support_subset_fibre_of_twoSidedBlocks_of_injective376 below · depth 15 - Polarised open charts of the relative Pic⁰ presheaf
AlgebraicGeometry.RelPicard.exists_openCharts_relSubPicPresheaf_algEquivZeroCut_of_polarisation_supportedIn_of_fibrewise_zeroScheme201 below · depth 15 - Openness of the algebraic-equivalence locus for 𝒪(D-E_T)
AlgebraicGeometry.RelPicard.exists_opens_range_subset_iff_isAlgEquivZero_rigidify_lineBundle_baseChange_of_twoGluedSmoothCurveDegenerations379 below · depth 15 - Block general position for the twist 𝒪(E_Ω)
AlgebraicGeometry.RelPicard.exists_split_injective_forall_subsingleton_H1_lineBundle_and_support_subset_of_twoSidedBlocks_of_bijective_sections366 below · depth 15 - Surjective finite-presentation half of Pic⁰ for two-glued-curve degenerations
AlgebraicGeometry.RelPicard.isLFPSurj_relSubPicPresheaf_algEquivZeroCut_baseChange_of_twoGluedSmoothCurveDegenerations398 below · depth 15 - Morphisms to a finitely presented R-scheme and f.g. subalgebras
AlgebraicGeometry.AffineLimit.homIsLFP_of_locallyOfFinitePresentation2 below · depth 16 - From finite-type test schemes to all: open charts for locally finitely presented sheaves
AlgebraicGeometry.AffineLimit.presheafULift_isOpenImmersion_and_isLocallySurjective_of_locallyOfFiniteType0 below · depth 16 - Chart divisors from a split pool of sections cover Pic⁰
AlgebraicGeometry.RelPicard.exists_chart_subsingleton_H1_fibre_of_blocks_of_injective413 below · depth 16 - Block general position for a split pool on geometric fibres
AlgebraicGeometry.RelPicard.exists_injective_forall_subsingleton_H1_of_blocks_of_pool_of_bijective_sections406 below · depth 16 - A polarised open chart for the relative Pic⁰ subfunctor
AlgebraicGeometry.RelPicard.exists_openChart_openImmersion_relSubPicPresheaf_algEquivZeroCut_of_polarisation_of_fibrewise_zeroScheme166 below · depth 16 - Milne charts for relative Pic⁰ inside the smooth locus
AlgebraicGeometry.RelPicard.exists_openCharts_relSubPicPresheaf_algEquivZeroCut_of_relEffCartierDiv_supportedIn_of_fibrewise_zeroScheme167 below · depth 16 - Openness of the algebraically-trivial locus for twisted divisor bundles
AlgebraicGeometry.RelPicard.exists_opens_range_subset_iff_isAlgEquivZero_twistModule_baseChange_of_twoLineDegenerations430 below · depth 16 - Representability of the relative Pic⁰ cut from theta-chart data
AlgebraicGeometry.RelPicard.exists_representsRelSubPic_algEquivZeroCut_of_chartData200 below · depth 16 - Two-sided block general position on the geometric fibres of a degenerating curve
AlgebraicGeometry.RelPicard.exists_split_injective_forall_subsingleton_H1_and_support_subset_of_twoSidedBlocks_of_bijective_sections358 below · depth 16 - Injectivity half of local finite presentation for Pic⁰
AlgebraicGeometry.RelPicard.isLFPInj_relSubPicPresheaf_algEquivZeroCut28 below · depth 16 - Injectivity at affine limits for the Pic⁰ subpresheaf
AlgebraicGeometry.RelPicard.isLFPInj_relSubPicPresheaf_algEquivZeroCut_of_twoAffineOpenCover28 below · depth 16 - Classes in relative Pic⁰ descend to f.g. subalgebras
AlgebraicGeometry.RelPicard.isLFPSurj_relSubPicPresheaf_algEquivZeroCut290 below · depth 16 - LFP-surjectivity of the base-changed Pic⁰ presheaf
AlgebraicGeometry.RelPicard.isLFPSurj_relSubPicPresheaf_algEquivZeroCut_baseChange_of_twoLineDegenerations440 below · depth 16 - Limit surjectivity for the Pic⁰ cut, given openness and point-independence
AlgebraicGeometry.RelPicard.isLFPSurj_relSubPicPresheaf_algEquivZeroCut_of_isOpen_setOf_isAlgEquivZero42 below · depth 16 - Graph chart divisors lie on the ε-component of non-smooth fibres
AlgebraicGeometry.RelPicard.preimage_support_prodKerGraph_subset_connectedComponentIn_of_blocks0 below · depth 16 - Chart killing Čech H¹ on a non-smooth geometric fibre
AlgebraicGeometry.RelPicard.exists_chart_subsingleton_H1_fibre_of_blocks_of_not_smooth363 below · depth 17 - A chart divisor killing check H¹ on a smooth geometric fibre
AlgebraicGeometry.RelPicard.exists_forall_subsingleton_H1_sectionsOf_fibreModule_chartModule_of_smooth325 below · depth 17 - Polarised chart divisor over the H¹-vanishing open locus
AlgebraicGeometry.RelPicard.exists_relEffCartierDiv_supportedIn_rigidify_iso_of_subsingleton_H1_of_support_subset36 below · depth 17 - Affine-limit injectivity of the rigidified relative Picard presheaf
AlgebraicGeometry.RelPicard.isLFPInj_relPicardPresheaf27 below · depth 17 - Surjectivity along affine limits for the rigidified relative Picard presheaf
AlgebraicGeometry.RelPicard.isLFPSurj_relPicardPresheaf38 below · depth 17 - Factorisation through W and uniqueness of the chart divisor
AlgebraicGeometry.RelPicard.relEffCartierDiv_eq_pullbackAlong_of_rigidify_iso_of_supportedIn_of_support_subset36 below · depth 17 - Rigidified line bundles on C_A descend to a finitely generated subalgebra
AlgebraicGeometry.RelPicard.LFP.exists_fg_nonempty_iso_pullbackAlong37 below · depth 18