51.15 Improving coherent modules to 51.22 A bit of uniformity, III
Section51.15 Improving coherent modules#
Section 51.15 of the Stacks Project, Tag 0DX2. 5 tags here are carried by 40 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0DX3, a lemma
Tag 0DX3 in the Stacks Project.
AlgebraicGeometry.depthOneQuotient_spec, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/DepthOneQuotient/Basic.lean, line 948. The attribute's comment: “depth_one_quotient”.
The canonical quotient is coherent, surjective, unchanged away from
T, and of depth at least one alongT.
public theorem depthOneQuotient_spec (X : Scheme.{u}) [IsNoetherian X]
(T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent] :
IsDepthOneQuotient T (toDepthOneQuotient X T hT F)
AlgebraicGeometry.depthOneQuotient_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/DepthOneQuotient/Basic.lean, line 978. The attribute's comment: “depth_one_quotient”.
Every other quotient satisfying the defining properties is uniquely isomorphic to the canonical one over its source.
public theorem depthOneQuotient_unique (X : Scheme.{u}) [IsNoetherian X]
(T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(G : X.Modules) (g : F ⟶ G) (hg : IsDepthOneQuotient T g) :
∃! e : depthOneQuotient X T hT F ≅ G,
toDepthOneQuotient X T hT F ≫ e.hom = g
AlgebraicGeometry.isDepthOneQuotient_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Divisors/DepthOneQuotient/FlatPullback.lean, line 186. The attribute's comment: “flat_pullback”. References: EGA IV (5.9.4), “Noetherian, coherent F”.
For a flat morphism
f : Y ⟶ Xof Noetherian schemes, the pullback of the canonical depth-one quotient of a coherent module along a specialization-closed setTis a depth-one quotient alongf ⁻¹' T.
public theorem isDepthOneQuotient_pullback
{X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
(f : Y ⟶ X) [Flat f]
(T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent] :
IsDepthOneQuotient (f.base ⁻¹' T)
((Scheme.Modules.pullback f).map
(toDepthOneQuotient X T hT F))
Tag 0DX4, a lemma
Tag 0DX4 in the Stacks Project.
AlgebraicGeometry.existsUnique_iso_pullback_pushforward_restrict_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/FlatPullbackDepth.lean, line 172. The attribute's comment: “flat pullback compatibility: the pullback of the canonical map is the canonical map for the inverse image of U”.
For a flat morphism
f : Y ⟶ Xof Noetherian schemes,f^*F → f^*j_*(F|_U)is the canonical extension map for the open subschemef^{-1}(U) ⊆ Y: there is a unique isomorphism betweenf^*j_*(F|_U)andj'_*((f^*F)|_{f^{-1}(U)})compatible with the two canonical maps out off^*F.
public theorem existsUnique_iso_pullback_pushforward_restrict_flat
{X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
(f : Y ⟶ X) [Flat f] (F : X.Modules) [F.IsCoherent]
(U : X.Opens)
[((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)).IsCoherent] :
∃! e : (Scheme.Modules.pullback f).obj
((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)) ≅
(Scheme.Modules.pushforward (f ⁻¹ᵁ U).ι).obj
((Scheme.Modules.pullback (f ⁻¹ᵁ U).ι).obj
((Scheme.Modules.pullback f).obj F)),
(Scheme.Modules.pullback f).map
((Scheme.Modules.pullbackPushforwardAdjunction U.ι).unit.app F) ≫ e.hom =
(Scheme.Modules.pullbackPushforwardAdjunction (f ⁻¹ᵁ U).ι).unit.app
((Scheme.Modules.pullback f).obj F)
AlgebraicGeometry.isCoherent_pushforward_restrict_pullback_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/FlatPullbackDepth.lean, line 197. The attribute's comment: “flat pullback compatibility: the coherence hypothesis of the source holds again for the inverse image of U, so the lemma applies verbatim downstairs”.
For a flat morphism
f : Y ⟶ Xof Noetherian schemes, the coherence hypothesis of [Stacks, Tag 0DX4] holds again downstairs:j'_*((f^*F)|_{f^{-1}(U)})is a coherent𝒪_Y-module. Withf^*Fcoherent (AlgebraicGeometry.isCoherent_pullback), [Stacks, Tag 0DX4] therefore applies tof : Y ⟶ X,f^{-1}(U)andf^*F.
public theorem isCoherent_pushforward_restrict_pullback_of_flat
{X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
(f : Y ⟶ X) [Flat f] (F : X.Modules) [F.IsCoherent]
(U : X.Opens)
[((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)).IsCoherent] :
((Scheme.Modules.pushforward (f ⁻¹ᵁ U).ι).obj
((Scheme.Modules.pullback (f ⁻¹ᵁ U).ι).obj
((Scheme.Modules.pullback f).obj F))).IsCoherent
AlgebraicGeometry.isIso_pullback_map_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/OpenExtension.lean, line 130. The attribute's comment: “clause (1) for the canonical map: it restricts to an isomorphism over U”.
The canonical map
F → j_*(F|_U)becomes an isomorphism after restriction to the open subschemeU.This is the left unitality triangle of the pullback--pushforward adjunction together with invertibility of its counit along an open immersion.
public theorem isIso_pullback_map_unit {X : Scheme.{u}} (F : X.Modules) (U : X.Opens) :
IsIso ((Scheme.Modules.pullback U.ι).map
((Scheme.Modules.pullbackPushforwardAdjunction U.ι).unit.app F))
AlgebraicGeometry.two_le_depth_stalk_pushforward_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/OpenExtension.lean, line 145. The attribute's comment: “clause (2) for the canonical map: the extension has depth at least two outside U”.
The stalks of the extension
F' = j_*(F|_U)of a module along an open subscheme have depth at least two at every point outsideU.The module
F'is canonically the pushforward of its own restriction toU, byAlgebraicGeometry.isIso_unit_app_pushforward, so the bound is [Stacks, Tag 0EY0] part (3) for the open immersionU.ι, which isStacks.AlgebraicGeometry.PushforwardRegularity.two_le_depth_stalk_of_isIso_unit_of_notMem. Only finite type ofF'is used, so coherence ofFis not assumed.
public theorem two_le_depth_stalk_pushforward_restrict
(X : Scheme.{u}) [IsNoetherian X] (F : X.Modules) (U : X.Opens)
[((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)).IsCoherent] :
∀ x : X, x ∉ (U : Set X) →
let F' := (Scheme.Modules.pushforward U.ι).obj ((Scheme.Modules.pullback U.ι).obj F)
letI : Module (X.presheaf.stalk x)
(TopCat.Presheaf.stalk (C := Ab.{u}) F'.val.presheaf x) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
F'.val x
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F'.val.presheaf x)
AlgebraicGeometry.unique_iso_pushforward_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/OpenExtension.lean, line 169. The attribute's comment: “uniqueness under the original module”.
A coherent module carrying a map from
Fwhich becomes an isomorphism over the open subschemeUand whose stalks have depth at least two outsideUis uniquely isomorphic, underF, to the extensionj_*(F|_U)of the restriction ofF.
public theorem unique_iso_pushforward_restrict
(X : Scheme.{u}) [IsNoetherian X] (F G : X.Modules)
[F.IsCoherent] [G.IsCoherent] (U : X.Opens)
[((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)).IsCoherent]
(φ : F ⟶ G)
(hφ : IsIso ((Scheme.Modules.pullback U.ι).map φ))
(hdepth : ∀ x : X, x ∉ (U : Set X) →
let M := TopCat.Presheaf.stalk (C := Ab.{u}) G.val.presheaf x
letI : Module (X.presheaf.stalk x) M :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
G.val x
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x)) M) :
∃! e : G ≅ (Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F),
φ ≫ e.hom = (Scheme.Modules.pullbackPushforwardAdjunction U.ι).unit.app F
AlgebraicGeometry.flat_pullback_coherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/OpenExtension.lean, line 195. The attribute's comment: “flat pullback coherence”.
The pullback of the extension
j_*(F|_U)along a flat morphism is coherent.Flatness of
fis not needed: coherence of a pullback needs only a locally Noetherian source, by [Stacks, Tag 0EBF].
public theorem flat_pullback_coherent
{X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
(f : Y ⟶ X) [Flat f] (F : X.Modules) [F.IsCoherent]
(U : X.Opens)
[((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F)).IsCoherent] :
((Scheme.Modules.pullback f).obj
((Scheme.Modules.pushforward U.ι).obj
((Scheme.Modules.pullback U.ι).obj F))).IsCoherent
Tag 0DX5, a lemma
Tag 0DX5 in the Stacks Project.
AlgebraicGeometry.correctedImprovement_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/CorrectedImprovement.lean, line 462. The attribute's comment: “corrected form (conditions corrected so that existence holds; the source's existence clause is false, Stacks.ImprovementCounterexample.not_exists_isImprovement_cexSheaf): the pullback of the corrected map along a Cohen-Macaulay morphism with Noetherian source satisfies (1), (2) and the corrected surjectivity-and-depth-one condition along f^{-1}(Z), and the depth-two condition on the inverse image of the points of Z generalizing no point as in (2)”.
The Cohen–Macaulay pullback under the corrected conditions. Let
φ : F ⟶ Gsatisfy the corrected conditions alongZand letf : Y ⟶ Xbe a Cohen–Macaulay morphism of Noetherian schemes. Thenf^*φhas coherent target, is an isomorphism on stalks offf^{-1}(Z), satisfies condition (2) at the points off^{-1}(Z)reached from outsidef^{-1}(Z)forf^*Fand condition (2') at the points generalizing those, intrinsically upstairs; and it has depth at least two at the points off^{-1}(Z)lying over a point ofZgeneralizing no reached point.The last clause is not condition (3) for
f^*F: that would ask depth two at every point off^{-1}(Z)generalizing no point reached upstairs, and it fails already for the open immersionD(w) ⊆ Spec k[u, v, w]of the counterexample:Stacks.ImprovementCounterexample.correctedImprovement_pullback_not_intrinsic.This is
AlgebraicGeometry.isNestedImprovement_pullbackfor the nested pairNotGeneralizingReached Z F ⊆ Z, with the points reached upstairs placed over points ofZgeneralizing a reached point byAlgebraicGeometry.notMem_notGeneralizingReached_of_reachedFromOutside_pullback.
public theorem correctedImprovement_pullback {X Y : Scheme.{u}} [IsNoetherian X]
[IsNoetherian Y] {Z : Set X} {F G : X.Modules} (φ : F ⟶ G)
(hφ : IsCorrectedImprovement Z φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib) :
((Scheme.Modules.pullback f).obj G).IsCoherent ∧
(∀ y : Y, y ∉ f.base ⁻¹' Z →
IsIso ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf)) ∧
(∀ y : Y, y ∈ f.base ⁻¹' Z →
ReachedFromOutside (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y →
Epi ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf) ∧
(letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
Module.depth (Y.presheaf.stalk y) (IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) = (1 : ℕ∞))) ∧
(∀ y : Y, y ∈ f.base ⁻¹' Z →
¬ ReachedFromOutside (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y →
GeneralizesReached (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y →
Epi ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf) ∧
(letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
(1 : ℕ∞) ≤ Module.depth (Y.presheaf.stalk y)
(IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y))) ∧
(∀ y : Y, y ∈ f.base ⁻¹' Z → ¬ GeneralizesReached Z F (f.base y) →
letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
(2 : ℕ∞) ≤ Module.depth (Y.presheaf.stalk y)
(IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y))
AlgebraicGeometry.existsUnique_isCorrectedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/CorrectedImprovement.lean, line 557. The attribute's comment: “corrected form (conditions corrected so that existence holds): the source's existence clause is false, refuted by Stacks.ImprovementCounterexample.not_exists_isImprovement_cexSheaf; with condition (3) at the points of Z which generalize a point as in (2) without being one replaced by surjectivity on stalks and depth at least one, a map F -> F'' exists and is unique up to a unique isomorphism under F, at exactly the source's hypotheses”.
Stacks Project, Tag 0DX5, corrected form: the conditions corrected so that existence holds. The existence clause of the source is false (
Stacks.ImprovementCounterexample.not_exists_isImprovement_cexSheaf). LetXbe a Noetherian, universally catenary scheme whose local rings have(S₁)formal fibres,Z ⊆ Xclosed andFcoherent. Then there is a mapF ⟶ Gsatisfying the corrected conditionsAlgebraicGeometry.IsCorrectedImprovementalongZ— the source's (1), (2) and (3), except that at the points ofZwhich generalize a point as in (2) without being one, (3) is replaced by surjectivity on stalks and depth at least one — and any two such maps are isomorphic by a unique isomorphism underF.This is the theorem the source's construction proves once its closed subset is chosen as the closure of the bad locus. Its pullback along a Cohen–Macaulay morphism is
AlgebraicGeometry.correctedImprovement_pullback; the source's own conditions, whose existence is characterized byAlgebraicGeometry.exists_isImprovement_iff_two_le_depth_depthOneQuotient, are the primary corrected form, for the reason given in the module docstring.
public theorem existsUnique_isCorrectedImprovement (X : Scheme.{u}) [IsNoetherian X]
(Z : Set X) (hZ : IsClosed Z) (F : X.Modules) [F.IsCoherent]
(hX : Scheme.IsUniversallyCatenary X)
(hFibres : ∀ z : X, ∀ q : PrimeSpectrum (X.presheaf.stalk z),
HasSerreCondition
(X.completedLocalRing z ⊗[X.presheaf.stalk z] q.asIdeal.ResidueField) 1) :
∃ (G : X.Modules) (φ : F ⟶ G), IsCorrectedImprovement Z φ ∧
∀ (H : X.Modules) (ψ : F ⟶ H), IsCorrectedImprovement Z ψ →
∃! e : G ≅ H, φ ≫ e.hom = ψ
AlgebraicGeometry.exists_isImprovement_iff_two_le_depth_depthOneQuotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/CorrectedImprovement.lean, line 597. The attribute's comment: “corrected form of the existence clause, which is false as stated (refuted by Stacks.ImprovementCounterexample.not_exists_isImprovement_cexSheaf): at exactly the source's hypotheses, a map F -> F'' satisfying (1), (2) and (3) exists if and only if the depth-one quotient F' of Tag 0DX3 has depth at least two at every point of Z which generalizes a point as in (2) without being one; uniqueness and the Cohen-Macaulay pullback hold as stated”.
Stacks Project, Tag 0DX5, corrected form of the existence clause. The existence clause of the source is false:
Stacks.ImprovementCounterexample.not_exists_isImprovement_cexSheafofImprovementExistenceCounterexample.leanrefutes it forX = Spec k[u, v, w],Z = V(u, v),F = (u, v)~ ⊕ (k[u, v, w]/(u, w))~, with every hypothesis of the source witnessed.Let
Xbe a Noetherian, universally catenary scheme whose local rings have(S₁)formal fibres,Z ⊆ Xclosed andFcoherent, and letF'be the depth-one quotient ofFalongZ([Stacks, Tag 0DX3]). Then a mapF ⟶ F''of coherent modules satisfying conditions (1), (2) and (3) of the source exists if and only ifdepth(F'_x) ≥ 2at every pointx ∈ Zwhich generalizes a point as in (2) without being one. In the counterexample this fails at(u, v).The other assertions of the source hold as stated: uniqueness is
AlgebraicGeometry.improvement_uniqueand the Cohen–Macaulay pullback isAlgebraicGeometry.isImprovement_pullback, so this is [Stacks, Tag 0DX5] with only its existence assertion corrected. The criterion is equivalent to the disjointness criterion ofAlgebraicGeometry.existsUnique_improvement_of_disjoint_closure_lowDepthNotReached, and is stated pointwise.For the forward direction an improvement satisfies the corrected conditions (
AlgebraicGeometry.isCorrectedImprovement_of_isImprovement), so it is isomorphic to the map ofAlgebraicGeometry.exists_isCorrectedImprovement_and_depth_eq, whose target has the depth ofF'at the points in question, and condition (3) bounds that depth below by two. Conversely, under the criterion that map satisfies condition (3) there as well.
public theorem exists_isImprovement_iff_two_le_depth_depthOneQuotient (X : Scheme.{u})
[IsNoetherian X]
(Z : Set X) (hZ : IsClosed Z) (F : X.Modules) [F.IsCoherent]
(hX : Scheme.IsUniversallyCatenary X)
(hFibres : ∀ z : X, ∀ q : PrimeSpectrum (X.presheaf.stalk z),
HasSerreCondition
(X.completedLocalRing z ⊗[X.presheaf.stalk z] q.asIdeal.ResidueField) 1) :
(∃ (G : X.Modules) (φ : F ⟶ G), IsImprovement Z φ) ↔
∀ x : X, x ∈ Z → ¬ ReachedFromOutside Z F x → GeneralizesReached Z F x →
letI : Module (X.presheaf.stalk x)
(TopCat.Presheaf.stalk (C := Ab.{u})
(depthOneQuotient X Z hZ.stableUnderSpecialization F).val.presheaf x) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) (depthOneQuotient X Z hZ.stableUnderSpecialization F).val x
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u})
(depthOneQuotient X Z hZ.stableUnderSpecialization F).val.presheaf x)
AlgebraicGeometry.isCoherent_pullback_of_isImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/Improvement.lean, line 167. The attribute's comment: “coherence of the target of the pullback, in the assertion about the pullback along a Cohen-Macaulay morphism”.
The target of the pullback of an improvement along a morphism with locally Noetherian source is again coherent.
public theorem isCoherent_pullback_of_isImprovement {X Y : Scheme.{u}} [IsLocallyNoetherian Y]
(f : Y ⟶ X) {Z : Set X} {F G : X.Modules} (φ : F ⟶ G) (h : IsImprovement Z φ) :
((Scheme.Modules.pullback f).obj G).IsCoherent
AlgebraicGeometry.isIso_stalk_pullback_map_of_isImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/Improvement.lean, line 177. The attribute's comment: “the isomorphism away from the inverse image of the closed subscheme, in the assertion about the pullback along a Cohen-Macaulay morphism”.
The pullback of an improvement along any morphism of schemes is an isomorphism on stalks at every point outside the inverse image of the closed subset.
public theorem isIso_stalk_pullback_map_of_isImprovement {X Y : Scheme.{u}} (f : Y ⟶ X)
{Z : Set X} {F G : X.Modules} (φ : F ⟶ G) (h : IsImprovement Z φ)
(y : Y) (hy : y ∉ f.base ⁻¹' Z) :
IsIso ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf)
AlgebraicGeometry.two_le_depth_stalk_pullback_of_notReachedFromOutside, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ImprovementPullback.lean, line 269. The attribute's comment: “condition (3) for the pullback along a Cohen-Macaulay morphism: depth at least two at a point of the inverse image of Z which is not itself reached from outside that inverse image”.
The depth bound at a point not reached upstairs. Let
F → F''be an improvement of a coherent𝒪_X-moduleFalongZand letf : Y ⟶ Xbe a Cohen–Macaulay morphism of Noetherian schemes. At a pointyoff^{-1}(Z)which is not reached from outsidef^{-1}(Z)forf^*F, the stalk off^*F''has depth at least two.By
AlgebraicGeometry.depth_stalk_pullback_eqthe depth upstairs is the depth of the stalk ofF''atf yplus the depth of the fibre of the local ring. Iff yis not reached from outsideZthe first summand is already at least two. If it is reached, the first summand is exactly one, so it suffices that the fibre have positive depth; a fibre of depth zero would carry the point reachingf yup to a point reachingy, which is excluded by hypothesis.
public theorem two_le_depth_stalk_pullback_of_notReachedFromOutside {X Y : Scheme.{u}}
[IsNoetherian X] [IsNoetherian Y] {Z : Set X} {F G : X.Modules} [F.IsCoherent] (φ : F ⟶ G)
(hφ : IsImprovement Z φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib)
(y : Y) (hy : y ∈ f.base ⁻¹' Z)
(hnr : ¬ ReachedFromOutside (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y) :
letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
(2 : ℕ∞) ≤ Module.depth (Y.presheaf.stalk y)
(IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y)
AlgebraicGeometry.isImprovement_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ImprovementPullback.lean, line 320. The attribute's comment: “the final assertion: the pullback of the map along a Cohen-Macaulay morphism with Noetherian source satisfies conditions (1), (2) and (3) with respect to the inverse image of the closed subscheme”.
Stacks Project, Tag 0DX5, the assertion about the pullback. The pullback of an improvement of a coherent module along a Cohen–Macaulay morphism of Noetherian schemes is an improvement along the inverse image of the closed subset: it satisfies conditions (1), (2) and (3) with respect to
f^{-1}(Z) ⊆ Y.An improvement along
Zis an improvement along the nested pairZ ∖ {reached points} ⊆ Z(AlgebraicGeometry.isNestedImprovement_of_isImprovement), whose pullback is an improvement along the inverse images of that pair (AlgebraicGeometry.isNestedImprovement_pullback). Those inverse images are the pair belonging tof^*Fandf^{-1}(Z), because the points off^{-1}(Z)reached from outsidef^{-1}(Z)forf^*Fare exactly the points lying over points ofZreached from outsideZforF; that is the content ofAlgebraicGeometry.reachedFromOutside_base_of_reachedFromOutside_pullbackandAlgebraicGeometry.two_le_depth_stalk_pullback_of_notReachedFromOutside.
public theorem isImprovement_pullback {X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
{Z : Set X} {F G : X.Modules} [F.IsCoherent] (φ : F ⟶ G) (hφ : IsImprovement Z φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib) :
IsImprovement (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).map φ)
AlgebraicGeometry.epi_stalk_pullback_of_isImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ImprovementPullback.lean, line 338. The attribute's comment: “the surjectivity in condition (2) for the pullback along a Cohen-Macaulay morphism”.
The pullback of an improvement along a Cohen–Macaulay morphism of Noetherian schemes is surjective on the stalk at every point of the inverse image of the closed subset which is reached from outside that inverse image: the surjectivity half of condition (2) upstairs.
public theorem epi_stalk_pullback_of_isImprovement {X Y : Scheme.{u}} [IsNoetherian X]
[IsNoetherian Y] {Z : Set X} {F G : X.Modules} [F.IsCoherent] (φ : F ⟶ G)
(hφ : IsImprovement Z φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib)
(y : Y) (hy : y ∈ f.base ⁻¹' Z)
(hr : ReachedFromOutside (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y) :
Epi ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf)
AlgebraicGeometry.depth_stalk_pullback_eq_one_of_isImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ImprovementPullback.lean, line 353. The attribute's comment: “the depth equality in condition (2) for the pullback along a Cohen-Macaulay morphism: the depth is exactly one, not merely at least one”.
The target of the pullback of an improvement along a Cohen–Macaulay morphism of Noetherian schemes has stalk of depth exactly one at every point of the inverse image of the closed subset which is reached from outside that inverse image: the depth half of condition (2) upstairs.
public theorem depth_stalk_pullback_eq_one_of_isImprovement {X Y : Scheme.{u}} [IsNoetherian X]
[IsNoetherian Y] {Z : Set X} {F G : X.Modules} [F.IsCoherent] (φ : F ⟶ G)
(hφ : IsImprovement Z φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib)
(y : Y) (hy : y ∈ f.base ⁻¹' Z)
(hr : ReachedFromOutside (f.base ⁻¹' Z) ((Scheme.Modules.pullback f).obj F) y) :
letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
Module.depth (Y.presheaf.stalk y) (IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) = (1 : ℕ∞)
AlgebraicGeometry.improvement_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ImprovementUniqueness.lean, line 171. The attribute's comment: “uniqueness of the map F → F'': two maps satisfying conditions (1), (2) and (3) are isomorphic by a unique isomorphism under F”.
Stacks Project, Tag 0DX5, uniqueness. Two improvements of a coherent module along the same closed subset are isomorphic by a unique isomorphism compatible with the two maps.
Each is an improvement along the nested pair
NotReachedFromOutside Z F ⊆ Z, a subset determined byZandFalone, so the comparison is the one of [Stacks, Tag 0EI4]. Neither the universal catenarity ofXnor the(S₁)condition on the formal fibres of its local rings is used: those hypotheses of the source enter only its existence proof.
public theorem improvement_unique (X : Scheme.{u}) [IsNoetherian X] (Z : Set X) (hZ : IsClosed Z)
(F G H : X.Modules) [F.IsCoherent] (φ : F ⟶ G) (ψ : F ⟶ H)
(hφ : IsImprovement Z φ) (hψ : IsImprovement Z ψ) :
∃! e : G ≅ H, φ ≫ e.hom = ψ
Tag 0EI3, a lemma
Tag 0EI3 in the Stacks Project.
AlgebraicGeometry.exists_isDepthTwoExtension_of_isCoherent_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ClosedStabilizedExtension.lean, line 131. The attribute's comment: “existence for a closed subset, conditional only on coherence of the single pushforward of the restriction of the depth-one quotient to the complement; the hypothesis hext of exists_isDepthTwoExtension_of_isStabilizedOpenExtension, namely a coherent stabilized open extension, is discharged here for a closed subset”.
Stacks Project, Tag 0EI3, existence for a closed subset. A coherent module
Fon a Noetherian scheme admits a map to a coherent module which is an isomorphism on the stalks away from a closed subsetTand whose stalks onThave depth at least two, as soon as the single pushforwardj_{V,*}(F'|_V)is coherent — whereVis the complement ofTandF'is the depth-one quotient ofFalongT.Together with
AlgebraicGeometry.isStabilizedOpenExtension_unitthis replaces the hypothesishextofAlgebraicGeometry.exists_isDepthTwoExtension_of_isStabilizedOpenExtension, which asks for a coherent stabilized open extension, by coherence of one explicit module: for a closedTno colimit of pushforwards over the opens whose complement lies inTis needed, because the complement ofTis itself such an open and is the smallest one.The remaining hypothesis is not removable; it is where the two hypotheses of [Stacks, Tag 0EI3] absent from
AlgebraicGeometry.exists_isDepthTwoExtension— a dualizing complex and a depth bound across the boundary ofT— must re-enter. See the implementation notes of this module.
public theorem exists_isDepthTwoExtension_of_isCoherent_pushforward
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : IsClosed T) (V : X.Opens)
(hV : (V : Set X) = Tᶜ) (F : X.Modules) [F.IsCoherent]
(hcoh : ((Scheme.Modules.pushforward V.ι).obj ((Scheme.Modules.pullback V.ι).obj
(depthOneQuotient X T hT.stableUnderSpecialization F))).IsCoherent) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.exists_isDepthTwoExtension_of_locallyHasDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ClosedSubsetExistence.lean, line 405. The attribute's comment: “existence along a closed subset, with no hypothesis about extensions or colimits, and at the source's hypotheses: the dualizing hypothesis and the depth hypothesis on immediate specializations, nothing else, the coherence of the single pushforward coming from the source's Faltings criterion Tag 0EFD”.
Stacks Project, Tag 0EI3, existence along a closed subset. Let
Xbe a Noetherian scheme which locally has a dualizing complex, letVbe an open ofXwith complementT— soTis closed — and letFbe a coherent𝒪_X-module such thatdepth(F_x) ≥ 1whenever some point ofTis an immediate specialization ofx ∉ T. ThenFadmits a depth-two extension alongT.No hypothesis about extensions or colimits is left: the module is the single pushforward
j_{V,*}(F'|_V)of the depth-one quotient, which is a stabilized open extension byAlgebraicGeometry.isStabilizedOpenExtension_unitand coherent byisCoherent_pushforward_restrict_depthOneQuotient. The two hypotheses are the source's, and both are necessary. See the module documentation.
public theorem exists_isDepthTwoExtension_of_locallyHasDualizingComplex
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (V : X.Opens) (hV : (V : Set X) = Tᶜ)
(F : X.Modules) [F.IsCoherent]
(hdual : LocallyHasDualizingComplex X)
(hdepth : ∀ x z : X, x ∉ T → z ∈ T → TopologicalSpace.IsImmediateSpecialization x z →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x)) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.exists_isDepthTwoExtension_of_stableUnderSpecialization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthLocusGlue.lean, line 223. The attribute's comment: “existence along a specialization-stable subset, at exactly the source's two hypotheses — the dualizing hypothesis and the depth hypothesis on immediate specializations — with no hypothesis about extensions, colimits, a closed subset of T, or finiteness of an exceptional locus”.
Let
Xbe a Noetherian scheme which locally has a dualizing complex, letT ⊆ Xbe stable under specialization and letFbe a coherent𝒪_X-module such thatdepth(F_x) ≥ 1whenever some point ofTis an immediate specialization ofx ∉ T. ThenFadmits a depth-two extension alongT.
public theorem exists_isDepthTwoExtension_of_stableUnderSpecialization
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent] (hdual : LocallyHasDualizingComplex X)
(hdepth : ∀ x z : X, x ∉ T → z ∈ T → TopologicalSpace.IsImmediateSpecialization x z →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x)) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.depthTwoExtension_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthTwoExtension.lean, line 464. The attribute's comment: “uniqueness, unconditionally: the subset is arbitrary and no dualizing complex is needed”.
Two depth-two extensions of a module along a subset are isomorphic by a unique isomorphism compatible with the two maps.
public theorem depthTwoExtension_unique
(X : Scheme.{u}) [IsNoetherian X]
(T : Set X)
(F G H : X.Modules) (φ : F ⟶ G) (ψ : F ⟶ H)
(hφ : IsDepthTwoExtension T φ) (hψ : IsDepthTwoExtension T ψ) :
∃! e : G ≅ H, φ ≫ e.hom = ψ
AlgebraicGeometry.exists_isDepthTwoExtension_of_hasDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthTwoExtensionConstruction.lean, line 480. The attribute's comment: “existence, at the source's hypotheses: X Noetherian with a dualizing complex on an affine open cover, T stable under specialization, F coherent, and depth at least one at the immediate specializations into T from outside T; the witness is the single direct image j_*(F|_{X ∖ Z}) across the closure Z of the low-depth locus, not the source's colimit of pushforwards, and its coherence is proved here from Faltings through Tag 0BJY”.
Existence of the depth-two extension. Let
Xbe a Noetherian scheme which locally has a dualizing complex, letT ⊆ Xbe stable under specialization and letFbe coherent. Assumedepth(F_x) ≥ 1at every immediate specializationx ⤳ x'withx' ∈ Tandx ∉ T. ThenFadmits a map to a coherent module which is an isomorphism on the stalks offTand whose stalks onThave depth at least two.
public theorem exists_isDepthTwoExtension_of_hasDualizingComplex
(X : Scheme.{u}) [IsNoetherian X] (hdual : HasDualizingComplexOnAffineCover X)
(T : Set X) (hT : StableUnderSpecialization T) (F : X.Modules) [F.IsCoherent]
(himm : ∀ x x' : X, IsImmediateSpecialization x x' → x' ∈ T → x ∉ T →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x)) (F.presheaf.stalk x)) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.existsUnique_isDepthTwoExtension_of_hasDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthTwoExtensionConstruction.lean, line 499. The attribute's comment: “the source's unique map, as existence together with uniqueness up to a unique isomorphism under F, at the source's hypotheses”.
Existence and uniqueness of the depth-two extension. Under the hypotheses of
AlgebraicGeometry.exists_isDepthTwoExtension_of_hasDualizingComplexthere is a mapF ⟶ F''of coherent modules which is an isomorphism on the stalks offTand whose stalks onThave depth at least two, and it is unique: any other such map is carried to it by a unique isomorphism underF.
public theorem existsUnique_isDepthTwoExtension_of_hasDualizingComplex
(X : Scheme.{u}) [IsNoetherian X] (hdual : HasDualizingComplexOnAffineCover X)
(T : Set X) (hT : StableUnderSpecialization T) (F : X.Modules) [F.IsCoherent]
(himm : ∀ x x' : X, IsImmediateSpecialization x x' → x' ∈ T → x ∉ T →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x)) (F.presheaf.stalk x)) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ ∧
∀ (H : X.Modules) (ψ : F ⟶ H), IsDepthTwoExtension T ψ →
∃! e : G ≅ H, φ ≫ e.hom = ψ
AlgebraicGeometry.exists_isDepthTwoExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthTwoExtensionExistence.lean, line 249. The attribute's comment: “existence, conditional on a coherent stabilized open extension of the depth-one quotient along the subset and on Tag 0EY0 part (3)”.
Stacks Project, Tag 0EI3, existence. A coherent module on a Noetherian scheme admits a map to a coherent module which is an isomorphism on the stalks away from a specialization-stable subset and whose stalks on that subset have depth at least two.
Two inputs of the source's proof are carried as hypotheses, because this library does not have them.
hextasks for the extension of the depth-one quotient ofFacrossTby sections over the opens whose complement lies inT— the colimit of the pushforwardsj_{V,*}(F'|_V)— as a coherent module. Its coherence is what the source derives from Faltings' finiteness criterion [Stacks, Tag 0EFD] applied to a dualizing complex, using the hypothesis thatXlocally has one and the hypothesis on the depth ofFat the immediate specializations intoT. Those two hypotheses of [Stacks, Tag 0EI3] therefore do not appear here.hdepthOutsideis [Stacks, Tag 0EY0] part (3), the converse ofAlgebraicGeometry.isIso_unit_restrict_pushforward_of_depth_ge_two.The map itself, the clause away from
Tand the depth clause onTare proved. See the implementation notes of this module.
public theorem exists_isDepthTwoExtension
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(hdepthOutside : ∀ (V : X.Opens) (H : X.Modules), H.IsCoherent →
IsIso ((Scheme.Modules.pullbackPushforwardAdjunction V.ι).unit.app H) →
∀ y : X, y ∉ (V : Set X) →
letI : Module (X.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u}) H.val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) H.val y
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk y)
(IsLocalRing.maximalIdeal (X.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u}) H.val.presheaf y))
(hext : ∃ (G : X.Modules) (ψ : depthOneQuotient X T hT F ⟶ G),
IsStabilizedOpenExtension T ψ) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.depthTwoExtension_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/DepthTwoExtensionPullback.lean, line 48. The attribute's comment: “the Cohen-Macaulay pullback clause, unconditionally”.
The pullback of a depth-two extension along a Cohen–Macaulay morphism of Noetherian schemes is a depth-two extension along the inverse image of the subset.
The hypothesis
hfib, that the fibres offare locally Noetherian, is the one under whichAlgebraicGeometry.Scheme.Hom.IsCohenMacaulayis stated; it follows from[IsNoetherian Y]byAlgebraicGeometry.isLocallyNoetherian_fiber.
public theorem depthTwoExtension_pullback
{X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
(T : Set X) (F G : X.Modules) (φ : F ⟶ G)
(hφ : IsDepthTwoExtension T φ)
(f : Y ⟶ X) (hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x))
(hcm : f.IsCohenMacaulay hfib) :
IsDepthTwoExtension (f ⁻¹' T) ((Scheme.Modules.pullback f).map φ)
AlgebraicGeometry.exists_isDepthTwoExtension_of_isStabilizedOpenExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ExistenceDepthOutside.lean, line 66. The attribute's comment: “existence, conditional only on a coherent stabilized open extension of the depth-one quotient along the subset; the other hypothesis of exists_isDepthTwoExtension, namely Tag 0EY0 part (3), is discharged here”.
A coherent module on a Noetherian scheme admits a map to a coherent module which is an isomorphism on the stalks away from a specialization-stable subset and whose stalks on that subset have depth at least two, as soon as the depth-one quotient has a stabilized open extension across the subset.
public theorem exists_isDepthTwoExtension_of_isStabilizedOpenExtension
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(hext : ∃ (G : X.Modules) (ψ : depthOneQuotient X T hT F ⟶ G),
IsStabilizedOpenExtension T ψ) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.exists_isDepthTwoExtension_of_isClosed_of_subset, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/SpecializationStableExistence.lean, line 211. The attribute's comment: “existence along a specialization-stable subset, with no hypothesis about extensions or colimits, and at the source's hypotheses — the dualizing hypothesis and the depth hypothesis on immediate specializations — together with a closed subset of T outside which the depth-one quotient already has depth two on T”.
Stacks Project, Tag 0EI3, existence along a specialization-stable subset. Let
Xbe a Noetherian scheme which locally has a dualizing complex, letT ⊆ Xbe stable under specialization and letFbe a coherent𝒪_X-module such thatdepth(F_x) ≥ 1whenever some point ofTis an immediate specialization ofx ∉ T. LetZ ⊆ Tbe closed and such that the depth-one quotientF'ofFalongTalready hasdepth(F'_x) ≥ 2at the points ofToutsideZ. ThenFadmits a depth-two extension alongT.No hypothesis about extensions or colimits is left, and the depth-two extension is the single pushforward
j_{Zᶜ,*}(F'|_{Zᶜ}): for a closedTone may takeZ = T, recoveringAlgebraicGeometry.exists_isDepthTwoExtension_of_locallyHasDualizingComplex. See the module documentation for the three clauses and for the status ofZitself.
public theorem exists_isDepthTwoExtension_of_isClosed_of_subset
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(hdual : LocallyHasDualizingComplex X)
(hdepth : ∀ x z : X, x ∉ T → z ∈ T → TopologicalSpace.IsImmediateSpecialization x z →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x))
(Z : Set X) (hZclosed : IsClosed Z) (hZT : Z ⊆ T)
(hZ : ∀ x : X, x ∈ T → x ∉ Z →
letI : Module (X.presheaf.stalk x)
(TopCat.Presheaf.stalk (C := Ab.{u}) (depthOneQuotient X T hT F).val.presheaf x) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) (depthOneQuotient X T hT F).val x
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u})
(depthOneQuotient X T hT F).val.presheaf x)) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
AlgebraicGeometry.exists_isDepthTwoExtension_of_finite_depthOne_locus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/SpecializationStableExistence.lean, line 285. The attribute's comment: “existence along a specialization-stable subset, with no hypothesis about extensions or colimits, and at the source's hypotheses — the dualizing hypothesis and the depth hypothesis on immediate specializations — together with finiteness of the set of points of T where the depth-one quotient still has depth below two”.
Stacks Project, Tag 0EI3, existence along a specialization-stable subset, from finiteness of the depth-one locus. Same as
exists_isDepthTwoExtension_of_isClosed_of_subset, with the closed subset replaced by the hypothesis that the set of points ofTwhere the depth-one quotientF'still has depth below two is finite.A finite set of points has closed closure — the union of the finitely many closures of its points — and that closure stays inside
TbecauseTis stable under specialization. So the finite set's closure is a legitimateZ, and the remaining gap in the existence half of [Stacks, Tag 0EI3] is exactly this finiteness. It is the shape the finiteness theorems about depth take: [Stacks, Tag 0ECN] (AlgebraicGeometry.finite_setOf_depth_eq_and_lt_supportDim) says that on a Noetherian scheme with a dualizing complex a coherent module satisfying Serre's condition(S₁)has only finitely many points withdepth(F'_x) = 1anddim Supp(F'_x) > 1.
public theorem exists_isDepthTwoExtension_of_finite_depthOne_locus
(X : Scheme.{u}) [IsNoetherian X] (T : Set X) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(hdual : LocallyHasDualizingComplex X)
(hdepth : ∀ x z : X, x ∉ T → z ∈ T → TopologicalSpace.IsImmediateSpecialization x z →
(1 : ℕ∞) ≤ Module.depth (X.presheaf.stalk x)
(IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u}) F.val.presheaf x))
(hfin : {x : X | x ∈ T ∧
letI : Module (X.presheaf.stalk x)
(TopCat.Presheaf.stalk (C := Ab.{u}) (depthOneQuotient X T hT F).val.presheaf x) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) (depthOneQuotient X T hT F).val x
Module.depth (X.presheaf.stalk x) (IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(TopCat.Presheaf.stalk (C := Ab.{u})
(depthOneQuotient X T hT F).val.presheaf x) < (2 : ℕ∞)}.Finite) :
∃ (G : X.Modules) (φ : F ⟶ G), IsDepthTwoExtension T φ
Tag 0EI4, a lemma
Tag 0EI4 in the Stacks Project.
AlgebraicGeometry.exists_isNestedImprovement_of_isStabilizedOpenExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/ExistenceDepthOutside.lean, line 81. The attribute's comment: “existence, conditional only on a coherent stabilized open extension of the depth-one quotient along T'; the other hypothesis of exists_isNestedImprovement, namely Tag 0EY0 part (3), is discharged here”.
A coherent module on a Noetherian scheme admits an improvement along a nested pair
T' ⊆ Tof subsets stable under specialization, as soon as the depth-one quotient alongThas a stabilized open extension acrossT'.
public theorem exists_isNestedImprovement_of_isStabilizedOpenExtension
(X : Scheme.{u}) [IsNoetherian X] (T T' : Set X) (hTT' : T' ⊆ T)
(hT : StableUnderSpecialization T) (F : X.Modules) [F.IsCoherent]
(hext : ∃ (G : X.Modules) (ψ : depthOneQuotient X T hT F ⟶ G),
IsStabilizedOpenExtension T' ψ) :
∃ (G : X.Modules) (φ : F ⟶ G), IsNestedImprovement T T' φ
AlgebraicGeometry.nestedImprovement_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 241. The attribute's comment: “uniqueness, unconditionally: no dualizing complex is needed, no condition on immediate specializations is used, and the inclusion T' ⊆ T is not needed either”.
Stacks Project, Tag 0EI4, uniqueness. Two improvements of a coherent module along the same pair of subsets are isomorphic by a unique isomorphism compatible with the two maps.
Each one factors through the depth-one quotient of its source along
Tby a depth-two extension alongT', so the comparison is the one of [Stacks, Tag 0EI3], transported across the epimorphism onto the depth-one quotient.
public theorem nestedImprovement_unique (X : Scheme.{u}) [IsNoetherian X]
(T T' : Set X) (hT : StableUnderSpecialization T)
(F G H : X.Modules) [F.IsCoherent] (φ : F ⟶ G) (ψ : F ⟶ H)
(hφ : IsNestedImprovement T T' φ) (hψ : IsNestedImprovement T T' ψ) :
∃! e : G ≅ H, φ ≫ e.hom = ψ
AlgebraicGeometry.exists_isNestedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 275. The attribute's comment: “existence, conditional on a coherent stabilized open extension of the depth-one quotient along T' and on Tag 0EY0 part (3); as for Tag 0EI3 in this library, those two hypotheses replace the dualizing complex and the condition on immediate specializations, which are therefore not assumed”.
Stacks Project, Tag 0EI4, existence. A coherent module on a Noetherian scheme admits an improvement along a nested pair
T' ⊆ Tof subsets stable under specialization: a map to a coherent module which is an isomorphism on the stalks away fromT, is surjective on the stalks with target of depth at least one at the points ofToutsideT', and has target of depth at least two at the points ofT'.The map is the depth-one quotient of
FalongTfollowed by a depth-two extension of that quotient alongT', which is the source's construction. The hypotheseshdepthOutsideandhextare the two inputs of the source's existence proof which this library does not have; they subsume what the source extracts from the dualizing complex and from the condition on immediate specializations intoT', so neither of those two hypotheses of the source appears here. See the implementation notes of this module.
public theorem exists_isNestedImprovement (X : Scheme.{u}) [IsNoetherian X]
(T T' : Set X) (hTT' : T' ⊆ T) (hT : StableUnderSpecialization T)
(F : X.Modules) [F.IsCoherent]
(hdepthOutside : ∀ (V : X.Opens) (H : X.Modules), H.IsCoherent →
IsIso ((Scheme.Modules.pullbackPushforwardAdjunction V.ι).unit.app H) →
∀ y : X, y ∉ (V : Set X) →
letI : Module (X.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u}) H.val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) H.val y
(2 : ℕ∞) ≤ Module.depth (X.presheaf.stalk y)
(IsLocalRing.maximalIdeal (X.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u}) H.val.presheaf y))
(hext : ∃ (G : X.Modules) (ψ : depthOneQuotient X T hT F ⟶ G),
IsStabilizedOpenExtension T' ψ) :
∃ (G : X.Modules) (φ : F ⟶ G), IsNestedImprovement T T' φ
AlgebraicGeometry.isCoherent_pullback_of_isNestedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 409. The attribute's comment: “coherence of the target of the pullback, in the assertion about the pullback along a Cohen-Macaulay morphism”.
Stacks Project, Tag 0EI4, the pullback clause: coherence of the target. The target of the pullback of an improvement along a morphism with locally Noetherian source is again coherent.
A pullback of a coherent module needs only a locally Noetherian source, so neither flatness nor Cohen-Macaulayness of the morphism is used.
public theorem isCoherent_pullback_of_isNestedImprovement {X Y : Scheme.{u}}
[IsLocallyNoetherian Y] (f : Y ⟶ X) {T T' : Set X} {F G : X.Modules} (φ : F ⟶ G)
(hφ : IsNestedImprovement T T' φ) :
((Scheme.Modules.pullback f).obj G).IsCoherent
AlgebraicGeometry.isIso_stalk_pullback_of_isNestedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 424. The attribute's comment: “condition (1) for the pullback: the isomorphism away from the inverse image of T, in the assertion about the pullback along a Cohen-Macaulay morphism”.
Stacks Project, Tag 0EI4, the pullback clause, condition (1). The pullback of an improvement along any morphism of schemes is an isomorphism on the stalks at every point outside the inverse image of
T.The stalk of a pullback is the base change of the stalk, so a bijective stalk map stays bijective; no hypothesis on the morphism is used.
public theorem isIso_stalk_pullback_of_isNestedImprovement {X Y : Scheme.{u}} (f : Y ⟶ X)
{T T' : Set X} {F G : X.Modules} (φ : F ⟶ G) (hφ : IsNestedImprovement T T' φ)
(y : Y) (hy : y ∉ f.base ⁻¹' T) :
IsIso ((TopCat.Presheaf.stalkFunctor Ab.{u} y).map
((Scheme.Modules.pullback f).map φ).mapPresheaf)
AlgebraicGeometry.one_le_depth_stalk_pullback_of_isNestedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 441. The attribute's comment: “the depth bound of condition (2) for the pullback, in the assertion about the pullback along a Cohen-Macaulay morphism”.
Stacks Project, Tag 0EI4, the pullback clause, the depth bound of condition (2). The target of the pullback of an improvement along a Cohen-Macaulay morphism of Noetherian schemes has stalks of depth at least one at every point of the inverse image of
Tlying outside the inverse image ofT'.Only the flatness half of the Cohen-Macaulay hypothesis is used: the depth of the base change of a stalk along a flat local homomorphism is the depth of the stalk plus the depth of the fibre, so the bound downstairs is inherited.
public theorem one_le_depth_stalk_pullback_of_isNestedImprovement {X Y : Scheme.{u}}
[IsNoetherian X] [IsNoetherian Y] {T T' : Set X} {F G : X.Modules} (φ : F ⟶ G)
(hφ : IsNestedImprovement T T' φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib)
(y : Y) (hy : y ∈ f.base ⁻¹' T) (hy' : y ∉ f.base ⁻¹' T') :
letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
(1 : ℕ∞) ≤ Module.depth (Y.presheaf.stalk y)
(IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y)
AlgebraicGeometry.two_le_depth_stalk_pullback_of_isNestedImprovement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 468. The attribute's comment: “condition (3) for the pullback, in the assertion about the pullback along a Cohen-Macaulay morphism”.
Stacks Project, Tag 0EI4, the pullback clause, condition (3). The target of the pullback of an improvement along a Cohen-Macaulay morphism of Noetherian schemes has stalks of depth at least two at every point of the inverse image of
T'.Only the flatness half of the Cohen-Macaulay hypothesis is used, by the same depth formula along a flat local homomorphism.
public theorem two_le_depth_stalk_pullback_of_isNestedImprovement {X Y : Scheme.{u}}
[IsNoetherian X] [IsNoetherian Y] {T T' : Set X} {F G : X.Modules} (φ : F ⟶ G)
(hφ : IsNestedImprovement T T' φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib)
(y : Y) (hy' : y ∈ f.base ⁻¹' T') :
letI : Module (Y.presheaf.stalk y)
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pullback f).obj G).val y
(2 : ℕ∞) ≤ Module.depth (Y.presheaf.stalk y)
(IsLocalRing.maximalIdeal (Y.presheaf.stalk y))
(TopCat.Presheaf.stalk (C := Ab.{u})
((Scheme.Modules.pullback f).obj G).val.presheaf y)
AlgebraicGeometry.isNestedImprovement_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovement.lean, line 569. The attribute's comment: “the assertion about the pullback along a Cohen-Macaulay morphism: the pullback satisfies conditions (1), (2) and (3) with respect to the inverse images of the two subsets”.
Stacks Project, Tag 0EI4, the assertion about the pullback. The pullback of an improvement along a Cohen-Macaulay morphism of Noetherian schemes is an improvement along the inverse images of the two subsets.
Coherence of the target and condition (1) need no hypothesis on the morphism at all. Of the Cohen-Macaulay hypothesis only the flatness half is used, for the two depth bounds, by the formula for the change in depth along a flat local homomorphism [Stacks, Tag 0338]; the fibre never has to be identified. Surjectivity in condition (2) is epimorphy on a stalk, which is the vanishing of the stalk of the cokernel, and the pullback preserves cokernels and kills the zero module.
public theorem isNestedImprovement_pullback {X Y : Scheme.{u}} [IsNoetherian X] [IsNoetherian Y]
{T T' : Set X} {F G : X.Modules} (φ : F ⟶ G) (hφ : IsNestedImprovement T T' φ) (f : Y ⟶ X)
(hfib : ∀ x : X, IsLocallyNoetherian (f.fiber x)) (hcm : f.IsCohenMacaulay hfib) :
IsNestedImprovement (f.base ⁻¹' T) (f.base ⁻¹' T')
((Scheme.Modules.pullback f).map φ)
AlgebraicGeometry.exists_isNestedImprovement_of_hasDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovementExistence.lean, line 92. The attribute's comment: “existence, at the hypotheses of the source and no others: Noetherian, locally a dualizing complex in the source's sense that every point has an affine neighbourhood carrying one, T' subset T both stable under specialization, immediate specializations into T' starting in T. Tag 0EI3 existence is composed with Tag 0DX3 here”.
Stacks Project, Tag 0EI4, existence, at the hypotheses of the source. Let
Xbe a Noetherian scheme which locally has a dualizing complex and letT' ⊆ T ⊆ Xbe stable under specialization and such that every immediate specialization intoT'starts inT. Then a coherent𝒪_X-moduleFadmits a map to a coherent module which is an isomorphism on the stalks away fromT, is surjective on the stalks with target of depth at least one at the points ofToutsideT', and has target of depth at least two at the points ofT'.The map is the depth-one quotient of
FalongTfollowed by a depth-two extension of that quotient alongT', which is the source's construction: the first step is [Stacks, Tag 0DX3], the second is the existence half of [Stacks, Tag 0EI3] in the formAlgebraicGeometry.exists_isDepthTwoExtension_of_hasDualizingComplex, and the composition isAlgebraicGeometry.isNestedImprovement_depthOneQuotient_comp.The dualizing hypothesis is
AlgebraicGeometry.HasDualizingComplexOnAffineCover, which says every point has an affine open neighbourhood whose ring of sections admits a dualizing complex. That is the source's phrase "locally has a dualizing complex", and it is weaker thanAlgebraicGeometry.LocallyHasDualizingComplex, which asks this of every affine open.
public theorem exists_isNestedImprovement_of_hasDualizingComplex
(X : Scheme.{u}) [IsNoetherian X] (hdual : HasDualizingComplexOnAffineCover X)
(T T' : Set X) (hTT' : T' ⊆ T)
(hT : StableUnderSpecialization T) (hT' : StableUnderSpecialization T')
(himm : ∀ x x' : X, IsImmediateSpecialization x x' → x' ∈ T' → x ∈ T)
(F : X.Modules) [F.IsCoherent] :
∃ (G : X.Modules) (φ : F ⟶ G), IsNestedImprovement T T' φ
AlgebraicGeometry.existsUnique_isNestedImprovement_of_hasDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/ImprovingCoherentModules/NestedImprovementExistence.lean, line 119. The attribute's comment: “the source's unique map, as existence together with uniqueness up to a unique isomorphism under F, at the hypotheses of the source and no others”.
Stacks Project, Tag 0EI4, the source's unique map. Under the hypotheses of
AlgebraicGeometry.exists_isNestedImprovement_of_hasDualizingComplexthere is a mapF ⟶ F''of coherent modules which is an isomorphism on the stalks away fromT, is surjective on the stalks with target of depth at least one at the points ofToutsideT', and has target of depth at least two at the points ofT'; and it is unique: any other such map is carried to it by a unique isomorphism underF.This is the source's sentence "there exists a unique map" in one statement. Existence is
AlgebraicGeometry.exists_isNestedImprovement_of_hasDualizingComplexand uniqueness isAlgebraicGeometry.nestedImprovement_unique, which needs neither the dualizing complex, nor the condition on immediate specializations, norT' ⊆ T.
public theorem existsUnique_isNestedImprovement_of_hasDualizingComplex
(X : Scheme.{u}) [IsNoetherian X] (hdual : HasDualizingComplexOnAffineCover X)
(T T' : Set X) (hTT' : T' ⊆ T)
(hT : StableUnderSpecialization T) (hT' : StableUnderSpecialization T')
(himm : ∀ x x' : X, IsImmediateSpecialization x x' → x' ∈ T' → x ∈ T)
(F : X.Modules) [F.IsCoherent] :
∃ (G : X.Modules) (φ : F ⟶ G), IsNestedImprovement T T' φ ∧
∀ (H : X.Modules) (ψ : F ⟶ H), IsNestedImprovement T T' ψ →
∃! e : G ≅ H, φ ≫ e.hom = ψ
Sources
Section51.16 Hartshorne-Lichtenbaum vanishing#
Section 51.16 of the Stacks Project, Tag 0EB0. 7 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EB1, a lemma
Tag 0EB1 in the Stacks Project.
Stacks.LocalCohomology.cohomologicalDimension_lt_of_le_of_le_jacobson, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/Jacobson.lean, line 42.
Let
Abe a Noetherian ring of dimensiondand letI ≤ I'be ideals ofAwithI'inside the Jacobson radical. If the cohomological dimension ofI'is less thand, then the cohomological dimension ofIis less thandas well.
theorem cohomologicalDimension_lt_of_le_of_le_jacobson
(A : Type u) [CommRing A] [IsNoetherianRing A]
(d : ℕ) (hd : ringKrullDim A = (d : WithBot ℕ∞))
(I I' : Ideal A) (hII' : I ≤ I') (hI' : I' ≤ Ring.jacobson A)
(hcd : cohomologicalDimension A I' (Ideal.fg_of_isNoetherianRing I') < (d : ℤ)) :
cohomologicalDimension A I (Ideal.fg_of_isNoetherianRing I) < (d : ℤ)
Tag 0EB2, a lemma
Tag 0EB2 in the Stacks Project.
Stacks.LocalCohomology.cohomologicalDimension_lt_of_isZero_localCohomologyModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/HartshorneLichtenbaum.lean, line 363.
Stacks Project, Tag 0EB2 (Hartshorne–Lichtenbaum vanishing). Let
Abe a Noetherian ring of dimensiondand letI ⊆ Abe an ideal. IfH^d_{V(I)}(M) = 0for some finiteA-moduleMwhose support contains every irreducible component ofSpec Aof dimensiond, then the cohomological dimension ofIinAis strictly less thand.
theorem cohomologicalDimension_lt_of_isZero_localCohomologyModule
(A : Type u) [CommRing A] [IsNoetherianRing A]
(d : ℕ) (hd : ringKrullDim A = (d : WithBot ℕ∞)) (I : Ideal A)
(M : ModuleCat.{u} A) [Module.Finite A M]
(hM : ∀ p : PrimeSpectrum A, IsMinimalPrime p.asIdeal →
ringKrullDim (A ⧸ p.asIdeal) = (d : WithBot ℕ∞) → p ∈ Module.support A M)
(hvan : IsZero
(localCohomologyModule A I (Ideal.fg_of_isNoetherianRing I) M (d : ℤ))) :
cohomologicalDimension A I (Ideal.fg_of_isNoetherianRing I) < (d : ℤ)
Tag 0EB3, a lemma
Tag 0EB3 in the Stacks Project.
Stacks.LocalCohomology.surjective_smul_top_localCohomologyModule_of_avoidsTopMinimalPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/TopDegreeDivisibility.lean, line 184.
Stacks Project, Tag 0EB3. Let
Abe a Noetherian ring of Krull dimensiond, letI ⊆ Abe a finitely generated ideal, letY = V(I)and letMbe a finiteA-module. An elementf ∈ Alying outside every minimal primepwithdim A/p = dacts surjectively onH^d_Y(M).The source assumes
Alocal. That is not used: the dimension drop forM/fMand the vanishing above the dimension of the support both hold over an arbitrary Noetherian ring, so the hypothesis is dropped.
theorem surjective_smul_top_localCohomologyModule_of_avoidsTopMinimalPrimes
(A : Type u) [CommRing A] [IsNoetherianRing A] (d : ℕ) (hd : ringKrullDim A = d) (f : A)
(hf : ∀ p : PrimeSpectrum A, IsMinimalPrime p.asIdeal →
ringKrullDim (A ⧸ p.asIdeal) = d → f ∉ p.asIdeal)
(I : Ideal A) (hI : I.FG) (M : ModuleCat.{max u v} A) [Module.Finite A M] :
Function.Surjective fun x : localCohomologyModule A I hI M (d : ℤ) => f • x
Tag 0EB4, a lemma
Tag 0EB4 in the Stacks Project.
Stacks.LocalCohomology.cohomologicalDimension_lt_of_isZero_homology_localCohomologyDerived, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/DualizingComplexVanishing.lean, line 367.
Stacks Project, Tag 0EB4. Let
Abe a Noetherian local ring of dimensiondwith a normalized dualizing complexω_A^•, and letI ⊆ Abe an ideal. IfH^0_{V(I)}(ω_A^•) = 0, then the cohomological dimension ofIis strictly less thand.Write
ω_A = H^{-d}(ω_A^•). Choosef ∈ Aoutside every minimal prime of dimensiondwhich annihilatesH^i(ω_A^•)fori > -d; thenfacts as zero on every homology object ofU = τ_{≥ -d + 1}ω_A^•, sof • 𝟙_Uis nilpotent, and therefore a power offannihilatesH^{-1}_{V(I)}(U). The truncation triangleω_A[d] → ω_A^• → Ugives, after applyingRΓ_{V(I)}, the exact sequenceH^{-1}_{V(I)}(U) → H^0_{V(I)}(ω_A[d]) → H^0_{V(I)}(ω_A^•) = 0, so that same power offannihilatesH^d_{V(I)}(ω_A). By Stacks 0EB3 multiplication byfis surjective onH^d_{V(I)}(ω_A), whenceH^d_{V(I)}(ω_A) = 0, andω_Ais supported at everyd-dimensional minimal prime by Stacks 0A7V, so Stacks 0EB2 applies.
theorem cohomologicalDimension_lt_of_isZero_homology_localCohomologyDerived
(A : Type u) [CommRing A] [IsNoetherianRing A] [IsLocalRing A]
(d : ℕ) (hd : ringKrullDim A = (d : WithBot ℕ∞))
(K : DerivedCategory (ModuleCat.{u} A))
(hK : Dualizing.IsNormalizedDualizingComplex.{u, u} K) (I : Ideal A)
(hvan : IsZero ((DerivedCategory.homologyFunctor (ModuleCat.{u} A) 0).obj
((localCohomologyDerived A I (Ideal.fg_of_isNoetherianRing I)).obj K))) :
cohomologicalDimension A I (Ideal.fg_of_isNoetherianRing I) < (d : ℤ)
Tag 0EB5, a lemma
Tag 0EB5 in the Stacks Project.
Ideal.exists_symbolicPower_le_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/HartshorneLichtenbaumVanishing/Basic.lean, line 200.
Stacks Project, Tag 0EB5. Let
pbe a one-dimensional prime ideal in a complete Noetherian local domain. For everyn ≥ 1, some symbolic powerp⁽ᵐ⁾, withm ≥ n, is contained in the ordinary powerpⁿ.
theorem exists_symbolicPower_le_pow [IsNoetherianRing A] [IsLocalRing A] [IsDomain A]
[IsAdicComplete (IsLocalRing.maximalIdeal A) A]
(p : Ideal A) [p.IsPrime] (hp : ringKrullDim (A ⧸ p) = 1)
(n : ℕ) (hn : 1 ≤ n) :
∃ m : ℕ, n ≤ m ∧ Ideal.symbolicPower p m ≤ p ^ n
Tag 0EB6, a proposition
Tag 0EB6 in the Stacks Project.
Stacks.LocalCohomology.cohomologicalDimension_lt_of_minimalPrimes_adicCompletion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/HartshorneLichtenbaumCompletion.lean, line 501.
Hartshorne–Lichtenbaum vanishing. Let
Abe a Noetherian local ring with completionA^∧and letI ⊆ Abe an ideal such thatdim V(I A^∧ + 𝔭) ≥ 1for every minimal prime𝔭 ⊆ A^∧of dimensiondim(A). Then the cohomological dimension ofIinAis strictly less thandim(A).
theorem cohomologicalDimension_lt_of_minimalPrimes_adicCompletion
(A : Type u) [CommRing A] [IsNoetherianRing A] [IsLocalRing A]
(d : ℕ) (hd : ringKrullDim A = (d : WithBot ℕ∞)) (I : Ideal A)
(h : ∀ q : PrimeSpectrum (AdicCompletion (IsLocalRing.maximalIdeal A) A),
IsMinimalPrime q.asIdeal →
ringKrullDim ((AdicCompletion (IsLocalRing.maximalIdeal A) A) ⧸ q.asIdeal) =
(d : WithBot ℕ∞) →
(1 : WithBot ℕ∞) ≤
ringKrullDim ((AdicCompletion (IsLocalRing.maximalIdeal A) A) ⧸
(I.map (algebraMap A (AdicCompletion (IsLocalRing.maximalIdeal A) A)) +
q.asIdeal))) :
cohomologicalDimension A I (Ideal.fg_of_isNoetherianRing I) < (d : ℤ)
Tag 0EB7, a lemma
Tag 0EB7 in the Stacks Project.
Stacks.LocalCohomology.cohomologicalDimension_lt_of_isExcellent_of_isNormalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/HartshorneLichtenbaumExcellent.lean, line 123. The attribute's comment: “cd(A, I) < dim(A)”.
[Stacks Project, Tag 0EB7]. Let
Abe an excellent normal Noetherian local ring of dimensiondand letI ⊆ Abe an ideal withdim V(I) ≥ 1. Then the cohomological dimension ofIinAis strictly less thand.
theorem cohomologicalDimension_lt_of_isExcellent_of_isNormalRing
(A : Type u) [CommRing A] [IsNoetherianRing A] [IsLocalRing A]
(hA : IsExcellent A) (hnormal : IsNormalRing A)
(d : ℕ) (hd : ringKrullDim A = (d : WithBot ℕ∞)) (I : Ideal A)
(hI : (1 : WithBot ℕ∞) ≤ ringKrullDim (A ⧸ I)) :
cohomologicalDimension A I (Ideal.fg_of_isNoetherianRing I) < (d : ℤ)
Stacks.LocalCohomology.isAffineOpen_complZeroLocusOpen_of_isExcellent_of_isNormalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/CohomologicalDimension/HartshorneLichtenbaumExcellent.lean, line 149. The attribute's comment: “Spec(A) ∖ V(I) is affine when dim(A) = 2”.
[Stacks Project, Tag 0EB7]. For an excellent normal Noetherian local ring
Aof dimension two and an idealI ⊆ Awithdim V(I) ≥ 1, the openSpec A ∖ V(I)is affine.The cohomological dimension bound gives
cd(A, I) ≤ 1, hence the vanishing of the cohomology of every quasi-coherent module on the complement in degrees≥ 1by Stacks 0DX7; the complement is quasi-compact, so Serre's criterion applies. This is the route of Stacks 0DXD.
theorem isAffineOpen_complZeroLocusOpen_of_isExcellent_of_isNormalRing
(A : Type u) [CommRing A] [IsNoetherianRing A] [IsLocalRing A]
(hA : IsExcellent A) (hnormal : IsNormalRing A)
(hd : ringKrullDim A = (2 : WithBot ℕ∞)) (I : Ideal A)
(hI : (1 : WithBot ℕ∞) ≤ ringKrullDim (A ⧸ I)) :
IsAffineOpen (complZeroLocusOpen A I)
Sources
Section51.17 Frobenius action#
Section 51.17 of the Stacks Project, Tag 0EBU. 6 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EBV, a lemma
Tag 0EBV in the Stacks Project.
free_of_frobenius_baseChange_equiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/FrobeniusBaseChange.lean, line 89.
A finite Frobenius-periodic module over a Noetherian local ring is free.
theorem free_of_frobenius_baseChange_equiv
{A : Type u} {M : Type v} [CommRing A] [IsLocalRing A] [IsNoetherianRing A]
[AddCommGroup M] [Module A M] [Module.Finite A M]
(p : ℕ) [Fact p.Prime] [CharP A p]
(h : Nonempty (frobeniusBaseChange A p M ≃ₗ[A] M)) :
Module.Free A M
Tag 0EBW, a lemma
Tag 0EBW in the Stacks Project.
isIdealIndependent_snoc_left_of_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/IdealIndependent.lean, line 51.
If an ideal-independent finite family ends in
x * y, replacing its last member byxgives another ideal-independent family.
theorem isIdealIndependent_snoc_left_of_mul {A : Type*} [CommRing A] {n : ℕ}
(f : Fin n → A) (x y : A)
(h : IsIdealIndependent (Fin.snoc f (x * y))) :
IsIdealIndependent (Fin.snoc f x)
Tag 0EBX, a lemma
Tag 0EBX in the Stacks Project.
length_quotient_eq_add_of_isIndependent_mul, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/LengthQuotient.lean, line 91.
Stacks Project, Tag 0EBX. If appending
f * gto a list gives an independent list, then the length of the quotient by that list is the sum of the lengths of the quotients obtained by appendingfandgseparately.
lemma length_quotient_eq_add_of_isIndependent_mul (init : List A) (f g : A)
(h : IsIdealIndependent (fun i : Fin (init ++ [f * g]).length ↦
(init ++ [f * g])[i])) :
Module.length A (A ⧸ Ideal.ofList (init ++ [f * g])) =
Module.length A (A ⧸ Ideal.ofList (init ++ [f])) +
Module.length A (A ⧸ Ideal.ofList (init ++ [g]))
Tag 0EBY, a lemma
Tag 0EBY in the Stacks Project.
length_quotient_span_powers_eq_prod, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/LengthQuotientPowers.lean, line 220.
Stacks Project, Tag 0EBY. If
xgenerates the maximal ideal of a local ring and the positive powersx i ^ e iare independent, then the quotient by those powers has length equal to the product of the exponents.
lemma length_quotient_span_powers_eq_prod {A : Type*} [CommRing A] [IsLocalRing A]
{r : ℕ} (x : Fin r → A) (e : Fin r → ℕ)
(hx : Ideal.span (Set.range x) = IsLocalRing.maximalIdeal A)
(he : ∀ i, 0 < e i)
(hind : ∀ (a : Fin r → A), (∑ i, a i * x i ^ e i) = 0 →
∀ i, a i ∈ Ideal.span (Set.range fun j ↦ x j ^ e j)) :
Module.length A (A ⧸ Ideal.span (Set.range fun i ↦ x i ^ e i)) =
((∏ i, e i : ℕ) : ℕ∞)
Tag 0EBZ, a lemma
Tag 0EBZ in the Stacks Project.
isIdealIndependent_map_of_flat, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/IdealIndependentFlat.lean, line 51.
The image of an ideal-independent family under a flat ring map is ideal-independent.
lemma isIdealIndependent_map_of_flat
{A : Type u} {B : Type v} [CommRing A] [CommRing B]
{ι : Type w} (φ : A →+* B) (hφ : RingHom.Flat φ)
{f : ι → A} (hf : IsIdealIndependent f) :
IsIdealIndependent (fun i ↦ φ (f i))
Tag 0EC0, a lemma
Tag 0EC0 in the Stacks Project.
isRegularRing_iff_frobeniusOfPrime_flat, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/FrobeniusAction/Kunz.lean, line 743.
Kunz's theorem. If a prime number vanishes in a Noetherian ring, the ring is regular if and only if its Frobenius endomorphism is flat.
lemma isRegularRing_iff_frobeniusOfPrime_flat {A : Type*} [CommRing A] [IsNoetherianRing A]
(p : ℕ) (hp : p.Prime) (hchar : (p : A) = 0) :
IsRegularRing A ↔ RingHom.Flat (frobeniusOfPrime p hp hchar)
Sources
Section51.18 Structure of certain modules#
Section 51.18 of the Stacks Project, Tag 0EC1. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EC2, a lemma
Tag 0EC2 in the Stacks Project.
MvPowerSeries.exists_linearEquiv_directSum_injectiveHull_of_leibniz, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/MvPowerSeries/LeibnizTorsionModule.lean, line 703.
A maximal-ideal-power-torsion module over a characteristic-zero formal power series ring, equipped with additive operators satisfying the partial-derivative Leibniz rules, is a direct sum of copies of an injective hull of the residue field.
theorem exists_linearEquiv_directSum_injectiveHull_of_leibniz
(k : Type u) [Field k] [CharZero k]
(d : ℕ) (_hd : 0 < d)
(M : Type v) [AddCommGroup M] [Module (MvPowerSeries (Fin d) k) M]
(E : Type u) [AddCommGroup E] [Module (MvPowerSeries (Fin d) k) E]
(i : (ModuleCat.restrictScalars
(MvPowerSeries.constantCoeff : MvPowerSeries (Fin d) k →+* k)).obj
(ModuleCat.of k k) ⟶ ModuleCat.of (MvPowerSeries (Fin d) k) E)
[Mono i]
(_hi : Module.IsInjectiveHull i)
(_hM : IsIPowerTorsion (MvPowerSeries (Fin d) k) M
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin d) k)))
(D : Fin d → M →+ M)
(_hD : ∀ (j : Fin d) (f : MvPowerSeries (Fin d) k) (z : M),
D j (f • z) = MvPowerSeries.pderiv (R := k) j f • z + f • D j z) :
∃ J : Type v, Nonempty (M ≃ₗ[MvPowerSeries (Fin d) k] ⨁ _ : J, E)
Tag 0EC3, a lemma
Tag 0EC3 in the Stacks Project.
Dualizing.isIPowerTorsion_frobeniusStable_exists_equiv_directSum_injectiveHull, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Dualizing/FrobeniusStableTorsion.lean, line 620.
Stacks Project, Tag 0EC3. A maximal-ideal-power-torsion module over a regular local ring of prime characteristic which is invariant under extension of scalars by Frobenius is a direct sum of copies of the injective hull of the residue field.
public theorem isIPowerTorsion_frobeniusStable_exists_equiv_directSum_injectiveHull
(p : ℕ) (hp : p.Prime)
(A : Type u) [CommRing A] [IsRegularLocalRing A] (hchar : (p : A) = 0)
(M : Type (max u v)) [AddCommGroup M] [Module A M]
(hM : IsIPowerTorsion A M (IsLocalRing.maximalIdeal A))
(hF : (ModuleCat.extendScalars (frobeniusOfPrime p hp hchar)).obj
(ModuleCat.of A M) ≅ ModuleCat.of A M)
(E : Type u) [AddCommGroup E] [Module A E]
(i : ModuleCat.of A (IsLocalRing.ResidueField A) ⟶ ModuleCat.of A E) [Mono i]
(hi : Module.IsInjectiveHull i) :
∃ J : Type (max u v), Nonempty (M ≃ₗ[A] ⨁ _ : J, E)
Sources
Section51.19 Additional structure on local cohomology#
Section 51.19 of the Stacks Project, Tag 0EC4. 4 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EC5, a lemma
Tag 0EC5 in the Stacks Project.
Stacks.LocalCohomology.derivationOperator, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/DerivationAction.lean, line 408.
Stacks Project, Tag 0EC5. A derivation
θofAinduces a canonical additive operator on each local cohomology moduleH^i_{V(I)}(A), satisfying the Leibniz ruleD (a x) = θ(a) x + a D(x). It is characterized on Čech cohomology classes by the unique extensions ofθto the localizations appearing in the Čech complex, for every finite generating family ofI;Stacks.LocalCohomology.DerivationOperator.extis the uniqueness this characterization provides.
def derivationOperator (A : Type u) [CommRing A] (I : Ideal A) (hI : I.FG)
(θ : Derivation ℤ A A) (i : ℕ) : DerivationOperator A I hI i θ
Tag 0EC6, a lemma
Tag 0EC6 in the Stacks Project.
Stacks.LocalCohomology.localCohomologyOfRing_frobeniusIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/LocalCohomology/Frobenius.lean, line 134.
Stacks Project, Tag 0EC6. For a commutative ring
Ain which a primepvanishes and a finitely generated idealI, derived extension of scalars along the Frobenius endomorphism fixes the local cohomologyRΓ_{V(I)}(A)of the regular module up to isomorphism.
def localCohomologyOfRing_frobeniusIso (A : Type u) [CommRing A] (p : ℕ) (hp : p.Prime)
(hp0 : (p : A) = 0) (I : Ideal A) (hI : I.FG) :
(derivedExtensionScalarsGeneral.{u, u, u} (frobeniusOfNatCastEqZero A p hp hp0)).functor.obj
((localCohomologyDerived A I hI).obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj (ModuleCat.of A A))) ≅
(localCohomologyDerived A I hI).obj
((DerivedCategory.singleFunctor (ModuleCat.{u} A) 0).obj (ModuleCat.of A A))
Tag 0EC7, a lemma
Tag 0EC7 in the Stacks Project.
Stacks.EtaleDerivation.subsingleton_sheafDerivation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/StructureSheafDerivation.lean, line 886. The attribute's comment: “uniqueness”.
The affine-normalized, restriction-compatible extension of a base derivation to the structure sheaf is unique.
theorem subsingleton_sheafDerivation {A : Type u} [CommRing A] {V : Scheme.{u}}
(f : V ⟶ Spec (.of A)) (θ : Derivation ℤ A A) :
Subsingleton (SheafDerivation f θ)
Stacks.EtaleDerivation.nonempty_twistedDerivation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/StructureSheafDerivation.lean, line 911. The attribute's comment: “existence and Leibniz rule”.
An absolute derivation of the base ring extends to an affine-normalized derivation of the structure sheaf of a quasi-compact, quasi-separated étale scheme. In every degree its induced additive operator on the canonical cohomology module satisfies the twisted Leibniz rule.
theorem nonempty_twistedDerivation {A : Type u} [CommRing A] {V : Scheme.{u}}
(f : V ⟶ Spec (.of A)) [QuasiCompact f] [QuasiSeparated f] [Etale f]
(θ : Derivation ℤ A A) (i : ℕ) : Nonempty (TwistedDerivation f i θ)
Tag 0EC9, a lemma
Tag 0EC9 in the Stacks Project.
Stacks.EtaleFrobenius.nonempty_extendScalarsDerived_derivedGlobalSections_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FrobeniusBaseChange.lean, line 230. The attribute's comment: “cohomology and base change is the explicit hypothesis Stacks.EtaleFrobenius.DerivedGlobalSectionsBaseChange A, namely Stacks 08IB for the structure sheaf over an affine base: for every ring map out of A and every Cartesian square over its spectrum whose left-hand morphism is flat, quasi-compact and quasi-separated, derived extension of scalars carries the derived global sections of the source to those of the base change. The library carries the base change morphism of Stacks 08HY but not its invertibility in Tor-independent generality, whose globalization step is Stacks 0DJ9. Everything else is proved: the Cartesian square supplied to that hypothesis is the absolute Frobenius square of V, Cartesian by Stacks 0EBS”.
Let
pbe a prime number, letAbe a commutative ring in whichpvanishes and letF : A → A,a ↦ aᵖ, be its Frobenius endomorphism. Assuming cohomology and base changeStacks.EtaleFrobenius.DerivedGlobalSectionsBaseChange A, for a quasi-compact, quasi-separated, étale schemeVoverSpec Athere is an isomorphism
RΓ(V, 𝒪_V) ⊗^L_{A, F} A ≅ RΓ(V, 𝒪_V)in
D(A).
theorem nonempty_extendScalarsDerived_derivedGlobalSections_iso
[QuasiCompact f] [QuasiSeparated f] [Etale f]
(hbc : DerivedGlobalSectionsBaseChange A) :
Nonempty ((StacksDraft.PseudoCoherence.extendScalarsDerived
(Stacks.LocalCohomology.frobeniusOfNatCastEqZero A p Fact.out hp0)).obj
((derivedGlobalSectionsOver f).obj (derivedStructureSheaf V)) ≅
(derivedGlobalSectionsOver f).obj (derivedStructureSheaf V))
Stacks.EtaleFrobenius.nonempty_extendScalarsDerived_derivedGlobalSections_iso_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FrobeniusCohomologyBaseChange.lean, line 79.
Stacks Project, Tag 0EC9. Let
pbe a prime number, letAbe a commutative ring in whichpvanishes and letF : A → A,a ↦ aᵖ, be its Frobenius endomorphism. IfV ⟶ Spec Ais quasi-compact, quasi-separated and étale, then there exists an isomorphism
RΓ(V, 𝒪_V) ⊗^L_{A, F} A ≅ RΓ(V, 𝒪_V)in
D(A).The relative Frobenius of
Vis an isomorphism ([Stacks, Tag 0EBS]), so the absolute Frobenius square ofVis cartesian, and cohomology and base change for the flat morphismV ⟶ Spec A(derivedGlobalSectionsBaseChange, [Stacks, Tag 08IB]) applies to it.
theorem nonempty_extendScalarsDerived_derivedGlobalSections_iso_of_etale
[QuasiCompact f] [QuasiSeparated f] [Etale f] :
Nonempty ((StacksDraft.PseudoCoherence.extendScalarsDerived
(Stacks.LocalCohomology.frobeniusOfNatCastEqZero A p Fact.out hp0)).obj
((derivedGlobalSectionsOver f).obj (derivedStructureSheaf V)) ≅
(derivedGlobalSectionsOver f).obj (derivedStructureSheaf V))
Sources
Section51.20 A bit of uniformity, I#
Section 51.20 of the Stacks Project, Tag 0G9S. 4 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G9T, a lemma
Tag 0G9T in the Stacks Project.
factor_through_free_of_tor_one_map_eq_zero, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/FactorThroughFree.lean, line 300.
Stacks Project, Tag 0G9T. A map from a finitely presented module which induces the zero map on
Tor₁with every module factors through a free module.
lemma factor_through_free_of_tor_one_map_eq_zero
{R : Type u} [CommRing R] {M M' : ModuleCat.{u} R} (f : M ⟶ M')
[Module.FinitePresentation R M]
(hf : ∀ N : ModuleCat.{u} R,
((Tor' (ModuleCat.{u} R) 1).map f).app N = 0) :
FactorsThroughFree f.hom
Tag 0G9U, an equation
Tag 0G9U in the Stacks Project.
CategoryTheory.exists_shortExact_pushout, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/Support/ShortExactPushout.lean, line 38.
The pushout of the left-hand map in a short exact sequence is again a short exact sequence, with the same right-hand object.
theorem exists_shortExact_pushout
{C : Type u} [Category C] [Abelian C]
{K P M K' : C} {i : K ⟶ P} {p : P ⟶ M}
(hip : i ≫ p = 0) (h : (ShortComplex.mk i p hip).ShortExact) (a : K ⟶ K') :
∃ (E : C) (j : P ⟶ E) (i' : K' ⟶ E) (q : E ⟶ M)
(hi'q : i' ≫ q = 0),
IsPushout i a j i' ∧ j ≫ q = p ∧ (ShortComplex.mk i' q hi'q).ShortExact
Tag 0G9V, a lemma
Tag 0G9V in the Stacks Project.
tfae_lift_ext_conditions, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/VanishingEquivalences.lean, line 415. The attribute's comment: “equivalence of conditions (1)--(5)”.
Conditions (1)--(5) are equivalent.
lemma tfae_lift_ext_conditions :
List.TFAE [
HasLiftVanishingAbove p p' alpha e,
HasLiftVanishingAtSucc p p' alpha e,
ExtMapVanishesAbove alpha e,
ExtMapVanishesAtSucc alpha e,
CanonicalExtClassPullbackVanishes p p' alpha e]
canonicalExtClassPullbackVanishes_imp_torMapVanishesAbove, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/VanishingEquivalences.lean, line 508. The attribute's comment: “condition (5) implies condition (6)”.
Condition (5) implies condition (6).
lemma canonicalExtClassPullbackVanishes_imp_torMapVanishesAbove :
CanonicalExtClassPullbackVanishes p p' alpha e → TorMapVanishesAbove alpha e
tfae_tor_conditions, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/VanishingEquivalences.lean, line 515. The attribute's comment: “equivalence of conditions (6) and (7)”.
Conditions (6) and (7) are equivalent.
lemma tfae_tor_conditions :
List.TFAE [TorMapVanishesAbove alpha e, TorMapVanishesAtSucc alpha e]
tfae_of_isPseudoCoherentFrom, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/VanishingEquivalences.lean, line 685. The attribute's comment: “all conditions under pseudo-coherence”.
If
Mis(-e-1)-pseudo-coherent, all seven conditions are equivalent.
lemma tfae_of_isPseudoCoherentFrom
(hM : StacksDraft.PseudoCoherence.IsPseudoCoherentFrom
((DerivedCategory.singleFunctor (ModuleCat.{u} R) 0).obj M) (-(e : ℤ) - 1)) :
List.TFAE [
HasLiftVanishingAbove p p' alpha e,
HasLiftVanishingAtSucc p p' alpha e,
ExtMapVanishesAbove alpha e,
ExtMapVanishesAtSucc alpha e,
CanonicalExtClassPullbackVanishes p p' alpha e,
TorMapVanishesAbove alpha e,
TorMapVanishesAtSucc alpha e]
tfae_of_isNoetherianRing_of_finite, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/VanishingEquivalences.lean, line 709. The attribute's comment: “Noetherian finite-module case”.
Over a Noetherian ring, all seven conditions are equivalent when
Mis finite.
lemma tfae_of_isNoetherianRing_of_finite [IsNoetherianRing R] [Module.Finite R M] :
List.TFAE [
HasLiftVanishingAbove p p' alpha e,
HasLiftVanishingAtSucc p p' alpha e,
ExtMapVanishesAbove alpha e,
ExtMapVanishesAtSucc alpha e,
CanonicalExtClassPullbackVanishes p p' alpha e,
TorMapVanishesAbove alpha e,
TorMapVanishesAtSucc alpha e]
Tag 0EH1, a lemma
Tag 0EH1 in the Stacks Project.
Stacks.LocalCohomology.exists_quotientPower_extMapVanishesAbove, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityI/QuotientPowerVanishing.lean, line 212.
[Stacks, Tag 0EH1]. Let
Ibe an ideal of a Noetherian ringAand letebe the cohomological dimension ofIinA. For everynthere is anm > nfor which the quotient mapA/I^m → A/I^nsatisfies the equivalent conditions of [Stacks, Tag 0G9V] in degreee:Ext^i(A/I^n, N) → Ext^i(A/I^m, N)is zero for everyA-moduleNand everyi > e.
theorem exists_quotientPower_extMapVanishesAbove
(A : Type u) [CommRing A] [IsNoetherianRing A] (I : Ideal A) (n : ℕ) :
∃ m : ℕ, ∃ hnm : n < m,
ExtMapVanishesAbove
(ModuleCat.ofHom (Ideal.Quotient.factorₐ A
(Ideal.pow_le_pow_right (I := I) (Nat.le_of_lt hnm))).toLinearMap)
(cohomologicalDimension A I (IsNoetherian.noetherian I)).toNat
Sources
Section51.21 A bit of uniformity, II#
Section 51.21 of the Stacks Project, Tag 0G9W. 9 tags here are carried by 31 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G9X, a lemma
Tag 0G9X in the Stacks Project.
exists_uniform_tor_transition_eq_zero_of_pow_smul_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformTorTransition.lean, line 816.
Stacks Project, Tag 0G9X. For a fixed power
I ^ mand a positive Tor degree, there is a uniform shift such that the transition fromA / I ^ ntoA / I ^ (n - c)induces the zero map on Tor against every module annihilated byI ^ m.
theorem exists_uniform_tor_transition_eq_zero_of_pow_smul_eq_bot
{A : Type u} [CommRing A] [IsNoetherianRing A] (I : Ideal A) (m i : ℕ) (hi : 0 < i) :
∃ c : ℕ, ∀ (M : ModuleCat.{u} A),
I ^ m • (⊤ : Submodule A M) = ⊥ → ∀ n : ℕ, c ≤ n →
((Tor (ModuleCat.{u} A) i).obj M).map
(ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))) = 0
Tag 0G9Y, a lemma
Tag 0G9Y in the Stacks Project.
Stacks.Blowup.exists_pow_le_annihilator_tor_affineBlowupAlgebra, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Blowup/TorAnnihilation.lean, line 485.
Uniform annihilation of the high
Tormodules of an affine blowup algebra. LetI = (a₁, …, a_t)be an ideal of a Noetherian ringA, leta = a₁, and letB = A[I/a]be the affine blowup algebra. There is ac > 0such thatIᶜannihilatesTorᴬᵢ(B, M)for everyA-moduleMand everyi ≥ t.
public theorem exists_pow_le_annihilator_tor_affineBlowupAlgebra
{A : Type u} [CommRing A] [IsNoetherianRing A] {n : ℕ} (g : Fin (n + 1) → A)
(I : Ideal A) (hI : I = Ideal.span (Set.range g))
(S : Type u) [CommRing S] [Algebra A S] [IsLocalization.Away (g 0) S] :
∃ c : ℕ, 0 < c ∧ ∀ (M : ModuleCat.{u} A) (i : ℕ), n + 1 ≤ i →
I ^ c ≤ Module.annihilator A
(((Tor (ModuleCat.{u} A) i).obj
(ModuleCat.of A ↥(affineBlowupAlgebra I (g 0) S))).obj M)
Tag 0G9Z, a lemma
Tag 0G9Z in the Stacks Project.
Stacks.Blowup.exists_threshold_nonempty_derivedGlobalSectionsTwistedPullback_iso_derivedTensorIdealPow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Blowup/TwistedSectionsIdealPow.lean, line 168.
Cohomology of the twisted derived pullback along the affine blowup, unconditionally. Let
Abe a Noetherian ring,I ⊆ Aan ideal andp : X ⟶ Spec Athe blowup ofSpec AinI. There is aq₀such that for everyn ≥ q₀and anyA-moduleM,
RΓ(X, Lp^*(M̃) ⊗^𝐋_{𝒪_X} 𝒪_X(n)) ≅ M ⊗^𝐋_A IⁿinD(A).
theorem exists_threshold_nonempty_derivedGlobalSectionsTwistedPullback_iso_derivedTensorIdealPow
[IsNoetherianRing A] :
∃ q₀ : ℕ, ∀ n : ℕ, q₀ ≤ n →
∀ M : ModuleCat.{u} (CommRingCat.of A),
Nonempty ((AlgebraicGeometry.derivedGlobalSectionsOver (toSpec I)).obj
(((Stacks.Cohomology.TorAmplitude.derTensor (blowUpRingedSpace I)).tensor.obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback
(toSpecRingedSpace I)).obj (DerivedCategory.Q.obj (tildeComplex
((CochainComplex.singleFunctor (ModuleCat.{u} (CommRingCat.of A)) 0).obj
M))))).obj
(DerivedCategory.Q.obj
((CochainComplex.singleFunctor (BlowUpModules I) 0).obj
(blowUpTwist I (n : ℤ))))) ≅
((CochainComplex.DerivedTensor.canonicalDerivedTensorProduct A).tensor.obj
(DerivedCategory.Q.obj
((CochainComplex.singleFunctor (ModuleCat.{u} A) 0).obj M))).obj
(DerivedCategory.Q.obj
((CochainComplex.singleFunctor (ModuleCat.{u} A) 0).obj
(ModuleCat.of A (I ^ n : Ideal A)))))
Tag 0GA0, a lemma
Tag 0GA0 in the Stacks Project.
Stacks.Blowup.exists_pow_le_annihilator_homology_derivedPullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Blowup/DerivedPullbackAnnihilation.lean, line 505.
Stacks Project, Tag 0GA0. Let
Abe a Noetherian ring andI = (a₀, …, a_n) ⊆ Aan ideal witht = n + 1generators, and letp : X ⟶ Spec Abe the blowup ofSpec AinI, that isX = Proj(⨁_{m ≥ 0} Iᵐ). There is an integerc > 0, depending only onAandI, such that for everyA-moduleMthe cohomology sheavesH^j(Lp^*M̃)are annihilated byIᶜfor allj ≤ -t.Annihilation is expressed on sections: an element
r ∈ Iᶜ, viewed as a global section ofXthroughpand restricted to an openU, kills every section ofH^j(Lp^*M̃)overU.
theorem exists_pow_le_annihilator_homology_derivedPullback {n : ℕ} (g : Fin (n + 1) → A)
(I : Ideal A) (hI : I = Ideal.span (Set.range g)) :
∃ c : ℕ, 0 < c ∧ ∀ (M : ModuleCat.{u} (CommRingCat.of A)) (j : ℤ), j ≤ -((n : ℤ) + 1) →
∀ (U : (blowUpSpec I).Opens) (r : A), r ∈ I ^ c →
∀ s : Γ((DerivedCategory.homologyFunctor (blowUpSpec I).Modules j).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback
(toSpecRingedSpace I)).obj (DerivedCategory.Q.obj (tildeComplex
((CochainComplex.singleFunctor (ModuleCat.{u} (CommRingCat.of A)) 0).obj M)))), U),
(blowUpSpec I).presheaf.map (homOfLE (show U ≤ ⊤ from le_top)).op
((toSpec I).appTop ((Scheme.ΓSpecIso (CommRingCat.of A)).inv r)) • s = 0
Tag 0GA1, a lemma
Tag 0GA1 in the Stacks Project.
Stacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_pow_blowup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/TorAnnihilationBlowup.lean, line 211.
Stacks Project, Tag 0GA1. Let
Abe a Noetherian ring and letI = (g 0, …, g (t-1))be an ideal ofAgenerated by at mosttelements, as in the Situation of [Stacks, Tag 0G9W]. There is an integerm, depending only onAandI, such that for everyA-moduleMthe modulesTor_i^A(M, A/I^q)are annihilated byI^mfor alli > tand allq ≥ 0.Nothing is assumed. The spectral sequence the source's proof runs on is produced by
Stacks.Blowup.exists_hypercohomologySpectralSequence_abutsTo_tor_idealPowon the blowup ofSpec AinI, and the step from it to the filtration ofTor_i^A(M, Iᑫ)thatStacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_powasks for isStacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_pow_of_abutsTo_restrictScalars.
theorem exists_pow_le_annihilator_tor_quotient_pow_blowup [IsNoetherianRing A] {I : Ideal A}
{t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ m : ℕ, ∀ (M : ModuleCat.{u} A) (i q : ℕ), t < i →
I ^ m ≤ Module.annihilator A
(((Tor' (ModuleCat.{u} A) i).obj M).obj (ModuleCat.of A (A ⧸ I ^ q)))
Stacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformTorAnnihilation.lean, line 208.
Stacks Project, Tag 0GA1. Let
Abe a Noetherian ring and letI = (g 0, …, g (t-1))be an ideal ofAgenerated by at mosttelements, as in the Situation of [Stacks, Tag 0G9W]. There is an integerm, depending only onAandI, such that for everyA-moduleMthe modulesTor_i^A(M, A/I^q)are annihilated byI^mfor alli > tand allq ≥ 0.The hypothesis
hfiltis the geometric input of the source's proof, which is not formalized here: for alli ≥ tand allq ≥ q₀, the moduleTor_i^A(M, I^q)carries a filtration⊤ = F 0, …, F d = ⊥indsteps whose graded pieces are annihilated byIᶜ. The source produces it from the hypercohomology spectral sequence [Stacks, Tag 0G9Q] ofLp^*M̃(q)on the blowupp : X ⟶ Spec AofSpec AinI, withq₀ = q(A, I), withd = tby the vanishing [Stacks, Tag 071L] for the cover ofXby thetaffine charts, and withc = c(A, I)the exponent of [Stacks, Tag 0GA0]; the identification of the abutment withTor_i^A(M, I^q)is [Stacks, Tag 0G9Z].Given
hfilt, the exponentm = max (d * c) q₀ + 1works: above the threshold the filtration givesI^{dc} • Tor_i^A(M, I^q) = 0fori ≥ t, which the sequence0 → I^q → A → A/I^q → 0shifts toA/I^qfori > t, and for the remainingq ≤ malreadyI^m ≤ I^qannihilatesA/I^qand henceTor_i^A(M, A/I^q).
theorem exists_pow_le_annihilator_tor_quotient_pow [IsNoetherianRing A] {I : Ideal A} {t : ℕ}
(g : Fin t → A) (hg : I = Ideal.span (Set.range g)) (q₀ d c : ℕ)
(hfilt : ∀ (M : ModuleCat.{u} A) (i q : ℕ), t ≤ i → q₀ ≤ q →
∃ F : ℕ → Submodule A
(((Tor' (ModuleCat.{u} A) i).obj M).obj (ModuleCat.of A ↥(I ^ q))),
F 0 = ⊤ ∧ F d = ⊥ ∧ ∀ k, I ^ c • F k ≤ F (k + 1)) :
∃ m : ℕ, ∀ (M : ModuleCat.{u} A) (i q : ℕ), t < i →
I ^ m ≤ Module.annihilator A
(((Tor' (ModuleCat.{u} A) i).obj M).obj (ModuleCat.of A (A ⧸ I ^ q)))
Stacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_pow_of_card_le_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformTorAnnihilation.lean, line 295. The attribute's comment: “for an ideal generated by at most one element”.
Stacks Project, Tag 0GA1 for an ideal generated by at most one element. Let
Abe a Noetherian ring and letI = (g 0, …, g (t-1))be an ideal generated by at mostt ≤ 1elements. There is an integerm, depending only onAandI, such that for everyA-moduleMthe modulesTor_i^A(M, A/I^q)are annihilated byI^mfor alli > tand allq ≥ 0. Nothing is assumed: the geometric input ofexists_pow_le_annihilator_tor_quotient_powis not needed here.For
t = 1andI = (a)takem = q₀, an index at which the ascending chain of annihilatorsann(a) ⊆ ann(a²) ⊆ ⋯stabilizes. Forq ≤ q₀alreadyI^{q₀} ≤ I^qannihilatesA/I^q. Forq > q₀the idealI^q = (a^q)is the cyclic moduleA ⧸ ann(a^q)withann(a^q) = ann(a^{q₀})annihilated bya^{q₀}, so one dimension shift givesa^{q₀} · Tor_i^A(M, I^q) = 0fori ≥ 1and a second, along0 → I^q → A → A/I^q → 0, gives the claim fori > 1. The caset = 0, whereI = 0, is the degenerate case ofexists_pow_le_annihilator_tor_quotient_pow.
theorem exists_pow_le_annihilator_tor_quotient_pow_of_card_le_one [IsNoetherianRing A]
{I : Ideal A} {t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) (ht : t ≤ 1) :
∃ m : ℕ, ∀ (M : ModuleCat.{u} A) (i q : ℕ), t < i →
I ^ m ≤ Module.annihilator A
(((Tor' (ModuleCat.{u} A) i).obj M).obj (ModuleCat.of A (A ⧸ I ^ q)))
Tag 0GA2, a lemma
Tag 0GA2 in the Stacks Project.
exists_uniform_tor_transition_eq_zero_of_pow_le_annihilator_tor', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformTorTransition.lean, line 1227.
Stacks Project, Tag 0GA2. Let
I = (g 0, …, g (t - 1))be an ideal of a Noetherian ringAgenerated by at mosttelements. There areNandc, depending only onA,Iandt, such that the surjectionA / I ^ n ↠ A / I ^ (n - c)induces the zero mapTor_{t+1}^A(M, A/I^n) → Tor_{t+1}^A(M, A/I^{n-c})for everyA-moduleMand everyn ≥ N. ThatNandcare produced before the module is seen is the whole content of the source's lemma.The power
I ^ c₁annihilatingTor_i^A(M, A/I^q)for allM, alli > tand allq, which the source's induction starts from, is [Stacks, Tag 0GA1],Stacks.LocalCohomology.UniformityII.exists_pow_le_annihilator_tor_quotient_pow_blowup.
theorem exists_uniform_tor_transition_eq_zero_of_pow_le_annihilator_tor'
{A : Type u} [CommRing A] [IsNoetherianRing A] {I : Ideal A} {t : ℕ}
(g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ N c : ℕ, ∀ (M : ModuleCat.{u} A) (n : ℕ), N ≤ n →
((Tor (ModuleCat.{u} A) (t + 1)).obj M).map
(ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))) = 0
Tag 0GA3, a proposition
Tag 0GA3 in the Stacks Project.
Stacks.LocalCohomology.UniformityII.exists_uniform_torMapVanishesAtSucc_quotientFactor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformVanishingConditions.lean, line 142. The attribute's comment: “condition (7) of Tag 0G9V”.
Stacks Project, Tag 0GA3, condition (7) of Tag 0G9V. Let
I = (g 0, …, g (t - 1))be an ideal of a Noetherian ringAgenerated by at mosttelements. There areNandc, depending only onA,Iandt, such that for everyn ≥ Nthe transitionA / I ^ n ↠ A / I ^ (n - c)induces the zero map onTor _ (t + 1)against every module.This is [Stacks, Tag 0GA2],
exists_uniform_tor_transition_eq_zero_of_pow_le_annihilator_tor', read through the braiding of the two models ofTor.
theorem exists_uniform_torMapVanishesAtSucc_quotientFactor [IsNoetherianRing A]
{I : Ideal A} {t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ N c : ℕ, ∀ n : ℕ, N ≤ n →
TorMapVanishesAtSucc
(ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))) t
Stacks.LocalCohomology.UniformityII.exists_uniform_extMapVanishesAbove_quotientFactor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformVanishingConditions.lean, line 162. The attribute's comment: “condition (3) of Tag 0G9V”.
Stacks Project, Tag 0GA3, condition (3) of Tag 0G9V. Let
I = (g 0, …, g (t - 1))be an ideal of a Noetherian ringAgenerated by at mosttelements. There areNandc, depending only onA,Iandt, such that for everyn ≥ Nthe transitionA / I ^ n ↠ A / I ^ (n - c)induces the zero mapExt ^ i (A / I ^ (n - c), M) → Ext ^ i (A / I ^ n, M)for every moduleMand everyi > t.As
Ais Noetherian andA / I ^ nis a finiteA-module, all seven conditions of [Stacks, Tag 0G9V] are equivalent for the transition (tfae_of_isNoetherianRing_of_finite), so this is the assertion that the transition satisfies them; it is obtained from condition (7),exists_uniform_torMapVanishesAtSucc_quotientFactor.
theorem exists_uniform_extMapVanishesAbove_quotientFactor [IsNoetherianRing A]
{I : Ideal A} {t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ N c : ℕ, ∀ n : ℕ, N ≤ n →
ExtMapVanishesAbove
(ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))) t
Stacks.LocalCohomology.UniformityII.exists_uniform_hasLiftVanishingAbove_quotientFactor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformVanishingConditions.lean, line 181. The attribute's comment: “condition (1) of Tag 0G9V”.
Stacks Project, Tag 0GA3, condition (1) of Tag 0G9V. Let
I = (g 0, …, g (t - 1))be an ideal of a Noetherian ringAgenerated by at mosttelements. There areNandc, depending only onA,Iandt, such that for everyn ≥ Nand every choice of projective resolutions ofA / I ^ nand ofA / I ^ (n - c), the transitionA / I ^ n ↠ A / I ^ (n - c)lifts to a map of resolutions whose components vanish in all homological degrees abovet.It is obtained from condition (7),
exists_uniform_torMapVanishesAtSucc_quotientFactor, by the equivalence of the conditions of [Stacks, Tag 0G9V] for a finite module over a Noetherian ring,tfae_of_isNoetherianRing_of_finite.
theorem exists_uniform_hasLiftVanishingAbove_quotientFactor [IsNoetherianRing A]
{I : Ideal A} {t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ N c : ℕ, ∀ n : ℕ, N ≤ n →
∀ {P P' : CochainComplex (ModuleCat.{u} A) ℤ}
(p : P ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ n)))
(p' : P' ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ (n - c))))
[CochainComplex.IsProjectiveResolution p]
[CochainComplex.IsProjectiveResolution p'],
HasLiftVanishingAbove p p'
(ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))) t
Stacks.LocalCohomology.UniformityII.exists_uniform_vanishingConditions_quotientFactor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformVanishingConditions.lean, line 208. The attribute's comment: “all seven conditions of Tag 0G9V at e = t”.
Stacks Project, Tag 0GA3. Let
I = (g 0, …, g (t - 1))be an ideal of a Noetherian ringAgenerated by at mosttelements. There areNandc, depending only onA,Iandt, such that for everyn ≥ Nand every choice of projective resolutions ofA / I ^ nand ofA / I ^ (n - c), the transitionA / I ^ n ↠ A / I ^ (n - c)satisfies all seven conditions of [Stacks, Tag 0G9V] withe = t, in the order of the source: (1) a lift vanishing in all degrees abovet, (2) a lift vanishing in degreet + 1, (3) the zero map onExt ^ ifor alli > t, (4) the zero map onExt ^ (t + 1), (5) the canonical class of degreet + 1pulls back to zero, (6) the zero map onTor _ ifor alli > t, (7) the zero map onTor _ (t + 1).All seven follow from condition (7),
exists_uniform_torMapVanishesAtSucc_quotientFactor, bytfae_of_isNoetherianRing_of_finite.
theorem exists_uniform_vanishingConditions_quotientFactor [IsNoetherianRing A]
{I : Ideal A} {t : ℕ} (g : Fin t → A) (hg : I = Ideal.span (Set.range g)) :
∃ N c : ℕ, ∀ n : ℕ, N ≤ n →
∀ {P P' : CochainComplex (ModuleCat.{u} A) ℤ}
(p : P ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ n)))
(p' : P' ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ (n - c))))
[CochainComplex.IsProjectiveResolution p]
[CochainComplex.IsProjectiveResolution p'],
let α := ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))
HasLiftVanishingAbove p p' α t ∧ HasLiftVanishingAtSucc p p' α t ∧
ExtMapVanishesAbove α t ∧ ExtMapVanishesAtSucc α t ∧
CanonicalExtClassPullbackVanishes p p' α t ∧ TorMapVanishesAbove α t ∧
TorMapVanishesAtSucc α t
Tag 0GA4, a remark
Tag 0GA4 in the Stacks Project.
Stacks.LocalCohomology.UniformityII.exists_uniform_vanishingConditions_quotientFactor_of_ringKrullDim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/UniformVanishingKrullDimension.lean, line 142. The attribute's comment: “Tag 0GA3 with e = dim A for a local ring: all seven conditions of Tag 0G9V; the cd(A, I) question the remark raises is open in the source and is not stated”.
Stacks Project, Tag 0GA4. Let
Abe a Noetherian local ring of Krull dimensiondand letIbe an ideal ofA. There areNandcsuch that for everyn ≥ Nand every choice of projective resolutions ofA / I ^ nand ofA / I ^ (n - c), the transitionA / I ^ n ↠ A / I ^ (n - c)satisfies all seven conditions of [Stacks, Tag 0G9V] withe = d, in the order of the source: (1) a lift vanishing in all degrees aboved, (2) a lift vanishing in degreed + 1, (3) the zero map onExt ^ ifor alli > d, (4) the zero map onExt ^ (d + 1), (5) the canonical class of degreed + 1pulls back to zero, (6) the zero map onTor _ ifor alli > d, (7) the zero map onTor _ (d + 1).This is the conclusion of [Stacks, Tag 0GA3] with
e = treplaced bye = dim A; no bound on the number of generators ofIenters the statement. All seven conditions follow from condition (7),exists_uniform_torMapVanishesAtSucc_quotientFactor_of_ringKrullDim, bytfae_of_isNoetherianRing_of_finite.
theorem exists_uniform_vanishingConditions_quotientFactor_of_ringKrullDim
[IsNoetherianRing A] [IsLocalRing A] (I : Ideal A) (d : ℕ) (hdim : ringKrullDim A = d) :
∃ N c : ℕ, ∀ n : ℕ, N ≤ n →
∀ {P P' : CochainComplex (ModuleCat.{u} A) ℤ}
(p : P ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ n)))
(p' : P' ⟶ singleComplex (ModuleCat.of A (A ⧸ I ^ (n - c))))
[CochainComplex.IsProjectiveResolution p]
[CochainComplex.IsProjectiveResolution p'],
let α := ModuleCat.ofHom (Submodule.factor (p := I ^ n) (p' := I ^ (n - c))
(Ideal.pow_le_pow_right (Nat.sub_le n c)))
HasLiftVanishingAbove p p' α d ∧ HasLiftVanishingAtSucc p p' α d ∧
ExtMapVanishesAbove α d ∧ ExtMapVanishesAtSucc α d ∧
CanonicalExtClassPullbackVanishes p p' α d ∧ TorMapVanishesAbove α d ∧
TorMapVanishesAtSucc α d
Tag 0GA5, a remark
Tag 0GA5 in the Stacks Project.
Stacks.LocalCohomology.UniformityII.nonempty_strictProIso_systemFour_systemOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/NoetherianSystemFour.lean, line 119. The attribute's comment: “if P is Noetherian, the system (4) is strictly pro-isomorphic to the system (1)”.
If
Pis Noetherian, the system (4) is strictly pro-isomorphic to the system (1). Letφ : P → Abe a ring map of Noetherian rings,J ⊆ Pan ideal,I = JA, andMa bounded complex of finiteA-modules. Then the inverse systemn ↦ M ⊗ᴸ_P P/Jⁿ⁺¹inD(A)is isomorphic, in the strict pro-category ofD(A), to the systemn ↦ M/Iⁿ⁺¹M. An isomorphism of the strict pro-category is in particular an isomorphism of pro-objects.
theorem nonempty_strictProIso_systemFour_systemOne [IsNoetherianRing P] [IsNoetherianRing A]
(J : Ideal P) (I : Ideal A) (hI : I = J.map φ)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i)) :
Nonempty (proObj (systemFour φ M J) ≅
proObj (Stacks.AdicSystem.DerivedReductionProIso.reductionComplexSystem I M ⋙
DerivedCategory.Q))
Stacks.LocalCohomology.UniformityII.nonempty_proIso_systemFour_systemOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/NoetherianSystemFour.lean, line 136. The attribute's comment: “if P is Noetherian, the system (4) is pro-isomorphic to the system (1)”.
If
Pis Noetherian, the system (4) is pro-isomorphic to the system (1). Letφ : P → Abe a ring map of Noetherian rings,J ⊆ Pan ideal,I = JA, andMa bounded complex of finiteA-modules. Then the inverse systemsn ↦ M ⊗ᴸ_P P/Jⁿ⁺¹andn ↦ M/Iⁿ⁺¹MinD(A)are pro-isomorphic.
theorem nonempty_proIso_systemFour_systemOne [IsNoetherianRing P] [IsNoetherianRing A]
(J : Ideal P) (I : Ideal A) (hI : I = J.map φ)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i)) :
Nonempty (_root_.InverseSequence.ProIso (systemFour φ M J)
(Stacks.AdicSystem.DerivedReductionProIso.reductionComplexSystem I M ⋙
DerivedCategory.Q))
Stacks.LocalCohomology.UniformityII.isZero_tor_quotient_pow_idealOfVars, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/PolynomialQuotientTorDimension.lean, line 228. The attribute's comment: “in the standard example, A[x₁, …, x_r]/(x₁, …, x_r)ⁿ has tor dimension at most r for all n”.
A[x₁, …, x_r]/(x₁, …, x_r)ⁿhas Tor dimension at mostrfor alln: for every moduleNoverR = A[x₁, …, x_r]and everyp > r,Tor_p^R(R/(x₁, …, x_r)ⁿ, N) = 0.
theorem isZero_tor_quotient_pow_idealOfVars (n : ℕ) (N : ModuleCat.{u} (MvPolynomial (Fin r) A))
{p : ℕ} (hp : r < p) :
IsZero (((Tor' (ModuleCat.{u} (MvPolynomial (Fin r) A)) p).obj
(ModuleCat.of _ (MvPolynomial (Fin r) A ⧸ idealOfVars (Fin r) A ^ n))).obj N)
Stacks.LocalCohomology.UniformityII.polynomialSystemFourIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/PolynomialSystemFour.lean, line 222. The attribute's comment: “the standard example: M ⊗ᴸ_P P/Jⁿ = M ⊗ᴸ_{A[x]} A[x]/(x)ⁿ for P = ℤ[x₁, …, x_r]”.
M ⊗ᴸ_P P/Jⁿ = M ⊗ᴸ_{A[x]} A[x]/(x)ⁿ. LetP = R₀[x₁, …, x_r](the source takesR₀ = ℤ; at a universeuother than0one takesR₀ = ULift ℤ), letP → Asendxᵢtogᵢ, andJ = (x₁, …, x_r). Then the system (4)n ↦ M ⊗ᴸ_P P/Jⁿ⁺¹is isomorphic, as an inverse system inD(A), to the systemn ↦ M ⊗ᴸ_{A[x]} A[x]/(x)ⁿ⁺¹, i.e. to the system (4) forA[x] → A,xᵢ ↦ gᵢ.
noncomputable def polynomialSystemFourIso :
systemFour (polyEval R₀ g) M (MvPolynomial.idealOfVars (Fin r) R₀) ≅
systemFour (polyEvalBase g) M (MvPolynomial.idealOfVars (Fin r) A)
Stacks.LocalCohomology.UniformityII.nonempty_proIso_polynomialSystemFour_systemTwo, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/PolynomialSystemFour.lean, line 236. The attribute's comment: “the standard example P = ℤ[x₁, …, x_r]: the system (4) is strictly pro-isomorphic to the system (2), by reduction to the finite map A[x] → A”.
In the situation of
polynomialSystemFourIso, withANoetherian andI = (g₁, …, g_r), the system (4)n ↦ M ⊗ᴸ_P P/Jⁿ⁺¹forP = R₀[x₁, …, x_r]is strictly pro-isomorphic to the system (2)n ↦ M ⊗ᴸ_A A/Iⁿ⁺¹.
theorem nonempty_proIso_polynomialSystemFour_systemTwo [IsNoetherianRing A] :
Nonempty (proObj (systemFour (polyEval R₀ g) M (MvPolynomial.idealOfVars (Fin r) R₀)) ≅
proObj (systemTwo (polyEval R₀ g) M (Ideal.span (Set.range g))))
Stacks.LocalCohomology.UniformityII.isIso_proHom_derivedReductionComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictDerivedReduction.lean, line 135. The attribute's comment: “the natural map from (2) to (1) is a strict pro-isomorphism”.
The natural map from system (2) to system (1) is a strict pro-isomorphism. Let
Ibe an ideal of a Noetherian ringA, letMbe a bounded complex of finiteA-modules andp : P ⟶ Ma quasi-isomorphism from a bounded above complex of finite flat modules, so thatP/IⁿPcomputesM ⊗ᴸ_A A/Iⁿ. Then the natural map from the inverse systemn ↦ P/I^(n+1)Pto the inverse systemn ↦ M/I^(n+1)MinD(A)is an isomorphism in the strict pro-category ofD(A).
theorem isIso_proHom_derivedReductionComparison [IsNoetherianRing A] (I : Ideal A)
(M : CochainComplex (ModuleCat.{u} A) ℤ)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i))
{P : CochainComplex (ModuleCat.{u} A) ℤ} (p : P ⟶ M) (hPbounded : ∃ b : ℤ, P.IsStrictlyLE b)
(hPfinite : ∀ i : ℤ, Module.Finite A (P.X i) ∧ Module.Flat A (P.X i))
(hp : IsIso (DerivedCategory.Q.map p)) :
IsIso (proHom (⟨0, Functor.whiskerRight (reductionComplexSystemMap I p) DerivedCategory.Q⟩ :
StrictProHomRep (reductionComplexSystem I P ⋙ DerivedCategory.Q)
(reductionComplexSystem I M ⋙ DerivedCategory.Q)))
Stacks.LocalCohomology.UniformityII.derivedReductionComparison_hasEventualInverses, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictDerivedReduction.lean, line 154. The attribute's comment: “the systems (1) and (2) are pro-isomorphic, via Lemma 15.102.3”.
The systems (1) and (2) are pro-isomorphic. Let
Ibe an ideal of a Noetherian ringA, letMbe a bounded complex of finiteA-modules andp : P ⟶ Ma quasi-isomorphism from a bounded above complex of finite flat modules, so thatP/IⁿPcomputesM ⊗ᴸ_A A/Iⁿ. Then the natural map from the system (2)n ↦ P/I^(n+1)Pto the system (1)n ↦ M/I^(n+1)MinD(A)is a pro-isomorphism.
theorem derivedReductionComparison_hasEventualInverses [IsNoetherianRing A] (I : Ideal A)
(M : CochainComplex (ModuleCat.{u} A) ℤ)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i))
{P : CochainComplex (ModuleCat.{u} A) ℤ} (p : P ⟶ M) (hPbounded : ∃ b : ℤ, P.IsStrictlyLE b)
(hPfinite : ∀ i : ℤ, Module.Finite A (P.X i) ∧ Module.Flat A (P.X i))
(hp : IsIso (DerivedCategory.Q.map p)) :
NoetherianAdicCompletion.HasEventualInverses
(Functor.whiskerRight (reductionComplexSystemMap I p) DerivedCategory.Q)
Stacks.LocalCohomology.UniformityII.proIso_koszulToAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictnessFailure.lean, line 150. The attribute's comment: “the pro-isomorphism, in the category of modules, between the system H⁰(Kₙ) = A/(f₀ⁿ, …, f_{r-1}ⁿ) and the system A/Iⁿ, which is the comparison the remark makes by comparing with Koszul complexes and whose strictness the remark then denies”.
The two systems are isomorphic as pro-objects. The comparison
koszulToAdicadmits, at every leveln, a two-sided inverse defined on a later levelm: both triangles it forms with the transition maps commute.
public theorem proIso_koszulToAdic {A : Type u} [CommRing A] {r : ℕ} (f : Fin r → A) (n : ℕ) :
∃ (m : ℕ) (h : n ≤ m)
(s : (AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range f))).obj (op m) ⟶
(Koszul.powQuotientSystem f).obj (op n)),
(koszulToAdic f).app (op m) ≫ s = (Koszul.powQuotientSystem f).map (homOfLE h).op ∧
s ≫ (koszulToAdic f).app (op n)
= (AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range f))).map (homOfLE h).op
Stacks.LocalCohomology.UniformityII.not_annihilator_pow_mul_pred, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictnessFailure.lean, line 285. The attribute's comment: “the computation the remark performs on its example: for A = ℤ[x₀, …, x_{r-1}] and f i = x i, the module H⁰(Kₙ) = A/(x₀ⁿ, …, x_{r-1}ⁿ) is not annihilated by I^{r(n-1)}, witnessed by the monomial x₀^(n-1) ⋯ x_{r-1}^(n-1)”.
In
ℤ[x₀, …, x_{r-1}]the moduleH⁰(Kₙ) = ℤ[x]/(x₀ⁿ, …, x_{r-1}ⁿ)is not annihilated byI^{r(n-1)}.
public theorem not_annihilator_pow_mul_pred (r n : ℕ) (hn : 1 ≤ n) :
¬ (monomialIdeal r ^ (r * (n - 1)) ≤
Module.annihilator (MvPolynomial (Fin r) ℤ)
(MvPolynomial (Fin r) ℤ ⧸
Ideal.span (Set.range fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ) ^ n)))
Stacks.LocalCohomology.UniformityII.not_strictProIso_monomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictnessFailure.lean, line 317. The attribute's comment: “the failure of strictness the remark asserts for systems (1) and (3) at M = A[0]: the system H⁰(Kₙ) = A/(x₀ⁿ, …, x_{r-1}ⁿ) over A = ℤ[x₀, …, x_{r-1}] admits no strict pro-isomorphism with the system A/Iⁿ, proved as the negation it is”.
Failure of strictness. For
r ≥ 2the inverse systemH⁰(Kₙ) = ℤ[x]/(x₀ⁿ, …, x_{r-1}ⁿ)of the Koszul complexes on the powers of the variables and the adic systemℤ[x]/Iⁿof the idealI = (x₀, …, x_{r-1})they generate are not strictly pro-isomorphic: there is no pair of strict pro-morphisms between them, in either direction, whose composite is eventually the identity of the Koszul system.
public theorem not_strictProIso_monomial (r : ℕ) (hr : 2 ≤ r) :
¬ ∃ (φ : StrictProHomRep
(AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ))))
(Koszul.powQuotientSystem fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ)))
(ψ : StrictProHomRep
(Koszul.powQuotientSystem fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ))
(AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ))))),
(ψ.comp φ).Equivalent
(StrictProHomRep.id (Koszul.powQuotientSystem fun i : Fin r =>
(X i : MvPolynomial (Fin r) ℤ)))
Stacks.LocalCohomology.UniformityII.not_nonempty_iso_proObj_monomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictnessFailure.lean, line 341. The attribute's comment: “the failure of strictness for systems (1) and (3) at M = A[0], stated as non-isomorphism of the two inverse sequences in the strict pro-category itself”.
Failure of strictness, in the strict pro-category. For
r ≥ 2the inverse sequenceA/Iⁿand the inverse sequenceH⁰(Kₙ) = A/(x₀ⁿ, …, x_{r-1}ⁿ)overA = ℤ[x₀, …, x_{r-1}]are not isomorphic as objects of the strict pro-category.
public theorem not_nonempty_iso_proObj_monomial (r : ℕ) (hr : 2 ≤ r) :
¬ Nonempty
(proObj (AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ)))) ≅
proObj (Koszul.powQuotientSystem fun i : Fin r =>
(X i : MvPolynomial (Fin r) ℤ)))
Stacks.LocalCohomology.UniformityII.not_nonempty_iso_proObj_derived_monomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictnessFailureDerived.lean, line 120. The attribute's comment: “systems (1) and (3) are not strictly pro-isomorphic, even for M = A[0]: the example A = ℤ[x₁, …, x_r], fᵢ = xᵢ, read in the strict pro-category of D(A)”.
Stacks 0GA5, failure of strictness for (1) and (3), in
D(A). LetA = ℤ[x₀, …, x_{r-1}]withr ≥ 2,fᵢ = xᵢandI = (x₀, …, x_{r-1}). ForM = A[0]the system (1) isn ↦ (A/I^(n+1))[0]and the system (3) isn ↦ A ⊗ᴸ K_{n+1} = K_{n+1}, the Koszul complex onx₀^(n+1), …, x_{r-1}^(n+1). These two inverse systems ofD(A)are not isomorphic in the strict pro-category ofD(A).Applying
H⁰to an isomorphism of the strict pro-category gives one between the systemsA/I^(n+1)andH⁰(K_{n+1}) = A/(x₀^(n+1), …, x_{r-1}^(n+1))of modules, whichnot_nonempty_iso_proObj_monomialrules out.
theorem not_nonempty_iso_proObj_derived_monomial {r : ℕ}
[HasDerivedCategory.{w} (ModuleCat.{0} (MvPolynomial (Fin r) ℤ))] (hr : 2 ≤ r) :
¬ Nonempty
(proObj (AdicCompletionTor.idealPowerQuotientModuleSystem
(Ideal.span (Set.range fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ))) ⋙
DerivedCategory.singleFunctor (ModuleCat.{0} (MvPolynomial (Fin r) ℤ)) 0) ≅
proObj (Koszul.powDerivedSystem fun i : Fin r => (X i : MvPolynomial (Fin r) ℤ)))
CategoryTheory.StrictProCategory, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictProCategory.lean, line 32. The attribute's comment: “strict_pro_category”.
The strict pro-category of
C. Its objects are inverse sequences inC; its morphisms are uniformly shifted compatible maps modulo eventual agreement after passing to a common shift.
abbrev StrictProCategory (C : Type u) [Category.{v} C]
Stacks.LocalCohomology.UniformityII.derivedTensorKoszulSystem_hasEventualInverses, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictProFourSystems.lean, line 70. The attribute's comment: “the pro-isomorphism between the systems (2) and (3), via Lemma 15.96.1”.
Systems (2) and (3) are pro-isomorphic. For an ideal
I = (f₀, …, f_{r-1})of a Noetherian ringA, the inverse systemn ↦ M ⊗ᴸ K_{n+1}of derived tensor products with the Koszul complexes on the positive powers of the generators is pro-isomorphic to the inverse systemn ↦ M ⊗ᴸ A/Iⁿ⁺¹, via the derived tensor product withMof the comparisonKₙ → A/Iⁿof [Stacks, Tag 0921].
public theorem derivedTensorKoszulSystem_hasEventualInverses
[IsNoetherianRing A] {r : ℕ} (f : Fin r → A) (I : Ideal A)
(hI : I = Ideal.span (Set.range f))
(T : CochainComplex.DerivedTensor.DerivedTensorProduct A)
(M : CochainComplex (ModuleCat.{u} A) ℤ) :
NoetherianAdicCompletion.HasEventualInverses
(Functor.whiskerRight (NoetherianAdicCompletion.koszulIdealPowerComparison f I hI)
(T.tensor.obj (DerivedCategory.Q.obj M)))
Stacks.LocalCohomology.UniformityII.derivedTensorKoszulSystem_hasEventualInverses_canonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictProFourSystems.lean, line 84. The attribute's comment: “the pro-isomorphism between the systems (2) and (3), for the canonical derived tensor product”.
derivedTensorKoszulSystem_hasEventualInversesfor the canonical derived tensor product of [Stacks, Tag 0BYI].
public theorem derivedTensorKoszulSystem_hasEventualInverses_canonical
[IsNoetherianRing A] {r : ℕ} (f : Fin r → A) (I : Ideal A)
(hI : I = Ideal.span (Set.range f))
(M : CochainComplex (ModuleCat.{u} A) ℤ) :
NoetherianAdicCompletion.HasEventualInverses
(Functor.whiskerRight (NoetherianAdicCompletion.koszulIdealPowerComparison f I hI)
((CochainComplex.DerivedTensor.canonicalDerivedTensorProduct A).tensor.obj
(DerivedCategory.Q.obj M)))
Stacks.LocalCohomology.UniformityII.isIso_proHom_systemFourToTwo, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictSystemFour.lean, line 156. The attribute's comment: “if P → A is finite, the system (4) is strictly pro-isomorphic to the system (2)”.
Stacks 0GA5: if
P → Ais finite, system (4) is strictly pro-isomorphic to system (2). LetPbe Noetherian,f : P → Aa finite ring map,J ⊆ Pan ideal withI = JA, andMa complex ofA-modules. Then the comparison from the systemn ↦ M ⊗ᴸ_P P/Jⁿ⁺¹to the systemn ↦ M ⊗ᴸ_A A/Iⁿ⁺¹is an isomorphism of the strict pro-category ofD(A).The source states the remark for a bounded complex
Mof finite modules over a Noetherian ringA; neither hypothesis is used here.
theorem isIso_proHom_systemFourToTwo [IsNoetherianRing P] (hf : f.Finite) (J : Ideal P)
(I : Ideal A) (hI : I = J.map f) :
IsIso (proHom (⟨0, systemFourToTwo f M J I hI⟩ :
StrictProHomRep (systemFour f M J) (systemTwo f M I)))
Stacks.LocalCohomology.UniformityII.hasUniformInverses_systemTwoToOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityII/StrictSystemTwo.lean, line 257. The attribute's comment: “the natural map from (2) to (1) is a strict pro-isomorphism, for (2) formed with the derived tensor product”.
The natural map from (2) to (1) is a strict pro-isomorphism, for the derived-tensor model of (2). Let
Ibe an ideal of a Noetherian ringAandMa bounded complex of finiteA-modules. The counitsM ⊗ᴸ_A A/Iⁿ⁺¹ ⟶ M/Iⁿ⁺¹Mhave inverses over a shift independent ofn.
theorem hasUniformInverses_systemTwoToOne [IsNoetherianRing A] (I : Ideal A)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i)) :
HasUniformInverses (systemTwoToOne f M I)
Stacks.AdicSystem.DerivedReductionProIso.derivedReduction_exists_uniform_inverse, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Module/AdicSystem/UniformDerivedReduction.lean, line 499. The attribute's comment: “the natural map from (2) to (1) is a strict pro-isomorphism: inverses over a uniform shift”.
[Stacks, Tag 0GA5], explicitly. In the situation of
derivedReduction_hasUniformInverses, there is a shiftcsuch that for alln + c ≤ mthe comparison mapsadicReductionComparisonacquire an inverse from levelmto levelnwhose two round trips are the transition maps.
theorem derivedReduction_exists_uniform_inverse [IsNoetherianRing A] (I : Ideal A)
(M : CochainComplex (ModuleCat.{u} A) ℤ)
(hMbounded : ∃ a b : ℤ, M.IsStrictlyGE a ∧ M.IsStrictlyLE b)
(hMfinite : ∀ i : ℤ, Module.Finite A (M.X i))
{P : CochainComplex (ModuleCat.{u} A) ℤ} (p : P ⟶ M) (hPbounded : ∃ b : ℤ, P.IsStrictlyLE b)
(hPfinite : ∀ i : ℤ, Module.Finite A (P.X i) ∧ Module.Flat A (P.X i))
(hp : IsIso (DerivedCategory.Q.map p)) :
∃ c : ℕ, ∀ n m : ℕ, n + c ≤ m →
∃ (h : n ≤ m) (s : DerivedCategory.Q.obj ((reduceComplex (I ^ (m + 1))).obj M) ⟶
DerivedCategory.Q.obj ((reduceComplex (I ^ (n + 1))).obj P)),
adicReductionComparison I p m ≫ s = adicReductionTransition I P h ∧
s ≫ adicReductionComparison I p n = adicReductionTransition I M h
Sources
Section51.22 A bit of uniformity, III#
Section 51.22 of the Stacks Project, Tag 0GA6. 8 tags here are carried by 21 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0GA6, the section
Tag 0GA6 in the Stacks Project.
AssociatedGraded.dInvariant, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/AssociatedGradedInvariants.lean, line 126. The attribute's comment: “the invariant d(S) of the associated graded ring S = Gr_I(A), as the maximum of the dimensions of the fibres of Proj(S) → Spec(S₀), which is clause (2) of the paragraph defining d; the equality with the maximum of the fibre dimensions of the blowup p : X → Spec(A), the paragraph's primary phrasing, is not proved here”.
The invariant
d(S) = d(Gr_I(A)): the maximum of the dimensions of the fibres ofProj(S) → Spec(S₀), a fibre with empty underlying space contributing0.This is clause (2) of the paragraph of [Stacks, Tag 0GA6] that introduces
d; see the implementation notes for its relation to the paragraph's primary phrasing in terms of the blowup.
def dInvariant : ℕ∞
AssociatedGraded.qInvariant, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/AssociatedGradedInvariants.lean, line 166. The attribute's comment: “the invariant q(S) of the associated graded ring S = Gr_I(A), as the smallest q(S) ≥ 0 such that for all q ≥ q(S) one has Hⁱ(Y, 𝒪_Y(q)) = 0 for 1 ≤ i ≤ d(S) and H⁰(Y, 𝒪_Y(q)) = I^q/I^{q+1} for Y = Proj(S); the appeal to Cohomology of Schemes Lemmas 0AG6 and 0AG7 that makes the set of such bounds nonempty is not proved here, and is carried as a hypothesis by isRegularDegree_of_qInvariant_le”.
The invariant
q(S) = q(Gr_I(A)): the smallestq₀ ≥ 0such thatAssociatedGraded.IsRegularDegreeholds at everyq ≥ q₀.That the set of such
q₀is nonempty is Cohomology of Schemes, Lemmas [Stacks, Tag 0AG6] and [Stacks, Tag 0AG7], which are not available in this generality; it is therefore a hypothesis ofAssociatedGraded.isRegularDegree_of_qInvariant_leand not proved here.
def qInvariant : ℕ
Tag 0GA7, a lemma
Tag 0GA7 in the Stacks Project.
Stacks.LocalCohomology.UniformityIII.blowupHmod_of_qS_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/BlowupSituation.lean, line 705.
[Stacks, Tag 0GA7]: with
q₀ = q(S)(qS I, the least integer such that for allq ≥ q₀one hasHⁱ(Y, 𝒪_Y(q)) = 0fori ≥ 1andH⁰(Y, 𝒪_Y(q)) = Iᑫ/I^{q+1}), for a Noetherian ringAand any idealI, on the blowupXofSpec AinI:
- for
n ≥ 1,q ≥ q₀andi > 0,Hⁱ(X, 𝒪_{Yₙ}(q)) = 0;- for
n ≥ 1andq ≥ q₀, the canonical mapIᑫ/I^{q+n} → H⁰(X, 𝒪_{Yₙ}(q))is an isomorphism — stated as the bijectivity ofcdivMod I m q, whose source isIᑫ/I^{q+m+1}and whose target isH⁰(X, 𝒪_{Y_{m+1}}(q)), for everym, i.e. atn = m + 1;- for
q ≥ q₀andi > 0,Hⁱ(X, 𝒪_X(q)) = 0;- for
q ≥ q₀, the canonical mapIᑫ → H⁰(X, 𝒪_X(q))is an isomorphism.The cohomology is
A-module-valued, the source's identifications being isomorphisms ofA-modules. The integerd = d(S)the tag names enters only through the definition ofq(S), where it bounds the degrees in which vanishing is asked; seeIsBaseThreshold,isBaseThreshold_iff_of_vanishing_gtandexists_qS_isLeast_isBaseThresholdUpTo.
theorem blowupHmod_of_qS_le [IsNoetherianRing A] :
(∀ n i q : ℕ, 1 ≤ n → 1 ≤ i → qS I ≤ q →
Subsingleton (blowupHmod I i (thickeningTwist I n q))) ∧
(∀ n q : ℕ, qS I ≤ q → Function.Bijective (cdivMod I n q)) ∧
(∀ i q : ℕ, 1 ≤ i → qS I ≤ q → Subsingleton (blowupHmod I i (blowupTwist I q))) ∧
(∀ q : ℕ, qS I ≤ q → Function.Bijective (ambientSectionsMod I q))
Tag 0GA8, a lemma
Tag 0GA8 in the Stacks Project.
AlgebraicGeometry.exceptionalIdeal_pow_le_annihilator_kernel, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Blowup/AlmostExactness.lean, line 421.
In a short exact sequence over
A ⧸ I ^ nwhose quotient is finite andI ^ c / I ^ n-projective, the kernel of the pulled-back first map is annihilated by the ideal of thec-th exceptional thickening.
public theorem exceptionalIdeal_pow_le_annihilator_kernel
{A : Type u} [CommRing A] (I : Ideal A) (n c : ℕ) (_hcn : c ≤ n)
(K L M : ModuleCat.{u} (A ⧸ I ^ n))
(f : K ⟶ L) (g : L ⟶ M) (w : f ≫ g = 0)
(hExact : (ShortComplex.mk f g w).ShortExact)
[Module.Finite (A ⧸ I ^ n) M]
(hM : Module.IsIProjective (A ⧸ I ^ n)
(Ideal.map (Ideal.Quotient.mk (I ^ n)) (I ^ c)) M) :
(exceptionalIdeal (Scheme.IdealSheafData.ofIdealTop
(Ideal.map (Scheme.ΓSpecIso (.of A)).inv.hom I))) ^ c ≤
Scheme.Modules.annihilatorIdeal
(kernel ((Scheme.Modules.pullback
(blowUpToBase (Scheme.IdealSheafData.ofIdealTop
(Ideal.map (Scheme.ΓSpecIso (.of A)).inv.hom I)))).map
((tilde.functor (.of A)).map
((ModuleCat.restrictScalars (Ideal.Quotient.mk (I ^ n))).map f))))
Tag 0GA9, a lemma
Tag 0GA9 in the Stacks Project.
AlgebraicGeometry.schemeTheoreticSupport_iff_exceptionalTwistContraction_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Blowup/ExceptionalTwist.lean, line 227. The attribute's comment: “corrected: the canonical map runs 𝓕(c) ⟶ 𝓕, since 𝒪(1) is the ideal sheaf of Y”.
Stacks Project, Tag 0GA9. A quasi-coherent module of finite type on the blowup of a scheme in a quasi-coherent sheaf of ideals is scheme theoretically supported on the
c-fold thickeningY_cof the exceptional divisor if and only if the canonical map𝓕(c) ⟶ 𝓕vanishes.
theorem schemeTheoreticSupport_iff_exceptionalTwistContraction_eq_zero
(F : (blowUp ℐ).Modules) [F.IsQuasicoherent] [F.IsFiniteType] :
exceptionalIdeal ℐ ^ c ≤ Scheme.Modules.schemeTheoreticSupport F ↔
exceptionalTwistContraction ℐ c F = 0
Tag 0GAA, a lemma
Tag 0GAA in the Stacks Project.
Stacks.LocalCohomology.UniformityIII.ModuleSituation.subsingleton_H_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/PullbackCohomology.lean, line 591. The attribute's comment: “clause (1), H^d(X, p^*M(q)) = 0 for i = d ≥ 1 and q ≥ q₀”.
Stacks Project, Tag 0GAA, clause (1). For an
(A, n, c)-moduleM, in the casei = d ≥ 1andq ≥ q₀we haveH^d(X, p^*M(q)) = 0.The long exact sequence of
0 → 𝒢 → (𝒪_{Yₙ})^{⊕r} → p^*M → 0sitsH^d(X, p^*M(q))betweenH^d(X, (𝒪_{Yₙ})^{⊕r}(q)), which vanishes by Tag 0GA7(1), andH^{d+1}(X, 𝒢(q)), which vanishes becausedbounds the fibre dimensions.
theorem subsingleton_H_top (M : ANCModule I n c) {q : ℤ}
(hd : 1 ≤ S.d) (hq : (S.q₀ : ℤ) ≤ q) : Subsingleton (S.H M S.d q)
Stacks.LocalCohomology.UniformityIII.ModuleSituation.subsingleton_H_next, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/PullbackCohomology.lean, line 616. The attribute's comment: “clause (2), H^{d-1}(X, p^*M(q)) = 0 for i = d - 1 ≥ 1 and q ≥ q₀”.
Stacks Project, Tag 0GAA, clause (2). For an
(A, n, c)-moduleM, in the casei = d - 1 ≥ 1andq ≥ q₀we haveH^{d-1}(X, p^*M(q)) = 0.The long exact sequence of
0 → 𝒢 → (𝒪_{Yₙ})^{⊕r} → p^*M → 0sitsH^{d-1}(X, p^*M(q))betweenH^{d-1}(X, (𝒪_{Yₙ})^{⊕r}(q)), which vanishes by Tag 0GA7(1) sinced - 1 ≥ 1, andH^d(X, 𝒢(q)), which vanishes bysubsingleton_HG_top.The hypothesis
i = d - 1is writteni + 1 = dto avoid a truncated subtraction.
theorem subsingleton_H_next (M : ANCModule I n c) {i : ℕ} {q : ℤ}
(hi : 1 ≤ i) (hid : i + 1 = S.d) (hq : (S.q₀ : ℤ) ≤ q) : Subsingleton (S.H M i q)
Stacks.LocalCohomology.UniformityIII.TwistedModuleSituation.Htr_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/PullbackCohomology.lean, line 863. The attribute's comment: “clause (3), Hⁱ(X, p^M(q)) → Hⁱ(X, p^M(q-(d-1-i)c)) is zero for d-1 > i > 0”.
Stacks Project, Tag 0GAA, clause (3). For an
(A, n, c)-moduleM, in the cased - 1 > i > 0andq ≥ q₀ + (d - 1 - i)cthe mapHⁱ(X, p^*M(q)) → Hⁱ(X, p^*M(q - (d - 1 - i)c))is zero.The case distinction
d - 1 > i > 0is written1 ≤ itogether withi + k + 1 = dand1 ≤ k, which fixesk = d - 1 - i; the target twistq - kcis carried as a parameterrwithr + kc = q. The proof reduces the statement toHGtr_eq_zero, whose induction it is.
theorem Htr_eq_zero (M : ANCModule I n c) {i k : ℕ} {q r : ℤ} (h : r ≤ q)
(hi : 1 ≤ i) (hk : 1 ≤ k) (hik : i + k + 1 = S.d) (hr : r + k * c = q)
(hq : (S.q₀ : ℤ) + k * c ≤ q) : S.Htr M i q r h = 0
Stacks.LocalCohomology.UniformityIII.TwistedModuleSituation.surjective_secM, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/PullbackCohomology.lean, line 899. The attribute's comment: “clause (4), surjectivity onto H⁰(X, p^*M(q)) for i = 0, d ≤ 1, q ≥ q₀; corrected: the source is I^q ⊗_A M, not the submodule I^qM, for which this is false”.
Stacks Project, Tag 0GAA, clause (4). For an
(A, n, c)-moduleM, in the casei = 0,d ∈ {0, 1}andq ≥ q₀the canonical mapI^q ⊗_A M → H⁰(X, p^*M(q))is surjective.The long exact sequence of
0 → ℱ → p^*K → 𝒢 → 0makesH¹(X, p^*K(q)) → H¹(X, 𝒢(q))surjective, sinceH²(X, ℱ(q)) = 0ford ≤ 1; its source vanishes, by clause (1) ifd = 1and becausedbounds the fibre dimensions ifd = 0. SoH¹(X, 𝒢(q)) = 0and the long exact sequence of0 → 𝒢 → (𝒪_{Yₙ})^{⊕r} → p^*M → 0makesH⁰(X, (𝒪_{Yₙ})^{⊕r}(q)) → H⁰(X, p^*M(q))surjective; forq ≥ q₀the source is(I^q/I^{q+n})^{⊕r}by Tag 0GA7(2), and the composite with it factors throughI^q ⊗_A MbyANCPresentation.freeTensor_surjective.The Stacks Project writes the source
I^qM. Read as the submoduleI^q·MofMthe clause is false: forA = ℤ,I = (2)(so the blowing up is an isomorphism,d = 0,q₀ = 0),n = 1,c = 0andM = A ⧸ I, atq = 1that submodule is0while Tag 0GA7(2) givesH⁰(X, p^*M(1)) = H⁰(X, 𝒪_{Y₁}(1)) = I/I² ≅ ℤ/2. What the proof produces, and what is formalized, is the surjection out ofI^q ⊗_A M = (I^q/I^{q+n}) ⊗_A M, which agrees withI^q/I^{q+n}forM = A ⧸ Iⁿas Tag 0GA7(2) demands.
theorem surjective_secM (M : ANCModule I n c) {q : ℕ} (hd : S.d ≤ 1) (hq : S.q₀ ≤ q) :
Function.Surjective (S.secM M q)
Stacks.LocalCohomology.UniformityIII.TwistedModuleSituation.range_Htr_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/PullbackCohomology.lean, line 930. The attribute's comment: “clause (5), H⁰(p^M(q)) → H⁰(p^M(q-(d-1)c)) lands in the image of the canonical map out of I^{q-(d-1)c} ⊗_A M; corrected as in clause (4)”.
Stacks Project, Tag 0GAA, clause (5). For an
(A, n, c)-moduleM, in the casei = 0,d > 1andq ≥ q₀ + (d - 1)cthe image ofH⁰(X, p^*M(q)) → H⁰(X, p^*M(q - (d - 1)c))is contained in the image of the canonical mapI^{q - (d-1)c} ⊗_A M → H⁰(X, p^*M(q - (d - 1)c)), the map of clause (4); as there, the source is the tensor product and not the submoduleI^{q-(d-1)c}MofM.The case
d > 1is writtenk + 1 = dwith1 ≤ k, which fixesk = d - 1; the target twistq - kcis carried as a natural numberrwithr + kc = q, which is no restriction sinceq ≥ q₀ + kcforcesq - kc ≥ q₀ ≥ 0. Arguing as in clause (4) it suffices that the image lie in the image ofH⁰(X, (𝒪_{Yₙ})^{⊕r}(q - (d-1)c)), which by the long exact sequence of0 → 𝒢 → (𝒪_{Yₙ})^{⊕r} → p^*M → 0holds as soon as the boundary inH¹(X, 𝒢(q))dies inH¹(X, 𝒢(q - (d-1)c)); that isHGtr_eq_zeroati = 0.
theorem range_Htr_le (M : ANCModule I n c) {k r : ℕ} {q : ℤ} (h : (r : ℤ) ≤ q)
(hk : 1 ≤ k) (hkd : k + 1 = S.d) (hr : (r : ℤ) + k * c = q)
(hq : (S.q₀ : ℤ) + k * c ≤ q) :
LinearMap.range (S.Htr M 0 q (r : ℤ) h) ≤ LinearMap.range (S.secM M r)
Tag 0GAB, a remark
Tag 0GAB in the Stacks Project.
Stacks.SheafOfModules.PullbackDual.dualModuleSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/PullbackOfDualSheaf.lean, line 119. The attribute's comment: “the dual F^∨ = SheafHom(F, O), for a sheaf of modules on a ringed site”. References: EGA 0 (4.1.5); SGA 3 I (4.6.5.1), “more general”; SGA 3 III (0.6); SGA 3 VIIA (4.3.3), “more general”.
The dual
F^∨ = SheafHom_O(F, O)of a sheaf of modules on a ringed site: the internal Hom of Tag 03EM out ofFinto the structure sheaf, the structure sheaf being read as a module over itself. This is the(-)^∨of Tag 0GAB.
noncomputable def dualModuleSheaf (Z : RingedSite.{u, u, u})
(F : _root_.SheafOfModules.{u} (Tensor.ringSheaf Z.O)) :
_root_.SheafOfModules.{u} (Tensor.ringSheaf Z.O)
Stacks.LocalCohomology.UniformityIII.moduleDual, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullback.lean, line 130. The attribute's comment: “the dual M^∨ = Hom_{A/Iⁿ}(M, A/Iⁿ) of a module over A/Iⁿ, and its functoriality”. References: SGA 3 VIIA (3.1.1), “affine dual object”; SGA 3 VIIA (4.3.3), “special case”; SGA 3 VIIB (1.3.5.C), “more general”; SGA 3 VIII (6.8).
The dual
M^∨ = Hom_R(M, R)of anR-module, as a functor contravariant inM: on morphisms it isLinearMap.dualMap, that is, precomposition. ForR = A/Iⁿthis is theM^∨of Tag 0GAB; no finiteness ofMis needed to form it.
noncomputable def moduleDual : (ModuleCat.{u} R)ᵒᵖ ⥤ ModuleCat.{u} R
Stacks.LocalCohomology.UniformityIII.IsANCModule.exists_finFree_factorization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullback.lean, line 259. The attribute's comment: “for a ∈ I^c the map a : M → M factors through a finite free A/Iⁿ-module”.
Stacks Project, Tag 0GAB. For an
(A, n, c)-moduleManda ∈ I^cthe multiplication-by-aendomorphism ofMfactors through a finite freeA/Iⁿ-module.This is the step the remark's proof of clause (4) opens with. By
IsANCModulethe map factors through a projective module; sinceMis finite it factors through a finite projective module by Tag 0G91, and a finite projective module is a retract of a finite free one.
theorem IsANCModule.exists_finFree_factorization {A : Type u} [CommRing A] {I : Ideal A}
{n c : ℕ} {M : ModuleCat.{u} (A ⧸ I ^ n)} (hM : IsANCModule I n c M)
{a : A ⧸ I ^ n} (ha : a ∈ Ideal.map (Ideal.Quotient.mk (I ^ n)) (I ^ c)) :
∃ (r : ℕ) (α : M ⟶ finFreeModule (A ⧸ I ^ n) r)
(β : finFreeModule (A ⧸ I ^ n) r ⟶ M), α ≫ β = a • 𝟙 M
Stacks.LocalCohomology.UniformityIII.pullbackModuleDualMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullbackSource.lean, line 314. The attribute's comment: “the canonical map can : p^(M^∨) ⟶ (p^M)^∨”.
Tag 0GAB, the canonical map
can : p^*(M^∨) ⟶ (p^*M)^∨. For a morphism of ringed sitesf : X ⟶ Spec Rand anR-moduleM, withp^*N = f^*(N~): the pullback of the comparison(M^∨)~ ⟶ (M~)^∨, followed by the canonical mapf^*((M~)^∨) ⟶ (f^*(M~))^∨ofStacks.SheafOfModules.PullbackDual.pullbackDualMap.
noncomputable def pullbackModuleDualMap (M : ModuleCat.{u} R) :
(ringedSitePullback f).obj ((specTilde R).obj ((moduleDual R).obj (op M))) ⟶
dualModuleSheaf X ((ringedSitePullback f).obj ((specTilde R).obj M))
Stacks.LocalCohomology.UniformityIII.pullbackModuleDualMap_naturality, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullbackSource.lean, line 322. The attribute's comment: “the construction of can is functorial in M”.
Tag 0GAB, the construction of
canis functorial inM. Forg : M ⟶ Nthe square formed bycanatMand atN, byp^*(g^∨)and by(p^*g)^∨commutes.
theorem pullbackModuleDualMap_naturality {M N : ModuleCat.{u} R} (g : M ⟶ N) :
(ringedSitePullback f).map ((specTilde R).map ((moduleDual R).map g.op)) ≫
pullbackModuleDualMap f M =
pullbackModuleDualMap f N ≫
dualModuleSheafMap X ((ringedSitePullback f).map ((specTilde R).map g))
Stacks.LocalCohomology.UniformityIII.isIso_pullbackModuleDualMap_finFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullbackSource.lean, line 347. The attribute's comment: “can is an isomorphism at a finite free A/Iⁿ-module”.
Tag 0GAB:
canis an isomorphism at a finite free moduleR^{⊕r}. The comparison is invertible there,R^{⊕r}being of finite presentation, and so is the sheaf-levelcanat(R^{⊕r})~,M ↦ M~being additive withR~ = 𝒪.
theorem isIso_pullbackModuleDualMap_finFree (r : ℕ) :
IsIso (pullbackModuleDualMap f (finFreeModule R r))
Stacks.LocalCohomology.UniformityIII.IsANCModule.kernel_map_pullbackModuleDualMap_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullbackSource.lean, line 528. The attribute's comment: “for an (A,n,c)-module M, every a ∈ I^c annihilates the kernel of can”.
Tag 0GAB, the kernel of
can. LetMbe an(A, n, c)-module,a ∈ I^candf : X ⟶ Spec(A/Iⁿ)any morphism of ringed sites. Thenaannihilates the kernel ofcan : p^*(M^∨) ⟶ (p^*M)^∨: the endomorphism ofker(can)induced by multiplication byaonp^*(M^∨)and on(p^*M)^∨is zero. The source's reason is the proof:a : M → Mfactors through a finite freeA/Iⁿ-module (IsANCModule.exists_finFree_factorization), at whichcanis an isomorphism.
theorem IsANCModule.kernel_map_pullbackModuleDualMap_eq_zero {X : RingedSite.{u, u, u}}
(f : RingedSite.Hom X (specRingedSite (CommRingCat.of (A ⧸ I ^ n))))
{M : ModuleCat.{u} (A ⧸ I ^ n)} (hM : IsANCModule I n c M) {a : A ⧸ I ^ n}
(ha : a ∈ Ideal.map (Ideal.Quotient.mk (I ^ n)) (I ^ c)) :
letI := specLinear (CommRingCat.of (A ⧸ I ^ n))
kernel.map (pullbackModuleDualMap f M) (pullbackModuleDualMap f M)
((ringedSitePullback f).map (a • 𝟙 ((specTilde (CommRingCat.of (A ⧸ I ^ n))).obj
((moduleDual (CommRingCat.of (A ⧸ I ^ n))).obj (op M)))))
(dualModuleSheafMap X ((ringedSitePullback f).map
(a • 𝟙 ((specTilde (CommRingCat.of (A ⧸ I ^ n))).obj M))))
(pullbackModuleDualMap_smul_naturality f M a) = 0
Stacks.LocalCohomology.UniformityIII.IsANCModule.cokernel_map_pullbackModuleDualMap_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DualPullbackSource.lean, line 545. The attribute's comment: “for an (A,n,c)-module M, every a ∈ I^c annihilates the cokernel of can”.
Tag 0GAB, the cokernel of
can. For an(A, n, c)-moduleM,a ∈ I^cand any morphism of ringed sitesf : X ⟶ Spec(A/Iⁿ),aannihilates the cokernel ofcan : p^*(M^∨) ⟶ (p^*M)^∨.
theorem IsANCModule.cokernel_map_pullbackModuleDualMap_eq_zero {X : RingedSite.{u, u, u}}
(f : RingedSite.Hom X (specRingedSite (CommRingCat.of (A ⧸ I ^ n))))
{M : ModuleCat.{u} (A ⧸ I ^ n)} (hM : IsANCModule I n c M) {a : A ⧸ I ^ n}
(ha : a ∈ Ideal.map (Ideal.Quotient.mk (I ^ n)) (I ^ c)) :
letI := specLinear (CommRingCat.of (A ⧸ I ^ n))
cokernel.map (pullbackModuleDualMap f M) (pullbackModuleDualMap f M)
((ringedSitePullback f).map (a • 𝟙 ((specTilde (CommRingCat.of (A ⧸ I ^ n))).obj
((moduleDual (CommRingCat.of (A ⧸ I ^ n))).obj (op M)))))
(dualModuleSheafMap X ((ringedSitePullback f).map
(a • 𝟙 ((specTilde (CommRingCat.of (A ⧸ I ^ n))).obj M))))
(pullbackModuleDualMap_smul_naturality f M a) = 0
Tag 0GAC, a lemma
Tag 0GAC in the Stacks Project.
Stacks.LocalCohomology.UniformityIII.DualSituation.exists_sum_powQuotSmul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DivisibleMaps.lean, line 358. The attribute's comment: “with max(d, 1) in place of d, since at d = 0 the source's own argument reaches only level n - 2c while the source states n - c; its one open input is the level-(n-2c) section σ' of p^*(M^∨) produced by factoring through can, hypothesis hσ”.
Stacks Project, Tag 0GAC. With
q₀ = q(S)andd = d(S), letMbe an(A, n, c)-module andφ : M → Iⁿ/I^{2n}anA-linear map. WriteD = max(d, 1)and assumen ≥ q₀ + (1 + D)candn ≥ (2 + D)c. Then the composition
M --φ--> Iⁿ/I^{2n} → I^{n-(1+D)c}/I^{2n-(1+D)c}is of the form
∑ aᵢψᵢwithaᵢ ∈ I^candψᵢ : M → I^{n-(2+D)c}/I^{2n-(2+D)c}.The levels are carried as parameters so that no truncated subtraction appears in a type:
k + 1 = D,g + c = f,f + kc = eande + 2c = n, so thatf = n - (1 + D)c,g = n - (2 + D)cande = n - 2c; the two numerical hypotheses of the source are the existence ofgas a natural number (n ≥ (2 + D)c) andq₀ ≤ f(n ≥ q₀ + (1 + D)c).Deviation from the source, at
d = 0. The source writesdwhere this statement writesD = max(d, 1), and adds ford = 0the hypothesisn ≥ q₀ + 2c. Ford ≥ 1the two agree exactly. Ford = 0the source's own argument does not reach the level it asserts: it producesσ'at leveln - 2c— the cost of factoring throughcan : p^*(M^∨) → (p^*M)^∨, whose kernel and cokernel are supported onY_c, and which is independent ofd— and then applies clause (4) of Tag 0GAA at that level, which gives no further drop, so the argument ends atn - 2cwhile the statement assertsn - (1 + 0)c = n - c, a discrepancy ofcin the wrong direction. The source's extra hypothesisn ≥ q₀ + 2cford = 0is precisely what makes clause (4) applicable atn - 2c, which corroborates thatn - 2cis the level reached. So ford = 0the levels stated here are the ones the argument supports, namely thed = 1numbers2cand3c; the hypothesisn ≥ 3cthis needs is not implied by the source'sd = 0hypotheses and is therefore part ofn ≥ (2 + D)cabove. Twisting the identity proved here down bycrecovers the source's numbering, so the source'sd = 0form is strictly stronger than what its argument establishes.The one open input. The level-
(n - 2c)sectionσ'is a hypothesis, not a conclusion: producing it is the duality step of the source, which rests on the kernel and cokernel ofcanbeing scheme-theoretically supported onY_c— a statement about the blowup situation thatStacks.SheafOfModules.PullbackDual(Tag 0GAB) explicitly does not prove. Everything after it is derived: the(d-1)cdrop is Tag 0GAA clause (5) ford ≥ 2and clause (4) ford ≤ 1(exists_ev_secM_eq), and the passage from the resulting element ofI^f ⊗_A M^∨to the sum∑ aᵢψᵢisev_secM_mem_divisibleMaps.
theorem exists_sum_powQuotSmul (M : ANCModule I n c)
(φ : resModule I n M.1 →ₗ[A] powQuot I n n) {g f e k : ℕ}
(hgf : g + c = f) (hk : max S.d 1 = k + 1) (he : f + k * c = e) (hen : e + 2 * c = n)
(hq : S.q₀ ≤ f) (σ' : S.H M.dual 0 (e : ℤ))
(hσ : S.ev M e (hq.trans (Nat.le.intro he)) σ' =
(powQuotLe I (Nat.le.intro hen)).comp φ) :
∃ (N : ℕ) (a : Fin N → A) (ha : ∀ i, a i ∈ I ^ c)
(ψ : Fin N → (resModule I n M.1 →ₗ[A] powQuot I g n)),
(powQuotLe I ((Nat.le.intro he).trans (Nat.le.intro hen))).comp φ =
∑ i, (powQuotSmul I (ha i) hgf).comp (ψ i)
Stacks.LocalCohomology.UniformityIII.exists_sum_powQuotSmul_blowup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/DivisibleMapsBlowup.lean, line 66.
Let
Abe a Noetherian ring,I ⊆ Aan ideal,q₀ = q(S)andd = d(S)the integers attached to the blowing up ofSpec(A)inI(qS IandfibreDim I),Man(A, n, c)-module andφ : M → Iⁿ/I^{2n}anA-linear map. Ifn ≥ q₀ + (1 + d)candn ≥ (2 + d)c, then the compositionM → Iⁿ/I^{2n} → I^{n-(1+d)c}/I^{2n-(1+d)c}is of the form∑ aᵢψᵢwithaᵢ ∈ I^candψᵢ : M → I^{n-(2+d)c}/I^{2n-(2+d)c}. No hypothesisn ≥ q₀ + 2cis imposed whend = 0.
theorem exists_sum_powQuotSmul_blowup {n c : ℕ} (M : ANCModule I n c)
(φ : resModule I n M.1 →ₗ[A] powQuot I n n)
(hn₁ : qS I + (1 + fibreDim I) * c ≤ n) (hn₂ : (2 + fibreDim I) * c ≤ n) :
∃ (N : ℕ) (a : Fin N → A) (ha : ∀ i, a i ∈ I ^ c)
(ψ : Fin N → (resModule I n M.1 →ₗ[A] powQuot I (n - (2 + fibreDim I) * c) n)),
(powQuotLe I (Nat.sub_le n ((1 + fibreDim I) * c))).comp φ =
∑ i, (powQuotSmul I (ha i) (show n - (2 + fibreDim I) * c + c =
n - (1 + fibreDim I) * c by
have := two_add_mul_eq (fibreDim I) c; omega)).comp (ψ i)
Tag 0GAD, a lemma
Tag 0GAD in the Stacks Project.
Stacks.LocalCohomology.UniformityIII.ext_one_powQuot_map_eq_zero_blowup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/LocalCohomology/BitUniformityIII/TwoTermExtBoundBlowup.lean, line 84.
Let
Abe a Noetherian ring,I ⊆ Aan ideal, andq₀ = q(S),d = d(S)the integers attached to the blowing up ofSpec(A)inI(qS IandfibreDim I). Letc ≥ 0andn ≥ q₀ + (1 + d)c, and letKbe an object ofD(A/Iⁿ)withHⁱ(K) = 0fori ≠ -1, 0, withH⁻¹(K)andH⁰(K)finite, and such thatExt¹_{A/Iⁿ}(K, N)is annihilated byI^cfor every finiteA/Iⁿ-moduleN. Then the map
Ext¹_{A/Iⁿ}(K, Iⁿ/I^{2n}) ⟶ Ext¹_{A/Iⁿ}(K, I^{n-(1+d)c}/I^{2n-2(1+d)c})induced by the canonical map of coefficients is zero.
The target is written
powQuot I f f = I^f/I^{f+f}withf = n - (1 + d)c, as anA/Iⁿ-module (powQuotObjOfLe); the map is the one induced byIⁿ ⊆ I^f(powQuotToOfLe).
theorem ext_one_powQuot_map_eq_zero_blowup {n c : ℕ}
(hn : qS I + (1 + fibreDim I) * c ≤ n)
(K : DerivedCategory (ModuleCat.{u} (A ⧸ I ^ n)))
(hK : ∀ i : ℤ, i ≠ -1 → i ≠ 0 →
IsZero ((DerivedCategory.homologyFunctor (ModuleCat.{u} (A ⧸ I ^ n)) i).obj K))
(hfin₁ : Module.Finite (A ⧸ I ^ n)
((DerivedCategory.homologyFunctor (ModuleCat.{u} (A ⧸ I ^ n)) (-1)).obj K))
(hfin₀ : Module.Finite (A ⧸ I ^ n)
((DerivedCategory.homologyFunctor (ModuleCat.{u} (A ⧸ I ^ n)) 0).obj K))
(hann : ∀ (N : ModuleCat.{u} (A ⧸ I ^ n)), Module.Finite (A ⧸ I ^ n) N →
∀ a ∈ Ideal.map (Ideal.Quotient.mk (I ^ n)) (I ^ c),
∀ ξ : DerivedCategory.Ext K
((DerivedCategory.singleFunctor (ModuleCat.{u} (A ⧸ I ^ n)) 0).obj N) 1, a • ξ = 0)
(ξ : DerivedCategory.Ext K
((DerivedCategory.singleFunctor (ModuleCat.{u} (A ⧸ I ^ n)) 0).obj (powQuotObj I n n)) 1) :
ξ ≫ (CategoryTheory.shiftFunctor (DerivedCategory (ModuleCat.{u} (A ⧸ I ^ n))) (1 : ℤ)).map
((DerivedCategory.singleFunctor (ModuleCat.{u} (A ⧸ I ^ n)) 0).map
(powQuotToOfLe I (Nat.sub_le n ((1 + fibreDim I) * c)) (by omega)
(Nat.sub_le n ((1 + fibreDim I) * c)))) = 0
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.