109.23 Contraction morphisms to 109.25 Properties of the stack…
Section109.23 Contraction morphisms#
Section 109.23 of the Stacks Project, Tag 0E7B. 5 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E88, a lemma
Tag 0E88 in the Stacks Project.
AlgebraicGeometry.CurveFamily.exists_isOpen_forall_isStructureContraction_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/CurveFamilyContractionOpen.lean, line 56.
Let
Sbe a scheme,s ∈ S, andc : X ⟶ Ya morphism overSof families of curves. Ifc_{s,*}𝒪_{X_s} = 𝒪_{Y_s}andR¹c_{s,*}𝒪_{X_s} = 0, there is an open neighbourhoodWofssuch that for every schemeT ⟶ Slanding inWand every base changec' : X_T ⟶ Y_Tofc,𝒪_{Y_T} = c'_*𝒪_{X_T}andR¹c'_*𝒪_{X_T} = 0. TakingT = Wgives the statement overW, and the quantification overTis the persistence under base change.
theorem exists_isOpen_forall_isStructureContraction_baseChange
(X Y : CurveFamily B hZ) (hb : Y.base = X.base) (c : X.total ⟶ Y.total)
(hc : c ≫ Y.toBase ≫ eqToHom (congrArg schemeSpace hb) = X.toBase) (s : X.base.left.1)
(hs : Space.IsStructureContraction B integerBase hZ
(Space.structureContractionBaseChange B integerBase hZ c hc
(schemeSpaceMap (Space.residueFieldMap B integerBase hZ X.base s
(B.residueField_spec_contains X.base.left.property s))))) :
∃ W : X.base.left.1.Opens, s ∈ W ∧
∀ (T : BigFppfOver B integerBase hZ) (h : T ⟶ X.base),
(∀ t, ((𝒯).map h).base t ∈ W) →
∀ (X' Y' : AlgebraicSpaces B integerBase hZ) (pX' : X' ⟶ X.total)
(fX' : X' ⟶ schemeSpace T) (pY' : Y' ⟶ Y.total) (fY' : Y' ⟶ schemeSpace T)
(c' : X' ⟶ Y'),
IsPullback pX' fX' X.toBase (schemeSpaceMap h) →
IsPullback pY' fY' (Y.toBase ≫ eqToHom (congrArg schemeSpace hb)) (schemeSpaceMap h) →
c' ≫ pY' = pX' ≫ c → c' ≫ fY' = fX' →
Space.IsStructureContraction B integerBase hZ c'
Tag 0E89, a lemma
Tag 0E89 in the Stacks Project.
AlgebraicGeometry.Space.exists_iso_near_point_of_iso_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ContractionUniquenessNearPoint.lean, line 415. The attribute's comment: “Families of curves are read as in AlgebraicGeometry.CurveFamily (Stacks 0D4Z): algebraic spaces X, Y₁, Y₂ with morphisms to S which are flat, proper, of finite presentation and of relative dimension at most one. The fibres over s are the fibre products along Spec κ(s) ⟶ S; the hypotheses on c₁,ₛ are read on the morphism of schemes presenting it (the fibres being schemes by Stacks 0ADD).”.
Let
Sbe a scheme ands ∈ Sa point. Letf : X ⟶ Sandgᵢ : Yᵢ ⟶ S,i = 1, 2, be families of curves (algebraic spaces, flat, proper, of finite presentation and of relative dimension at most one overS) andcᵢ : X ⟶ Yᵢmorphisms overS. Letφ : Y₁,ₛ ≅ Y₂,ₛbe an isomorphism of the fibres overSpec κ(s) ⟶ Scompatible withc₁,ₛandc₂,ₛ. Supposec₁,ₛ,* 𝒪_{Xₛ} = 𝒪_{Y₁,ₛ}andR¹c₁,ₛ,* 𝒪_{Xₛ} = 0; these are read on the morphism of schemesa₁ : F_X ⟶ F₁whichc₁,ₛis through presentationse_X,e₁of the fibresXₛandY₁,ₛby schemes (the fibres of a family of curves over a field are schemes, [Stacks, Tag 0ADD],AlgebraicGeometry.Space.exists_presentation_of_curveFamilyConditions_of_field). Then there are an open neighbourhoodj : U ⟶ Sofsand an isomorphismψ : Y₁ ×_S U ≅ Y₂ ×_S UoverU, compatible withc₁andc₂and withφ(through the factorisationkofSpec κ(s) ⟶ SthroughU).
theorem exists_iso_near_point_of_iso_fibre (S : BigFppfOver B integerBase hZ) (s : (𝒯).obj S)
{X Y₁ Y₂ : (BigFppfOver B integerBase hZ)ᵒᵖ ⥤ Type u}
(hX : IsAlgebraicSpace B integerBase hZ X) (hY₁ : IsAlgebraicSpace B integerBase hZ Y₁)
(hY₂ : IsAlgebraicSpace B integerBase hZ Y₂)
(f : X ⟶ yoneda.obj S) (g₁ : Y₁ ⟶ yoneda.obj S) (g₂ : Y₂ ⟶ yoneda.obj S)
(hfl : IsFlat B integerBase hZ f) (hpr : IsProper B integerBase hZ f)
(hfp : IsFinitePresentation B integerBase hZ f)
(hd : HasRelativeDimensionLE 1 B integerBase hZ f)
(hfl₁ : IsFlat B integerBase hZ g₁) (hpr₁ : IsProper B integerBase hZ g₁)
(hfp₁ : IsFinitePresentation B integerBase hZ g₁)
(hd₁ : HasRelativeDimensionLE 1 B integerBase hZ g₁)
(hfl₂ : IsFlat B integerBase hZ g₂) (hpr₂ : IsProper B integerBase hZ g₂)
(hfp₂ : IsFinitePresentation B integerBase hZ g₂)
(hd₂ : HasRelativeDimensionLE 1 B integerBase hZ g₂)
(c₁ : X ⟶ Y₁) (c₂ : X ⟶ Y₂) (hc₁ : c₁ ≫ g₁ = f) (hc₂ : c₂ ≫ g₂ = f)
{FX F₁ : BigFppfOver B integerBase hZ}
(eX : yoneda.obj FX ≅ pullback f (yoneda.map (pointFieldMap S s)))
(e₁ : yoneda.obj F₁ ≅ pullback g₁ (yoneda.map (pointFieldMap S s)))
(tX : FX ⟶ pointFieldObject S s) (t₁ : F₁ ⟶ pointFieldObject S s)
(heX : eX.hom ≫ pullback.snd f (yoneda.map (pointFieldMap S s)) = yoneda.map tX)
(he₁ : e₁.hom ≫ pullback.snd g₁ (yoneda.map (pointFieldMap S s)) = yoneda.map t₁)
(a₁ : FX ⟶ F₁)
(ha₁ : yoneda.map a₁ ≫ e₁.hom =
eX.hom ≫ pullback.map f (yoneda.map (pointFieldMap S s)) g₁
(yoneda.map (pointFieldMap S s)) c₁ (𝟙 _) (𝟙 _) (by simp [hc₁]) (by simp))
(h0 : IsIso (Scheme.Modules.unitToPushforwardUnit ((𝒯).map a₁)))
(hR : IsZero (firstDirectImageStructureSheaf ((𝒯).map a₁)))
(φ : pullback g₁ (yoneda.map (pointFieldMap S s)) ≅
pullback g₂ (yoneda.map (pointFieldMap S s)))
(hφ : φ.hom ≫ pullback.snd g₂ (yoneda.map (pointFieldMap S s)) =
pullback.snd g₁ (yoneda.map (pointFieldMap S s)))
(hφc : pullback.map f (yoneda.map (pointFieldMap S s)) g₁
(yoneda.map (pointFieldMap S s)) c₁ (𝟙 _) (𝟙 _) (by simp [hc₁]) (by simp) ≫ φ.hom =
pullback.map f (yoneda.map (pointFieldMap S s)) g₂
(yoneda.map (pointFieldMap S s)) c₂ (𝟙 _) (𝟙 _) (by simp [hc₂]) (by simp)) :
∃ (U : BigFppfOver B integerBase hZ) (j : U ⟶ S),
_root_.AlgebraicGeometry.IsOpenImmersion ((𝒯).map j) ∧
s ∈ Set.range ((𝒯).map j) ∧
∃ (ψ : pullback g₁ (yoneda.map j) ≅ pullback g₂ (yoneda.map j))
(k : pointFieldObject S s ⟶ U),
ψ.hom ≫ pullback.snd g₂ (yoneda.map j) = pullback.snd g₁ (yoneda.map j) ∧
pullback.map f (yoneda.map j) g₁ (yoneda.map j) c₁ (𝟙 _) (𝟙 _) (by simp [hc₁])
(by simp) ≫ ψ.hom =
pullback.map f (yoneda.map j) g₂ (yoneda.map j) c₂ (𝟙 _) (𝟙 _) (by simp [hc₂])
(by simp) ∧
∃ (hk : k ≫ j = pointFieldMap S s),
pullback.map g₁ (yoneda.map (pointFieldMap S s)) g₁ (yoneda.map j) (𝟙 _) (yoneda.map k)
(𝟙 _) (by simp) (by rw [Category.comp_id, ← Functor.map_comp, hk]) ≫ ψ.hom =
φ.hom ≫ pullback.map g₂ (yoneda.map (pointFieldMap S s)) g₂ (yoneda.map j) (𝟙 _)
(yoneda.map k) (𝟙 _) (by simp)
(by rw [Category.comp_id, ← Functor.map_comp, hk])
Tag 0E7C, a lemma
Tag 0E7C in the Stacks Project.
AlgebraicGeometry.CurveFamily.exists_elementaryEtaleNeighborhood_contraction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ContractionExistenceScheme.lean, line 225.
Let
Fbe a family of curves (Stacks 0D4Z) over a schemeSof the site,s ∈ S,X₀the fibre ofFovers(the cartesian squareιoverSpec κ(s) ⟶ S; the fibre of a family of curves over a field is a scheme, Stacks 0ADD), andh₀ : X₀ ⟶ Y₀a morphism overκ(s)to a proper schemeY₀overκ(s)with𝒪_{Y₀} = h₀,*𝒪_{X₀}andR¹h₀,*𝒪_{X₀} = 0. Then there are an elementary étale neighbourhood(U, u)of(S, s), with the liftt : Spec κ(s) ⟶ Uofsontouwhich identifiesκ(u)withκ(s), a family of curvesGoverUand a morphismhoverUfrom the total space of the base changeF_Uto that ofGwhose fibre inuis isomorphic toh₀:X₀andY₀are the fibres ofF_UandGovert(the cartesian squaresιUandj, withιUlying overι), andhrestricts toh₀.
theorem exists_elementaryEtaleNeighborhood_contraction {S : Scheme.{u}} (hS : B.Contains S)
(F : CurveFamily B hZ) (hF : F.base = integerSiteObject B hZ hS) (s : S)
{X₀ : Scheme.{u}} (hX₀ : B.Contains X₀) (pX₀ : X₀ ⟶ Spec (.of (S.residueField s)))
(ι : yoneda.obj (integerSiteObject B hZ hX₀) ⟶ F.total.obj)
(hι : IsPullback ι (yoneda.map (integerSiteMap B hZ hX₀
(BigFppfSite.residueField_spec_contains B hS s) pX₀)) (F.toBaseYonedaOfEq hF)
(yoneda.map (integerSiteMap B hZ (BigFppfSite.residueField_spec_contains B hS s) hS
(S.fromSpecResidueField s))))
{Y₀ : Scheme.{u}} (pY₀ : Y₀ ⟶ Spec (.of (S.residueField s))) [IsProper pY₀]
(h₀ : X₀ ⟶ Y₀) (hh₀ : h₀ ≫ pY₀ = pX₀)
(h0 : IsIso (C := Y₀.Modules) (Scheme.Modules.unitToPushforwardUnit h₀))
(hR1 : IsZero (((Scheme.Modules.pushforward h₀).rightDerived 1).obj
(SheafOfModules.unit X₀.ringCatSheaf))) :
∃ U : EtaleNeighborhood S s, U.IsElementary ∧
∃ (hU : B.Contains U.scheme) (t : Spec (.of (S.residueField s)) ⟶ U.scheme),
t ≫ U.toBase = S.fromSpecResidueField s ∧ (∀ x, t x = U.point) ∧
∃ (G : CurveFamily B hZ) (hG : G.base = integerSiteObject B hZ hU)
(h : ((F.ofBaseEq hF).pullback (integerSiteMap B hZ hU hS U.toBase)).total.obj ⟶
G.total.obj),
h ≫ G.toBaseYonedaOfEq hG =
((F.ofBaseEq hF).pullback (integerSiteMap B hZ hU hS U.toBase)).toBaseYoneda ∧
∃ ιU : yoneda.obj (integerSiteObject B hZ hX₀) ⟶
((F.ofBaseEq hF).pullback (integerSiteMap B hZ hU hS U.toBase)).total.obj,
ιU ≫ ((F.ofBaseEq hF).pullbackHom
(integerSiteMap B hZ hU hS U.toBase)).totalMap.hom = ι ∧
IsPullback ιU (yoneda.map (integerSiteMap B hZ hX₀
(BigFppfSite.residueField_spec_contains B hS s) pX₀))
((F.ofBaseEq hF).pullback (integerSiteMap B hZ hU hS U.toBase)).toBaseYoneda
(yoneda.map (integerSiteMap B hZ (BigFppfSite.residueField_spec_contains B hS s)
hU t)) ∧
∃ j : yoneda.obj (integerSiteObject B hZ
(Scheme.size_lt_of_locallyOfFiniteType_of_quasiCompact pY₀
(BigFppfSite.residueField_spec_contains B hS s))) ⟶ G.total.obj,
IsPullback j (yoneda.map (integerSiteMap B hZ
(Scheme.size_lt_of_locallyOfFiniteType_of_quasiCompact pY₀
(BigFppfSite.residueField_spec_contains B hS s))
(BigFppfSite.residueField_spec_contains B hS s) pY₀))
(G.toBaseYonedaOfEq hG)
(yoneda.map (integerSiteMap B hZ (BigFppfSite.residueField_spec_contains B hS s)
hU t)) ∧
ιU ≫ h = yoneda.map (integerSiteMap B hZ hX₀
(Scheme.size_lt_of_locallyOfFiniteType_of_quasiCompact pY₀
(BigFppfSite.residueField_spec_contains B hS s)) h₀) ≫ j
Tag 0E8A, a lemma
Tag 0E8A in the Stacks Project.
AlgebraicGeometry.CurveFamily.exists_stabilization_and_existsUnique_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/PrestableStabilizationTheorem.lean, line 68. The attribute's comment: “Existence and uniqueness in one statement. X ⟶ S is a prestable family of curves whose fibres over all field-valued points have genus g ≥ 2 (HasFibresOfGenus, the genus of a prestable family, Stacks 0E6V). The factorization X ⟶ Y ⟶ S is a family of curves Y over S (same base, hb) with c ≫ g = f. Condition (1) is IsUniversalStructureContraction: for every scheme S' ⟶ S of the site and the base change c' : X' ⟶ Y', 𝒪_{Y'} ⟶ c'_*𝒪_{X'} is an isomorphism and R¹c'_*𝒪_{X'} = 0 (S' = S gives the condition for c). Condition (2) is HasStableContractionFibres, asserted at every field-valued point of S (so at every s ∈ S through Spec κ(s)): the fibre c_s satisfies the three conditions of Stacks 0E7Q, which characterize the contraction of rational tails and bridges of Section 0E7N up to unique isomorphism (exists_isStableContraction_comp_tails_bridges). Uniqueness up to unique isomorphism: for any two such cᵢ : X ⟶ Yᵢ (the targets need not be assumed stable) there is exactly one isomorphism e : Y₁ ≅ Y₂ over S with c₁ ≫ e = c₂.”.
Let
X ⟶ Sbe a prestable family of curves of genusg ≥ 2. Then there are a stable family of curvesY ⟶ Sand a morphismc : X ⟶ YoverSsuch that
𝒪_Y = c_*𝒪_XandR¹c_*𝒪_X = 0, and this remains true after base change by any morphismS' ⟶ S, and- for every field-valued point
sofSthe morphismc_s : X_s ⟶ Y_sis the contraction of rational tails and bridges (it satisfies the conditions of Stacks 0E7Q characterizing it).Moreover
cis unique up to unique isomorphism: for any two morphismscᵢ : X ⟶ YᵢoverSto families of curves satisfying (1) and (2) there is exactly one isomorphisme : Y₁ ≅ Y₂overSwithc₁ ≫ e = c₂.
theorem exists_stabilization_and_existsUnique_iso
{X : CurveFamily B hZ} (hX : IsPrestableCurveFamily B hZ X) {g : ℕ} (hg : 2 ≤ g)
(hgen : X.HasFibresOfGenus g) :
(∃ (Y : CurveFamily B hZ) (hb : Y.base = X.base) (c : X.total ⟶ Y.total),
IsStableCurveFamily B hZ Y ∧ c ≫ Y.toBase ≫ eqToHom (congrArg schemeSpace hb) = X.toBase ∧
X.IsUniversalStructureContraction B hZ Y hb c ∧ X.HasStableContractionFibres B hZ Y hb c) ∧
∀ (Y₁ Y₂ : CurveFamily B hZ) (hb₁ : Y₁.base = X.base) (hb₂ : Y₂.base = X.base)
(c₁ : X.total ⟶ Y₁.total) (c₂ : X.total ⟶ Y₂.total),
c₁ ≫ Y₁.toBase ≫ eqToHom (congrArg schemeSpace hb₁) = X.toBase →
c₂ ≫ Y₂.toBase ≫ eqToHom (congrArg schemeSpace hb₂) = X.toBase →
X.IsUniversalStructureContraction B hZ Y₁ hb₁ c₁ →
X.IsUniversalStructureContraction B hZ Y₂ hb₂ c₂ →
X.HasStableContractionFibres B hZ Y₁ hb₁ c₁ → X.HasStableContractionFibres B hZ Y₂ hb₂ c₂ →
∃! e : Y₁.total ≅ Y₂.total, c₁ ≫ e.hom = c₂ ∧
e.hom ≫ Y₂.toBase ≫ eqToHom (congrArg schemeSpace hb₂) =
Y₁.toBase ≫ eqToHom (congrArg schemeSpace hb₁)
Tag 0E8B, a lemma
Tag 0E8B in the Stacks Project.
AlgebraicGeometry.stabilizationMorphism, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ModuliStabilization.lean, line 103. The attribute's comment: “the stabilization morphism Curves^{prestable}_g → Mbar_g”.
For
g ≥ 2, the stabilization morphismCurves^{prestable}_g ⟶ 𝓜̄_gof stacks overℤ, a 1-morphism of categories fibred in groupoids over the big fppf site ofSpec(ℤ). It sends a prestable family of curvesX → Sof genusgto the stable familyY → Sof Stacks 0E8A (AlgebraicGeometry.stabilizationMorphism_obj).
def stabilizationMorphism (g : ℕ) (hg : 2 ≤ g) :
curvesPrestableOfGenus B hZ g ⟶ moduliStableCurvesOfGenus B hZ g
AlgebraicGeometry.stabilizationMorphism_obj, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ModuliStabilization.lean, line 115. The attribute's comment: “it sends a prestable family X → S of genus g to its stable model Y → S of 0E8A”.
The stabilization morphism sends a prestable family of curves
X → Sof genusg ≥ 2to a stable familyY → Sover the same base together with a morphismc : X → YoverSwhich is the stable model of Stacks 0E8A:Yis stable with fibres of genusg,𝒪_Y = c_*𝒪_XandR¹c_*𝒪_X = 0after every base change, and on every fibrecis the contraction of rational tails and bridges.
theorem stabilizationMorphism_obj (g : ℕ) (hg : 2 ≤ g)
(X : (curvesPrestableOfGenus B hZ g).val.obj) :
∃ (h : ((stabilizationMorphism B hZ g hg).hom.obj X).obj.base = X.obj.base)
(c : X.obj.total ⟶ ((stabilizationMorphism B hZ g hg).hom.obj X).obj.total),
IsStableModel B hZ g (eqToHom h.symm) c
Sources
Section109.24 Stable reduction theorem#
Section 109.24 of the Stacks Project, Tag 0E8C. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E8D, a lemma
Tag 0E8D in the Stacks Project.
Stacks.Models.hasSemistableReduction_iff_exists_isStableCurveFamily, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/PrestableStabilizationTheorem.lean, line 119. The attribute's comment: “C ⟶ Spec K is smooth, projective, a curve (IsCurve), with H⁰(C, 𝒪_C) = K and genus ≥ 2. (1) is HasSemistableReduction R c hc (Semistable Reduction, Definition 0CDH). (2), a stable family of curves over R with generic fibre C, is a stable family of curves F (Stacks 0E75) whose base is identified with Spec R (ψ), with a morphism of families of curves (a cartesian square) from the family C ⟶ Spec K to F lying over Spec K ⟶ Spec R.”.
Let
Rbe a discrete valuation ring with fraction fieldKandCa smooth projective curve overKwithH⁰(C, 𝒪_C) = Kof genusg ≥ 2. ThenChas semistable reduction (Stacks 0CDH) exactly when it is the generic fibre of a stable family of curves overR: a stable familyFoverSpec Rwith a morphism of families of curves fromC ⟶ Spec KtoFlying overSpec K ⟶ Spec R.
theorem hasSemistableReduction_iff_exists_isStableCurveFamily
(B : BigFppfSite.{u}) (hZ : B.Contains integerBase) (hR : B.Contains (Spec (.of R)))
{C : Scheme.{u}} (c : C ⟶ Spec (.of K)) [IsCurve K c] [Smooth c] (hc : IsProjective c)
[IsIso ((Scheme.ΓSpecIso (.of K)).inv ≫ c.appTop)] (hg : 2 ≤ genus c) :
HasSemistableReduction R c hc ↔
∃ (F : CurveFamily B hZ) (ψ : F.base ≅ integerSiteObject B hZ hR)
(φ : @curveFamilyOfScheme K _ (Over.mk c) hc.isProper B hZ
(contains_spec_of_isFractionRing hR)
(IsCurve.topologicalKrullDim_eq_one (k := K) (f := c)).le ⟶ F),
IsStableCurveFamily B hZ F ∧
φ.baseMap ≫ ψ.hom = integerSiteMap B hZ (contains_spec_of_isFractionRing hR) hR
(Spec.map (CommRingCat.ofHom (algebraMap R K)))
Tag 0E97, a lemma
Tag 0E97 in the Stacks Project.
Stacks.Models.existsUnique_isModelHom_iso_of_isStableFamilyOfSchemesOfGenus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/StableModelExistsUnique.lean, line 179.
Let
Rbe a discrete valuation ring with fraction fieldKandCa smooth proper curve overKwithK = H⁰(C, 𝒪_C)and genusg. IfXandX'are models ofC(Section 0C2R) which are stable families of genusgcurves overR, then there exists a unique isomorphism of modelsX ≅ X'.
theorem existsUnique_isModelHom_iso_of_isStableFamilyOfSchemesOfGenus (B : BigFppfSite.{u})
(hZ : B.Contains integerBase) (hR : B.Contains (Spec (.of R))) {C : Scheme.{u}}
(C_to_K : C ⟶ Spec (.of K)) [IsCurve K C_to_K] [Smooth C_to_K] [IsProper C_to_K]
[IsIso ((Scheme.ΓSpecIso (.of K)).inv ≫ C_to_K.appTop)] (g : ℕ) (_hg : genus C_to_K = g)
{X X' : Scheme.{u}} {p : X ⟶ Spec (.of R)} {p' : X' ⟶ Spec (.of R)}
{e : C ≅ pullback p (Spec.map (CommRingCat.ofHom (algebraMap R K)))}
{e' : C ≅ pullback p' (Spec.map (CommRingCat.ofHom (algebraMap R K)))}
(hX : IsModel C_to_K p e) (hX' : IsModel C_to_K p' e')
(hst : IsStableFamilyOfSchemesOfGenus B hZ g p hR)
(hst' : IsStableFamilyOfSchemesOfGenus B hZ g p' hR) :
∃! f : X ≅ X', IsModelHom p p' e e' f.hom
Tag 0E98, a theorem
Tag 0E98 in the Stacks Project.
Stacks.Models.stableReduction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/StableReduction/Main.lean, line 151.
Stacks Project, Tag 0E98 (stable reduction, [DM, Corollary 2.7]). Let
Rbe a discrete valuation ring with fraction fieldKand letCbe a smooth projective curve overKwithH⁰(C, 𝒪_C) = Kand genusg ≥ 2. LetBbe a big fppf site containingSpec R. Then
- there exist an extension of discrete valuation rings
R ⊆ R'inducing a finite separable extension of fraction fieldsK'/Kand a stable family of curvesY ⟶ Spec R'of genusgwithY_{K'} ≅ C_{K'}overK', and- there exist a finite separable extension
L/Kand a stable family of curvesY ⟶ Spec Aof genusg, whereA ⊆ Lis the integral closure ofRinL, such thatY_L ≅ C_LoverL.
theorem stableReduction (R K : Type u) [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
[Field K] [Algebra R K] [IsFractionRing R K] {C : Scheme.{u}} (c : C ⟶ Spec (.of K))
[IsCurve K c] [Smooth c] (hproj : IsProjective c)
[IsIso ((Scheme.ΓSpecIso (.of K)).inv ≫ c.appTop)] (hg : 2 ≤ genus c) (B : BigFppfSite.{u})
(hZ : B.Contains integerBase) (hR : B.Contains (Spec (.of R))) :
(∃ (K' : Type u) (_ : Field K') (_ : Algebra K K') (_ : Algebra R K')
(_ : IsScalarTower R K K'), FiniteDimensional K K' ∧ Algebra.IsSeparable K K' ∧
∃ (R' : Type u) (_ : CommRing R') (_ : IsDomain R') (_ : IsDiscreteValuationRing R')
(_ : Algebra R' K') (_ : IsFractionRing R' K') (_ : Algebra R R')
(_ : IsScalarTower R R' K'), IsLocalHom (algebraMap R R') ∧
∃ (hR' : B.Contains (Spec (.of R'))) (Y : Scheme.{u}) (p : Y ⟶ Spec (.of R')),
IsStableFamilyOfSchemesOfGenus B hZ (genus c) p hR' ∧
Nonempty (Over.mk (pullback.snd p (Spec.map (CommRingCat.ofHom (algebraMap R' K')))) ≅
Over.mk (pullback.snd c (Spec.map (CommRingCat.ofHom (algebraMap K K')))))) ∧
(∃ (L : Type u) (_ : Field L) (_ : Algebra K L) (_ : Algebra R L)
(_ : IsScalarTower R K L), FiniteDimensional K L ∧ Algebra.IsSeparable K L ∧
∃ (hA : B.Contains (Spec (.of (integralClosure R L)))) (Y : Scheme.{u})
(p : Y ⟶ Spec (.of (integralClosure R L))),
IsStableFamilyOfSchemesOfGenus B hZ (genus c) p hA ∧
Nonempty (Over.mk (pullback.snd p
(Spec.map (CommRingCat.ofHom (algebraMap (integralClosure R L) L)))) ≅
Over.mk (pullback.snd c (Spec.map (CommRingCat.ofHom (algebraMap K L))))))
Sources
Section109.25 Properties of the stack of stable curves#
Section 109.25 of the Stacks Project, Tag 0E99. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E9A, a lemma
Tag 0E9A in the Stacks Project.
AlgebraicGeometry.isSeparated_moduliStableCurvesOfGenus_unconditional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ModuliStableCurvesUnconditional.lean, line 73. The attribute's comment: “g ≥ 2 (hg); 𝓜̄_g → Spec(ℤ) is separated, which is what the source says the statement means; nothing is assumed”.
Let
g ≥ 2. The stack𝓜̄_gis separated: the morphism𝓜̄_g → Spec(ℤ)(the inclusion of the open substack of stable families of genusginto the small model of the algebraic stackCurves, followed by its structure morphism) is separated.
theorem isSeparated_moduliStableCurvesOfGenus_unconditional (g : ℕ) (hg : 2 ≤ g) :
Stack.AlgebraicStacks.IsSeparated B integerBase hZ
((curvesSmallOpenSubstack B hZ
(curvesFiberedCategory_isAlgebraicStack.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_unconditional B hZ g)).inclusion ≫
Stack.structureMorphism B integerBase hZ (curvesAlgebraicStack B hZ
(curvesFiberedCategory_isAlgebraicStack.{u, u + 1} B hZ)))
Tag 0E9B, a lemma
Tag 0E9B in the Stacks Project.
AlgebraicGeometry.compactSpace_points_moduliStableCurvesOfGenusSmall, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ModuliStableCurvesOfGenusQuasiCompact.lean, line 126.
Let
g ≥ 2. The moduli stack𝓜̄_gof stable curves of genusgis quasi-compact: the space of points of its small modelAlgebraicGeometry.moduliStableCurvesOfGenusSmall(Stacks 04XG), with the topology of Stacks 04XL, is compact. This is quasi-compactness of an algebraic stack in the sense of Stacks 04YB (AlgebraicGeometry.Stack.IsQuasiCompactStack, which is thisCompactSpace).
theorem compactSpace_points_moduliStableCurvesOfGenusSmall (g : ℕ) (hg : 2 ≤ g) :
@CompactSpace (Stack.points B integerBase hZ (moduliStableCurvesOfGenusSmall B hZ g).val
(moduliStableCurvesOfGenusSmall B hZ g).property)
(Stack.pointTopology B integerBase hZ (moduliStableCurvesOfGenusSmall B hZ g))
Tag 0E9C, a theorem
Tag 0E9C in the Stacks Project.
AlgebraicGeometry.moduliStableCurves_isDeligneMumford_proper_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Quot/ModuliStableCurvesProperSmoothReduced.lean, line 335. The attribute's comment: “g ≥ 2 (hg); 𝓜̄_g is Deligne–Mumford, proper and smooth over Spec(ℤ), and 𝓜_g is an open substack of 𝓜̄_g whose points are dense in |𝓜̄_g|; nothing is assumed”.
Let
g ≥ 2. The algebraic stack𝓜̄_gis a Deligne–Mumford stack, proper and smooth overSpec(ℤ). Moreover, the locus𝓜_gparametrizing smooth curves is a dense open substack.Here
𝓜̄_gis the open substack of the algebraic stack of curves (Stacks 0D5A) cut out by the stable families of genusg(Stacks 0E78), and𝓜_gthe one cut out by the families smooth of relative dimension one withf_*𝒪_X = 𝒪_Suniversally and of genusg(Stacks 0E83); the conjuncts are:𝓜̄_gis Deligne–Mumford,𝓜̄_g → Spec(ℤ)is proper, it is smooth, and𝓜_gis contained in𝓜̄_g(so it is an open substack of𝓜̄_g) with points dense in|𝓜̄_g|.
theorem moduliStableCurves_isDeligneMumford_proper_smooth (g : ℕ) (hg : 2 ≤ g) :
Stack.IsDeligneMumfordStack.{u, u + 1} B integerBase hZ
(curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ)
g)).toAlgebraicStack.val.val ∧
Stack.AlgebraicStacks.IsProper B integerBase hZ
((curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) g)).inclusion ≫
Stack.structureMorphism B integerBase hZ (curvesAlgebraicStack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ))) ∧
IsSmoothOverIntegers B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) g) ∧
∃ hle : (curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isSmoothH0FamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) hg)).property ≤
(curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) g)).property,
@Dense _ (Stack.pointTopology B integerBase hZ
(curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ)
g)).toAlgebraicStack.val)
(Set.range (Stack.AlgebraicStacks.pointsMap B integerBase hZ
(Stack.OpenSubstack.homOfLE B integerBase hZ
(curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isSmoothH0FamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) hg))
(curvesSmallOpenSubstack B hZ
(C1590Private.isAlgebraicStack_curvesFiberedCategory.{u, u + 1} B hZ)
(isOpenCurvesLocus_isStableCurveFamilyOfGenus_of_isStable B hZ
(C1590Private.isOpenCurvesLocus_isStableCurveFamily B hZ) g))
hle)))
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.