Let x be a nonzero element of the maximal ideal of a complete regular local domain of dimension at least three. Purity for the hypersurface quotient implies purity for the ambient ring.
The connectedness of the quotient puncture and of every normalization fibre is produced internally by Grothendieck connectedness; callers only supply the lower-dimensional purity statement.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open AlgebraicGeometry CategoryTheory IsLocalRing TopologicalSpace
open CategoryTheory.PreGaloisCategory
namespace EtaleFundamentalGroups
universe utheorem hasPuncturedPurity_of_complete_regularLocal_quotient_span_singleton
{R : Type u} [CommRing R] [IsDomain R] [IsRegularLocalRing R]
[IsIntegrallyClosed R]
[IsAdicComplete (maximalIdeal R) R]
(hdim : ((3 : ℕ∞) : WithBot ℕ∞) ≤ ringKrullDim R)
(x : R) (hx : x ∈ maximalIdeal R) (hx0 : x ≠ 0) :
let I : Ideal R := Ideal.span {x}
letI : Nontrivial (R ⧸ I) :=
Ideal.Quotient.nontrivial_iff.mpr
(ne_top_of_le_ne_top (maximalIdeal.isMaximal R).ne_top
((maximalIdeal R).span_singleton_le_iff_mem.mpr hx))
letI : IsLocalRing (R ⧸ I) :=
IsLocalRing.of_surjective' (Ideal.Quotient.mk I)
Ideal.Quotient.mk_surjective
AlgebraicGeometry.FiniteEtale.HasPuncturedPurity (R ⧸ I) →
AlgebraicGeometry.FiniteEtale.HasPuncturedPurity R := by
dsimp only
let I : Ideal R := Ideal.span {x}
have hI : I ≤ maximalIdeal R :=
(maximalIdeal R).span_singleton_le_iff_mem.mpr hx
have hIne : I ≠ ⊤ :=
ne_top_of_le_ne_top (maximalIdeal.isMaximal R).ne_top hI
let : Nontrivial (R ⧸ I) :=
Ideal.Quotient.nontrivial_iff.mpr hIne
let : IsLocalRing (R ⧸ I) :=
IsLocalRing.of_surjective' (Ideal.Quotient.mk I)
Ideal.Quotient.mk_surjective
intro hquotient
have hpos : (1 : WithBot ℕ∞) ≤ ringKrullDim R :=
(by norm_num : (1 : WithBot ℕ∞) ≤ (3 : ℕ∞)).trans hdim
have hconnectedR : ConnectedSpace
(AlgebraicGeometry.Scheme.puncturedSpectrum R) := by
let U := AlgebraicGeometry.Scheme.puncturedSpectrum R
let j : U ⟶ AlgebraicGeometry.Spec (.of R) :=
AlgebraicGeometry.Scheme.puncturedSpectrumInclusion R
let : Nonempty U :=
AlgebraicGeometry.Scheme.puncturedSpectrum_nonempty_of_one_le_ringKrullDim
R hpos
let : IsOpenImmersion j := by
dsimp only [j, AlgebraicGeometry.Scheme.puncturedSpectrumInclusion]
infer_instance
let : IsIntegral U := isIntegral_of_isOpenImmersion j
infer_instance
have hconnectedQuotient : ConnectedSpace
(AlgebraicGeometry.Scheme.puncturedSpectrum (R ⧸ I)) := by
exact
(open _root_.AlgebraicGeometry.FiniteEtale in
connectedSpace_puncturedSpectrum_quotient_span_singleton_of_completeLocalDomain
hdim x hx hx0)
apply hasPuncturedPurity_of_complete_quotient_of_preserves_connected
I hI hconnectedR hconnectedQuotient hquotient
intro W hW
let : IsConnected W := hW
rw [AlgebraicGeometry.FiniteEtale.connectedPuncturedCoverQuotientRestriction_isConnected_iff
R hpos W I hI]
exact
(open _root_.AlgebraicGeometry.FiniteEtale in
connectedSpace_connectedPuncturedCoverNormalizationPuncturedFiber_span_singleton
R hdim W x hx hx0)