Hartshorne--Lichtenbaum vanishing and top local-cohomology nonvanishing imply connectedness for a quotient by any finite list of generators. The generator-count vanishing theorem supplies the intersection term in the Mayer--Vietoris sequence; no regularity assumption on the list is needed.
Source context 4 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory Limits IsLocalRing
namespace AlgebraicGeometry.FiniteEtale
universe utheorem connectedSpace_puncturedSpectrum_quotient_ofList_of_topLocalCohomology
{C : Type u} [CommRing C] [IsDomain C] [IsLocalRing C]
[IsNoetherianRing C]
(d : ℕ) (hdim : ringKrullDim C = (d : WithBot ℕ∞))
(xs : List C) (hxs : Ideal.ofList xs ≤ maximalIdeal C)
(hcodim : xs.length + 2 ≤ d)
(hNonmax : ∀ I : Ideal C, I.IsRadical → I ≠ maximalIdeal C →
IsZero (EtaleFundamentalGroups.derivedLocalCohomology I
(ModuleCat.of C C) d))
(hTop : ¬ IsZero (EtaleFundamentalGroups.derivedLocalCohomology
(maximalIdeal C) (ModuleCat.of C C) d)) :
letI : Nontrivial (C ⧸ Ideal.ofList xs) :=
Ideal.Quotient.nontrivial_iff.mpr <|
ne_top_of_le_ne_top (maximalIdeal.isMaximal C).ne_top hxs
letI : IsLocalRing (C ⧸ Ideal.ofList xs) :=
IsLocalRing.of_surjective' (Ideal.Quotient.mk (Ideal.ofList xs))
Ideal.Quotient.mk_surjective
ConnectedSpace
(Scheme.puncturedSpectrum (C ⧸ Ideal.ofList xs)) := by
let : Nontrivial (C ⧸ Ideal.ofList xs) :=
Ideal.Quotient.nontrivial_iff.mpr <|
ne_top_of_le_ne_top (maximalIdeal.isMaximal C).ne_top hxs
let : IsLocalRing (C ⧸ Ideal.ofList xs) :=
IsLocalRing.of_surjective' (Ideal.Quotient.mk (Ideal.ofList xs))
Ideal.Quotient.mk_surjective
have hdimBound :
((((xs.length + 2 : ℕ) : ℕ∞) : WithBot ℕ∞) ≤ ringKrullDim C) := by
rw [hdim]
exact_mod_cast hcodim
by_contra hconnected
apply hTop
obtain ⟨a, b, _hIa, _hIb, _ha, _hb, hamax, hbmax,
haRadical, hbRadical, hinf, hsup⟩ :=
(
exists_radical_nonmaximal_ambient_componentIntersectionIdeals_of_not_connectedSpace_quotient_ofList
(Ideal.ofList xs) hxs xs rfl hdimBound hconnected)
have hzeroList :
IsZero (EtaleFundamentalGroups.derivedLocalCohomology
(Ideal.ofList xs) (ModuleCat.of C C) (d - 1)) :=
EtaleFundamentalGroups.derivedLocalCohomology_ofList_isZero_of_isDomain
xs (ModuleCat.of C C) (d - 1) (by omega)
have hinfRadical :
(a ⊓ b).radical = (Ideal.ofList xs).radical := by
rw [hinf, Ideal.radical_idem]
have hzeroInf :
IsZero (EtaleFundamentalGroups.derivedLocalCohomology
(a ⊓ b) (ModuleCat.of C C) (d - 1)) :=
hzeroList.of_iso
(EtaleFundamentalGroups.derivedLocalCohomologyIsoOfSameRadical
hinfRadical (ModuleCat.of C C) (d - 1))
have hzeroSup :
IsZero (EtaleFundamentalGroups.derivedLocalCohomology
(a ⊔ b) (ModuleCat.of C C) d) :=
EtaleFundamentalGroups.derivedLocalCohomology_sup_isZero_of_mayerVietoris
a b (ModuleCat.of C C) (d - 1) d (by omega) hzeroInf
(hNonmax a haRadical hamax) (hNonmax b hbRadical hbmax)
have hmaxRadical : (maximalIdeal C).radical = maximalIdeal C :=
(maximalIdeal.isMaximal C).isPrime.isRadical.radical
have hsupRadical :
(a ⊔ b).radical = (maximalIdeal C).radical :=
hsup.trans hmaxRadical.symm
exact hzeroSup.of_iso
(EtaleFundamentalGroups.derivedLocalCohomologyIsoOfSameRadical
hsupRadical (ModuleCat.of C C) d).symm