38.2 Lemmas on étale… to 38.18 A criterion for purity
Section38.2 Lemmas on étale localization#
Section 38.2 of the Stacks Project, Tag 05FM. 9 tags here are carried by 15 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 057R, a lemma
Tag 057R in the Stacks Project.
Stacks.Etale.exists_etale_lift_of_isClosedImmersion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/LiftAcrossClosedImmersion.lean, line 138.
Let
Z → Xbe a closed immersion of affine schemes and letZ' → Zbe an étale morphism with affine source. Then it is the pullback of an étale morphismX' → Xwith affine source.
theorem exists_etale_lift_of_isClosedImmersion
{Z X Z' : AlgebraicGeometry.Scheme.{u}} (i : Z ⟶ X) (p : Z' ⟶ Z)
[AlgebraicGeometry.IsAffine Z] [AlgebraicGeometry.IsAffine X]
[AlgebraicGeometry.IsAffine Z'] [AlgebraicGeometry.IsClosedImmersion i]
[AlgebraicGeometry.Etale p] :
∃ (X' : AlgebraicGeometry.Scheme.{u}) (f : X' ⟶ X),
AlgebraicGeometry.IsAffine X' ∧ AlgebraicGeometry.Etale f ∧
∃ e : Z' ≅ pullback i f, e.hom ≫ pullback.fst i f = p
Tag 05H2, a lemma
Tag 05H2 in the Stacks Project.
AlgebraicGeometry.etale_stalkBaseChangeMap, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/EtaleBaseChange.lean, line 94.
Stacks Project, Tag 05H2. The morphism between the base changes to the spectrum of a local ring, induced by a commutative square with étale horizontal morphisms, is étale.
lemma etale_stalkBaseChangeMap (f' : X' ⟶ S') (g' : X' ⟶ X)
(g : S' ⟶ S) (f : X ⟶ S) (h : g' ≫ f = f' ≫ g) (s' : S')
[Etale g'] [Etale g] : Etale (stalkBaseChangeMap f' g' g f h s')
Tag 05B9, a lemma
Tag 05B9 in the Stacks Project.
AlgebraicGeometry.isFlatOverAt_comp_iff_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/FlatMorphisms/EtaleBase.lean, line 101. The attribute's comment: “pointwise statement”.
Flatness of a quasi-coherent module at a point is unchanged when the base is replaced by an étale intermediate scheme.
public theorem isFlatOverAt_comp_iff_of_etale [Etale g] (x : X) :
AlgebraicGeometry.IsFlatOverAt (f ≫ g).toLRSHom.toShHom F x ↔
AlgebraicGeometry.IsFlatOverAt f.toLRSHom.toShHom F x
AlgebraicGeometry.isFlatOver_comp_iff_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/FlatMorphisms/EtaleBase.lean, line 149. The attribute's comment: “global statement”.
A quasi-coherent module is flat over the base if and only if it is flat over an étale intermediate scheme.
public theorem isFlatOver_comp_iff_of_etale [Etale g] :
AlgebraicGeometry.IsFlatOver (f ≫ g).toLRSHom.toShHom F ↔
AlgebraicGeometry.IsFlatOver f.toLRSHom.toShHom F
Tag 05BA, a lemma
Tag 05BA in the Stacks Project.
AlgebraicGeometry.flat_stalk_iff_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/FlatMorphisms/EtaleStalk.lean, line 73.
Let
f : T ⟶ Sbe étale, lett : Tand letMbe a module over𝒪_{T,t}. ThenMis flat over𝒪_{S,f(t)}, acting through the map of local rings, if and only if it is flat over𝒪_{T,t}.
theorem flat_stalk_iff_of_etale [Etale f] (t : T) (M : Type*) [AddCommGroup M]
[Module (T.presheaf.stalk t) M] :
letI : Module (S.presheaf.stalk (f t)) M := Module.compHom M (f.stalkMap t).hom
Module.Flat (S.presheaf.stalk (f t)) M ↔ Module.Flat (T.presheaf.stalk t) M
Tag 05VL, a lemma
Tag 05VL in the Stacks Project.
flat_tfae_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/FlatHenselization.lean, line 133. The attribute's comment: “conditions (1)--(3)”. References: SGA 4 VIII (4.1), “more general”; SGA 4 VIII (4.4), “more general”; SGA 4 XVII (5.5.29), “Flatness clause”.
Stacks Project, Tag 05VL, conditions (1)--(3). A module over a henselization with extended residue field is flat over the original local ring if and only if it is flat over the henselization with unchanged residue field, if and only if it is flat over the extended-residue-field henselization. A strict henselization is the case where
Kis a separable closure of the residue field.
theorem flat_tfae_henselization {Msh : Type y} [AddCommGroup Msh] [Module Rsh Msh] :
letI : Module Rh Msh := Module.compHom Msh (algebraMap Rh Rsh)
letI : Module R Msh := Module.compHom Msh (algebraMap R Rsh)
List.TFAE [Module.Flat R Msh, Module.Flat Rh Msh, Module.Flat Rsh Msh]
flat_tfae_baseChange_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/FlatHenselization.lean, line 152. The attribute's comment: “conditions (1)--(5)”.
Stacks Project, Tag 05VL, conditions (1)--(5). If the module over the extended-residue-field henselization is obtained from an
Rh-module by extension of scalars, its three flatness conditions are also equivalent to flatness of the original module overRand overRh.
theorem flat_tfae_baseChange_henselization {Mh : Type y} [AddCommGroup Mh] [Module Rh Mh] :
letI : Module R Mh := Module.compHom Mh (algebraMap R Rh)
letI : Module Rsh (Rsh ⊗[Rh] Mh) := TensorProduct.leftModule
letI : Module Rh (Rsh ⊗[Rh] Mh) := Module.compHom (Rsh ⊗[Rh] Mh) (algebraMap Rh Rsh)
letI : Module R (Rsh ⊗[Rh] Mh) := Module.compHom (Rsh ⊗[Rh] Mh) (algebraMap R Rsh)
List.TFAE [Module.Flat R (Rsh ⊗[Rh] Mh), Module.Flat Rh (Rsh ⊗[Rh] Mh),
Module.Flat Rsh (Rsh ⊗[Rh] Mh), Module.Flat R Mh, Module.Flat Rh Mh]
flat_tfae_iteratedBaseChange_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/FlatHenselization.lean, line 187. The attribute's comment: “conditions (1)--(6)”.
Stacks Project, Tag 05VL, conditions (1)--(6). If the
Rh-module is in turn obtained from anR-module by extension of scalars, all five flatness conditions after base change are equivalent to flatness of the original module overR.
theorem flat_tfae_iteratedBaseChange_henselization {M : Type y} [AddCommGroup M] [Module R M] :
letI : Module Rh (Rh ⊗[R] M) := TensorProduct.leftModule
letI : Module R (Rh ⊗[R] M) := Module.compHom (Rh ⊗[R] M) (algebraMap R Rh)
letI : Module Rsh (Rsh ⊗[Rh] (Rh ⊗[R] M)) := TensorProduct.leftModule
letI : Module Rh (Rsh ⊗[Rh] (Rh ⊗[R] M)) :=
Module.compHom (Rsh ⊗[Rh] (Rh ⊗[R] M)) (algebraMap Rh Rsh)
letI : Module R (Rsh ⊗[Rh] (Rh ⊗[R] M)) :=
Module.compHom (Rsh ⊗[Rh] (Rh ⊗[R] M)) (algebraMap R Rsh)
List.TFAE [Module.Flat R (Rsh ⊗[Rh] (Rh ⊗[R] M)), Module.Flat Rh (Rsh ⊗[Rh] (Rh ⊗[R] M)),
Module.Flat Rsh (Rsh ⊗[Rh] (Rh ⊗[R] M)), Module.Flat R (Rh ⊗[R] M),
Module.Flat Rh (Rh ⊗[R] M), Module.Flat R M]
Tag 0DK0, a lemma
Tag 0DK0 in the Stacks Project.
torAmplitude_tfae_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/TorAmplitudeHenselization.lean, line 983. The attribute's comment: “conditions (1)--(3)”.
Stacks Project, Tag 0DK0, conditions (1)--(3). The tor amplitude of a complex over a henselization with extended residue field is the same whether it is measured over the original local ring, the henselization with unchanged residue field, or the extended-residue-field henselization.
public theorem torAmplitude_tfae_henselization
(Msh : CochainComplex (ModuleCat.{max u uh ush w} Rsh) ℤ) (a b : ℤ) :
List.TFAE
[StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap R Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap Rh Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj Msh) a b]
torAmplitude_tfae_baseChange_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/TorAmplitudeHenselization.lean, line 1029. The attribute's comment: “conditions (1)--(5)”.
Stacks Project, Tag 0DK0, conditions (1)--(5). If the complex over the extended-residue-field henselization is obtained from a complex over
Rhby base change, the preceding three conditions are also equivalent to tor amplitude of the original complex overRand overRh.
public theorem torAmplitude_tfae_baseChange_henselization
(Mh : CochainComplex (ModuleCat.{max u uh ush w} Rh) ℤ) (a b : ℤ) :
let Msh := (CochainComplex.extendScalarsLarge.{max u w, uh, ush}
(algebraMap Rh Rsh)).obj Mh
List.TFAE
[StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap R Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap Rh Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj Msh) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap R Rh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Mh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj Mh) a b]
torAmplitude_tfae_iteratedBaseChange_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/TorAmplitudeHenselization.lean, line 1095. The attribute's comment: “conditions (1)--(6)”.
Stacks Project, Tag 0DK0, conditions (1)--(6). If the complex over
Rhis itself obtained by base change fromR, all five conditions after base change are equivalent to tor amplitude of the original complex overR.
public theorem torAmplitude_tfae_iteratedBaseChange_henselization
(M : CochainComplex (ModuleCat.{max u uh ush w} R) ℤ) (a b : ℤ) :
let Mh := (CochainComplex.extendScalarsLarge.{max ush w, u, uh}
(algebraMap R Rh)).obj M
let Msh := (CochainComplex.extendScalarsLarge.{max u w, uh, ush}
(algebraMap Rh Rsh)).obj Mh
List.TFAE
[StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap R Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap Rh Rsh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Msh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj Msh) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj
(((ModuleCat.restrictScalars (algebraMap R Rh)).mapHomologicalComplex
(ComplexShape.up ℤ)).obj Mh)) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj Mh) a b,
StacksDraft.TorAmplitude.HasTorAmplitudeCanonicalLift
(DerivedCategory.Q.obj M) a b]
Tag 05FN, a lemma
Tag 05FN in the Stacks Project.
AlgebraicGeometry.isWeaklyAssociatedPoint_pullback_iff_of_finite_flat, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/FiniteFlatPullback.lean, line 276.
Stacks Project, Tag 05FN. A point is weakly associated to the pullback of a quasi-coherent module along a finite flat morphism if and only if its image is weakly associated to the original module.
lemma isWeaklyAssociatedPoint_pullback_iff_of_finite_flat
{T S : Scheme.{u}} (g : T ⟶ S) [IsFinite g] [Flat g]
(G : S.Modules) [G.IsQuasicoherent] (t : T) :
Stacks.Divisors.IsWeaklyAssociatedPoint ((Scheme.Modules.pullback g).obj G) t ↔
Stacks.Divisors.IsWeaklyAssociatedPoint G (g.base t)
Tag 05FP, a lemma
Tag 05FP in the Stacks Project.
AlgebraicGeometry.isWeaklyAssociatedPoint_pullback_iff_of_etale, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/EtalePullback.lean, line 239.
Stacks Project, Tag 05FP. A point is weakly associated to the pullback of a quasi-coherent module along an étale morphism if and only if its image is weakly associated to the original module.
lemma isWeaklyAssociatedPoint_pullback_iff_of_etale
{U S : Scheme.{u}} (h : U ⟶ S) [Etale h]
(G : S.Modules) [G.IsQuasicoherent] (x : U) :
Stacks.Divisors.IsWeaklyAssociatedPoint ((Scheme.Modules.pullback h).obj G) x ↔
Stacks.Divisors.IsWeaklyAssociatedPoint G (h.base x)
AlgebraicGeometry.schemeWeaklyAssociatedPoints_eq_preimage_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Spaces/WeaklyAssociatedLocallyFiniteCharts.lean, line 77. The attribute's comment: “the weakly associated points of a scheme etale over another, at the structure sheaf”.
For an étale morphism of schemes
f : X ⟶ Y, the weakly associated points ofXare the preimage underfof the weakly associated points ofY.
theorem schemeWeaklyAssociatedPoints_eq_preimage_of_etale {X Y : Scheme.{u}} (f : X ⟶ Y)
[Etale f] :
Stacks.Divisors.schemeWeaklyAssociatedPoints X =
f.base ⁻¹' Stacks.Divisors.schemeWeaklyAssociatedPoints Y
Tag 0CTU, a lemma
Tag 0CTU in the Stacks Project.
AlgebraicGeometry.weaklyAssociated_tfae_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/EtaleLocalization/Henselization.lean, line 164.
Stacks Project, Tag 0CTU. A point is weakly associated to a quasi-coherent sheaf if and only if the maximal ideal of its stalk is weakly associated to the stalk module; equivalently, the corresponding maximal ideal remains weakly associated after extension to a henselization or a strict henselization.
theorem weaklyAssociated_tfae_henselization
{X : Scheme.{u}} (F : X.Modules) [F.IsQuasicoherent] (x : X)
{Rh Rsh : Type u}
[CommRing Rh] [IsLocalRing Rh] [Algebra (X.presheaf.stalk x) Rh]
[IsHenselization (X.presheaf.stalk x) (ResidueField (X.presheaf.stalk x)) Rh]
[CommRing Rsh] [IsLocalRing Rsh] [Algebra (X.presheaf.stalk x) Rsh]
[Algebra (ResidueField (X.presheaf.stalk x)) (ResidueField Rsh)]
[IsSepClosure (ResidueField (X.presheaf.stalk x)) (ResidueField Rsh)]
[IsHenselization (X.presheaf.stalk x) (ResidueField Rsh) Rsh] :
let F' : PresheafOfModules (X.presheaf ⋙ forget₂ CommRingCat RingCat) := F.val
let M := ↑(TopCat.Presheaf.stalk F'.presheaf x)
letI : Module (X.presheaf.stalk x) M := inferInstance
List.TFAE
[Stacks.Divisors.IsWeaklyAssociatedPoint F x,
IsWeaklyAssociatedPrime (X.presheaf.stalk x) M
(maximalIdeal (X.presheaf.stalk x)),
IsWeaklyAssociatedPrime Rh (TensorProduct (X.presheaf.stalk x) Rh M)
(maximalIdeal Rh),
IsWeaklyAssociatedPrime Rsh (TensorProduct (X.presheaf.stalk x) Rsh M)
(maximalIdeal Rsh)]
Sources
Section38.3 The local structure of a finite type module#
Section 38.3 of the Stacks Project, Tag 057P. 4 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 057Q, a lemma
Tag 057Q in the Stacks Project.
AlgebraicGeometry.exists_finitePresentation_closedSubscheme_fiber_eq_supp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Flat/FiniteTypeModuleLocalStructure.lean, line 264.
[Stacks, Tag 057Q]. Let
f : X ⟶ Sbe a finite type morphism of affine schemes and letFbe a quasi-coherent𝒪_X-module of finite type. For every pointsofSthere is a closed immersioni : Z ⟶ Xof finite presentation and a quasi-coherent finite type𝒪_Z-moduleGwithi_* G ≅ Fwhose fibre oversis the support of the restriction ofFto the fibre ofXovers.The equality of the fibre with the support is an equality of subsets of
X: the image of the fibre ofZis the image of the support of the pullback ofFto the fibre ofX.
theorem exists_finitePresentation_closedSubscheme_fiber_eq_supp {S : Scheme.{u}} (f : X ⟶ S)
[IsAffine X] [IsAffine S] [LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] (s : S) :
∃ (Z : Scheme.{u}) (i : Z ⟶ X) (G : Z.Modules)
(_ : (Scheme.Modules.pushforward i).obj G ≅ F),
IsClosedImmersion i ∧ FinitePresentation i ∧ G.IsQuasicoherent ∧ G.IsFiniteType ∧
Set.range (fun z : (i ≫ f).fiber s => i ((i ≫ f).fiberι s z)) =
f.fiberι s '' SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι s)).obj F)
Tag 057S, a lemma
Tag 057S in the Stacks Project.
AlgebraicGeometry.exists_elementaryDevissage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/ElementaryDevissage.lean, line 811.
Stacks Project, Tag 057S. A finite-type quasi-coherent module admits an elementary dévissage at any point of the support of its fibre.
theorem exists_elementaryDevissage {X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] (x : X)
(hx : f.asFiber x ∈
SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι (f x))).obj F)) :
Nonempty (ElementaryDevissage f F x hx)
Tag 057T, a lemma
Tag 057T in the Stacks Project.
AlgebraicGeometry.ElementaryDevissage.finitePresentation_π, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FinitePresentationTransfer.lean, line 338. The attribute's comment: “finite presentation of π”.
Stacks Project, Tag 057T. The finite morphism
πof an elementary dévissage of a morphism locally of finite presentation is of finite presentation.The composite
Z ⟶ Y ⟶ VequalsZ ⟶ U ⟶ X ⟶ S, which is locally of finite presentation because the closed immersioniis,U ⟶ Xis étale andfis; the structure morphismV ⟶ Sis locally of finite type, so Stacks 02FV strips it off twice and leavesπlocally of finite presentation. A finite morphism is quasi-compact and quasi-separated, soπis of finite presentation.
theorem finitePresentation_π [LocallyOfFinitePresentation f] (D : ElementaryDevissage f F x hx) :
FinitePresentation D.π
AlgebraicGeometry.ElementaryDevissage.isFinitePresentationNear_iff_closed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FinitePresentationTransfer.lean, line 361. The attribute's comment: “equivalence of (1), (2) and (3)”.
Stacks Project, Tag 057T, the equivalence of conditions (1) and (2). In an elementary dévissage,
Fis of finite presentation nearxexactly when the moduleGon the closed subscheme is of finite presentation nearz.Finite presentation near
xpasses to the étale neighbourhoodUand back by Stacks 01BQ and Stacks 05B0; onUthe module isi_* Gby the dévissage isomorphism, and the closed immersioniis finite with singleton fibre, so Stacks 05B4 and Stacks 05B8 exchangei_* GandG.
theorem isFinitePresentationNear_iff_closed [F.IsQuasicoherent]
(D : ElementaryDevissage f F x hx) :
IsFinitePresentationNear F x ↔ IsFinitePresentationNear D.G D.z
AlgebraicGeometry.ElementaryDevissage.isFinitePresentationNear_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FinitePresentationTransfer.lean, line 382. The attribute's comment: “equivalence of (1), (2) and (3)”.
Stacks Project, Tag 057T, the equivalence of conditions (2) and (3). In an elementary dévissage of a morphism locally of finite presentation, the module
Gis of finite presentation nearzexactly when its direct imageπ_* Gis of finite presentation nearπ z.The morphism
πis finite, of finite presentation byAlgebraicGeometry.ElementaryDevissage.finitePresentation_π, and its fibre overπ zis{z}, so this is the transfer across a finite morphism with a singleton fibre.
theorem isFinitePresentationNear_iff_pushforward [LocallyOfFinitePresentation f]
(D : ElementaryDevissage f F x hx) :
IsFinitePresentationNear D.G D.z ↔
IsFinitePresentationNear ((Scheme.Modules.pushforward D.π).obj D.G) (D.π D.z)
AlgebraicGeometry.ElementaryDevissage.finitePresentation_stalk_iff_closed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FinitePresentationTransfer.lean, line 400. The attribute's comment: “equivalence of (a), (b) and (c)”.
Stacks Project, Tag 057T, the equivalence of conditions (a) and (b). In an elementary dévissage the stalk
F_xis a finitely presented𝒪_{X,x}-module exactly when the stalkG_zis a finitely presented𝒪_{Z,z}-module.The étale morphism
U ⟶ Xis flat, so the stalk map𝒪_{X,x} → 𝒪_{U,i z}is a flat local homomorphism and finite presentation of the stalk is unchanged by the pullback; the pullback ofFtoUisi_* G; and the closed immersioniis finite, of finite presentation and has singleton fibre, so Stacks 05B8 and Stacks 0564 exchange(i_* G)_{i z}andG_z.
theorem finitePresentation_stalk_iff_closed (D : ElementaryDevissage f F x hx) :
Module.FinitePresentation (ToType (X.presheaf.stalk x))
(ToType (TopCat.Presheaf.stalk F.val.presheaf x)) ↔
Module.FinitePresentation (ToType (D.Z.presheaf.stalk D.z))
(ToType (TopCat.Presheaf.stalk D.G.val.presheaf D.z))
AlgebraicGeometry.ElementaryDevissage.finitePresentation_stalk_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FinitePresentationTransfer.lean, line 425. The attribute's comment: “equivalence of (a), (b) and (c)”.
Stacks Project, Tag 057T, the equivalence of conditions (b) and (c). In an elementary dévissage of a morphism locally of finite presentation the stalk
G_zis a finitely presented𝒪_{Z,z}-module exactly when the stalk(π_* G)_{π z}is a finitely presented𝒪_{Y,π z}-module.The morphism
πis finite, of finite presentation byAlgebraicGeometry.ElementaryDevissage.finitePresentation_π, and its fibre overπ zis{z}, so this is the transfer of finite presentation of a stalk across a finite morphism with a singleton fibre.
theorem finitePresentation_stalk_iff_pushforward [LocallyOfFinitePresentation f]
(D : ElementaryDevissage f F x hx) :
Module.FinitePresentation (ToType (D.Z.presheaf.stalk D.z))
(ToType (TopCat.Presheaf.stalk D.G.val.presheaf D.z)) ↔
Module.FinitePresentation (ToType (D.Y.presheaf.stalk (D.π D.z)))
(ToType (TopCat.Presheaf.stalk
((Scheme.Modules.pushforward D.π).obj D.G).val.presheaf (D.π D.z)))
Tag 057U, a lemma
Tag 057U in the Stacks Project.
AlgebraicGeometry.ElementaryDevissage.isFlatOverAt_iff_closed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FlatnessTransfer.lean, line 252. The attribute's comment: “equivalence of (a), (b) and (c)”.
Stacks Project, Tag 057U, the equivalence of conditions (a) and (b). In an elementary dévissage the stalk
F_xis flat over𝒪_{S,f x}exactly when the stalkG_zis flat over𝒪_{V,h (π z)}.The étale morphism
U ⟶ Xis flat, so Stacks 02JZ replacesFatxby its pullback toUat the distinguished point; Stacks 05B9 replaces flatness overSby flatness overV; the pullback ofFtoUisi_* G; and the closed immersioniis finite with singleton fibre, so Stacks 05B8 exchanges the stalk ofi_* Gfor the stalk ofG.
theorem isFlatOverAt_iff_closed [F.IsQuasicoherent] (D : ElementaryDevissage f F x hx) :
IsFlatOverAt f.toLRSHom.toShHom F x ↔
IsFlatOverAt (D.π ≫ D.h).toLRSHom.toShHom D.G D.z
AlgebraicGeometry.ElementaryDevissage.isFlatOverAt_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FlatnessTransfer.lean, line 286. The attribute's comment: “equivalence of (a), (b) and (c)”.
Stacks Project, Tag 057U, the equivalence of conditions (b) and (c). In an elementary dévissage the stalk
G_zis flat over𝒪_{V,h (π z)}exactly when the stalk(π_* G)_{π z}is.The morphism
πis finite and its fibre overπ zis{z}, so this is the transfer of flatness over the base at a point across a finite morphism with a singleton fibre.
theorem isFlatOverAt_iff_pushforward (D : ElementaryDevissage f F x hx) :
IsFlatOverAt (D.π ≫ D.h).toLRSHom.toShHom D.G D.z ↔
IsFlatOverAt D.h.toLRSHom.toShHom
((Scheme.Modules.pushforward D.π).obj D.G) (D.π D.z)
AlgebraicGeometry.ElementaryDevissage.isFlatOverNear_iff_closed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FlatnessTransfer.lean, line 302. The attribute's comment: “equivalence of (1), (2) and (3)”.
Stacks Project, Tag 057U, the equivalence of conditions (1) and (2). In an elementary dévissage,
Fis flat overSnearxexactly whenGis flat overVnearz.The étale morphism
U ⟶ Xis flat and open, so Stacks 02JZ transfers flatness over the base nearxto flatness of the pullback near the distinguished point ofU; Stacks 05B9 interchanges flatness overSand overV; the pullback isi_* G; and the closed immersioniis finite with singleton fibre, so Stacks 0FLM and Stacks 05B8 exchangei_* GandG.
theorem isFlatOverNear_iff_closed [F.IsQuasicoherent] (D : ElementaryDevissage f F x hx) :
IsFlatOverNear f F x ↔ IsFlatOverNear (D.π ≫ D.h) D.G D.z
AlgebraicGeometry.ElementaryDevissage.isFlatOverNear_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/FlatnessTransfer.lean, line 324. The attribute's comment: “equivalence of (1), (2) and (3)”.
Stacks Project, Tag 057U, the equivalence of conditions (2) and (3). In an elementary dévissage,
Gis flat overVnearzexactly whenπ_* Gis flat overVnearπ z.The morphism
πis finite and its fibre overπ zis{z}, so this is the transfer of flatness over the base near a point across a finite morphism with a singleton fibre.
theorem isFlatOverNear_iff_pushforward (D : ElementaryDevissage f F x hx) :
IsFlatOverNear (D.π ≫ D.h) D.G D.z ↔
IsFlatOverNear D.h ((Scheme.Modules.pushforward D.π).obj D.G) (D.π D.z)
Sources
Section38.4 One step dévissage#
Section 38.4 of the Stacks Project, Tag 05H3. 9 tags here are carried by 14 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05H4, a definition
Tag 05H4 in the Stacks Project.
AlgebraicGeometry.OneStepDevissage, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep.lean, line 77.
A one-step dévissage of
F/X/Sovers.
structure OneStepDevissage {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (s : S)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
Tag 05H5, a definition
Tag 05H5 in the Stacks Project.
AlgebraicGeometry.OneStepDevissageAt, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep.lean, line 110.
A one-step dévissage of
F/X/Satx.
structure OneStepDevissageAt {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
Tag 05H6, a lemma
Tag 05H6 in the Stacks Project.
AlgebraicGeometry.exists_etaleNeighborhood_oneStepDevissageAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/EtaleNeighborhoodOneStep.lean, line 260.
Stacks Project, Tag 05H6. A finite-type quasi-coherent module supported at a point of a fibre admits a one-step dévissage there after elementary étale neighbourhoods of the point and of its image.
theorem exists_etaleNeighborhood_oneStepDevissageAt {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] (F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] (x : X)
(hx : f.asFiber x ∈
SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι (f x))).obj F)) :
∃ (U : EtaleNeighborhood X x) (V : EtaleNeighborhood S (f x)) (h : U.scheme ⟶ V.scheme),
U.IsElementary ∧ V.IsElementary ∧ (U.toBase ≫ f = h ≫ V.toBase) ∧
(h U.point = V.point) ∧
∃ (hft : LocallyOfFiniteType h)
(hq : ((Scheme.Modules.pullback U.toBase).obj F).IsQuasicoherent)
(hf : ((Scheme.Modules.pullback U.toBase).obj F).IsFiniteType),
letI : LocallyOfFiniteType h := hft
letI : ((Scheme.Modules.pullback U.toBase).obj F).IsQuasicoherent := hq
letI : ((Scheme.Modules.pullback U.toBase).obj F).IsFiniteType := hf
Nonempty (OneStepDevissageAt h
((Scheme.Modules.pullback U.toBase).obj F) U.point)
AlgebraicGeometry.exists_etaleNeighborhood_oneStepDevissageAt_iff_mem_fiber_supp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/EtaleNeighborhoodOneStep.lean, line 551.
Stacks Project, Tag 05H6, in sharp form. The elementary étale neighbourhoods of
(X, x)and of(S, f x)over which the pullback ofFacquires a one-step dévissage at the distinguished point exist exactly whenxlies in the support of the restriction ofFto the fibre offthroughx.The forward implication is the converse of the source's lemma; it holds because a one-step dévissage at a point records that the point lies in the support of the module on its fibre (
AlgebraicGeometry.OneStepDevissageAt.mem_supp), and the support of the pullback ofFto an étale neighbourhood is the inverse image of the support ofF.
theorem exists_etaleNeighborhood_oneStepDevissageAt_iff_mem_fiber_supp {X S : Scheme.{u}}
(f : X ⟶ S) [LocallyOfFiniteType f] (F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent]
(x : X) :
(∃ (U : EtaleNeighborhood X x) (V : EtaleNeighborhood S (f x)) (h : U.scheme ⟶ V.scheme),
U.IsElementary ∧ V.IsElementary ∧ (U.toBase ≫ f = h ≫ V.toBase) ∧
(h U.point = V.point) ∧
∃ (hft : LocallyOfFiniteType h)
(hq : ((Scheme.Modules.pullback U.toBase).obj F).IsQuasicoherent)
(hf : ((Scheme.Modules.pullback U.toBase).obj F).IsFiniteType),
letI : LocallyOfFiniteType h := hft
letI : ((Scheme.Modules.pullback U.toBase).obj F).IsQuasicoherent := hq
letI : ((Scheme.Modules.pullback U.toBase).obj F).IsFiniteType := hf
Nonempty (OneStepDevissageAt h
((Scheme.Modules.pullback U.toBase).obj F) U.point)) ↔
f.asFiber x ∈
SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι (f x))).obj F)
Tag 05H7, a lemma
Tag 05H7 in the Stacks Project.
AlgebraicGeometry.OneStepDevissage.baseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/BaseChange.lean, line 245.
Stacks Project, Tag 05H7. A one-step dévissage and all its presenting data persist under base change to a pointed affine scheme.
def baseChange {X S S' : Scheme.{u}} (f : X ⟶ S) (F : X.Modules)
(s : S) (s' : S') (h : S' ⟶ S) (hs : h s' = s)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType] [IsAffine S']
(D : OneStepDevissage f F s) :
BaseChangeData f F s s' h hs D
Tag 05H8, a lemma
Tag 05H8 in the Stacks Project.
AlgebraicGeometry.OneStepDevissageAt.exists_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/BaseChangeAt.lean, line 481.
Stacks Project, Tag 05H8. A one-step dévissage at a point survives an affine pointed base change which induces an isomorphism of residue fields: for the unique points
x',z',y'of the base-changed schemes lying over the original distinguished points and over the new base point, the base-changed dévissage is a one-step dévissage atx'with distinguished pointsz'andy'.
theorem exists_baseChange {X S S' : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : OneStepDevissageAt f F x)
(s' : S') (h : S' ⟶ S) (hs : h s' = f x) [IsAffine S']
[IsIso ((S.residueFieldCongr hs).inv ≫ h.residueFieldMap s')]
(B : OneStepDevissage.BaseChangeData f F (f x) s' h hs D.toOneStepDevissage) :
letI := B.locallyOfFiniteType
letI := B.quasicoherent
letI := B.finiteType
∀ (x' : ↥(pullback f h)) (_ : pullback.fst f h x' = x)
(_ : pullback.snd f h x' = s') (z' : B.devissage.Z) (_ : B.pZ z' = D.z)
(_ : (B.devissage.π ≫ B.devissage.g) z' = s') (y' : B.devissage.Y)
(_ : B.pY y' = D.y) (_ : B.devissage.g y' = s'),
∃ E : OneStepDevissageAt (pullback.snd f h)
((Scheme.Modules.pullback (pullback.fst f h)).obj F) x',
HEq E.toOneStepDevissage B.devissage ∧ HEq E.z z' ∧ HEq E.y y'
AlgebraicGeometry.OneStepDevissageAt.exists_baseChange_of_affine, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/BaseChangeAtPoints.lean, line 130.
Stacks Project, Tag 05H8. A one-step dévissage at a point survives an affine pointed base change which induces an isomorphism of residue fields: the base change of the dévissage constructed in
AlgebraicGeometry.OneStepDevissage.baseChangeis a one-step dévissage at the unique pointx'of the base-changed source lying overxand over the new base point, with distinguished points the unique pointsz'andy'of the base-changed closed subscheme and smooth scheme lying overzandyand over the new base point.
theorem exists_baseChange_of_affine {X S S' : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : OneStepDevissageAt f F x)
(s' : S') (h : S' ⟶ S) (hs : h s' = f x) [IsAffine S']
[IsIso ((S.residueFieldCongr hs).inv ≫ h.residueFieldMap s')] :
let B := OneStepDevissage.baseChange f F (f x) s' h hs D.toOneStepDevissage
letI := B.locallyOfFiniteType
letI := B.quasicoherent
letI := B.finiteType
∃ (x' : ↥(pullback f h)) (z' : B.devissage.Z) (y' : B.devissage.Y)
(E : OneStepDevissageAt (pullback.snd f h)
((Scheme.Modules.pullback (pullback.fst f h)).obj F) x'),
((pullback.fst f h x' = x ∧ pullback.snd f h x' = s') ∧
∀ w : ↥(pullback f h), pullback.fst f h w = x → pullback.snd f h w = s' → w = x') ∧
((B.pZ z' = D.z ∧ (B.devissage.π ≫ B.devissage.g) z' = s') ∧
∀ w : B.devissage.Z, B.pZ w = D.z →
(B.devissage.π ≫ B.devissage.g) w = s' → w = z') ∧
((B.pY y' = D.y ∧ B.devissage.g y' = s') ∧
∀ w : B.devissage.Y, B.pY w = D.y → B.devissage.g w = s' → w = y') ∧
HEq E.toOneStepDevissage B.devissage ∧ HEq E.z z' ∧ HEq E.y y'
Tag 05H9, a definition
Tag 05H9 in the Stacks Project.
AlgebraicGeometry.OneStepDevissageAt.StandardShrinking, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep.lean, line 145.
A standard shrinking of a one-step dévissage at
x.
structure StandardShrinking {X S : Scheme.{u}} (f : X ⟶ S)
(F : X.Modules) (x : X) [LocallyOfFiniteType f]
[F.IsQuasicoherent] [F.IsFiniteType]
(D : OneStepDevissageAt f F x)
Tag 05HA, a lemma
Tag 05HA in the Stacks Project.
AlgebraicGeometry.exists_standardShrinking_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/Shrinking.lean, line 470. The attribute's comment: “part (1)”.
Stacks Tag 05HA, part (1). Restricting a one-step dévissage at
xto a principal open neighbourhoodVoff xin the base is a standard shrinking, whose other three opens are the inverse images ofV.
theorem exists_standardShrinking_base {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType] (D : OneStepDevissageAt f F x)
(V : S.Opens) (a : Γ(S, ⊤)) (hV : V = S.basicOpen a) (hs : f x ∈ V) :
∃ E : D.StandardShrinking, E.S' = V ∧ E.X' = f ⁻¹ᵁ V ∧
E.Z' = (D.toOneStepDevissage.i ≫ f) ⁻¹ᵁ V ∧ E.Y' = D.toOneStepDevissage.g ⁻¹ᵁ V
AlgebraicGeometry.exists_standardShrinking_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/Shrinking.lean, line 495. The attribute's comment: “part (2)”.
Stacks Tag 05HA, part (2). Given a principal open neighbourhood
Wof the distinguished pointyof the smooth scheme, there is a standard shrinking whose smooth open isWcut down to the inverse image of the new base.
theorem exists_standardShrinking_smooth {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType] (D : OneStepDevissageAt f F x)
(W : D.toOneStepDevissage.Y.Opens) (a : Γ(D.toOneStepDevissage.Y, ⊤))
(hW : W = D.toOneStepDevissage.Y.basicOpen a) (hy : D.y ∈ W) :
∃ E : D.StandardShrinking, E.Y' = W ⊓ (D.toOneStepDevissage.g ⁻¹ᵁ E.S')
AlgebraicGeometry.exists_standardShrinking_source, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/Shrinking.lean, line 507. The attribute's comment: “part (3)”.
Stacks Tag 05HA, part (3). Given any open neighbourhood
Uofx, there is a standard shrinking whose source open lies insideU.
theorem exists_standardShrinking_source {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType] (D : OneStepDevissageAt f F x)
(U : X.Opens) (hx : x ∈ U) : ∃ E : D.StandardShrinking, E.X' ≤ U
Tag 05HE, a lemma
Tag 05HE in the Stacks Project.
AlgebraicGeometry.exists_oneStepDevissageAt_of_etaleNeighborhood, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Glueing.lean, line 630.
Stacks Project, Tag 05HE. A one-step dévissage at a point can be pulled through a compatible pair of elementary étale neighbourhoods of the base and of the smooth scheme, after a further elementary étale localization of the base: the new smooth scheme is an open subscheme of the base change of the given neighbourhood, the new closed subscheme is the base change of the old one, and the new module is the pullback of the old one.
theorem exists_oneStepDevissageAt_of_etaleNeighborhood
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : OneStepDevissageAt f F x)
(U : EtaleNeighborhood S (f x)) (hU : U.IsElementary)
(V : EtaleNeighborhood D.toOneStepDevissage.Y D.y)
(hV : V.IsElementary) (h : V.scheme ⟶ U.scheme)
(hcomm : V.toBase ≫ D.toOneStepDevissage.g = h ≫ U.toBase)
(hpoint : h V.point = U.point) :
∃ (W : EtaleNeighborhood U.scheme U.point)
(_ : W.IsElementary)
(A : EtaleNeighborhood X x) (_ : A.IsElementary)
(b : A.scheme ⟶ W.scheme),
b A.point = W.point ∧
A.toBase ≫ f = b ≫ W.toBase ≫ U.toBase ∧
∃ (hl : LocallyOfFiniteType b)
(hq : ((Scheme.Modules.pullback A.toBase).obj F).IsQuasicoherent)
(ht : ((Scheme.Modules.pullback A.toBase).obj F).IsFiniteType),
letI := hl
letI := hq
letI := ht
∃ (D' : OneStepDevissageAt b ((Scheme.Modules.pullback A.toBase).obj F) A.point)
(j : D'.toOneStepDevissage.Y ⟶ pullback h W.toBase)
(p : D'.toOneStepDevissage.Z ⟶ D.toOneStepDevissage.Z),
IsOpenImmersion j ∧
D'.toOneStepDevissage.g = j ≫ pullback.snd h W.toBase ∧
(j ≫ pullback.fst h W.toBase) D'.y = V.point ∧
p D'.z = D.z ∧
D'.toOneStepDevissage.i ≫ A.toBase =
p ≫ D.toOneStepDevissage.i ∧
IsPullback p D'.toOneStepDevissage.i D.toOneStepDevissage.i
A.toBase ∧
IsPullback p D'.toOneStepDevissage.π D.toOneStepDevissage.π
(j ≫ pullback.fst h W.toBase ≫ V.toBase) ∧
Nonempty (D'.toOneStepDevissage.G ≅
(Scheme.Modules.pullback p).obj D.toOneStepDevissage.G)
Tag 05HF, a lemma
Tag 05HF in the Stacks Project.
AlgebraicGeometry.exists_freeMap_isIso_genericFiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/FreeMap.lean, line 591. The attribute's comment: “existence of the generically invertible map”.
Stacks 05HF, first assertion. For a one-step dévissage, a free
𝒪_Y-module of positive finite rank maps to the direct imageπ_* Gby a map that becomes an isomorphism over the residue field of the image inYof a point of the fibre ofgovers.
theorem exists_freeMap_isIso_genericFiber :
∃ (r : ℕ) (_ : 0 < r)
(α : SheafOfModules.free (R := D.Y.ringCatSheaf) (ULift.{u} (Fin r)) ⟶
(Scheme.Modules.pushforward D.π).obj D.G),
IsIso ((Scheme.Modules.pullback
(D.Y.fromSpecResidueField (D.g.fiberι s ξ))).map α)
AlgebraicGeometry.dim_support_cokernel_fiber_lt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/OneStep/FreeMap.lean, line 644. The attribute's comment: “dimension of the cokernel support”.
Stacks 05HF, second assertion. If a map into the direct image
π_* Gof a one-step dévissage becomes an isomorphism over the residue field of the image inYof a point of the fibre ofgovers, then the fibre oversof the support of its cokernel has strictly smaller dimension than the fibre oversof the support ofF.
theorem dim_support_cokernel_fiber_lt {P : D.Y.Modules}
(α : P ⟶ (Scheme.Modules.pushforward D.π).obj D.G)
(hα : IsIso ((Scheme.Modules.pullback
(D.Y.fromSpecResidueField (D.g.fiberι s ξ))).map α)) :
topologicalKrullDim
(SheafOfModules.supp ((Scheme.Modules.pullback (D.g.fiberι s)).obj (cokernel α))) <
topologicalKrullDim
(SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι s)).obj F))
Sources
Section38.5 Complete dévissage#
Section 38.5 of the Stacks Project, Tag 05HG. 8 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05HH, a definition
Tag 05HH in the Stacks Project.
AlgebraicGeometry.CompleteDevissage, an inductive in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete.lean, line 151.
A complete dévissage of
F/X/Sovers: either the empty dévissage, which exists precisely for the zero module, or a finite nonempty chain of stages.
inductive CompleteDevissage {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (s : S)
[hl : LocallyOfFiniteType f] [hq : F.IsQuasicoherent] [ht : F.IsFiniteType]
Tag 05HI, a definition
Tag 05HI in the Stacks Project.
AlgebraicGeometry.CompleteDevissageAt, an inductive in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete.lean, line 212.
A complete dévissage of
F/X/Satx: either the empty dévissage, which exists precisely for the zero module, or a nonempty chain of stages with compatible distinguished points.
inductive CompleteDevissageAt {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[hl : LocallyOfFiniteType f] [hq : F.IsQuasicoherent] [ht : F.IsFiniteType]
Tag 05HJ, a lemma
Tag 05HJ in the Stacks Project.
AlgebraicGeometry.exists_completeDevissage_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/BaseChange.lean, line 410.
Stacks 05HJ. A complete dévissage of
F/X/Soversbase-changes, stage by stage, to a complete dévissage of the base-changed module overs', for any cartesian square whose new base is affine.
theorem exists_completeDevissage_baseChange {X X' : Scheme.{u}} {f : X ⟶ S} {f' : X' ⟶ S'}
{F : X.Modules} {F' : X'.Modules} (hs : h s' = s) [IsAffine S'] [LocallyOfFiniteType f]
[F.IsQuasicoherent] [F.IsFiniteType] [LocallyOfFiniteType f'] [F'.IsQuasicoherent]
[F'.IsFiniteType] (D : NonemptyCompleteDevissage f F s) (pX : X' ⟶ X)
(hX : IsPullback pX f' f h) (eF : (Scheme.Modules.pullback pX).obj F ≅ F') :
∃ D' : NonemptyCompleteDevissage f' F' s', ChainIsBaseChange h pX D.chain D'.chain
Tag 05HK, a lemma
Tag 05HK in the Stacks Project.
AlgebraicGeometry.CompleteDevissageAt.exists_isBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/BaseChangeAt.lean, line 349.
Stacks 05HK. Let
(S', s') → (S, s)be a morphism of pointed schemes inducing an isomorphism of residue fields, withS'affine, letX'be the base change ofXandF'the pullback ofF, and letx' ∈ X'lie overx ∈ Xands'(sos = f x,s' = f' x'). Then every complete dévissage ofF/X/Satxbase-changes, stage by stage as in Stacks 05HJ, to a complete dévissage ofF'/X'/S'atx'whose distinguished points lie over the original ones. The finiteness properties off'andF'are derived from the base change, not assumed.
theorem CompleteDevissageAt.exists_isBaseChange {h : S' ⟶ S} [IsAffine S']
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(hres : IsIso (h.residueFieldMap (f' x'))) (pX : X' ⟶ X) (hX : IsPullback pX f' f h)
(eF : (Scheme.Modules.pullback pX).obj F ≅ F') (hx : pX x' = x)
(D : CompleteDevissageAt f F x) :
haveI := locallyOfFiniteType_of_isPullback hX
haveI := isQuasicoherent_of_iso_pullback eF
haveI := isFiniteType_of_iso_pullback eF
∃ D' : CompleteDevissageAt f' F' x', D.IsBaseChange h pX D'
Tag 05HL, a definition
Tag 05HL in the Stacks Project.
AlgebraicGeometry.NonemptyCompleteDevissageAt.StandardShrinking, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/StandardShrinking.lean, line 195.
A standard shrinking of a complete dévissage of
F/X/Satx: standard opens of the base and of the source, and standard opens in every stage, containing the distinguished points, whose restricted system is again a complete dévissage atx.
structure StandardShrinking {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : NonemptyCompleteDevissageAt f F x)
Tag 05HM, a lemma
Tag 05HM in the Stacks Project.
AlgebraicGeometry.exists_standardShrinking_finalTarget, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/ShrinkingFinalTarget.lean, line 339. The attribute's comment: “final_target_shrinking”.
Stacks 05HM, final target shrinking. Let
Wbe a principal open neighbourhood of the distinguished point of the smooth scheme of the last stage of a complete dévissage ofF/X/Satx. Then there is a standard shrinking of the dévissage whose last smooth open isWcut down to the inverse image of the new base.
theorem exists_standardShrinking_finalTarget {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules)
(x : X) [LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : NonemptyCompleteDevissageAt f F x) (W : (finalTargetScheme D.pointed).Opens)
(a : Γ(finalTargetScheme D.pointed, ⊤))
(hW : W = (finalTargetScheme D.pointed).basicOpen a)
(hy : finalTargetPoint D.pointed ∈ W) :
∃ E : NonemptyCompleteDevissageAt.StandardShrinking f F x D,
letI := E.locally_finite_type
letI := E.quasi_coherent
letI := E.finite_type
FinalTargetIsBaseRestriction E.S'.ι E.S' D.pointed E.restricted_devissage.pointed
E.restricted_stages W
AlgebraicGeometry.NonemptyCompleteDevissageAt.exists_standardShrinking_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/ShrinkingOverBase.lean, line 169. The attribute's comment: “base_shrinking”.
Stacks 05HM, base shrinking. Restricting a complete dévissage at
xover a standard open neighbourhood off xgives a standard shrinking whose base and source are that open and its inverse image, and all of whose stages are the corresponding base changes.
theorem exists_standardShrinking_base {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : NonemptyCompleteDevissageAt f F x)
(V : S.Opens) (a : Γ(S, ⊤)) (hV : V = S.basicOpen a) (hs : f x ∈ V) :
∃ E : NonemptyCompleteDevissageAt.StandardShrinking f F x D,
E.S' = V ∧ E.X' = f ⁻¹ᵁ V ∧
(letI := E.locally_finite_type
letI := E.quasi_coherent
letI := E.finite_type
PointedChainIsBaseChange E.S'.ι E.X'.ι D.pointed E.restricted_devissage.pointed)
AlgebraicGeometry.NonemptyCompleteDevissageAt.exists_standardShrinking_source, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/ShrinkingSource.lean, line 101. The attribute's comment: “source_shrinking”.
Stacks 05HM, source shrinking. A complete dévissage of
F/X/Satxadmits a standard shrinking whose source open lies inside any prescribed open neighbourhood ofx.
theorem exists_standardShrinking_source {X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFiniteType f] [F.IsQuasicoherent] [F.IsFiniteType]
(D : NonemptyCompleteDevissageAt f F x) (U : X.Opens) (hx : x ∈ U) :
∃ E : NonemptyCompleteDevissageAt.StandardShrinking f F x D, E.X' ≤ U
Tag 05HR, a proposition
Tag 05HR in the Stacks Project.
AlgebraicGeometry.hasEtaleNeighborhoodCompleteDevissageAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/Existence.lean, line 619.
Stacks Project, Tag 05HR. A finite-type quasi-coherent module on a scheme locally of finite type over
Sacquires a complete dévissage at any chosen point after elementary étale neighbourhoods of that point and of its image.The induction is a well-founded recursion on
AlgebraicGeometry.fiberSupportDim, which takes values in the well-founded orderWithBot ℕ∞.
theorem hasEtaleNeighborhoodCompleteDevissageAt {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] (F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType] (x : X) :
HasEtaleNeighborhoodCompleteDevissageAt f F x
Tag 05HU, a lemma
Tag 05HU in the Stacks Project.
AlgebraicGeometry.exists_etaleNeighborhood_completeDevissage_cover, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/Existence.lean, line 1041.
Stacks Project, Tag 05HU. Let
X ⟶ Sbe a finite-type morphism of schemes andFa finite-type quasi-coherent module onX. For every pointsofSthere is an elementary étale neighbourhood(S', s') ⟶ (S, s)and finitely many étale morphismshᵢ : Yᵢ ⟶ X ×_S S'whose images cover the fibre(X ×_S S')_{s'} = X_s, such that the pullback ofFto eachYᵢhas a complete dévissage alongYᵢ ⟶ S'overs'.
theorem exists_etaleNeighborhood_completeDevissage_cover {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules) [F.IsQuasicoherent]
[F.IsFiniteType] (s : S) :
∃ (S' : EtaleNeighborhood S s) (_ : S'.IsElementary) (n : ℕ) (Y : Fin n → Scheme.{u})
(h : ∀ i, Y i ⟶ pullback f S'.toBase) (_ : ∀ i, Etale (h i))
(hl : ∀ i, LocallyOfFiniteType (h i ≫ pullback.snd f S'.toBase))
(hq : ∀ i, ((Scheme.Modules.pullback
(h i ≫ pullback.fst f S'.toBase)).obj F).IsQuasicoherent)
(ht : ∀ i, ((Scheme.Modules.pullback
(h i ≫ pullback.fst f S'.toBase)).obj F).IsFiniteType),
(∀ i, Nonempty (@CompleteDevissage _ _ (h i ≫ pullback.snd f S'.toBase)
((Scheme.Modules.pullback (h i ≫ pullback.fst f S'.toBase)).obj F) S'.point
(hl i) (hq i) (ht i))) ∧
pullback.snd f S'.toBase ⁻¹' {S'.point} ⊆ ⋃ i, Set.range (h i)
Sources
Section38.6 Translation into algebra#
Section 38.6 of the Stacks Project, Tag 05HV. 6 tags here are carried by 15 declarations of the repository (all in StacksFrontier) and 3 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05HW, a definition
Tag 05HW in the Stacks Project.
Algebra.ElementaryEtaleLocalization, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ElementaryEtaleNeighborhood.lean, line 70.
An elementary étale localization of
R → Sat a primeqlying overp.The rings
R'andS', their structure maps, andcommutesform the square of the definition. The primesp'andq'lie over the indicated primes, and the canonical residue-field maps are isomorphisms.
public structure Algebra.ElementaryEtaleLocalization (R : Type u) (S : Type v)
[CommRing R] [CommRing S]
[Algebra R S] (p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p]
Tag 05HX, a definition
Tag 05HX in the Stacks Project.
Module.CompleteDevissage, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/CompleteDevissage.lean, line 89.
A complete dévissage of a finite
S-moduleNover a prime idealrofR.There are
stepCount + 1stages. At stagei,A iandB iareR-algebras,M iis a finiteA i-module, andalpha imaps a finite freeB i-module toM iviewed as aB i-module throughtoLeft i. The mapstoRightconnect consecutive stages.
public structure CompleteDevissage (R : Type u) (S : Type v) (N : Type w) [CommRing R]
[CommRing S] [Algebra R S] [Algebra.FiniteType R S] [AddCommGroup N] [Module S N]
[Module.Finite S N] (r : Ideal R) [r.IsPrime]
Ideal.isPrime_map_of_smooth_of_geometricallyIrreducible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/GeometricallyIrreducibleFibres.lean, line 66. The attribute's comment: “the prime of the lower algebra”.
Stacks Project, Tag 05HX. If
R → Bis smooth and the fibres ofSpec B → Spec Rare geometrically irreducible, then the ideal generated by a primerofRinBis prime. It is the generic point of the fibre overr.
theorem Ideal.isPrime_map_of_smooth_of_geometricallyIrreducible
(R B : Type u) [CommRing R] [CommRing B] [Algebra R B] [Algebra.Smooth R B]
[GeometricallyIrreducible (Spec.map (CommRingCat.ofHom (algebraMap R B)))]
(r : Ideal R) [r.IsPrime] : (Ideal.map (algebraMap R B) r).IsPrime
Tag 05HY, a remark
Tag 05HY in the Stacks Project.
Module.CompleteDevissage.upperAlgebra_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 81. The attribute's comment: “finite presentation of the upper algebras after the first”.
Except for the first one, every upper algebra in a complete dévissage is finitely presented over the base.
public theorem upperAlgebra_finitePresentation (D : CompleteDevissage R S N r)
(i : Fin D.stepCount) :
Algebra.FinitePresentation R (D.A i.succ)
Module.CompleteDevissage.initialUpperAlgebra_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 92. The attribute's comment: “finite presentation of the first upper algebra”.
If the original algebra is finitely presented over the base, so is the first upper algebra in a complete dévissage.
public theorem initialUpperAlgebra_finitePresentation [Algebra.FinitePresentation R S]
(D : CompleteDevissage R S N r) :
Algebra.FinitePresentation R (D.A 0)
Module.CompleteDevissage.left_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 103. The attribute's comment: “finite presentation of the maps in the dévissage”.
When the original algebra is finitely presented over the base, every same-stage map
B i → A iin a complete dévissage is finitely presented.
public theorem left_finitePresentation [Algebra.FinitePresentation R S]
(D : CompleteDevissage R S N r) (i : Fin (D.stepCount + 1)) :
(D.toLeft i).toRingHom.FinitePresentation
Module.CompleteDevissage.finitePresentation_iff_initial_over_upper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 120. The attribute's comment: “equivalence of conditions (1) and (2)”.
Condition (1) of Tag 05HY is equivalent to condition (2): finite presentation of the original module is equivalent to finite presentation of the first stage over its upper algebra.
public theorem finitePresentation_iff_initial_over_upper [Algebra.FinitePresentation R S]
(D : CompleteDevissage R S N r) :
Module.FinitePresentation S N ↔ Module.FinitePresentation (D.A 0) (D.M 0)
Module.CompleteDevissage.finitePresentation_iff_initial_over_lower, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 142. The attribute's comment: “equivalence of conditions (2) and (3)”.
Conditions (2) and (3) of Tag 05HY are equivalent: at the first stage, finite presentation over the upper algebra is equivalent to finite presentation after restriction of scalars to the lower algebra.
public theorem finitePresentation_iff_initial_over_lower [Algebra.FinitePresentation R S]
(D : CompleteDevissage R S N r) :
letI : Module (D.B 0) (D.M 0) :=
Module.compHom (D.M 0) (D.toLeft 0).toRingHom
Module.FinitePresentation (D.A 0) (D.M 0) ↔
Module.FinitePresentation (D.B 0) (D.M 0)
Module.CompleteDevissage.finitePresentation_iff_all_stages, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 153. The attribute's comment: “equivalence of conditions (3) and (4)”.
Condition (3) of Tag 05HY is equivalent to condition (4): finite presentation at the first lower algebra propagates precisely to finite presentation over both algebras at every stage.
public theorem finitePresentation_iff_all_stages [Algebra.FinitePresentation R S]
(D : CompleteDevissage R S N r) :
letI : Module (D.B 0) (D.M 0) :=
Module.compHom (D.M 0) (D.toLeft 0).toRingHom
Module.FinitePresentation (D.B 0) (D.M 0) ↔
∀ i : Fin (D.stepCount + 1),
Module.FinitePresentation (D.A i) (D.M i) ∧
letI : Module (D.B i) (D.M i) :=
Module.compHom (D.M i) (D.toLeft i).toRingHom
Module.FinitePresentation (D.B i) (D.M i)
Declarations registered for the tag:
Module.CompleteDevissage.initial_finitePresentationregistered withadd_to_stacksin StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 54 (StacksFrontier): “finite presentation of the initial map”.Module.CompleteDevissage.transition_finitePresentationregistered withadd_to_stacksin StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 57 (StacksFrontier): “finite presentation of the transition maps”.Algebra.Smooth.finitePresentationregistered withadd_to_stacksin StacksFrontier/RingTheory/Flat/DevissageElementaryNeighborhood.lean, line 60 (StacksFrontier): “finite presentation of the lower algebras”.
Tag 05HZ, a definition
Tag 05HZ in the Stacks Project.
Module.CompleteDevissageAt, an inductive in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/CompleteDevissage.lean, line 328.
A complete dévissage at
qis either the empty dévissage of the zero module, or a nonempty dévissage with the prime and dimension conditions of Stacks 05HZ.
public inductive CompleteDevissageAt (R : Type u) (S : Type v) (N : Type w)
[CommRing R] [CommRing S] [Algebra R S] [Algebra.FiniteType R S]
[AddCommGroup N] [Module S N] [Module.Finite S N]
(q : Ideal S) [q.IsPrime]
Tag 05I0, a remark
Tag 05I0 in the Stacks Project.
Module.nonempty_completeDevissage_of_completeDevissage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/AlgebraTranslation.lean, line 178. The attribute's comment: “(1): a geometric complete dévissage over a point gives an algebraic one”.
Stacks Project, Tag 05I0, item (1).
Let
f : X ⟶ Sbe locally of finite type between affine schemes, letℱbe a quasi-coherent𝒪_X-module of finite type and lets : Scorrespond to the primerofΓ(S, ⊤). If there exists a complete dévissage ofℱ/X/Sovers, then there exists a complete dévissage ofΓ(ℱ, ⊤)/Γ(X, ⊤)/Γ(S, ⊤)overr.Taking
X = Spec B,S = Spec Aandℱ = Ñrecovers the statement of the source, whoseNisΓ(ℱ, ⊤). Remark 05I0 states this item as an implication and nothing more, and says why: the definition of a complete dévissage ofN/B/Aoverr, Stacks 05HX, omits the condition on the relative dimension that Stacks 05H4 (5) puts on the smooth scheme of a one-step dévissage, so the algebraic notion overris the weaker of the two. The zero module separates them. It has the one-stage dévissageModule.CompleteDevissage.ofSubsingleton, while the zero sheaf has only the empty dévissage of Stacks 05HH: a smooth morphism with geometrically irreducible fibres has fibres of dimension at least0, anddim (Supp(ℱ_s)) = -∞. Item (2) of the source, for the notions at a point, is an equivalence, because Stacks 05HZ (4) restores that condition.Both cases of
AlgebraicGeometry.CompleteDevissageare covered. A chain of stages is translated stage by stage byAlgebraicGeometry.DevissageChain.toCompleteDevissage. The empty dévissage, whichAlgebraicGeometry.CompleteDevissage.emptyallows for the zero sheaf, is sent toModule.CompleteDevissage.ofSubsingleton: the sections of a zero sheaf vanish, and the zero module has a one-stage algebraic dévissage — with the zero ring upstairs andΓ(S, ⊤)itself as the smooth algebra — because Stacks 05HX imposes no condition on the dimensions of the fibres, which is the same omission that makes this item one-directional.
public theorem nonempty_completeDevissage_of_completeDevissage {X S : Scheme.{u}}
[IsAffine X] [IsAffine S] {f : X ⟶ S} {F : X.Modules} {s : S} [hl : LocallyOfFiniteType f]
[hq : F.IsQuasicoherent] [ht : F.IsFiniteType] (r : Ideal Γ(S, ⊤)) [r.IsPrime]
(hr : (S.isoSpec.hom s).asIdeal = r)
(D : AlgebraicGeometry.CompleteDevissage f F s) :
letI := f.appTop.hom.toAlgebra
letI : Algebra.FiniteType Γ(S, ⊤) Γ(X, ⊤) :=
HasRingHomProperty.appTop (P := @LocallyOfFiniteType) f hl
letI : Module.Finite Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) :=
Stacks.AlgebraicGeometry.CoherentFinite.finite_sections F (isAffineOpen_top X)
Nonempty (Module.CompleteDevissage Γ(S, ⊤) Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) r)
Module.nonempty_completeDevissage_of_nonemptyCompleteDevissage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/AlgebraTranslation.lean, line 217. The attribute's comment: “(1): a geometric complete dévissage over a point gives an algebraic one”.
Stacks Project, Tag 05I0, item (1).
Let
f : X ⟶ Sbe locally of finite type between affine schemes, letℱbe a quasi-coherent𝒪_X-module of finite type and lets : Scorrespond to the primerofΓ(S, ⊤). If there exists a nonempty complete dévissage ofℱ/X/Sovers, then there exists a complete dévissage ofΓ(ℱ, ⊤)/Γ(X, ⊤)/Γ(S, ⊤)overr.Taking
X = Spec B,S = Spec Aandℱ = Ñrecovers the statement of the source, whoseNisΓ(ℱ, ⊤). The implication goes only in this direction: the source omits the condition on the relative dimension from the definition of a complete dévissage ofN/B/Aoverr, so an algebraic dévissage carries strictly less information than a geometric one. The hypothesis is the nonempty notion becauseModule.CompleteDevissage, like the zigzag of Stacks 05HX, always has at least one stage, whileAlgebraicGeometry.CompleteDevissagealso allows the empty dévissage of the zero sheaf.
public theorem nonempty_completeDevissage_of_nonemptyCompleteDevissage {X S : Scheme.{u}}
[IsAffine X] [IsAffine S] {f : X ⟶ S} {F : X.Modules} {s : S} [hl : LocallyOfFiniteType f]
[hq : F.IsQuasicoherent] [ht : F.IsFiniteType] (r : Ideal Γ(S, ⊤)) [r.IsPrime]
(hr : (S.isoSpec.hom s).asIdeal = r)
(D : AlgebraicGeometry.NonemptyCompleteDevissage f F s) :
letI := f.appTop.hom.toAlgebra
letI : Algebra.FiniteType Γ(S, ⊤) Γ(X, ⊤) :=
HasRingHomProperty.appTop (P := @LocallyOfFiniteType) f hl
letI : Module.Finite Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) :=
Stacks.AlgebraicGeometry.CoherentFinite.finite_sections F (isAffineOpen_top X)
Nonempty (Module.CompleteDevissage Γ(S, ⊤) Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) r)
Module.nonempty_completeDevissageAt_of_completeDevissageAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/AlgebraTranslationAt.lean, line 328. The attribute's comment: “(2): a geometric complete dévissage at a point gives an algebraic one”.
Stacks Project, Tag 05I0, item (2).
Let
f : X ⟶ Sbe locally of finite type between affine schemes, letℱbe a quasi-coherent𝒪_X-module of finite type and letx : Xcorrespond to the primeqofΓ(X, ⊤). Ifℱ/X/Shas a complete dévissage atxthenΓ(ℱ, ⊤)/Γ(X, ⊤)/Γ(S, ⊤)has a complete dévissage atq.Taking
X = Spec B,S = Spec Aandℱ = Ñrecovers the statement of the source, whoseNisΓ(ℱ, ⊤), after composingModule.nonempty_completeDevissageAt_ofRingEquivwith the three comparison isomorphismsΓ(Spec A, ⊤) ≅ A,Γ(Spec B, ⊤) ≅ BandΓ(Ñ, ⊤) ≅ N.The source states item (2) as an equivalence and uses only this direction; the equivalence is
Module.nonempty_completeDevissageAt_iffinStacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/SpecCompleteDevissageAt.lean, whose converse half builds the scheme-theoretic dévissage out of the algebraic one onSpec.
public theorem nonempty_completeDevissageAt_of_completeDevissageAt {X S : Scheme.{u}}
[IsAffine X] [IsAffine S] {f : X ⟶ S} {F : X.Modules} {x : X}
[hl : LocallyOfFiniteType f] [hq : F.IsQuasicoherent] [ht : F.IsFiniteType]
(q : Ideal Γ(X, ⊤)) (hqp : q.IsPrime) (hqx : (X.isoSpec.hom x).asIdeal = q)
(D : AlgebraicGeometry.CompleteDevissageAt f F x) :
letI := f.appTop.hom.toAlgebra
letI : Algebra.FiniteType Γ(S, ⊤) Γ(X, ⊤) :=
HasRingHomProperty.appTop (P := @LocallyOfFiniteType) f hl
letI : Module.Finite Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) :=
Stacks.AlgebraicGeometry.CoherentFinite.finite_sections F (isAffineOpen_top X)
letI := hqp
Nonempty (Module.CompleteDevissageAt Γ(S, ⊤) Γ(X, ⊤) Γ(F, (⊤ : X.Opens)) q)
Module.nonempty_completeDevissageAt_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/SpecCompleteDevissageAt.lean, line 358. The attribute's comment: “(2): a complete dévissage at a point exists for the sheaf exactly when it exists for the module”.
Stacks Project, Tag 05I0 (2), as an equivalence. For a ring map
A → Bof finite type, a finiteB-moduleNand a primeqofB, a complete dévissage ofÑ/Spec B/Spec Aat the point ofqexists if and only if a complete dévissage ofN/B/Aatqexists.The relative dimension condition of Stacks 05HZ (4) is read fibre by fibre, as Stacks 05I0 describes it: every fibre of
Spec Bᵢ → Spec Ahas the dimensiondim_{qᵢ}(Supp(Mᵢ ⊗ κ(r))). That is the supremum conditionModule.NonemptyCompleteDevissageAt.relativeDimension_eq_supportof the dévissage together withModule.CompleteDevissageAt.FibresHaveRelativeDimension.The direction from sheaves to modules is
AlgebraicGeometry.exists_completeDevissageAt_fibresHaveRelativeDimension_of_spec; the converse isnonempty_completeDevissageAt_of_algebraic.
public theorem Module.nonempty_completeDevissageAt_iff (A B : Type u) [CommRing A] [CommRing B]
[Algebra A B] [Algebra.FiniteType A B] (N : Type u) [AddCommGroup N] [Module B N]
[Module.Finite B N] (q : PrimeSpectrum B) :
Nonempty (@AlgebraicGeometry.CompleteDevissageAt (Spec (.of B)) (Spec (.of A))
(Spec.map (CommRingCat.ofHom (algebraMap A B)))
(tilde (R := .of B) (ModuleCat.of B N)) q
(AlgebraicGeometry.locallyOfFiniteType_specMap_algebraMap A B) inferInstance
((AlgebraicGeometry.tilde_isFiniteType_iff (R := .of B) (ModuleCat.of B N)).2
inferInstance)) ↔
∃ D : @Module.CompleteDevissageAt A B N _ _ _ _ _ _ _ q.asIdeal q.isPrime,
D.FibresHaveRelativeDimension
Tag 05I1, a lemma
Tag 05I1 in the Stacks Project.
Module.exists_elementaryEtaleLocalization_completeDevissageAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Devissage/Complete/AlgebraExistence.lean, line 348.
Stacks Project, Tag 05I1. Let
R → Sbe a ring map of finite type, letMbe a finiteS-module and letqbe a prime ofS. There is an elementary étale localization ofR → Satq— ringsR'andS', primesp'andq'— such that(M ⊗_S S')/S'/R'has a complete dévissage atq'.The localized ring map
R' → S'is again of finite type, which the definition of a complete dévissage at a prime requires; it is returned with the dévissage because no consumer can state it in advance of the localization.
theorem exists_elementaryEtaleLocalization_completeDevissageAt (R S M : Type u) [CommRing R]
[CommRing S] [Algebra R S] [Algebra.FiniteType R S] [AddCommGroup M] [Module S M]
[Module.Finite S M] (q : Ideal S) [q.IsPrime] :
∃ E : Algebra.ElementaryEtaleLocalization.{u, u, u, u} R S (q.under R) q,
∃ hFiniteType : Algebra.FiniteType E.R' E.S',
letI := hFiniteType
Nonempty (Module.CompleteDevissageAt E.R' E.S' (TensorProduct S E.S' M) E.q')
Sources
Section38.7 Localization and universally injective maps#
Section 38.7 of the Stacks Project, Tag 05DD. 6 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05DE, a lemma
Tag 05DE in the Stacks Project.
Stacks.UniversalInjectivity.finite_maximalSpectrum_localization_nonZeroSMulDivisors, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 267. The attribute's comment: “semilocality; the multiplicative subset is nonZeroSMulDivisors”.
Localizing at the elements regular on a finite module over the Noetherian closed fibre of a local base produces a semilocal ring.
theorem finite_maximalSpectrum_localization_nonZeroSMulDivisors : Finite (MaximalSpectrum T)
Stacks.UniversalInjectivity.range_under_localization_nonZeroSMulDivisors, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 285. The attribute's comment: “the prime spectrum”.
The contractions of the primes of the localization are exactly the primes of
Scontained in an associated prime of the closed-fibre module.
theorem range_under_localization_nonZeroSMulDivisors :
Set.range (fun q : PrimeSpectrum T ↦ q.asIdeal.under S) =
{q : Ideal S | q.IsPrime ∧
∃ p ∈ assStacks S
(N ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S N))), q ≤ p}
Stacks.UniversalInjectivity.exists_assStacks_closedFibre_of_isMaximal_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 302. The attribute's comment: “the maximal ideals”.
Every maximal ideal of the localization corresponds to an associated prime of the closed-fibre module over the closed-fibre ring, whose contraction to
Sis the maximal ideal's.
theorem exists_assStacks_closedFibre_of_isMaximal_localization (q : MaximalSpectrum T) :
∃ p ∈ assStacks (S ⧸ Ideal.map (algebraMap R S) (maximalIdeal R))
(N ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S N))),
p.comap (Ideal.Quotient.mk (Ideal.map (algebraMap R S) (maximalIdeal R))) =
q.asIdeal.under S
Tag 05DF, a lemma
Tag 05DF in the Stacks Project.
Stacks.UniversalInjectivity.universallyInjectivePoly_lsmul_of_nonZeroSMulDivisors, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 363. The attribute's comment: “the homotheties”.
Every element acting injectively on the closed fibre defines a universally injective
R-linear homothety ofN.
lemma universallyInjectivePoly_lsmul_of_nonZeroSMulDivisors
(hS : (algebraMap R S).EssentiallyOfFinitePresentation)
(s : nonZeroSMulDivisors S
(N ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S N)))) :
UniversallyInjectivePoly (((LinearMap.lsmul S N) s.1).restrictScalars R)
Stacks.UniversalInjectivity.universallyInjectivePoly_mkLinearMap_nonZeroSMulDivisors, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 376. The attribute's comment: “the localization map”.
The canonical map from
Nto its localization at the elements acting injectively on the closed fibre is universally injective overR.
lemma universallyInjectivePoly_mkLinearMap_nonZeroSMulDivisors
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) :
UniversallyInjectivePoly
((LocalizedModule.mkLinearMap
(nonZeroSMulDivisors S
(N ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) •
(⊤ : Submodule S N)))) N).restrictScalars R)
Tag 05DG, a lemma
Tag 05DG in the Stacks Project.
Stacks.UniversalInjectivity.universallyInjectivePoly_tensorUnit_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChange.lean, line 494.
Let
R → Sbe a local homomorphism of local rings, essentially of finite presentation, letNbe a finitely presentedS-module which is flat overR, and letS → S'be flat. If the image ofSpec(S') → Spec(S)contains every prime ofSlying over the maximal ideal ofRwhich is an associated prime of the closed fibreN / 𝔪_R N, then the canonical mapN → N ⊗[S] S'is universally injective overR.
theorem universallyInjectivePoly_tensorUnit_of_flat {R : Type u} {S : Type v} {S' : Type w}
{N : Type x} [CommRing R] [CommRing S] [CommRing S'] [IsLocalRing R] [IsLocalRing S]
[Algebra R S] [IsLocalHom (algebraMap R S)] [Algebra S S']
[AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.FinitePresentation S N] [Module.Flat R N] [Module.Flat S S']
(hS : (algebraMap R S).EssentiallyOfFinitePresentation)
(hspec : ∀ q : Ideal S, Ideal.comap (algebraMap R S) q = maximalIdeal R →
IsAssociatedPrimeStacks S
(N ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S N))) q →
∃ q' : Ideal S', q'.IsPrime ∧ Ideal.comap (algebraMap S S') q' = q) :
UniversallyInjectivePoly (((TensorProduct.mk S N S').flip 1).restrictScalars R)
Tag 05DH, a lemma
Tag 05DH in the Stacks Project.
Stacks.UniversalInjectivity.universallyInjective_baseChange_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/UniversallyInjectiveBaseChangeFlat.lean, line 589.
Stacks 05DH. Under the stated finite-presentation and flatness hypotheses, if every associated prime of each fibre of
Nlifts toS', then the canonical base-change mapN → N ⊗[S] S'is universally injective overR.
theorem universallyInjective_baseChange_of_flat
{R : Type u} {S : Type v} {S' N : Type w}
[CommRing R] [CommRing S] [CommRing S']
[AddCommGroup N] [Module S N] [Algebra R S] [Algebra S S']
[Module R N] [IsScalarTower R S N] [Algebra R S'] [IsScalarTower R S S']
[Algebra.FinitePresentation R S] [Module.FinitePresentation S N]
[Module.Flat R N] [Module.Flat S S']
(himage : ∀ (q : Ideal S) [q.IsPrime],
IsAssociatedPrimeStacks S (N ⊗[R] (q.under R).ResidueField) q →
∃ q' : Ideal S', q'.IsPrime ∧ q'.under S = q) :
UniversallyInjective
(((TensorProduct.mk S N S').flip 1).restrictScalars R)
Tag 05FQ, a lemma
Tag 05FQ in the Stacks Project.
Module.Flat.rTensor_injective_of_projective_of_mem_maximalIdeal_smul_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/MittagLeffler.lean, line 291. The attribute's comment: “the hypothesis spells out injectivity of M/𝔪M → N/𝔪N as u x ∈ 𝔪 • ⊤ → x ∈ 𝔪 • ⊤, the form Submodule.injective_mapQ_smul_top_iff shows it to be equivalent to; the conclusion spells out universal injectivity, which Mathlib has no name for, as in Stacks 0AS5, 05CJ and 05CM.”.
Stacks 05FQ. Let
(R, 𝔪)be a local ring and letu : M →ₗ[R] Nbe a map ofR-modules withMprojective andNflat. If the reductionM/𝔪M → N/𝔪Nis injective -- that is, ifu x ∈ 𝔪 • ⊤forcesx ∈ 𝔪 • ⊤-- thenuis universally injective, i.e.u ⊗ id_Qis injective for everyR-moduleQ.
public theorem Module.Flat.rTensor_injective_of_projective_of_mem_maximalIdeal_smul_top
{R : Type u} [CommRing R] [IsLocalRing R] [Small.{v} R] {M N : Type v} [AddCommGroup M]
[Module R M] [Module.Projective R M] [AddCommGroup N] [Module R N] [Module.Flat R N]
(u : M →ₗ[R] N)
(hu : ∀ x : M, u x ∈ maximalIdeal R • (⊤ : Submodule R N) →
x ∈ maximalIdeal R • (⊤ : Submodule R M)) :
∀ (Q : Type v) [AddCommGroup Q] [Module R Q], Function.Injective (u.rTensor Q)
Module.Flat.rTensor_injective_of_projective_of_injective_mapQ_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/MittagLeffler.lean, line 347. The attribute's comment: “M/𝔪M is M ⧸ 𝔪 • ⊤ and the reduction of u is Submodule.mapQ along u, as in Stacks 0AS5 and 046Y; the conclusion spells out universal injectivity, which Mathlib has no name for.”.
Stacks 05FQ. Let
(R, 𝔪)be a local ring and letu : M →ₗ[R] Nbe a map ofR-modules withMprojective andNflat. If the induced mapM/𝔪M → N/𝔪Nis injective, thenuis universally injective, i.e.u ⊗ id_Qis injective for everyR-moduleQ.
public theorem Module.Flat.rTensor_injective_of_projective_of_injective_mapQ_maximalIdeal
{R : Type u} [CommRing R] [IsLocalRing R] [Small.{v} R] {M N : Type v} [AddCommGroup M]
[Module R M] [Module.Projective R M] [AddCommGroup N] [Module R N] [Module.Flat R N]
(u : M →ₗ[R] N)
(hu : Function.Injective ((maximalIdeal R • (⊤ : Submodule R M)).mapQ
(maximalIdeal R • (⊤ : Submodule R N)) u
(Submodule.smul_top_le_comap_smul_top (maximalIdeal R) u))) :
∀ (Q : Type v) [AddCommGroup Q] [Module R Q], Function.Injective (u.rTensor Q)
Tag 05FR, a lemma
Tag 05FR in the Stacks Project.
Stacks.UniversalInjectivity.universallyInjective_lsmul_of_mem_nonZeroSMulDivisors_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/UniversalInjectivity.lean, line 54. The attribute's comment: “elementwise_universal_injectivity”.
Stacks Project, Tag 05FR. An element which acts injectively on the closed fibre of a projective module acts universally injectively on the module over the local base ring.
theorem universallyInjective_lsmul_of_mem_nonZeroSMulDivisors_quotient
{R : Type u} {S : Type v} {N : Type w}
[CommRing R] [CommRing S] [IsLocalRing R] [Algebra R S]
[AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[IsNoetherianRing
(S ⧸ Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R))]
[Module.Finite
(S ⧸ Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R))
(N ⧸ (Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R) •
(⊤ : Submodule S N)))]
[Module.Projective R N]
{s : S}
(hs : s ∈ nonZeroSMulDivisors S
(N ⧸ (Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R) •
(⊤ : Submodule S N)))) :
UniversallyInjective ((LinearMap.lsmul S N s).restrictScalars R)
Stacks.UniversalInjectivity.universallyInjective_localizedModule_mkLinearMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/UniversalInjectivity.lean, line 103. The attribute's comment: “localization_universal_injectivity”.
Stacks Project, Tag 05FR. If a module is projective over a local base ring, its canonical map to the localization at the elements acting injectively on its closed fibre is universally injective over the base.
theorem universallyInjective_localizedModule_mkLinearMap
{R : Type u} {S : Type v} {N : Type (max v w)} [CommRing R] [CommRing S] [IsLocalRing R]
[Algebra R S] [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Projective R N]
[IsNoetherianRing
(S ⧸ Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R))]
[Module.Finite
(S ⧸ Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R))
(N ⧸ (Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R) •
(⊤ : Submodule S N)))] :
UniversallyInjective
((LocalizedModule.mkLinearMap
(nonZeroSMulDivisors S
(N ⧸ (Ideal.map (algebraMap R S) (IsLocalRing.maximalIdeal R) •
(⊤ : Submodule S N)))) N).restrictScalars R)
Sources
Section38.8 Completion and Mittag-Leffler modules#
Section 38.8 of the Stacks Project, Tag 05DI. 4 tags here are carried by 5 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05DJ, a lemma
Tag 05DJ in the Stacks Project.
AdicCompletion.isMittagLeffler_finsupp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveCompletedDirectSum.lean, line 186. The attribute's comment: “the Mittag-Leffler property; the direct sum ⊕_{α ∈ A} R is spelled A →₀ R. Mittag-Leffler is IsMittagLeffler, condition (1) of 059E, as in 059N and 059X.”.
Stacks Project, Tag 05DJ. If
Ris Noetherian andI-adically complete, then theI-adic completion of the direct sum of anA-indexed family of copies ofRis a Mittag-LefflerR-module.
theorem isMittagLeffler_finsupp {R : Type uR} [CommRing R] (I : Ideal R) [IsNoetherianRing R]
[IsAdicComplete I R] (A : Type uA) :
IsMittagLeffler.{uR, uP, max uR uA, max uR uP, uN} R (AdicCompletion I (A →₀ R))
Declarations registered for the tag:
AdicCompletion.flat_directSum, declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/Flat/ProjectiveCompletedDirectSum.lean, line 59 (StacksFrontier): “flatness; neitherIsAdicCompletenor the shape of the direct sum is needed, so the library statement is the more general Tag 06LE”.
Tag 05DK, a lemma
Tag 05DK in the Stacks Project.
AdicCompletion.flat_of_projective_quotient_smul_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveQuotientAdicCompletion.lean, line 112. The attribute's comment: “flatness; M/IM is M ⧸ I • ⊤. The source's hypothesis that R be I-adically complete is dropped: it is unused, neither Tag 05D3 nor Tag 06LE needing it, so this is strictly more general than the source's statement.”. References: SGA 1 IV (3.1).
Stacks Project, Tag 05DK. If
Ris Noetherian,Mis flat andM/IMis projective overR/I, then theI-adic completion ofMis flat overR. The source's hypothesis thatRbeI-adically complete is not needed for this half.
theorem flat_of_projective_quotient_smul_top [IsNoetherianRing R]
[Module.Flat R M] (hM : Module.Projective (R ⧸ I) (M ⧸ I • (⊤ : Submodule R M))) :
Module.Flat R (AdicCompletion I M)
AdicCompletion.isMittagLeffler_of_projective_quotient_smul_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveQuotientAdicCompletion.lean, line 129. The attribute's comment: “the Mittag-Leffler property; M/IM is M ⧸ I • ⊤, and Mittag-Leffler is IsMittagLeffler, condition (1) of 059E, as in 059N and 05DJ.”.
Stacks Project, Tag 05DK. If
Ris Noetherian andI-adically complete,Mis flat andM/IMis projective overR/I, then theI-adic completion ofMis a Mittag-LefflerR-module.
theorem isMittagLeffler_of_projective_quotient_smul_top [IsNoetherianRing R] [IsAdicComplete I R]
[Module.Flat R M] (hM : Module.Projective (R ⧸ I) (M ⧸ I • (⊤ : Submodule R M))) :
IsMittagLeffler.{u, uP, v, max u uP, uN} R (AdicCompletion I M)
Tag 05DL, a lemma
Tag 05DL in the Stacks Project.
AdicCompletion.universallyInjective_of_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveAdicCompletionInjectivity.lean, line 227. The attribute's comment: “IS is I.map (algebraMap R S) and IS + 𝔮 is a supremum of ideals; associatedness is IsAssociatedPrimeStacks, the source's definition; the tensor product is written N ⊗[R] Q, with N on the left, so that it carries its standard S-module structure. The source's hypothesis that R be Noetherian is dropped: the argument runs entirely over S, using Tag 00IQ and Tag 0311 there, so this is strictly more general than the source's statement.”.
Stacks Project, Tag 05DL. Let
R → Sbe a map of Noetherian rings, letI ⊆ Rbe an ideal and letNbe a finiteS-module. If for every finiteR-moduleQand every associated primeqofN ⊗[R] Qthe idealIS + qis proper, then the canonical map fromNto itsI-adic completion is universally injective as a map ofR-modules.
theorem universallyInjective_of_associatedPrimes {R : Type u} [CommRing R] (I : Ideal R)
{S : Type v} [CommRing S] [Algebra R S] {N : Type w} [AddCommGroup N] [Module R N]
[Module S N] [IsScalarTower R S N] [IsNoetherianRing S] [Module.Finite S N]
(h : ∀ (Q : Type w) [AddCommGroup Q] [Module R Q] [Module.Finite R Q] (q : Ideal S),
IsAssociatedPrimeStacks S (N ⊗[R] Q) q → I.map (algebraMap R S) ⊔ q ≠ ⊤) :
UniversallyInjective (AdicCompletion.of I N)
Tag 05DM, a lemma
Tag 05DM in the Stacks Project.
AdicCompletion.universallyInjective_of_flat_of_fibre_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveAdicCompletionInjectivity.lean, line 303. The attribute's comment: “IS is I.map (algebraMap R S) and IS + 𝔮 is a supremum of ideals; the contraction 𝔭 = R ∩ 𝔮 is PrimeSpectrum.comap (algebraMap R S) 𝔮, and κ(𝔭) is its ResidueField; the tensor product is written N ⊗[R] κ(𝔭), with N on the left, so that it carries its standard S-module structure.”.
Stacks Project, Tag 05DM. Let
R → Sbe a map of Noetherian rings, letI ⊆ Rbe an ideal and letNbe a finiteS-module which is flat overR. If for every prime𝔮ofSwhich is an associated prime of the fibreN ⊗[R] κ(𝔭), where𝔭 = R ∩ 𝔮, the idealIS + 𝔮is proper, then the canonical map fromNto itsI-adic completion is universally injective as a map ofR-modules.
theorem universallyInjective_of_flat_of_fibre_associatedPrimes {R : Type u} {S : Type v}
[CommRing R] [CommRing S] [Algebra R S] (I : Ideal R) (N : Type w) [AddCommGroup N]
[Module S N] [Module R N] [IsScalarTower R S N] [IsNoetherianRing R] [IsNoetherianRing S]
[Module.Finite S N] [Module.Flat R N]
(h : ∀ q : PrimeSpectrum S, q.asIdeal ∈ associatedPrimes S
(N ⊗[R] (PrimeSpectrum.comap (algebraMap R S) q).asIdeal.ResidueField) →
I.map (algebraMap R S) ⊔ q.asIdeal ≠ ⊤) :
UniversallyInjective (AdicCompletion.of I N)
Sources
Section38.9 Projective modules#
Section 38.9 of the Stacks Project, Tag 05DN. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05DP, a lemma
Tag 05DP in the Stacks Project.
Module.projective_of_flat_of_projective_quotient_of_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveOfFlatOverComplete.lean, line 87. The attribute's comment: “N/IN is N ⧸ I • ⊤; the contraction 𝔭 = R ∩ 𝔮 is PrimeSpectrum.comap (algebraMap R S) 𝔮 and κ(𝔭) its ResidueField; the condition IS + 𝔮 ≠ S is the join of ideals being different from ⊤.”.
Stacks Project, Tag 05DP. Let
Rbe a Noetherian ring,I-adically complete, letSbe a finite typeR-algebra and letNbe a finiteS-module which is flat overR. IfN/INis projective overR/IandIS + 𝔮 ≠ Sfor every prime𝔮ofSwhich is an associated prime of the fibreN ⊗[R] κ(𝔭)with𝔭 = R ∩ 𝔮, thenNis projective as anR-module.
theorem projective_of_flat_of_projective_quotient_of_associatedPrimes (R : Type u) (S : Type v)
[CommRing R] [CommRing S] [Algebra R S] (I : Ideal R) (N : Type w) [AddCommGroup N]
[Module S N] [Module R N] [IsScalarTower R S N] [IsNoetherianRing R] [IsAdicComplete I R]
[Algebra.FiniteType R S] [Module.Finite S N] [Module.Flat R N]
(hprojective : Module.Projective (R ⧸ I) (N ⧸ I • (⊤ : Submodule R N)))
(hassociated : ∀ q : PrimeSpectrum S, q.asIdeal ∈ associatedPrimes S
(N ⊗[R] (PrimeSpectrum.comap (algebraMap R S) q).asIdeal.ResidueField) →
I.map (algebraMap R S) ⊔ q.asIdeal ≠ ⊤) :
Module.Projective R N
Tag 05FS, a lemma
Tag 05FS in the Stacks Project.
Module.Flat.projective_of_finiteType_of_geometricallyIntegral_fibres, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ProjectiveOfIntegralFibres.lean, line 207.
Stacks Project, Tag 05FS. A flat finite type algebra over a Noetherian ring whose fibres are geometrically integral is projective as a module over its base ring.
theorem Module.Flat.projective_of_finiteType_of_geometricallyIntegral_fibres
{R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
[IsNoetherianRing R] [Algebra.FiniteType R S] [Module.Flat R S]
(h : ∀ (p : Ideal R) [p.IsPrime],
letI : Algebra p.ResidueField (S ⊗[R] p.ResidueField) :=
Algebra.TensorProduct.rightAlgebra
Algebra.IsGeometricallyIntegral p.ResidueField (S ⊗[R] p.ResidueField)) :
Module.Projective R S
Tag 05FT, a lemma
Tag 05FT in the Stacks Project.
Algebra.projective_of_geometricallyIntegral_fibres, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIntegral/ReducedFibreFromSmoothLocus.lean, line 188.
Stacks Project, Tag 05FT. Let
R → Sbe flat and of finite presentation and suppose that every fibre ringS ⊗[R] κ(p)is geometrically integral overκ(p). ThenSis a projectiveR-module.This is
Algebra.projective_of_geometricallyIntegral_fibres_of_isConstructible_reducedwith its hypothesis — constructibility of the geometrically reduced fibre locus over a Noetherian base, the affine case of Stacks 0579 — discharged byAlgebra.isConstructible_geometricallyReducedFibreLocus'. The irreducible half was discharged byAlgebra.isConstructible_geometricallyIrreducibleFibreLocus_of_finiteType, the affine case of the level setn = 1of Stacks 055B.
public theorem projective_of_geometricallyIntegral_fibres {R S : Type u} [CommRing R] [CommRing S]
[Algebra R S] [Algebra.FinitePresentation R S] [Module.Flat R S]
(h : ∀ (p : Ideal R) [p.IsPrime],
letI : Algebra p.ResidueField (S ⊗[R] p.ResidueField) :=
Algebra.TensorProduct.rightAlgebra
Algebra.IsGeometricallyIntegral p.ResidueField (S ⊗[R] p.ResidueField)) :
Module.Projective R S
Sources
Section38.10 Flat finite type modules, Part I#
Section 38.10 of the Stacks Project, Tag 05I2. 10 tags here are carried by 14 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05I3, a lemma
Tag 05I3 in the Stacks Project.
Algebra.closedFiberIdeal_isPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/CompleteDevissageStep.lean, line 92. The attribute's comment: “the generic point of the closed fibre”.
Stacks Project, Tag 05I3, the generic point of the closed fibre. If the fibres of
Spec S ⟶ Spec Rare geometrically integral, the ideal extending the maximal ideal of the local ringRis prime.
public theorem Algebra.closedFiberIdeal_isPrime
(R : Type u) (S : Type u) [CommRing R] [CommRing S] [IsLocalRing R] [Algebra R S]
[GeometricallyIntegral (Spec.map (CommRingCat.ofHom (algebraMap R S)))] :
(Algebra.closedFiberIdeal R S).IsPrime
Module.freeMapAtResidueField, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/CompleteDevissageStep.lean, line 112. The attribute's comment: “construction of the free map”.
Stacks Project, Tag 05I3, construction of the free map. For a finite module and a prime ideal
p, some map from a finite free module becomes an isomorphism after tensoring with the residue field atp.
public noncomputable def Module.freeMapAtResidueField
(S : Type u) [CommRing S] (p : Ideal S) [p.IsPrime]
(N : Type v) [AddCommGroup N] [Module S N] [Module.Finite S N] :
Σ r : ℕ, { alpha : (Fin r → S) →ₗ[S] N //
Function.Bijective (alpha.rTensor p.ResidueField) }
Module.flat_localizedModule_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageFlatTfae.lean, line 193. The attribute's comment: “the five equivalent conditions”.
Stacks Project, Tag 05I3, the five equivalent conditions, with the universe of the module independent of that of the base ring and the algebra.
Every hypothesis of the source is present and no others:
Ris local,R → Sis flat of finite presentation with geometrically integral fibres,qlies over the maximal ideal,Nis a finiteS-module andalphabecomes an isomorphism over the residue field of𝔪S. Projectivity ofSoverR, which the source invokes to run the argument, is Stacks 05FT (Algebra.projective_of_geometricallyIntegral_fibres) applied to the geometrically integral fibres.
public theorem flat_localizedModule_tfae
(R : Type u) (S : Type u) [CommRing R] [CommRing S] [IsLocalRing R] [Algebra R S]
[Algebra.FinitePresentation R S] [Module.Flat R S]
[AlgebraicGeometry.GeometricallyIntegral
(AlgebraicGeometry.Spec.map (CommRingCat.ofHom (algebraMap R S)))]
[(Algebra.closedFiberIdeal R S).IsPrime]
(q : Ideal S) [q.IsPrime]
(hq : q.comap (algebraMap R S) = IsLocalRing.maximalIdeal R)
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Finite S N]
(r : ℕ) (alpha : (Fin r → S) →ₗ[S] N)
(halpha : Function.Bijective (alpha.rTensor (Algebra.closedFiberIdeal R S).ResidueField)) :
List.TFAE [
Module.Flat R (LocalizedModule q.primeCompl N),
Stacks.UniversalInjectivity.LocalizationCriteria.UniversallyInjective.{max u w}
(alpha.restrictScalars R) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Injective alpha ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Bijective
(LocalizedModule.map (Algebra.closedFiberIdeal R S).primeCompl alpha) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Injective (LocalizedModule.map q.primeCompl alpha) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha))]
Tag 05I4, a lemma
Tag 05I4 in the Stacks Project.
Module.CompleteDevissageAt.finitePresentation_free_linearEquiv_directSum_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageProjectiveStages.lean, line 441.
Stacks Project, Tag 05I4. Let
(R, 𝔪)be a local ring, letR → Sbe a ring map of finite presentation, letNbe a finiteS-module and letqbe a prime ofSlying over𝔪. Assume thatN_qis flat overRand thatDis a complete dévissage ofN/S/Ratq. ThenNis a finitely presentedS-module, free as anR-module, and there is an isomorphism ofR-modulesN ≅ B₁^{⊕ r₁} ⊕ … ⊕ Bₙ^{⊕ rₙ}, whereB₁, …, Bₙare the lower algebras ofDand eachBᵢis a smoothR-algebra with geometrically irreducible fibres.
public theorem finitePresentation_free_linearEquiv_directSum_of_flat [IsLocalRing R] [Module R N]
[IsScalarTower R S N] [Algebra.FinitePresentation R S]
(D : CompleteDevissageAt R S N q) (hq : q.under R = IsLocalRing.maximalIdeal R)
(hflat : Module.Flat R (LocalizedModule q.primeCompl N)) :
Module.FinitePresentation S N ∧ Module.Free R N ∧
(∀ i : Fin D.length, Algebra.Smooth R (D.lowerAlgebra i) ∧
GeometricallyIrreducible
(Spec.map (CommRingCat.ofHom (algebraMap R (D.lowerAlgebra i))))) ∧
Nonempty (N ≃ₗ[R] ⨁ i : Fin D.length, (Fin (D.multiplicity i) →₀ D.lowerAlgebra i))
Tag 05I5, a proposition
Tag 05I5 in the Stacks Project.
AlgebraicGeometry.existsElementaryEtaleNeighborhoodFinitePresentationFlatOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhoodFlatness.lean, line 392.
Stacks Project, Tag 05I5. For
flocally of finite presentation andFquasi-coherent of finite type and flat overSatx, there is an elementary étale neighbourhood(S', s')of(S, f x)and an open subscheme ofX ×_S Spec 𝒪_{S', s'}containing the unique point overxon which the pullback ofFis of finite presentation and flat over𝒪_{S', s'}.Here
Uis the elementary étale neighbourhood(S', s'), the base change is along the compositeSpec 𝒪_{S', s'} ⟶ S' ⟶ S,Vis the open subscheme andvthe point ofVoverx; the first clause says thatvis the only point ofX ×_S Spec 𝒪_{S', s'}overx. Its type is the body ofAlgebraicGeometry.ExistsElementaryEtaleNeighborhoodFinitePresentationFlatOver, written out.The pointwise form above composed with
AlgebraicGeometry.ExistsElementaryEtaleNeighborhoodFinitePresentationFlatOver.of_mem, which supplies the uniqueness of the point overx.
theorem existsElementaryEtaleNeighborhoodFinitePresentationFlatOver
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f] (F : X.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] (x : X)
(hflat : IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : EtaleNeighborhood S (f x)) (_ : U.IsElementary)
(V : (pullback f (U.scheme.fromSpecStalk U.point ≫ U.toBase)).Opens) (v : V),
(pullback.fst f (U.scheme.fromSpecStalk U.point ≫ U.toBase) ⁻¹' {x} = {V.ι v}) ∧
((Scheme.Modules.pullback
(V.ι ≫ pullback.fst f (U.scheme.fromSpecStalk U.point ≫ U.toBase))).obj
F).IsFinitePresentation ∧
IsFlatOver
(LocallyRingedSpace.forgetToSheafedSpace.map
(V.ι ≫ pullback.snd f (U.scheme.fromSpecStalk U.point ≫ U.toBase)).toLRSHom)
((Scheme.Modules.pullback
(V.ι ≫ pullback.fst f (U.scheme.fromSpecStalk U.point ≫ U.toBase))).obj F)
Tag 05M9, a lemma
Tag 05M9 in the Stacks Project.
AlgebraicGeometry.isOpen_isFlatOverAt_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FlatFiniteTypeModules.lean, line 340. The attribute's comment: “for f locally of finite presentation”.
Stacks Project, Tag 05M9 for a morphism locally of finite presentation: in every fibre of
f, the locus where a finite type quasi-coherent𝒪_X-module is flat over the base is open.The source states this for
flocally of finite type, and deduces it from Tag 05I5, which assumes locally of finite presentation. Forfonly locally of finite type the same argument needs Tag 05KT in place of Tag 05I5; that deduction isAlgebraicGeometry.isOpen_isFlatOverAt_fiber_of_exists.
theorem isOpen_isFlatOverAt_fiber {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFinitePresentation f] (F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(s : S) :
IsOpen {w : f.fiber s | IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s w)}
AlgebraicGeometry.isOpen_isFlatOverAt_fiber_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FlatFiniteTypeNeighborhood.lean, line 382.
In every fibre of a morphism locally of finite type, the locus where a quasi-coherent module of finite type is flat over the base is open.
theorem isOpen_isFlatOverAt_fiber_of_locallyOfFiniteType {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] (F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType] (s : S) :
IsOpen {w : f.fiber s | IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s w)}
Tag 05KT, a lemma
Tag 05KT in the Stacks Project.
AlgebraicGeometry.ElementaryEtaleFlatness.exists_elementaryEtaleNeighborhood_open_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FlatnessAtPoint.lean, line 71.
Stacks Project, Tag 05KT. Flatness at a point of a finite type quasi-coherent module spreads to an open neighbourhood after base change to the local scheme of a suitable elementary étale neighbourhood of the image point.
theorem exists_elementaryEtaleNeighborhood_open_flat
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(x : X)
(hF : AlgebraicGeometry.IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : AlgebraicGeometry.EtaleNeighborhood S (f x)) (_ : U.IsElementary),
let g := U.scheme.fromSpecStalk U.point ≫ U.toBase
let P : Scheme.{u} := pullback f g
∃ (z : P) (_ : pullback.fst f g z = x)
(_ : ∀ z' : P, pullback.fst f g z' = x → z' = z) (V : P.Opens),
z ∈ V ∧
AlgebraicGeometry.IsFlatOver
(((V.ι : V.toScheme ⟶ P) ≫ pullback.snd f g).toLRSHom.toShHom)
((Scheme.Modules.pullback
((V.ι : V.toScheme ⟶ P) ≫ pullback.fst f g)).obj F)
AlgebraicGeometry.existsElementaryEtaleNeighborhoodFlatOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FlatFiniteTypeNeighborhood.lean, line 372.
For a morphism
f : X ⟶ Slocally of finite type and a quasi-coherent𝒪_X-moduleFof finite type which is flat overSatx, there is an elementary étale neighbourhood(S', s')of(S, f x)and an open subscheme ofX ×_S Spec 𝒪_{S', s'}containing the unique point overxon which the pullback ofFis flat over𝒪_{S', s'}.
theorem existsElementaryEtaleNeighborhoodFlatOver :
ExistsElementaryEtaleNeighborhoodFlatOver.{u}
Tag 05KU, a lemma
Tag 05KU in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_isFinitePresentation_isFlatOver_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FlatOverFibre.lean, line 330.
Stacks Project, Tag 05KU. Let
f : X ⟶ Sbe of finite presentation, letFbe a quasi-coherent𝒪_X-module of finite type, and letsbe a point ofSsuch thatFis flat overSat every point of the fibreX_s. Then there are an elementary étale neighbourhood(S', s')of(S, s)and an openV ⊆ X ×_S Spec 𝒪_{S', s'}containing the whole fibreX_s = X ×_S s'such that the pullback ofFtoVis of finite presentation as an𝒪_V-module and flat over𝒪_{S', s'}.The fibre
X ×_S s'is read as the set of points ofX ×_S Spec 𝒪_{S', s'}whose image inXlies overs.
theorem exists_elementaryEtaleNeighborhood_isFinitePresentation_isFlatOver_fiber
{X S : Scheme.{u}} (f : X ⟶ S) (hf : FinitePresentation f) (F : X.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] (s : S)
(hflat : ∀ x : X, f x = s → IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : EtaleNeighborhood S s) (_ : U.IsElementary)
(V : (pullback f (U.scheme.fromSpecStalk U.point ≫ U.toBase)).Opens),
(∀ z : ↑(pullback f (U.scheme.fromSpecStalk U.point ≫ U.toBase)),
f (pullback.fst f (U.scheme.fromSpecStalk U.point ≫ U.toBase) z) = s → z ∈ V) ∧
((Scheme.Modules.pullback (V.ι ≫ pullback.fst f
(U.scheme.fromSpecStalk U.point ≫ U.toBase))).obj F).IsFinitePresentation ∧
IsFlatOver
(V.ι ≫ pullback.snd f
(U.scheme.fromSpecStalk U.point ≫ U.toBase)).toLRSHom.toShHom
((Scheme.Modules.pullback (V.ι ≫ pullback.fst f
(U.scheme.fromSpecStalk U.point ≫ U.toBase))).obj F)
Tag 05KV, a lemma
Tag 05KV in the Stacks Project.
AlgebraicGeometry.ElementaryEtaleFlatness.exists_elementaryEtaleNeighborhood_open_flat_along_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FlatnessAlongFibre.lean, line 528.
Stacks Project, Tag 05KV. Flatness of a finite type quasi-coherent module along a fibre spreads to an open neighbourhood of that fibre after passing to the local scheme of an elementary étale neighbourhood of the base point.
theorem exists_elementaryEtaleNeighborhood_open_flat_along_fibre
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType] (s : S)
(hF : ∀ x : X, f x = s → AlgebraicGeometry.IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : AlgebraicGeometry.EtaleNeighborhood S s) (_ : U.IsElementary),
let g := U.scheme.fromSpecStalk U.point ≫ U.toBase
let P : Scheme.{u} := pullback f g
∃ (V : P.Opens),
(∀ z : P, pullback.snd f g z = IsLocalRing.closedPoint _ → z ∈ V) ∧
AlgebraicGeometry.IsFlatOver
(((V.ι : V.toScheme ⟶ P) ≫ pullback.snd f g).toLRSHom.toShHom)
((Scheme.Modules.pullback
((V.ι : V.toScheme ⟶ P) ≫ pullback.fst f g)).obj F)
Tag 05I6, a lemma
Tag 05I6 in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_flat_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/FlatFiniteTypeSchemeNeighborhood.lean, line 236.
Stacks Project, Tag 05I6. Let
Xbe locally of finite type overSand letx ∈ Xbe a point at whichXis flat overS. Then there is an elementary étale neighbourhood(S', s')of(S, f x)and an open subscheme ofX ×_S Spec 𝒪_{S', s'}containing the unique point overxwhich is flat and of finite presentation overSpec 𝒪_{S', s'}.
theorem exists_elementaryEtaleNeighborhood_flat_finitePresentation {X S : Scheme.{u}}
(f : X ⟶ S) [LocallyOfFiniteType f] (x : X) (hflat : IsFlatAt f.toLRSHom.toShHom x) :
∃ (U : EtaleNeighborhood S (f x)) (_ : U.IsElementary),
let b : Spec (U.scheme.presheaf.stalk U.point) ⟶ S :=
U.scheme.fromSpecStalk U.point ≫ U.toBase
∃ (V : (pullback f b).Opens) (v : V),
(pullback.fst f b ⁻¹' {x} = {V.ι v}) ∧
Flat (V.ι ≫ pullback.snd f b) ∧
FinitePresentation (V.ι ≫ pullback.snd f b)
Tag 05I7, a lemma
Tag 05I7 in the Stacks Project.
Stacks.Flatness.finitePresentation_stalk_of_isFlatOverAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Flat/StalkFinitePresentation.lean, line 86.
Stacks Project, Tag 05I7, from Stacks Project, Tag 05I5. Let
f : X ⟶ Sbe locally of finite presentation and letFbe a finite type quasi-coherent𝒪_X-module. IfFis flat overSatx, then the stalkF_xis a finitely presented𝒪_{X,x}-module.Stacks 05I5 is
AlgebraicGeometry.existsElementaryEtaleNeighborhoodFinitePresentationFlatOver. The neighbourhood it produces maps toXby a flat morphism, the pullback ofFto it is finitely presented, so its stalk is finitely presented (Stacks.StalkFiniteType.finitePresentation_stalk), and finite presentation descends along the flat local homomorphism of local rings that the stalk map is (Stacks.StalkFiniteType.finitePresentation_stalk_of_flat).
theorem finitePresentation_stalk_of_isFlatOverAt
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f] (F : X.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] (x : X)
(hflat : IsFlatOverAt f.toLRSHom.toShHom F x) :
Module.FinitePresentation (ToType (X.presheaf.stalk x))
(ToType (TopCat.Presheaf.stalk F.val.presheaf x))
Tag 05I8, a lemma
Tag 05I8 in the Stacks Project.
AlgebraicGeometry.isEssentiallyOfFinitePresentation_stalkMap_of_flatAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/StalkEssentiallyFinitePresentation.lean, line 151.
Stacks Project, Tag 05I8. If
f : X ⟶ Sis locally of finite type and flat atx, then the local ring𝒪_{X,x}is essentially of finite presentation over𝒪_{S,f x}.
theorem isEssentiallyOfFinitePresentation_stalkMap_of_flatAt
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(x : X) (hflat : AlgebraicGeometry.IsFlatAt f.toLRSHom.toShHom x) :
IsEssentiallyOfFinitePresentation
(S.presheaf.stalk (f x)) (X.presheaf.stalk x) (f.stalkMap x).hom
Sources
Section38.11 Extending properties from an open#
Section 38.11 of the Stacks Project, Tag 0B47. 5 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 081N, a lemma
Tag 081N in the Stacks Project.
AlgebraicGeometry.FinitePresentationFromDenseOpen.isFinitePresentation_of_isFlatOver_of_retrocompact_dense_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Flat/FinitePresentationFromDenseOpen.lean, line 710.
Stacks Project, Tag 081N. A quasi-coherent module of finite type, flat over the base, which is finitely presented over the inverse image of a retrocompact scheme-theoretically dense open of the base is finitely presented.
public theorem isFinitePresentation_of_isFlatOver_of_retrocompact_dense_open
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) [F.IsQuasicoherent]
[LocallyOfFinitePresentation f] [F.IsFiniteType]
(hflat : AlgebraicGeometry.IsFlatOver f.toLRSHom.toShHom F)
(U : S.Opens) (hUretro : IsRetrocompact (U : Set S))
(hUdense : AlgebraicGeometry.Scheme.Opens.IsSchemeTheoreticallyDense U)
(hfp : ((Scheme.Modules.pullback (f ⁻¹ᵁ U).ι).obj F).IsFinitePresentation) :
F.IsFinitePresentation
Tag 081P, a lemma
Tag 081P in the Stacks Project.
AlgebraicGeometry.FinitePresentationFromDenseOpen.locallyOfFinitePresentation_of_flat_of_retrocompact_dense_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Flat/FinitePresentationFromDenseOpen.lean, line 861.
Stacks Project, Tag 081P. A flat morphism of schemes which is locally of finite type, and which is locally of finite presentation over a retrocompact scheme-theoretically dense open of the target, is locally of finite presentation.
public theorem locallyOfFinitePresentation_of_flat_of_retrocompact_dense_open
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [Flat f]
(U : S.Opens) (hUretro : IsRetrocompact (U : Set S))
(hUdense : Scheme.Opens.IsSchemeTheoreticallyDense U)
[LocallyOfFinitePresentation (f ∣_ U)] :
LocallyOfFinitePresentation f
Tag 081L, a lemma
Tag 081L in the Stacks Project.
AlgebraicGeometry.relativeDimensionLE_of_dense_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/ExtendingFromOpen/RelativeDimension.lean, line 220.
Stacks Project, Tag 081L. A relative-dimension bound for a flat morphism locally of finite type extends from a dense open of the base when the morphism is locally of finite presentation or the open is retrocompact.
theorem relativeDimensionLE_of_dense_open {X S : Scheme.{u}} (f : X ⟶ S)
[Flat f] [LocallyOfFiniteType f] (U : S.Opens) (hU : Dense (U : Set S)) (e : ℕ)
(hfe : RelativeDimensionLE (pullback.snd f U.ι) e)
(hfin : LocallyOfFinitePresentation f ∨ IsRetrocompact (U : Set S)) :
RelativeDimensionLE f e
Tag 0B48, a lemma
Tag 0B48 in the Stacks Project.
AlgebraicGeometry.isFinite_of_isFinite_over_dense_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/ExtendingFromOpen/Finite.lean, line 45.
A proper flat morphism which is finite over a dense open of the base is finite, provided it is locally of finite presentation or the open is retrocompact.
theorem isFinite_of_isFinite_over_dense_open {X S : Scheme.{u}} (f : X ⟶ S)
[IsProper f] [Flat f] (U : S.Opens) (hU : Dense (U : Set S))
[IsFinite (pullback.snd f U.ι)]
(hfin : LocallyOfFinitePresentation f ∨ IsRetrocompact (U : Set S)) :
IsFinite f
Tag 081M, a lemma
Tag 081M in the Stacks Project.
AlgebraicGeometry.isOpenImmersion_of_isIso_morphismRestrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/ExtendingFromOpen/OpenImmersion.lean, line 154.
Stacks Project, Tag 081M. A separated flat morphism locally of finite type which is an isomorphism over a retrocompact scheme-theoretically dense open subscheme of the target is an open immersion.
theorem isOpenImmersion_of_isIso_morphismRestrict {X S : Scheme.{u}} (f : X ⟶ S) [IsSeparated f]
[LocallyOfFiniteType f] [Flat f] (U : S.Opens) (hUretro : IsRetrocompact (U : Set S))
(hUdense : Scheme.Opens.IsSchemeTheoreticallyDense U)
[IsIso (f ∣_ U)] : IsOpenImmersion f
Sources
Section38.12 Flat finitely presented modules#
Section 38.12 of the Stacks Project, Tag 05I9. 10 tags here are carried by 23 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05IA, a lemma
Tag 05IA in the Stacks Project.
Module.exists_freeMap_bijective_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapAtGenericFibre.lean, line 136. The attribute's comment: “existence”.
Stacks Project, Tag 05IA, the existence assertion. Let
R → Sbe flat with a geometrically integral fibre over the primer, and letNbe a finiteS-module. Then the extension𝔭 = rSis prime and some map from a finite freeS-module toNbecomes an isomorphism after base change to the residue fieldκ(𝔭).
public theorem Module.exists_freeMap_bijective_residueField {R S N : Type u} [CommRing R]
[CommRing S] [Algebra R S] [Module.Flat R S] {r : Ideal R} [r.IsPrime] [AddCommGroup N]
[Module S N] [Module.Finite S N]
(hgeom : Algebra.IsGeometricallyIntegral r.ResidueField (r.Fiber S)) :
∃ (n : ℕ) (a : (Fin n → S) →ₗ[S] N),
∃ hp : (r.map (algebraMap R S)).IsPrime,
Function.Bijective
(a.rTensor (@Ideal.ResidueField S _ (r.map (algebraMap R S)) hp))
Module.universallyInjective_localizedMap_of_flat_localizedModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 656. The attribute's comment: “the implication (1) ⟹ (3), the universal injectivity of α_𝔯 over R_𝔯”.
Let
R → Sbe a flat ring map of finite presentation with geometrically integral fibres, letq ⊆ Sbe a prime lying overr = q ∩ R, writep = rSfor the generic point of the fibre overr, letNbe a finiteS-module and letalpha : S^{⊕ n} → Nbecome injective overκ(p). IfN_qis flat overRthenalpha_r : S_r^{⊕ n} → N_ris universally injective as a map ofR-modules.
public theorem Module.universallyInjective_localizedMap_of_flat_localizedModule
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))]
(q : Ideal S) [q.IsPrime]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Finite S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S (q.under R)
Function.Injective (alpha.rTensor
(Ideal.map (algebraMap R S) (q.under R)).ResidueField))
(hflat : Module.Flat R (LocalizedModule q.primeCompl N))
(Q : Type (max u w)) [AddCommGroup Q] [Module R Q] :
Function.Injective (((LocalizedModule.map (q.under R).primeCompl
(alpha.restrictScalars R)).restrictScalars R).rTensor Q)
Module.exists_universallyInjective_localizedModule_away_of_flat_localizedModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 757. The attribute's comment: “the first half of the implication (1) ⟹ (2), the universal injectivity of α_f”.
In the situation of
Module.universallyInjective_localizedMap_of_flat_localizedModule, withNfinitely presented andalphaan isomorphism overκ(p), there is anf ∈ R,f ∉ r, such thatalpha_f : S_f^{⊕ n} → N_fis universally injective as a map ofR-modules.
public theorem Module.exists_universallyInjective_localizedModule_away_of_flat_localizedModule
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))]
(r : Ideal R) [r.IsPrime] (q : Ideal S) [q.IsPrime] (hq : q.under R = r)
(N : Type u) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.FinitePresentation S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
Function.Bijective (alpha.rTensor (Ideal.map (algebraMap R S) r).ResidueField))
(hflat : Module.Flat R (LocalizedModule q.primeCompl N)) :
∃ f ∈ r.primeCompl, ∀ (Q : Type u) [AddCommGroup Q] [Module R Q],
Function.Injective (((LocalizedModule.map (Submonoid.powers f)
(alpha.restrictScalars R)).restrictScalars R).rTensor Q)
Module.flat_localizedModule_coker_of_flat_localizedModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 869. The attribute's comment: “the flatness of Coker(α)_𝔮, the second half of conditions (3) to (6)”.
In the situation of
Module.universallyInjective_localizedMap_of_flat_localizedModulethe localization ofCoker(alpha)atqis flat overR.
public theorem Module.flat_localizedModule_coker_of_flat_localizedModule
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))]
(q : Ideal S) [q.IsPrime]
(N : Type u) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Finite S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S (q.under R)
Function.Injective (alpha.rTensor
(Ideal.map (algebraMap R S) (q.under R)).ResidueField))
(hflat : Module.Flat R (LocalizedModule q.primeCompl N)) :
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha))
Module.exists_universallyInjective_and_flat_coker_of_flat_localizedModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 931. The attribute's comment: “the implication (1) ⟹ (2)”.
Let
R → Sbe a flat ring map of finite presentation with geometrically integral fibres, letq ⊆ Sbe a prime lying overr = q ∩ R, writep = rS, letNbe a finitely presentedS-module and letalpha : S^{⊕ n} → Nbe an isomorphism overκ(p). IfN_qis flat overRthen there are anf ∈ R,f ∉ r, such thatalpha_fis universally injective as a map ofR-modules, and ag ∈ S,g ∉ q, such thatCoker(alpha)_gis flat overR.
public theorem Module.exists_universallyInjective_and_flat_coker_of_flat_localizedModule
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))]
(q : Ideal S) [q.IsPrime]
(N : Type u) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.FinitePresentation S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S (q.under R)
Function.Bijective (alpha.rTensor
(Ideal.map (algebraMap R S) (q.under R)).ResidueField))
(hflat : Module.Flat R (LocalizedModule q.primeCompl N)) :
(∃ f ∈ (q.under R).primeCompl, ∀ (Q : Type u) [AddCommGroup Q] [Module R Q],
Function.Injective (((LocalizedModule.map (Submonoid.powers f)
(alpha.restrictScalars R)).restrictScalars R).rTensor Q)) ∧
∃ g ∈ q.primeCompl, Module.Flat R (LocalizedModule.Away g (N ⧸ LinearMap.range alpha))
Module.universallyInjective_localizedMap_and_flat_coker_of_exists_away, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1139. The attribute's comment: “the implication (2) ⟹ (3)”.
If
alpha_fis universally injective as a map ofR-modules for somef ∈ R,f ∉ r, andCoker(alpha)_gisR-flat for someg ∈ S,g ∉ q, thenalpha_ris universally injective as a map ofR-modules andCoker(alpha)_qisR-flat. The primeqneed not lie overr.
public theorem Module.universallyInjective_localizedMap_and_flat_coker_of_exists_away
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S] (r : Ideal R) [r.IsPrime]
(q : Ideal S) [q.IsPrime]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N] (n : ℕ)
(alpha : (Fin n → S) →ₗ[S] N)
(h : (∃ f ∈ r.primeCompl, UniversallyInjective.{max u w} (A := R)
((LocalizedModule.map (Submonoid.powers f)
(alpha.restrictScalars R)).restrictScalars R)) ∧
∃ g ∈ q.primeCompl,
Module.Flat R (LocalizedModule.Away g (N ⧸ LinearMap.range alpha))) :
UniversallyInjective.{max u w} (A := R)
((LocalizedModule.map r.primeCompl (alpha.restrictScalars R)).restrictScalars R) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha))
Module.injective_localizedMap_of_universallyInjective_localizedMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1168. The attribute's comment: “the implication (3) ⟹ (4), the injectivity of α_𝔯”.
If
alpha_ris universally injective as a map ofR-modules then it is injective.
public theorem Module.injective_localizedMap_of_universallyInjective_localizedMap
(R S : Type u) [CommRing R] [CommRing S] [Algebra R S] (r : Ideal R) [r.IsPrime]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N] (n : ℕ)
(alpha : (Fin n → S) →ₗ[S] N)
(h : UniversallyInjective.{max u w} (A := R)
((LocalizedModule.map r.primeCompl (alpha.restrictScalars R)).restrictScalars R)) :
Function.Injective (LocalizedModule.map r.primeCompl (alpha.restrictScalars R))
Module.bijective_localizedMap_map_of_injective_localizedMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1181. The attribute's comment: “the implication (4) ⟹ (5), the isomorphism α_𝔭”.
If
alphais surjective overκ(p)andalpha_ris injective, thenalpha_pis an isomorphism at the generic pointp = rSof the fibre overr.
public theorem Module.bijective_localizedMap_map_of_injective_localizedMap (R S : Type u)
[CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))] (r : Ideal R) [r.IsPrime]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Finite S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
Function.Surjective (alpha.rTensor (Ideal.map (algebraMap R S) r).ResidueField))
(hinj : Function.Injective (LocalizedModule.map r.primeCompl (alpha.restrictScalars R))) :
letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
Function.Bijective
(LocalizedModule.map (Ideal.map (algebraMap R S) r).primeCompl alpha)
Module.injective_localizedMap_atPrime_of_bijective_localizedMap_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1201. The attribute's comment: “the implication (5) ⟹ (6), the injectivity of α_𝔮”.
If
alpha_pis an isomorphism at the generic pointp = rSof the fibre overrthenalpha_qis injective at every primeqofSlying overr.
public theorem Module.injective_localizedMap_atPrime_of_bijective_localizedMap_map (R S : Type u)
[CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))] (r : Ideal R) [r.IsPrime]
(q : Ideal S) [q.IsPrime] (hq : q.under R = r)
(N : Type w) [AddCommGroup N] [Module S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(hbij : letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
Function.Bijective (LocalizedModule.map (Ideal.map (algebraMap R S) r).primeCompl alpha)) :
Function.Injective (LocalizedModule.map q.primeCompl alpha)
Module.flat_localizedModule_of_injective_localizedMap_of_flat_coker, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1220. The attribute's comment: “the implication (6) ⟹ (1)”.
For
Sflat overR, ifalpha_qis injective andCoker(alpha)_qisR-flat thenN_qisR-flat.
public theorem Module.flat_localizedModule_of_injective_localizedMap_of_flat_coker (R S : Type u)
[CommRing R] [CommRing S] [Algebra R S] [Module.Flat R S] (q : Ideal S) [q.IsPrime]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N] (n : ℕ)
(alpha : (Fin n → S) →ₗ[S] N)
(hinj : Function.Injective (LocalizedModule.map q.primeCompl alpha))
(hC : Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha))) :
Module.Flat R (LocalizedModule q.primeCompl N)
Module.flat_localizedModule_freeMap_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FinitelyPresented/FreeMapSpreadingOut.lean, line 1249. The attribute's comment: “the equivalence of the six conditions”.
Let
R → Sbe a finitely presented flat ring map with geometrically integral fibres, letq ⊆ Sbe a prime lying overr ⊆ R, writep = rSfor the generic point of the fibre overr, letNbe a finitely presentedS-module and letalpha : S^{⊕ n} → Nbecome an isomorphism overκ(p). Then the following six conditions are equivalent:
N_qisR-flat;- there are an
f ∈ R,f ∉ r, withalpha_funiversally injective overR, and ag ∈ S,g ∉ q, withCoker(alpha)_gR-flat;alpha_ris universally injective overRandCoker(alpha)_qisR-flat;alpha_ris injective andCoker(alpha)_qisR-flat;alpha_pis an isomorphism andCoker(alpha)_qisR-flat;alpha_qis injective andCoker(alpha)_qisR-flat.
public theorem Module.flat_localizedModule_freeMap_tfae (R S : Type u) [CommRing R] [CommRing S]
[Algebra R S] [Algebra.FinitePresentation R S] [Module.Flat R S]
[GeometricallyIntegral (Spec.map (ofHom (algebraMap R S)))] (r : Ideal R) [r.IsPrime]
(q : Ideal S) [q.IsPrime] (hq : q.under R = r)
(N : Type u) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.FinitePresentation S N] (n : ℕ) (alpha : (Fin n → S) →ₗ[S] N)
(halpha : letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
Function.Bijective (alpha.rTensor (Ideal.map (algebraMap R S) r).ResidueField)) :
letI := Ideal.isPrime_map_of_geometricallyIntegral R S r
List.TFAE [
Module.Flat R (LocalizedModule q.primeCompl N),
(∃ f ∈ r.primeCompl, UniversallyInjective.{u} (A := R)
((LocalizedModule.map (Submonoid.powers f)
(alpha.restrictScalars R)).restrictScalars R)) ∧
∃ g ∈ q.primeCompl,
Module.Flat R (LocalizedModule.Away g (N ⧸ LinearMap.range alpha)),
UniversallyInjective.{u} (A := R)
((LocalizedModule.map r.primeCompl (alpha.restrictScalars R)).restrictScalars R) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Injective (LocalizedModule.map r.primeCompl (alpha.restrictScalars R)) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Bijective (LocalizedModule.map (Ideal.map (algebraMap R S) r).primeCompl alpha) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha)),
Function.Injective (LocalizedModule.map q.primeCompl alpha) ∧
Module.Flat R (LocalizedModule q.primeCompl (N ⧸ LinearMap.range alpha))]
Tag 05IB, a lemma
Tag 05IB in the Stacks Project.
Module.CompleteDevissage.exists_away_decomposition_projective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/DevissageAwayGeneralBase.lean, line 239. The attribute's comment: “the decomposition and projectivity, over a general base”.
Stacks Project, Tag 05IB. Let
Nbe a finitely presented module over a finitely presentedR-algebraSwhich is flat overR, and letN/S/Radmit a complete dévissage over a primerofR. Then there is ana ∈ Routsidersuch that, overR_a, the stage algebras of the dévissage stay smooth with geometrically irreducible fibres, the moduleN_ais the direct sum of the finite free modules(Bᵢ)_a^{⊕ rᵢ}over them, andN_ais projective.One and the same
adoes all of this: it is the element ofModule.CompleteDevissage.exists_away_injective_alpha, after inverting which the away-localized dévissage (Module.CompleteDevissage.localizeAwayCanonical) has injective stage maps, so thatModule.CompleteDevissage.nonempty_linearEquiv_directSumgives the decomposition andModule.CompleteDevissage.projective_of_injective_alphathe projectivity, the lower algebras being projective over the new base by Stacks 05FT (Module.CompleteDevissage.projective_lowerAlgebra). The smoothness and the fibres are the fields of the away-localized dévissage.
public theorem exists_away_decomposition_projective (D : CompleteDevissage R S N r) :
∃ a ∈ r.primeCompl,
(∀ i, Algebra.Smooth (Localization.Away a) (D.locAwayB a i)) ∧
(∀ i, GeometricallyIrreducible
(Spec.map (ofHom (algebraMap (Localization.Away a) (D.locAwayB a i))))) ∧
Nonempty (LocalizedModule (Submonoid.powers a) N ≃ₗ[Localization.Away a]
⨁ i : Fin (D.stepCount + 1), (Fin (D.multiplicity i) →₀ D.locAwayB a i)) ∧
Module.Projective (Localization.Away a) (LocalizedModule (Submonoid.powers a) N)
Module.CompleteDevissage.nonempty_linearEquiv_directSum_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/EtaleNeighborhoodProjectiveSections.lean, line 223. The attribute's comment: “the decomposition, over a local base”.
The decomposition over a local base. Let
Rbe a local ring, letNbe a finiteS-module flat overRand letN/S/Rhave a complete dévissage over the maximal ideal ofR. ThenNis, as anR-module, the direct sum of the finite free modulesBᵢ^{⊕ rᵢ}over the smooth stage algebras of the dévissage.
public theorem nonempty_linearEquiv_directSum_of_flat [IsLocalRing R] [Module.Flat R N]
(D : CompleteDevissage R S N r) (hr : r = IsLocalRing.maximalIdeal R) :
Nonempty (N ≃ₗ[R] ⨁ i : Fin (D.stepCount + 1), (Fin (D.multiplicity i) →₀ D.B i))
Module.CompleteDevissage.projective_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/EtaleNeighborhoodProjectiveSections.lean, line 233. The attribute's comment: “projectivity over a local base”.
Projectivity over a local base. In the situation of
Module.CompleteDevissage.nonempty_linearEquiv_directSum_of_flatthe moduleNis projective overR.
public theorem projective_of_flat [IsLocalRing R] [Module.Flat R N]
(D : CompleteDevissage R S N r) (hr : r = IsLocalRing.maximalIdeal R) :
Module.Projective R N
Tag 05ID, a proposition
Tag 05ID in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_of_isFlatOverAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/ProjectiveSectionsFlatAtPoint.lean, line 244.
Stacks Project, Tag 05ID. A finitely presented quasi-coherent module which is flat over the base at a point has projective global sections after compatible affine elementary étale localization of the source and of the base.
Openness of the flat locus (Tag 0399) replaces
Xby the open subscheme on whichFis flat overS; Proposition 05HR and Remark 05I0 then produce an affine elementary étale square carrying a complete dévissage of the global sections at the prime of the distinguished point, and Lemma 05IB over a general base makes those sections projective after inverting a global function on the new base which does not vanish at the distinguished point. Shrinking the square to the basic opens of that function and of its pullback gives the square of the conclusion.
theorem exists_elementaryEtaleNeighborhood_projective_sections_of_isFlatOverAt
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (x : X)
[LocallyOfFinitePresentation f] [F.IsQuasicoherent] [F.IsFinitePresentation]
(hflat : IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (V : EtaleNeighborhood S (f x))
(U : EtaleNeighborhood X x) (h : U.scheme ⟶ V.scheme),
V.IsElementary ∧ U.IsElementary ∧
(h ≫ V.toBase = U.toBase ≫ f) ∧ (h U.point = V.point) ∧
IsAffine U.scheme ∧ IsAffine V.scheme ∧
(let M := (Scheme.Modules.pullback U.toBase).obj F
letI : Module Γ(V.scheme, ⊤) Γ(M, ⊤) :=
Module.compHom Γ(M, ⊤) h.appTop.hom
Module.Projective Γ(V.scheme, ⊤) Γ(M, ⊤))
Tag 05KW, a lemma
Tag 05KW in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_along_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/ProjectiveSectionsAlongFibre.lean, line 619.
Stacks Project, Tag 05KW. Let
f : X ⟶ Sbe of finite presentation, letFbe a quasi-coherent𝒪_X-module of finite presentation and lets ∈ Sbe such thatFis flat overSat every point of the fibreX_s. Then there is an elementary étale neighbourhood(S', s') ⟶ (S, s)and a commutative square whose upper arrowg : X' ⟶ Xis étale, withX'andS'affine, withX_s ⊆ g(X'), and withΓ(X', g^*F)a projectiveΓ(S', 𝒪_{S'})-module.Tag 05ID enters as
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_of_isFlatOverAt.
theorem exists_elementaryEtaleNeighborhood_projective_sections_along_fibre
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (s : S)
(hf : FinitePresentation f)
[F.IsQuasicoherent] [F.IsFinitePresentation]
(hflat : ∀ x : f.fiber s,
IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x)) :
∃ (U : EtaleNeighborhood S s) (X' : Scheme.{u})
(h : X' ⟶ U.scheme) (g : X' ⟶ X),
U.IsElementary ∧ IsAffine U.scheme ∧ IsAffine X' ∧ Etale g ∧
g ≫ f = h ≫ U.toBase ∧
f ⁻¹' {s} ⊆ Set.range g ∧
(let N := Γ((Scheme.Modules.pullback g).obj F, ⊤)
letI : Module Γ(U.scheme, ⊤) N := Module.compHom N h.appTop.hom
Module.Projective Γ(U.scheme, ⊤) N)
Tag 05IE, a lemma
Tag 05IE in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_structureSheafSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/StructureSheafProjectiveSections.lean, line 196. The attribute's comment: “the full conclusion; assumes only hdev of Tag 05ID at the structure sheaf”.
Stacks Project, Tag 05IE. Let
f : X ⟶ Sbe locally of finite presentation and letx : X. Iffis flat atxoverS, then there is a commutative square of pointed schemeswhose horizontal arrows are elementary étale neighbourhoods, with(X, x) ←ᵍ (X', x') ↓ ↓ (S, s) ← (S', s')X'andS'affine, such thatΓ(X', 𝒪_{X'})is a projectiveΓ(S', 𝒪_{S'})-module.This is the case
ℱ = 𝒪_Xof Tag 05ID, as in the source. The flatness hypothesis is converted from the morphism to the structure sheaf byAlgebraicGeometry.isFlatOverAt_unit_iff_isFlatAt, and the conclusion is converted back fromΓ(X', g^*𝒪_X)toΓ(X', 𝒪_{X'})byAlgebraicGeometry.Scheme.Modules.pullbackUnitSectionsLinearEquiv; the finite presentation of𝒪_Xas a module, which Tag 05ID requires ofℱ, isAlgebraicGeometry.Scheme.unitModule_isFinitePresentation.The hypothesis
hdevis the hypothesis of this library's Tag 05ID,AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections, instantiated at the structure sheaf: Proposition 05HR composed with Remark 05I0, carrying the injectivity of the mapsα iof Lemma 05IA. Nothing is assumed beyond it — in particular no Noetherian hypothesis, which Tag 05IE does not have. The form withouthdevisexists_elementaryEtaleNeighborhood_projective_structureSheafSections_of_isFlatAt.
theorem exists_elementaryEtaleNeighborhood_projective_structureSheafSections
{X S : Scheme.{u}} (f : X ⟶ S) (x : X) [LocallyOfFinitePresentation f]
(hflat : IsFlatAt (LocallyRingedSpace.forgetToSheafedSpace.map f.toLRSHom) x)
(hdev : IsFlatOverAt (LocallyRingedSpace.forgetToSheafedSpace.map f.toLRSHom)
(Scheme.unitModule X) x →
∃ (V : EtaleNeighborhood S (f x)) (U : EtaleNeighborhood X x) (h : U.scheme ⟶ V.scheme)
(_ : V.IsElementary) (_ : U.IsElementary)
(hover : h ≫ V.toBase = U.toBase ≫ f) (_ : h U.point = V.point)
(_ : IsAffine U.scheme) (_ : IsAffine V.scheme)
(r : Ideal Γ(V.scheme, ⊤)) (_ : r.IsPrime),
letI : (Scheme.unitModule X).IsFiniteType :=
SheafOfModules.instIsFiniteTypeOfIsFinitePresentation (Scheme.unitModule X)
letI : Algebra Γ(V.scheme, ⊤) Γ(U.scheme, ⊤) := h.appTop.hom.toAlgebra
letI : Algebra.FinitePresentation Γ(V.scheme, ⊤) Γ(U.scheme, ⊤) :=
EtaleNeighborhood.algebraFinitePresentation_globalSections f V U h hover
letI : Module Γ(V.scheme, ⊤)
Γ((Scheme.Modules.pullback U.toBase).obj (Scheme.unitModule X), ⊤) :=
Module.compHom _ h.appTop.hom
letI : Module.Finite Γ(U.scheme, ⊤)
Γ((Scheme.Modules.pullback U.toBase).obj (Scheme.unitModule X), ⊤) :=
EtaleNeighborhood.moduleFinite_pullback_globalSections (Scheme.unitModule X) U
letI : IsScalarTower Γ(V.scheme, ⊤) Γ(U.scheme, ⊤)
Γ((Scheme.Modules.pullback U.toBase).obj (Scheme.unitModule X), ⊤) :=
IsScalarTower.of_algebraMap_smul fun _ _ => rfl
∃ D : Module.CompleteDevissage Γ(V.scheme, ⊤) Γ(U.scheme, ⊤)
Γ((Scheme.Modules.pullback U.toBase).obj (Scheme.unitModule X), ⊤) r,
∀ i, letI : Module (D.B i) (D.M i) :=
Module.compHom (D.M i) (D.toLeft i).toRingHom
Function.Injective (D.alpha i)) :
∃ (V : EtaleNeighborhood S (f x)) (U : EtaleNeighborhood X x) (h : U.scheme ⟶ V.scheme),
V.IsElementary ∧ U.IsElementary ∧
(h ≫ V.toBase = U.toBase ≫ f) ∧ (h U.point = V.point) ∧
IsAffine U.scheme ∧ IsAffine V.scheme ∧
(letI : Module Γ(V.scheme, ⊤) Γ(U.scheme, ⊤) :=
Module.compHom Γ(U.scheme, ⊤) h.appTop.hom
Module.Projective Γ(V.scheme, ⊤) Γ(U.scheme, ⊤))
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_structureSheafSections_of_isFlatAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/StructureSheafProjectiveSections.lean, line 266.
Stacks Project, Tag 05IE. Let
f : X ⟶ Sbe locally of finite presentation and letx : X. Iffis flat atxoverS, then there is a commutative square of pointed schemeswhose horizontal arrows are elementary étale neighbourhoods, with(X, x) ←ᵍ (X', x') ↓ ↓ (S, s) ← (S', s')X'andS'affine, such thatΓ(X', 𝒪_{X'})is a projectiveΓ(S', 𝒪_{S'})-module.This is the case
ℱ = 𝒪_Xof Tag 05ID, as in the source, whose proof of Tag 05IE is the single sentence "This is a special case of Proposition 05ID". The specialisation needs the three identifications of the module docstring:AlgebraicGeometry.Scheme.unitModule Xis quasi-coherent and, byAlgebraicGeometry.Scheme.unitModule_isFinitePresentation, of finite presentation, so Tag 05ID applies to it;AlgebraicGeometry.isFlatOverAt_unit_iff_isFlatAtturns flatness of the morphism atxinto flatness of the structure sheaf over the base atx; andAlgebraicGeometry.Scheme.Modules.pullbackUnitSectionsLinearEquividentifiesΓ(X', g^*𝒪_X)withΓ(X', 𝒪_{X'}), compatibly with the restriction of scalars alongΓ(S', 𝒪_{S'}) ⟶ Γ(X', 𝒪_{X'})that both sides carry.Unlike
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_structureSheafSections, this carries no hypothesis beyond the source's: the unconditional form of Tag 05ID,AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_of_isFlatOverAt, is used in place of the conditionalAlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections, so there is nothing left to assume.
theorem exists_elementaryEtaleNeighborhood_projective_structureSheafSections_of_isFlatAt
{X S : Scheme.{u}} (f : X ⟶ S) (x : X) [LocallyOfFinitePresentation f]
(hflat : IsFlatAt f.toLRSHom.toShHom x) :
∃ (V : EtaleNeighborhood S (f x)) (U : EtaleNeighborhood X x) (h : U.scheme ⟶ V.scheme),
V.IsElementary ∧ U.IsElementary ∧
(h ≫ V.toBase = U.toBase ≫ f) ∧ (h U.point = V.point) ∧
IsAffine U.scheme ∧ IsAffine V.scheme ∧
(letI : Module Γ(V.scheme, ⊤) Γ(U.scheme, ⊤) :=
Module.compHom Γ(U.scheme, ⊤) h.appTop.hom
Module.Projective Γ(V.scheme, ⊤) Γ(U.scheme, ⊤))
Tag 05KX, a lemma
Tag 05KX in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_structureSheafSections_along_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/StructureSheafProjectiveSectionsAlongFibre.lean, line 102.
Stacks Project, Tag 05KX. Let
f : X ⟶ Sbe of finite presentation and lets : Sbe a point at whichXis flat overSat every point of the fibreX_s. Then there are an elementary étale neighbourhood(S', s') ⟶ (S, s)and a commutative squarewithX ←ᵍ X' ↓ ↓ S ← S'gétale,X_s ⊆ g(X'), withX'andS'affine, and withΓ(X', 𝒪_{X'})a projectiveΓ(S', 𝒪_{S'})-module.This is the case
ℱ = 𝒪_Xof Tag 05KW, as in the source. The flatness hypothesis is converted from the morphism to the structure sheaf byAlgebraicGeometry.isFlatOverAt_unit_iff_isFlatAt, and the conclusion is converted back fromΓ(X', g^*𝒪_X)toΓ(X', 𝒪_{X'})byAlgebraicGeometry.Scheme.Modules.pullbackUnitSectionsLinearEquiv; the finite presentation of𝒪_Xas a module, which Tag 05KW requires ofℱ, isAlgebraicGeometry.Scheme.unitModule_isFinitePresentation. Tag 05KW enters asAlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_along_fibre, which is unconditional, so nothing is assumed here beyond the source's hypotheses.
theorem exists_elementaryEtaleNeighborhood_projective_structureSheafSections_along_fibre
{X S : Scheme.{u}} (f : X ⟶ S) (s : S) (hf : FinitePresentation f)
(hflat : ∀ x : f.fiber s, IsFlatAt f.toLRSHom.toShHom (f.fiberι s x)) :
∃ (U : EtaleNeighborhood S s) (X' : Scheme.{u})
(h : X' ⟶ U.scheme) (g : X' ⟶ X),
U.IsElementary ∧ IsAffine U.scheme ∧ IsAffine X' ∧ Etale g ∧
g ≫ f = h ≫ U.toBase ∧
f ⁻¹' {s} ⊆ Set.range g ∧
(letI : Module Γ(U.scheme, ⊤) Γ(X', ⊤) := Module.compHom Γ(X', ⊤) h.appTop.hom
Module.Projective Γ(U.scheme, ⊤) Γ(X', ⊤))
Tag 05KY, a lemma
Tag 05KY in the Stacks Project.
AlgebraicGeometry.exists_etale_neighborhood_with_free_globalSections_of_isFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FreeSectionsFromFiniteTypeFlatness.lean, line 652.
Stacks Project, Tag 05KY. Let
f : X ⟶ Sbe locally of finite presentation, letFbe a quasi-coherent𝒪_X-module of finite type and letx ∈ Xbe a point at whichFis flat overS. Then there is an elementary étale neighbourhood(S', s') ⟶ (S, s)of the imagesofxand a commutative diagram of pointed schemessuch that(X, x) ← (X', x') ↓ ↓ (S, s) ← Spec 𝒪_{S', s'}X' ⟶ X ×_S Spec 𝒪_{S', s'}is étale,κ(x) = κ(x'),X'is affine and of finite presentation over𝒪_{S', s'},g^*Fis of finite presentation, andΓ(X', g^*F)is a free𝒪_{S', s'}-module.The two inputs are Tag 05ID,
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_projective_sections_of_isFlatOverAt, and Tag 05I5,AlgebraicGeometry.existsElementaryEtaleNeighborhoodFinitePresentationFlatOver.
theorem exists_etale_neighborhood_with_free_globalSections_of_isFiniteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(x : X) (hflat : IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : EtaleNeighborhood S (f x)) (_ : U.IsElementary)
(X' : Scheme.{u}) (x' : X')
(g : X' ⟶ X)
(q : X' ⟶ Spec (.of (U.scheme.presheaf.stalk U.point)))
(_ : g x' = x)
(_ : q x' = IsLocalRing.closedPoint (U.scheme.presheaf.stalk U.point))
(hcomm : g ≫ f = q ≫ U.scheme.fromSpecStalk U.point ≫ U.toBase)
(_ : Etale (pullback.lift g q hcomm))
(_ : IsIso (g.residueFieldMap x'))
(_ : IsAffine X')
(_ : FinitePresentation q)
(_ : ((Scheme.Modules.pullback g).obj F).IsFinitePresentation),
letI : Module (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤) :=
Module.compHom _
((Scheme.ΓSpecIso (.of (U.scheme.presheaf.stalk U.point))).inv ≫ q.appTop).hom
Module.Free (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤)
Tag 05KZ, a lemma
Tag 05KZ in the Stacks Project.
AlgebraicGeometry.exists_etale_neighborhood_with_free_globalSections_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FreeSectionsFiniteType.lean, line 217.
Stacks Project, Tag 05KZ. Let
f : X ⟶ Sbe locally of finite type, letFbe a quasi-coherent𝒪_X-module of finite type and letx : Xbe a point at whichFis flat overS. Then there is an elementary étale neighbourhood(S', s') ⟶ (S, s)of the imagesofxand a commutative diagram of pointed schemessuch that(X, x) ← (X', x') ↓ ↓ (S, s) ← Spec 𝒪_{S', s'}X' ⟶ X ×_S Spec 𝒪_{S', s'}is étale,κ(x) = κ(x'),X'is affine, andΓ(X', g^*F)is a free𝒪_{S', s'}-module.This is Tag 05KY with the finite-presentation hypothesis on
fweakened to finite type, by the source's embedding into affine space: an affine neighbourhoodVofxis a closed subschemei : V ⟶ Aof an affine spaceAover an affine open ofS, withA ⟶ Slocally of finite presentation, and Tag 05KY applies toA ⟶ S, to the direct imagei_*(F|_V)and to the pointi x. The chartY ⟶ Ait returns is pulled back toX' = V ×_A Y. The embedding isAlgebraicGeometry.exists_closedImmersion_affineSpace_of_locallyOfFiniteType, the flatness transfer acrossiisAlgebraicGeometry.isFlatOverAt_pushforward_finite_iff, and the comparison of sections isAlgebraicGeometry.affinePushforwardBaseChangeIso.
theorem exists_etale_neighborhood_with_free_globalSections_of_locallyOfFiniteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(x : X) (hflat : IsFlatOverAt f.toLRSHom.toShHom F x) :
∃ (U : EtaleNeighborhood S (f x)) (_ : U.IsElementary)
(X' : Scheme.{u}) (x' : X')
(g : X' ⟶ X)
(q : X' ⟶ Spec (.of (U.scheme.presheaf.stalk U.point)))
(_ : g x' = x)
(_ : q x' = IsLocalRing.closedPoint (U.scheme.presheaf.stalk U.point))
(hcomm : g ≫ f = q ≫ U.scheme.fromSpecStalk U.point ≫ U.toBase)
(_ : Etale (pullback.lift g q hcomm))
(_ : IsIso (g.residueFieldMap x'))
(_ : IsAffine X'),
letI : Module (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤) :=
Module.compHom _
((Scheme.ΓSpecIso (.of (U.scheme.presheaf.stalk U.point))).inv ≫ q.appTop).hom
Module.Free (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤)
Tag 05L0, a lemma
Tag 05L0 in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_free_sections_along_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FreeSectionsAlongFibre.lean, line 902.
Stacks Project, Tag 05L0. Let
f : X ⟶ Sbe of finite presentation, letFbe a quasi-coherent𝒪_X-module of finite type and lets : Sbe such thatFis flat overSat every point of the fibreX_s. Then there are an elementary étale neighbourhood(S', s') ⟶ (S, s)and a commutative diagramsuch thatX ←ᵍ X' ↓ ↓ S ← Spec 𝒪_{S', s'}X' ⟶ X ×_S Spec 𝒪_{S', s'}is étale,X_s = g((X')_{s'}),X'is affine and of finite presentation over𝒪_{S', s'},g^*Fis of finite presentation, andΓ(X', g^*F)is a free𝒪_{S', s'}-module.The inputs are Tag 05KY,
AlgebraicGeometry.exists_etale_neighborhood_with_free_globalSections_of_isFiniteType, applied at every point of the fibre, and Tag 057B, which makes the elementary étale neighbourhoods of(S, s)cofiltered so that the finitely many neighbourhoods surviving the quasi-compactness of the fibre are dominated by one of them.
theorem exists_elementaryEtaleNeighborhood_free_sections_along_fibre
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules) (hfp : FinitePresentation f)
[F.IsQuasicoherent] [F.IsFiniteType] (s : S)
(hflat : ∀ x : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x)) :
∃ (U : EtaleNeighborhood S s) (_ : U.IsElementary)
(X' : Scheme.{u})
(q : X' ⟶ Spec (.of (U.scheme.presheaf.stalk U.point)))
(g : X' ⟶ X)
(hcomm : g ≫ f = q ≫ U.scheme.fromSpecStalk U.point ≫ U.toBase)
(_ : Etale (pullback.lift g q hcomm))
(_ : f ⁻¹' {s} = g '' (q ⁻¹' {IsLocalRing.closedPoint _}))
(_ : IsAffine X')
(_ : FinitePresentation q)
(_ : ((Scheme.Modules.pullback g).obj F).IsFinitePresentation),
letI : Module (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤) :=
Module.compHom _
((Scheme.ΓSpecIso (.of (U.scheme.presheaf.stalk U.point))).inv ≫ q.appTop).hom
Module.Free (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤)
Tag 05L1, a lemma
Tag 05L1 in the Stacks Project.
AlgebraicGeometry.exists_elementaryEtaleNeighborhood_free_sections_along_fibre_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Etale/ElementaryNeighborhood/FreeSectionsAlongFibre.lean, line 1031.
Stacks Project, Tag 05L1. Let
f : X ⟶ Sbe of finite type, letFbe a quasi-coherent𝒪_X-module of finite type and lets : Sbe such thatFis flat overSat every point of the fibreX_s. Then there are an elementary étale neighbourhood(S', s') ⟶ (S, s)and a commutative diagramsuch thatX ←ᵍ X' ↓ ↓ S ← Spec 𝒪_{S', s'}X' ⟶ X ×_S Spec 𝒪_{S', s'}is étale,X_s = g((X')_{s'}),X'is affine, andΓ(X', g^*F)is a free𝒪_{S', s'}-module.This differs from Tag 05L0 only in assuming
fof finite type rather than of finite presentation, the input at each point of the fibre being Tag 05KZ,AlgebraicGeometry.exists_etale_neighborhood_with_free_globalSections_of_locallyOfFiniteType, in place of Tag 05KY; correspondingly the two finite-presentation clauses are dropped from the conclusion.
theorem exists_elementaryEtaleNeighborhood_free_sections_along_fibre_of_finiteType
{X S : Scheme.{u}} (f : X ⟶ S) (F : X.Modules)
[LocallyOfFiniteType f] [QuasiCompact f]
[F.IsQuasicoherent] [F.IsFiniteType] (s : S)
(hflat : ∀ x : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x)) :
∃ (U : EtaleNeighborhood S s) (_ : U.IsElementary)
(X' : Scheme.{u})
(q : X' ⟶ Spec (.of (U.scheme.presheaf.stalk U.point)))
(g : X' ⟶ X)
(hcomm : g ≫ f = q ≫ U.scheme.fromSpecStalk U.point ≫ U.toBase)
(_ : Etale (pullback.lift g q hcomm))
(_ : f ⁻¹' {s} = g '' (q ⁻¹' {IsLocalRing.closedPoint _}))
(_ : IsAffine X'),
letI : Module (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤) :=
Module.compHom _
((Scheme.ΓSpecIso (.of (U.scheme.presheaf.stalk U.point))).inv ≫ q.appTop).hom
Module.Free (U.scheme.presheaf.stalk U.point)
Γ((Scheme.Modules.pullback g).obj F, ⊤)
Sources
Section38.13 Flat finite type modules, Part II#
Section 38.13 of the Stacks Project, Tag 05IF. 13 tags here are carried by 29 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0CU6, a lemma
Tag 0CU6 in the Stacks Project.
Stacks.PureModules.exists_not_mem_and_mem_associatedPrimes_not_le_fiberIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/FibreAssociatedPrimes.lean, line 64.
Stacks Project, Tag 0CU6. An element can be chosen outside
qwhose image in the fibre lies in every associated prime of the fibre module that is not contained in the extension ofq.
theorem exists_not_mem_and_mem_associatedPrimes_not_le_fiberIdeal
{R S N : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [AddCommGroup N] [Module S N]
[Module.FinitePresentation S N]
(p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p] :
letI : Algebra S (p.Fiber S) := Algebra.TensorProduct.rightAlgebra
∃ g : S, g ∉ q ∧
∀ r ∈ associatedPrimes (p.Fiber S) (TensorProduct S (p.Fiber S) N),
¬ r ≤ Ideal.map
(Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S).toRingHom q →
(Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S) g ∈ r
Tag 05IG, a lemma
Tag 05IG in the Stacks Project.
Stacks.WeaklyAssociatedPrimes.isWeaklyAssociatedPrime_and_isAssociatedPrimeStacks_fibre_of_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/WeaklyAssociatedPrime/FlatFibreAtPrime.lean, line 499. The attribute's comment: “RESTRICTED: the implication ⟹ only, and its base clause carries the extra hypothesis that 𝔭 is finitely generated, which the tag does not have. That hypothesis stands in for the étale-local structure theorem 05ID, proved only scheme-side here”.
[Stacks, Tag 05IG], the implication
⟹. LetR → Sbe a ring map of finite presentation, letNbe anS-module of finite presentation which is flat as anR-module, letMbe anR-module, and let𝔮be a prime ofSlying over a prime𝔭ofRwhich is finitely generated. If𝔮is weakly associated toN ⊗_R MoverS, then𝔭is weakly associated toMoverRand𝔮-baris an associated prime, in the strict sense of [Stacks, Tag 00LA], ofN-barover the fibre ringS-bar.Finite generation of
𝔭enters the base clause only. It stands in for the étale-local structure theorem [Stacks, Tag 05ID], which the source uses to makeNprojective over the base and which this library has only in scheme-theoretic form; see the module documentation for what the ring-theoretic form would need. WithNprojective over a local base the witness lands in a finite free summand and no prime avoidance is needed, whereas the finiteness-free content available here (exists_smul_pow_eq_zero_localizedModule_of_tensorProduct) only covers𝔭 R_𝔭by the primes weakly associated toM_𝔭, and finitely many generators of𝔭are what turn that covering into a single witness. The variant..._of_tensorProduct_of_finitetrades it for finiteness ofWeakAss_R(M), and the fibre clauseisAssociatedPrimeStacks_fibre_of_isWeaklyAssociatedPrime_tensorProductis free of both.The converse implication of the tag is not proved here; see the module documentation.
theorem isWeaklyAssociatedPrime_and_isAssociatedPrimeStacks_fibre_of_tensorProduct
[Algebra.FinitePresentation R S] [Module.FinitePresentation S N] [Module.Flat R N]
(q : Ideal S) [q.IsPrime] [q.LiesOver p] (hfg : p.FG)
(hq : IsWeaklyAssociatedPrime S (N ⊗[R] M) q) :
IsWeaklyAssociatedPrime R M p ∧
IsAssociatedPrimeStacks (Localization (primeComplImage S p) ⧸ fibreIdeal S p)
((Localization (primeComplImage S p) ⧸ fibreIdeal S p) ⊗[S] N)
(Ideal.map (algebraMap S (Localization (primeComplImage S p) ⧸ fibreIdeal S p)) q)
Stacks.WeaklyAssociatedPrimes.tensorFibreFormula05IG, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/WeaklyAssociatedPrime/TensorFibreFormula.lean, line 60.
[Stacks, Tag 05IG]. Let
R → Sbe a ring map of finite presentation, letNbe a finitely presentedS-module which is flat as anR-module, letMbe anR-module and let𝔮be a prime ofSlying over a prime𝔭ofR. Then𝔮is weakly associated toN ⊗_R Mif and only if𝔭is weakly associated toMand some prime of the fibre ringS ⊗_R κ(𝔭)associated — in the strict sense of [Stacks, Tag 00LA] — to the fibre module contracts to𝔮.Both directions are proved, and no hypothesis beyond the tag's own is used.
theorem tensorFibreFormula05IG : TensorFibreFormula05IG.{u}
Tag 0CU7, an equation
Tag 0CU7 in the Stacks Project.
Stacks.PureModules.comap_associatedPrime_le_fiberIdeal_of_isUnit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/FibreAssociatedPrimesAway.lean, line 73.
Stacks Project, Tag 0CU7. With
g ∈ Schosen as in Tag 0CU6, letBbe an étale algebra over the fibre ringp.Fiber Sin which the image ofgis a unit. Then every prime ofBassociated to the base change of the fibre module contracts to a prime ofp.Fiber Scontained in the extension ofq.Indeed, such a contraction is associated to the fibre module itself, because
Bis flat over the fibre ring and the fibre ring is Noetherian; were it not contained in the extension ofq, the choice ofgwould put the image ofginside it, contradicting the fact that the image ofginBis a unit.
theorem comap_associatedPrime_le_fiberIdeal_of_isUnit
{R S N B : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FinitePresentation R S] [AddCommGroup N] [Module S N]
[Module.FinitePresentation S N]
(p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p]
[CommRing B] [Algebra (p.Fiber S) B] [Algebra.Etale (p.Fiber S) B]
(g : S)
(hg : letI : Algebra S (p.Fiber S) := Algebra.TensorProduct.rightAlgebra
g ∉ q ∧
(∀ r ∈ associatedPrimes (p.Fiber S)
(TensorProduct S (p.Fiber S) N),
(¬ r ≤ Ideal.map
(Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S).toRingHom q →
(Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S) g ∈ r)))
(hunit : IsUnit ((algebraMap (p.Fiber S) B)
((Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S) g))) :
letI : Algebra S (p.Fiber S) := Algebra.TensorProduct.rightAlgebra
∀ r' ∈ associatedPrimes B
(TensorProduct (p.Fiber S) B (TensorProduct S (p.Fiber S) N)),
Ideal.comap (algebraMap (p.Fiber S) B) r' ≤
Ideal.map
(Algebra.TensorProduct.includeRight : S →ₐ[R] p.Fiber S).toRingHom q
Tag 05IH, a lemma
Tag 05IH in the Stacks Project.
Stacks.Divisors.isWeaklyAssociatedPoint_tensorPullback_iff_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/WeaklyAssociatedTensorPullbackIff.lean, line 118.
Let
Sbe a scheme, letf : X ⟶ Sbe locally of finite type, letx ∈ X, letFbe a quasi-coherent𝒪_X-module of finite type and letGbe a quasi-coherent𝒪_S-module. IfFis flat atxoverS, thenxis weakly associated toF ⊗_{𝒪_X} f^*Gif and only iff xis weakly associated toGandxis an associated point of the restriction ofFto the fibreX_{f x}, that is,xlies in the relative assassinAss_{X/S}(F).
theorem isWeaklyAssociatedPoint_tensorPullback_iff_of_finiteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) (G : S.Modules) [F.IsQuasicoherent] [F.IsFiniteType] [G.IsQuasicoherent]
(x : X) (hF : IsFlatOverAt f.toLRSHom.toShHom F x) :
IsWeaklyAssociatedPoint
((((Stacks.SheafOfModules.Tensor.sheafTensor
⟨((X.toLocallyRingedSpace.toRingedSpace)).presheaf,
((X.toLocallyRingedSpace.toRingedSpace)).IsSheaf⟩).obj (F)).obj
(((Scheme.Modules.pullback f).obj G)))) x ↔
(IsWeaklyAssociatedPoint G (f x) ∧ x ∈ relativeAssassin f F)
Tag 05II, a lemma
Tag 05II in the Stacks Project.
Stacks.WeaklyAssociatedPrimes.weaklyAssociatedPrimes_tensorProduct_eq_fibrewise_assStacks_of_small, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/WeaklyAssociatedPrime/TensorFibreEssentiallyFiniteType.lean, line 449. The attribute's comment: “the full set equality; the two rings lie in one universe, as IsEssentiallyOfFiniteType requires, and the modules are in arbitrary universes”.
[Stacks, Tag 05II]. For
R → Sessentially of finite type,Na localization of a finiteS-module flat overRandManyR-module, the weakly associated primes ofN ⊗[R] Mare the contractions of the primes of the fibre ringsS ⊗[R] κ(p)associated to the fibre modules, over the weakly associated primespofM.
theorem weaklyAssociatedPrimes_tensorProduct_eq_fibrewise_assStacks_of_small
(R S : Type u) (M : Type v) (N₀ : Type w) (N : Type x)
[CommRing R] [CommRing S] [Algebra R S]
[AddCommGroup M] [Module R M]
[AddCommGroup N₀] [Module S N₀] [Module.Finite S N₀]
[AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Flat R N]
(hfinite : IsEssentiallyOfFiniteType R S (algebraMap R S))
(T : Submonoid S) (f : N₀ →ₗ[S] N) [IsLocalizedModule T f] :
weaklyAssociatedPrimes S (N ⊗[R] M) =
{q : Ideal S | ∃ p ∈ weaklyAssociatedPrimes R M, ∃ hp : p.IsPrime,
letI : p.IsPrime := hp
∃ q' ∈ assStacks (S ⊗[R] p.ResidueField)
((S ⊗[R] p.ResidueField) ⊗[S] N),
q = Ideal.comap (Algebra.TensorProduct.includeLeft (R := R)
(S := S) (A := S) (B := p.ResidueField)).toRingHom q'}
Stacks.WeaklyAssociatedPrimes.weaklyAssociatedPrimes_tensorProduct_eq_fibrewise_assStacks_of_small', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/WeaklyAssociatedPrime/TensorFibreFormulaEssentiallyFiniteType.lean, line 143. The attribute's comment: “the full set equality, for a module in the universe of the two rings”.
For
Min the universe of the two rings, the weakly associated primes ofN ⊗[R] Mare the contractions of the primes of the fibre rings associated to the fibre modules, over the weakly associated primes ofM.
theorem weaklyAssociatedPrimes_tensorProduct_eq_fibrewise_assStacks_of_small'
(R S : Type u) (M : Type u) (N₀ : Type w) (N : Type x)
[CommRing R] [CommRing S] [Algebra R S]
[AddCommGroup M] [Module R M]
[AddCommGroup N₀] [Module S N₀] [Module.Finite S N₀]
[AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Flat R N]
(hfinite : IsEssentiallyOfFiniteType R S (algebraMap R S))
(T : Submonoid S) (f : N₀ →ₗ[S] N) [IsLocalizedModule T f] :
weaklyAssociatedPrimes S (N ⊗[R] M) =
{q : Ideal S | ∃ p ∈ weaklyAssociatedPrimes R M, ∃ hp : p.IsPrime,
letI : p.IsPrime := hp
∃ q' ∈ assStacks (S ⊗[R] p.ResidueField)
((S ⊗[R] p.ResidueField) ⊗[S] N),
q = Ideal.comap (Algebra.TensorProduct.includeLeft (R := R)
(S := S) (A := S) (B := p.ResidueField)).toRingHom q'}
Tag 05IJ, a lemma
Tag 05IJ in the Stacks Project.
Stacks.Divisors.weaklyAssociatedPoints_tensorPullback_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/WeaklyAssociatedTensorPullbackFormula.lean, line 88.
[Stacks, Tag 05IJ]. Let
f : X ⟶ Sbe locally of finite type, letFbe a quasi-coherent𝒪_X-module of finite type which is flat overS, and letGbe a quasi-coherent𝒪_S-module. Then the weakly associated points ofF ⊗_{𝒪_X} f^*Gare exactly the points of the fibresX_s, over the weakly associated pointssofG, that are associated to the restriction ofFtoX_s.This is the global form of Tag 05IH, and the source's proof of it is the pointwise statement plus the passage to sets. Both are already in
StacksFrontier.AlgebraicGeometry.Flatness.WeaklyAssociatedTensorPullbackGlobal, up to the same algebraic input that Tag 05IH needed; supplying it here removes the hypothesis.
theorem weaklyAssociatedPoints_tensorPullback_eq
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) (G : S.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] [G.IsQuasicoherent]
(hF : IsFlatOver f.toLRSHom.toShHom F) :
weaklyAssociatedPoints
(((Stacks.SheafOfModules.Tensor.sheafTensor
⟨(X.toLocallyRingedSpace.toRingedSpace).presheaf,
(X.toLocallyRingedSpace.toRingedSpace).IsSheaf⟩).obj F).obj
((Scheme.Modules.pullback f).obj G)) =
⋃ s ∈ weaklyAssociatedPoints G,
f.fiberι s '' associatedPoints ((Scheme.Modules.pullback (f.fiberι s)).obj F)
Stacks.Divisors.weaklyAssociatedPoints_tensorPullback_eq_of_localFormula, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/WeaklyAssociatedTensorPullbackGlobal.lean, line 119. The attribute's comment: “the set equality, conditional on the algebraic formula of Tag 05II, carried here by the hypothesis LocalWeaklyAssociatedTensorFormula, which this library does not prove”.
Stacks Project, Tag 05IJ, from the local form of the algebraic formula of tag 05II. Let
f : X ⟶ Sbe locally of finite type, letFbe a finite-type quasi-coherent𝒪_X-module flat overS, and letGbe a quasi-coherent𝒪_S-module. The weakly associated points ofF ⊗_{𝒪_X} f^*Gare the points of the fibresX_sover weakly associated pointssofGthat are associated to the restriction ofFtoX_s.This is the source's own proof: the pointwise statement is tag 05IH, available here as
Stacks.Divisors.isWeaklyAssociatedPoint_tensorPullback_iff_of_localFormula, and the passage to the set equality isStacks.Divisors.mem_iUnion_fiberι_associatedPoints_iff.
theorem weaklyAssociatedPoints_tensorPullback_eq_of_localFormula
(hformula : LocalWeaklyAssociatedTensorFormula.{u})
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) (G : S.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] [G.IsQuasicoherent]
(hF : IsFlatOver f.toLRSHom.toShHom F) :
weaklyAssociatedPoints
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨((X.toLocallyRingedSpace.toRingedSpace)).presheaf, ((X.toLocallyRingedSpace.toRingedSpace)).IsSheaf⟩).obj (F)).obj (((Scheme.Modules.pullback f).obj G)))) =
⋃ s ∈ weaklyAssociatedPoints G,
f.fiberι s '' associatedPoints ((Scheme.Modules.pullback (f.fiberι s)).obj F)
Stacks.Divisors.weaklyAssociatedPoints_tensorPullback_eq_of_formula, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/WeaklyAssociatedTensorPullbackGlobal.lean, line 137. The attribute's comment: “the set equality, conditional on the formula of Tag 05II, carried here by the hypothesis WeaklyAssociatedPrimesTensorFormula, which this library does not prove”.
Stacks Project, Tag 05IJ, from the algebraic formula of tag 05II itself.
theorem weaklyAssociatedPoints_tensorPullback_eq_of_formula
(hformula : WeaklyAssociatedPrimesTensorFormula.{u})
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) (G : S.Modules)
[F.IsQuasicoherent] [F.IsFiniteType] [G.IsQuasicoherent]
(hF : IsFlatOver f.toLRSHom.toShHom F) :
weaklyAssociatedPoints
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨((X.toLocallyRingedSpace.toRingedSpace)).presheaf, ((X.toLocallyRingedSpace.toRingedSpace)).IsSheaf⟩).obj (F)).obj (((Scheme.Modules.pullback f).obj G)))) =
⋃ s ∈ weaklyAssociatedPoints G,
f.fiberι s '' associatedPoints ((Scheme.Modules.pullback (f.fiberι s)).obj F)
Stacks.Divisors.weaklyAssociatedPoints_tensorPullback_subset, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/WeaklyAssociatedTensorPullbackGlobal.lean, line 164. The attribute's comment: “the inclusion ⊆ only, and under one hypothesis the tag does not have: finitely generated maximal ideals on S, which the base clause of Tag 05IH needs”.
Stacks Project, Tag 05IJ, the inclusion
⊆. Letf : X ⟶ Sbe locally of finite type, letFbe a quasi-coherent𝒪_X-module of finite type which is flat overS, and letGbe an𝒪_S-module. If the maximal ideals of the local rings ofSare finitely generated, then every weakly associated point ofF ⊗_{𝒪_X} f^*Glies on the fibre over a weakly associated point ofGand is associated to the restriction ofFto that fibre.No algebraic input is assumed: this is the forward implication of tag 05IH,
Stacks.Divisors.isWeaklyAssociatedPoint_and_mem_relativeAssassin_of_tensorPullback_of_finiteType, read as a statement about sets. Its one restriction is inherited: finite generation of the maximal ideal at the image point, which replaces the prime avoidance the source runs after making the stalk ofFprojective over the base by the étale-local structure theorem of tag 05ID.
theorem weaklyAssociatedPoints_tensorPullback_subset
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) (G : S.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hF : IsFlatOver f.toLRSHom.toShHom F)
(hfg : ∀ s : S, (IsLocalRing.maximalIdeal (S.presheaf.stalk s)).FG) :
weaklyAssociatedPoints
((((Stacks.SheafOfModules.Tensor.sheafTensor ⟨((X.toLocallyRingedSpace.toRingedSpace)).presheaf, ((X.toLocallyRingedSpace.toRingedSpace)).IsSheaf⟩).obj (F)).obj (((Scheme.Modules.pullback f).obj G)))) ⊆
⋃ s ∈ weaklyAssociatedPoints G,
f.fiberι s '' associatedPoints ((Scheme.Modules.pullback (f.fiberι s)).obj F)
Tag 05IK, a theorem
Tag 05IK in the Stacks Project.
AlgebraicGeometry.isOpen_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocus.lean, line 231. The attribute's comment: “openness of the relative flat locus”. References: EGA IV (11.1.6), “case C = B”; EGA IV (11.3.3), “wk assoc pts loc finite”; SGA 3 VIB (13.1), “(i) U open”.
Stacks Project, Tag 05IK (openness). The locus where a quasi-coherent module of finite type is flat over the target of a morphism locally of finite presentation is open, provided the weakly associated points of the target are locally finite.
theorem isOpen_flatLocus
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
IsOpen (flatLocus f F)
AlgebraicGeometry.isFinitePresentation_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocus.lean, line 352. The attribute's comment: “finite presentation on the flat locus”.
Stacks Project, Tag 05IK (finite presentation on the flat locus). For a morphism locally of finite presentation whose target has locally finite weakly associated points, a quasi-coherent module of finite type restricts to a module of finite presentation on the open subscheme that is its relative flat locus.
theorem isFinitePresentation_flatLocus
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
letI U : X.Opens := ⟨flatLocus f F, isOpen_flatLocus f F hS⟩
(F.restrict U.ι).IsFinitePresentation
AlgebraicGeometry.isFlatOver_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocus.lean, line 366. The attribute's comment: “flatness over the base on the flat locus”.
Stacks Project, Tag 05IK (flatness on the flat locus). For a morphism locally of finite presentation whose target has locally finite weakly associated points, a quasi-coherent module of finite type restricts to a module flat over the base on the open subscheme that is its relative flat locus.
theorem isFlatOver_flatLocus
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
letI U : X.Opens := ⟨flatLocus f F, isOpen_flatLocus f F hS⟩
IsFlatOver (U.ι ≫ f).toLRSHom.toShHom (F.restrict U.ι)
Tag 05IL, a lemma
Tag 05IL in the Stacks Project.
Stacks.Flatness.isOpen_setOf_flat_localizedModule_atPrime_of_finite_weaklyAssociatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteModuleOpenness.lean, line 74. The attribute's comment: “openness of the relative flat locus”. References: EGA IV (11.1.6), “case C = B”; EGA IV (11.3.3), “WeakAss finite”.
Stacks Project, Tag 05IL (openness). For a ring map
R → Sof finite presentation and a finiteS-moduleM, the locus of primesqofSat whichM_qis flat overRis open inSpec S, providedRhas only finitely many weakly associated primes.
theorem isOpen_setOf_flat_localizedModule_atPrime_of_finite_weaklyAssociatedPrimes
(hR : (weaklyAssociatedPrimes R R).Finite) :
IsOpen {q : PrimeSpectrum S | Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)}
Stacks.Flatness.finitePresentation_localizedModule_away_of_basicOpen_subset_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteModuleOpenness.lean, line 111. The attribute's comment: “finite presentation on a basic open inside the flat locus”.
Stacks Project, Tag 05IL (finite presentation on a basic open). For a ring map
R → Sof finite presentation and a finiteS-moduleM, if the basic openD(g)is contained in the locus whereMis flat overR, thenM_gis a finitely presentedS_g-module, providedRhas only finitely many weakly associated primes.
theorem finitePresentation_localizedModule_away_of_basicOpen_subset_flatLocus
(hR : (weaklyAssociatedPrimes R R).Finite) (g : S)
(hg : (↑(PrimeSpectrum.basicOpen g) : Set (PrimeSpectrum S)) ⊆
{q : PrimeSpectrum S | Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)}) :
Module.FinitePresentation (Localization.Away g) (LocalizedModule.Away g M)
Stacks.Flatness.OpenFlatLocus.flat_localizedModule_away_of_forall_flat_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/OpenFlatLocusNoetherian.lean, line 877. The attribute's comment: “flatness over the base”.
Flatness over the base spreads from the points of a basic open to the basic open itself. If
M_{𝔮}is flat overRfor every prime𝔮ofSwithg ∉ 𝔮, thenM_gis flat overR.Flatness over
Ris local onSpec (S_g)(Module.flat_of_isLocalized_maximal), and the local ring ofM_gat a primePofS_gis the localization ofMat the primeP ∩ SofS:(S_g)_Pis the localization ofSatP ∩ S(IsLocalization.isLocalization_atPrime_localization_atPrime), and a composite of two base changes is a base change (IsBaseChange.comp).
theorem flat_localizedModule_away_of_forall_flat_atPrime {R S M : Type*} [CommRing R]
[CommRing S]
[Algebra R S] [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M] (g : S)
(H : ∀ q : PrimeSpectrum S, q ∈ PrimeSpectrum.basicOpen g →
Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)) :
Module.Flat R (LocalizedModule.Away g M)
Tag 05IM, a lemma
Tag 05IM in the Stacks Project.
AlgebraicGeometry.isOpen_setOf_isFlatAt_of_locallyOfFiniteType_of_locally_finite_weakAss, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/FlatLocus.lean, line 44. The attribute's comment: “openness of the locus of flatness”.
Openness of the flat locus. For a morphism
f : X ⟶ Slocally of finite type whose base has locally finite weakly associated points, the set of points at whichfis flat is open.
theorem isOpen_setOf_isFlatAt_of_locallyOfFiniteType_of_locally_finite_weakAss
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(hS : ∀ s : S, ∃ V : S.Opens, s ∈ V ∧
(schemeWeaklyAssociatedPoints S ∩ (V : Set S)).Finite) :
IsOpen {x : X | IsFlatAt f.toLRSHom.toShHom x}
AlgebraicGeometry.locallyOfFinitePresentation_restrict_of_subset_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/FlatLocus.lean, line 106. The attribute's comment: “the flat locus is locally of finite presentation over the base”.
Finite presentation on the flat locus. For a morphism
f : X ⟶ Slocally of finite type whose base has locally finite weakly associated points, the restriction offto an open subscheme contained in the locus of points of flatness is locally of finite presentation.
theorem locallyOfFinitePresentation_restrict_of_subset_flatLocus
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(hS : ∀ s : S, ∃ V : S.Opens, s ∈ V ∧
(schemeWeaklyAssociatedPoints S ∩ (V : Set S)).Finite)
(U : X.Opens) (hU : (U : Set X) ⊆ {x : X | IsFlatAt f.toLRSHom.toShHom x}) :
LocallyOfFinitePresentation (U.ι ≫ f)
AlgebraicGeometry.flat_of_subset_setOf_isFlatAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Flat/PointwiseOpenLocus.lean, line 88. The attribute's comment: “the flat locus is flat over the base”.
A morphism which is flat at every point of an open subscheme of its source is flat after restriction to that open subscheme.
theorem flat_of_subset_setOf_isFlatAt {X S : Scheme.{u}} (f : X ⟶ S) (V : X.Opens)
(hV : (V : Set X) ⊆ {x : X | IsFlatAt f.toLRSHom.toShHom x}) :
Flat (V.ι ≫ f)
Tag 05IN, a lemma
Tag 05IN in the Stacks Project.
AlgebraicGeometry.locallyOfFinitePresentation_of_flat_of_isIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/FlatLocus.lean, line 55.
A morphism locally of finite type and flat over an integral base is locally of finite presentation.
theorem locallyOfFinitePresentation_of_flat_of_isIntegral
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [Flat f] [IsIntegral S] :
LocallyOfFinitePresentation f
Tag 053G, a proposition
Tag 053G in the Stacks Project.
Stacks.Flatness.finitePresentation_of_flat_of_finiteType_of_isDomain, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteTypeAlgebra.lean, line 149. The attribute's comment: “(1): a flat algebra of finite type over a domain is of finite presentation”.
Stacks Project, Tag 053G, part (1). A flat algebra of finite type over a domain is of finite presentation.
theorem finitePresentation_of_flat_of_finiteType_of_isDomain
{R : Type u} [CommRing R] [IsDomain R] {S : Type v} [CommRing S] [Algebra R S]
[Algebra.FiniteType R S] [Module.Flat R S] :
Algebra.FinitePresentation R S
Stacks.Flatness.finitePresentation_of_finite_of_flat_of_isDomain, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteTypeAlgebra.lean, line 158. The attribute's comment: “(2): a finite module flat over a domain is finitely presented”.
Stacks Project, Tag 053G, part (2). A finite module over an algebra of finite type over a domain is finitely presented as soon as it is flat over the domain.
theorem finitePresentation_of_finite_of_flat_of_isDomain
{R : Type u} [CommRing R] [IsDomain R] {S : Type v} [CommRing S] [Algebra R S]
[Algebra.FiniteType R S] {M : Type w} [AddCommGroup M] [Module S M] [Module R M]
[IsScalarTower R S M] [Module.Finite S M] [Module.Flat R M] :
Module.FinitePresentation S M
Tag 05IQ, a lemma
Tag 05IQ in the Stacks Project.
AlgebraicGeometry.isOpen_flatLocus_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocusFiniteType.lean, line 169. The attribute's comment: “openness of the relative flat locus”. References: SGA 3 VIB (13.1), “(i) U open”.
Stacks Project, Tag 05IQ (openness). The locus where a quasi-coherent module of finite type is flat over the target of a morphism locally of finite type is open, provided the weakly associated points of the target are locally finite.
theorem isOpen_flatLocus_of_locallyOfFiniteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
IsOpen (flatLocus f F)
AlgebraicGeometry.isFlatOver_flatLocus_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocusFiniteType.lean, line 293. The attribute's comment: “flatness over the base on the flat locus”.
Stacks Project, Tag 05IQ (flatness on the flat locus). The restriction of the module to its relative flat locus is flat over the base.
theorem isFlatOver_flatLocus_of_locallyOfFiniteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
letI U : X.Opens := ⟨flatLocus f F, isOpen_flatLocus_of_locallyOfFiniteType f F hS⟩
IsFlatOver (U.ι ≫ f).toLRSHom.toShHom (F.restrict U.ι)
AlgebraicGeometry.isFinitelyPresentedRelative_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteTypeII/ModuleFlatLocusFiniteType.lean, line 306. The attribute's comment: “relative finite presentation on the flat locus”.
Stacks Project, Tag 05IQ (relative finite presentation on the flat locus). The restriction of the module to its relative flat locus is finitely presented relative to the base.
theorem isFinitelyPresentedRelative_flatLocus
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType]
(hS : ∀ s : S, ∃ W : S.Opens, s ∈ W ∧
(schemeWeaklyAssociatedPoints S ∩ (W : Set S)).Finite) :
letI U : X.Opens := ⟨flatLocus f F, isOpen_flatLocus_of_locallyOfFiniteType f F hS⟩
IsFinitelyPresentedRelative (U.ι ≫ f) (F.restrict U.ι)
Tag 05IR, a lemma
Tag 05IR in the Stacks Project.
Stacks.Flatness.isOpen_setOf_flat_localizedModule_atPrime_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteTypeAlgebra.lean, line 92. The attribute's comment: “openness of the relative flat locus”. References: EGA IV (11.1.6), “case C = B”; EGA IV (11.3.3), “WeakAss finite”.
Stacks Project, Tag 05IR (openness). For a ring map
R → Sof finite type and a finiteS-moduleM, the locus of primesqofSat whichM_qis flat overRis open inSpec S, providedRhas only finitely many weakly associated primes.
theorem isOpen_setOf_flat_localizedModule_atPrime_of_finiteType
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] [Algebra.FiniteType R S]
{M : Type w} [AddCommGroup M] [Module S M] [Module R M] [IsScalarTower R S M]
[Module.Finite S M] (hR : (weaklyAssociatedPrimes R R).Finite) :
IsOpen {q : PrimeSpectrum S | Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)}
Stacks.Flatness.finitePresentationRel_localizedModule_away_of_basicOpen_subset_flatLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FlatLocusFiniteTypeAlgebra.lean, line 171. The attribute's comment: “relative finite presentation on a basic open inside the flat locus”.
Stacks Project, Tag 05IR (relative finite presentation on a basic open). For a ring map
R → Sof finite type and a finiteS-moduleM, if the basic openD(g)is contained in the locus whereMis flat overR, thenM_gis anS_g-module finitely presented relative toR, providedRhas only finitely many weakly associated primes.
theorem finitePresentationRel_localizedModule_away_of_basicOpen_subset_flatLocus
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] [Algebra.FiniteType R S]
{M : Type w} [AddCommGroup M] [Module S M] [Module R M] [IsScalarTower R S M]
[Module.Finite S M] (hR : (weaklyAssociatedPrimes R R).Finite) (g : S)
(hg : (↑(PrimeSpectrum.basicOpen g) : Set (PrimeSpectrum S)) ⊆
{q : PrimeSpectrum S | Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)}) :
Module.FinitePresentationRel R (Localization.Away g) (LocalizedModule.Away g M)
Stacks.Flatness.OpenFlatLocus.flat_localizedModule_away_of_forall_flat_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/OpenFlatLocusNoetherian.lean, line 877. The attribute's comment: “flatness over the base”.
Flatness over the base spreads from the points of a basic open to the basic open itself. If
M_{𝔮}is flat overRfor every prime𝔮ofSwithg ∉ 𝔮, thenM_gis flat overR.Flatness over
Ris local onSpec (S_g)(Module.flat_of_isLocalized_maximal), and the local ring ofM_gat a primePofS_gis the localization ofMat the primeP ∩ SofS:(S_g)_Pis the localization ofSatP ∩ S(IsLocalization.isLocalization_atPrime_localization_atPrime), and a composite of two base changes is a base change (IsBaseChange.comp).
theorem flat_localizedModule_away_of_forall_flat_atPrime {R S M : Type*} [CommRing R]
[CommRing S]
[Algebra R S] [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M] (g : S)
(H : ∀ q : PrimeSpectrum S, q ∈ PrimeSpectrum.basicOpen g →
Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)) :
Module.Flat R (LocalizedModule.Away g M)
Sources
Section38.14 Examples of relatively pure modules#
Section 38.14 of the Stacks Project, Tag 05IS. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05FV, a lemma
Tag 05FV in the Stacks Project.
Stacks.PureModules.associatedPrime_add_map_maximalIdeal_ne_top, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/ClosedFibreAssociatedPrimes.lean, line 77.
Stacks Project, Tag 05FV. Under the finite Noetherian closed-fibre hypotheses, an associated prime of any fibre of a projective module meets the closed fibre of a local base.
lemma associatedPrime_add_map_maximalIdeal_ne_top
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S] [IsLocalRing R]
(N : Type w) [AddCommGroup N] [Module S N] [Module R N] [IsScalarTower R S N]
[Module.Projective R N]
[IsNoetherianRing (S ⧸ (IsLocalRing.maximalIdeal R).map (algebraMap R S))]
[Module.Finite (S ⧸ (IsLocalRing.maximalIdeal R).map (algebraMap R S))
(N ⧸ ((IsLocalRing.maximalIdeal R).map (algebraMap R S) • (⊤ : Submodule S N)))]
(q : PrimeSpectrum S)
(hq : IsAssociatedPrimeStacks S
(N ⊗[R] (PrimeSpectrum.comap (algebraMap R S) q).asIdeal.ResidueField) q.asIdeal) :
q.asIdeal + (IsLocalRing.maximalIdeal R).map (algebraMap R S) ≠ ⊤
Tag 05IT, a lemma
Tag 05IT in the Stacks Project.
Stacks.PureModules.associatedPrime_add_map_ne_top_of_isAdicComplete, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/AdicComplete.lean, line 49.
Stacks Project, Tag 05IT. An associated prime of the tensor product of an adically complete module with any base module is not comaximal with the ideal of completion.
theorem associatedPrime_add_map_ne_top_of_isAdicComplete
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [Algebra R S]
(I : Ideal R) (N : Type w) [AddCommGroup N] [Module R N] [Module S N]
[IsScalarTower R S N] [IsAdicComplete I N]
(M : Type x) [AddCommGroup M] [Module R M]
(q : Ideal S) (hq : IsAssociatedPrimeStacks S (N ⊗[R] M) q) :
q + I.map (algebraMap R S) ≠ ⊤
Tag 05IU, a lemma
Tag 05IU in the Stacks Project.
Stacks.PureModules.associatedPrime_add_map_maximalIdeal_ne_top_of_directSum_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/MittagLeffler.lean, line 328.
Stacks Project, Tag 05IU. An associated prime of a tensor product of a direct sum of finite modules cannot be comaximal with the closed fibre of a local base ring.
theorem associatedPrime_add_map_maximalIdeal_ne_top_of_directSum_finite
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [IsLocalRing R] [Algebra R S]
(N : Type w) [AddCommGroup N] [Module R N] [Module S N] [IsScalarTower R S N]
(ι : Type x) (F : ι → Type y)
[∀ i, AddCommGroup (F i)] [∀ i, Module R (F i)]
(hF : ∀ i, Module.Finite R (F i))
(e : N ≃ₗ[R] ⨁ i, F i)
(M : Type z) [AddCommGroup M] [Module R M]
(q : Ideal S) (hq : IsAssociatedPrimeStacks S (N ⊗[R] M) q) :
q + (IsLocalRing.maximalIdeal R).map (algebraMap R S) ≠ ⊤
Tag 05IV, a lemma
Tag 05IV in the Stacks Project.
Stacks.PureModules.associatedPrime_add_map_maximalIdeal_ne_top_of_countable_mittagLeffler, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/MittagLeffler.lean, line 391.
Stacks Project, Tag 05IV. An associated prime of a tensor product of a countably generated Mittag-Leffler module over a henselian local ring cannot be comaximal with the closed fibre.
theorem associatedPrime_add_map_maximalIdeal_ne_top_of_countable_mittagLeffler
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [HenselianLocalRing R]
[Algebra R S]
(N : Type w) [AddCommGroup N] [Module R N] [Module S N] [IsScalarTower R S N]
[Small.{w} R]
(hcg : ∃ t : Set N, t.Countable ∧ Submodule.span R t = ⊤)
(hML : IsMittagLeffler.{u, w, w, w, w} R N)
(M : Type x) [AddCommGroup M] [Module R M]
(q : Ideal S) (hq : IsAssociatedPrimeStacks S (N ⊗[R] M) q) :
q + (IsLocalRing.maximalIdeal R).map (algebraMap R S) ≠ ⊤
Sources
Section38.15 Impurities#
Section 38.15 of the Stacks Project, Tag 05IW. 9 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05FW, a situation
Tag 05FW in the Stacks Project.
AlgebraicGeometry.PrePureSituation, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Impurities.lean, line 60.
Stacks Project, Tag 05FW. The standing pre-pure situation: a finite type morphism
X ⟶ S, a finite type quasi-coherent module onX, and a point ofS.
structure PrePureSituation
Tag 05IX, an equation
Tag 05IX in the Stacks Project.
AlgebraicGeometry.ImpurityDiagram, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Impurities.lean, line 85.
Stacks Project, Tag 05IX. A base-change diagram together with a specialization over the chosen point of a pre-pure situation and a point above its generalization.
structure ImpurityDiagram (P : PrePureSituation.{u})
Tag 05IY, a definition
Tag 05IY in the Stacks Project.
AlgebraicGeometry.IsImpurity, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Impurities.lean, line 118.
Stacks Project, Tag 05IY. An impurity diagram defines an impurity when its chosen point belongs to the relative assassin of the pulled-back module and its closure is disjoint from the fibre over the specialized point.
abbrev IsImpurity (P : PrePureSituation.{u}) (D : ImpurityDiagram P) : Prop
Tag 05FX, a lemma
Tag 05FX in the Stacks Project.
AlgebraicGeometry.exists_impurity_locallyOfFinitePresentation_closedPoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/FinitePresentationBase.lean, line 300.
An impurity can be witnessed over a test family which is locally of finite presentation over the base, with its specialized point closed in the fibre over the distinguished point.
theorem exists_impurity_locallyOfFinitePresentation_closedPoint (P : PrePureSituation.{u})
(h : ∃ D : ImpurityDiagram P, IsImpurity P D) :
∃ D : ImpurityDiagram P, IsImpurity P D ∧ LocallyOfFinitePresentation D.g ∧
∃ t_fib : D.g.fiber P.s,
D.g.fiberι P.s t_fib = D.t ∧ t_fib ∈ closedPoints (D.g.fiber P.s)
Tag 05IZ, a lemma
Tag 05IZ in the Stacks Project.
AlgebraicGeometry.exists_isImpurity_mapBase_of_isLimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/LimitDescent.lean, line 399.
An impurity on a cofiltered limit of affine schemes over the base is the pullback of an impurity at some stage.
public theorem exists_isImpurity_mapBase_of_isLimit
{P : AlgebraicGeometry.PrePureSituation.{u}}
{I : Type v} [Category.{w} I] [IsCofiltered I]
(F : I ⥤ Over P.S) (c : Cone F) (hc : IsLimit c)
(D : AlgebraicGeometry.ImpurityDiagram P) (e : Over.mk D.g ≅ c.pt)
(hF : ∀ i, IsAffine (F.obj i).left) (hD : AlgebraicGeometry.IsImpurity P D) :
∃ i, AlgebraicGeometry.IsImpurity P
(mapBase D (F.obj i).hom (e.hom ≫ c.π.app i).left (e.hom ≫ c.π.app i).w)
Tag 05J0, a lemma
Tag 05J0 in the Stacks Project.
AlgebraicGeometry.exists_isImpurity_elementaryEtaleNeighborhood_of_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/QuasiFiniteNeighborhood.lean, line 235.
Stacks Project, Tag 05J0. If a pre-pure situation admits an impurity whose test family is quasi-finite over the base at the distinguished point, then it admits one whose test family, pointed at the distinguished point, is an elementary étale neighbourhood of the chosen point of the base.
theorem exists_isImpurity_elementaryEtaleNeighborhood_of_quasiFiniteAt
(P : PrePureSituation.{u})
(h : ∃ D : ImpurityDiagram P, IsImpurity P D ∧ quasiFiniteAt D.g D.t) :
∃ (D : ImpurityDiagram P) (hD : Etale D.g), IsImpurity P D ∧
EtaleNeighborhood.IsElementary
({ scheme := D.T
point := D.t
toBase := D.g
etale_toBase := hD
map_point := D.mapsToChosenPoint } : EtaleNeighborhood P.S P.s)
Tag 05J1, a lemma
Tag 05J1 in the Stacks Project.
AlgebraicGeometry.exists_isImpurity_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/QuasiFiniteTestFamily.lean, line 337.
Stacks Project, Tag 05J1. Over a locally Noetherian base, an impurity of the module of a pre-pure situation above the chosen point of the base can be witnessed by an impurity whose test family is quasi-finite over the base at its specialized point.
theorem exists_isImpurity_quasiFiniteAt (P : PrePureSituation.{u}) [IsLocallyNoetherian P.S]
(h : ∃ D : ImpurityDiagram P, IsImpurity P D) :
∃ D : ImpurityDiagram P, IsImpurity P D ∧ quasiFiniteAt D.g D.t
Tag 05J2, a lemma
Tag 05J2 in the Stacks Project.
AlgebraicGeometry.exists_isImpurity_elementaryEtaleNeighborhood_of_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/HenselizationDescent.lean, line 173.
An impurity whose test family is the spectrum of a henselization of the local ring of the base at the distinguished point already occurs over an elementary étale neighbourhood of that point.
theorem exists_isImpurity_elementaryEtaleNeighborhood_of_henselization
(P : PrePureSituation.{u}) (Rh : Type u) [CommRing Rh] [IsLocalRing Rh]
[Algebra (P.S.presheaf.stalk P.s) Rh]
[IsLocalRing.IsHenselization (P.S.presheaf.stalk P.s)
(IsLocalRing.ResidueField (P.S.presheaf.stalk P.s)) Rh]
(h : ∃ (D : ImpurityDiagram P) (e : D.T ≅ Spec (CommRingCat.of Rh)),
D.g = e.hom ≫ specHenselizationToBase P.s Rh ∧ IsImpurity P D) :
∃ (D : ImpurityDiagram P) (hD : Etale D.g), IsImpurity P D ∧
EtaleNeighborhood.IsElementary
({ scheme := D.T
point := D.t
toBase := D.g
etale_toBase := hD
map_point := D.mapsToChosenPoint } : EtaleNeighborhood P.S P.s)
Tag 05J3, a lemma
Tag 05J3 in the Stacks Project.
AlgebraicGeometry.exists_isImpurity_henselization_iff_elementaryEtaleNeighborhood, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/Impurity/HenselizationAscent.lean, line 104. The attribute's comment: “parts (1) and (2)”.
In a pre-pure situation, an impurity over the henselization of the base at the distinguished point exists if and only if one exists over an elementary étale neighbourhood of that point.
theorem exists_isImpurity_henselization_iff_elementaryEtaleNeighborhood
(P : PrePureSituation.{u}) :
(∃ (D : ImpurityDiagram P) (e : D.T ≅ henselization P.S P.s),
D.g = e.hom ≫ henselizationToBase P.S P.s ∧ IsImpurity P D) ↔
(∃ (D : ImpurityDiagram P) (hD : Etale D.g), IsImpurity P D ∧
EtaleNeighborhood.IsElementary
({ scheme := D.T
point := D.t
toBase := D.g
etale_toBase := hD
map_point := D.mapsToChosenPoint } : EtaleNeighborhood P.S P.s))
AlgebraicGeometry.exists_isImpurity_elementaryEtaleNeighborhood_iff_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/QuasiFiniteImpurityData.lean, line 248. The attribute's comment: “parts (2) and (3)”.
Stacks Project, Tag 05J3, parts (2) and (3). A pre-pure situation admits an impurity whose test family, pointed at the distinguished point, is an elementary étale neighbourhood of the chosen point of the base if and only if it admits one whose test family is quasi-finite over the base at the distinguished point.
theorem exists_isImpurity_elementaryEtaleNeighborhood_iff_quasiFiniteAt
(P : PrePureSituation.{u}) :
(∃ (D : ImpurityDiagram P) (hD : Etale D.g), IsImpurity P D ∧
EtaleNeighborhood.IsElementary
({ scheme := D.T
point := D.t
toBase := D.g
etale_toBase := hD
map_point := D.mapsToChosenPoint } : EtaleNeighborhood P.S P.s)) ↔
(∃ D : ImpurityDiagram P, IsImpurity P D ∧ quasiFiniteAt D.g D.t)
Sources
Section38.16 Relatively pure modules#
Section 38.16 of the Stacks Project, Tag 05BB. 7 tags here are carried by 17 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05J4, a definition
Tag 05J4 in the Stacks Project.
AlgebraicGeometry.IsPureAlong, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 111. The attribute's comment: “part (1)”.
A finite type quasi-coherent module is pure along the fibre over the chosen point if no impurity occurs over an elementary étale neighbourhood of that point.
abbrev IsPureAlong (P : PrePureSituation.{u}) : Prop
AlgebraicGeometry.IsUniversallyPureAlong, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 124. The attribute's comment: “part (2)”.
A finite type quasi-coherent module is universally pure along the fibre over the chosen point if no impurity occurs after any base change.
abbrev IsUniversallyPureAlong (P : PrePureSituation.{u}) : Prop
AlgebraicGeometry.IsSchemePureAlong, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 129. The attribute's comment: “part (3)”.
The scheme
Xis pure along the fibre overswhen its structure sheaf is pure there.
abbrev IsSchemePureAlong {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (s : S) : Prop
AlgebraicGeometry.IsUniversallyPureRelative, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 143. The attribute's comment: “part (4)”.
A finite type quasi-coherent module is universally pure relative to the base if it is universally pure along every fibre.
abbrev IsUniversallyPureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] : Prop
AlgebraicGeometry.IsPureRelative, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 156. The attribute's comment: “part (5)”.
A finite type quasi-coherent module is pure relative to the base if it is pure along every fibre.
abbrev IsPureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] : Prop
AlgebraicGeometry.IsSchemePureRelative, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/Purity.lean, line 169. The attribute's comment: “part (6)”.
The scheme
Xis pure relative toSwhen its structure sheaf is pure relative to the base.
abbrev IsSchemePureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] : Prop
Tag 05J5, a remark
Tag 05J5 in the Stacks Project.
AlgebraicGeometry.noElementaryEtaleImpurity_of_noQuasiFiniteImpurity, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/LocallyOfFiniteTypePurity.lean, line 218. The attribute's comment: “condition (2) implies condition (1)”.
Condition (2) implies condition (1): an elementary étale neighbourhood is étale, hence quasi-finite at its distinguished point.
This is one direction of the equivalence of conditions (1) and (2), and is unconditional. The converse is Tag 05J0, whose proof does not use quasi-compactness but which is not available in this library, so the equivalence itself is not claimed here.
theorem noElementaryEtaleImpurity_of_noQuasiFiniteImpurity {f : X ⟶ S} {F : X.Modules} {s : S}
(h : NoQuasiFiniteImpurity f F s) : NoElementaryEtaleImpurity f F s
AlgebraicGeometry.noHenselianImpurity_iff_relativeAssassinSpecializesIntoClosedFibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/LocallyOfFiniteTypePurity.lean, line 268. The attribute's comment: “conditions (3) and (4) are equivalent”.
Stacks Project, Tag 05J5. For a morphism which is only locally of finite type, conditions (3) and (4) are still equivalent: the impurities above
swhose test family is a model ofS^h → Sare exactly the points ofAss_{X^h/S^h}(ℱ^h)which fail to specialize into the fibre ofX^hover the closed point ofS^h.What makes this work is that the auxiliary data of such an impurity carry no information: its distinguished point is forced to be the closed point of the model, because every point of
S^hoversis the closed point, and the specialization to it is automatic, because every point of the spectrum of a local ring specializes to its closed point.
theorem noHenselianImpurity_iff_relativeAssassinSpecializesIntoClosedFibre
[LocallyOfFiniteType f] [F.IsFiniteType] [F.IsQuasicoherent] :
NoHenselianImpurity f F s Rh ↔ RelativeAssassinSpecializesIntoClosedFibre f F s Rh
AlgebraicGeometry.noElementaryEtaleImpurity_iff_noQuasiFiniteImpurity, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/QuasiFiniteImpurityData.lean, line 285. The attribute's comment: “conditions (1) and (2) are equivalent”.
Stacks Project, Tag 05J5. For a morphism which is only locally of finite type, conditions (1) and (2) are still equivalent: an impurity above
swhose test family is merely quasi-finite at its distinguished point can be replaced by one whose test family is an elementary étale neighbourhood ofs.This is the half of the remark which asserts that the proof of Tag 05J0 does not use quasi-compactness of the morphism: that proof is run here for impurity data, which carry no such hypothesis.
theorem noElementaryEtaleImpurity_iff_noQuasiFiniteImpurity {f : X ⟶ S} [LocallyOfFiniteType f]
{F : X.Modules} [F.IsQuasicoherent] {s : S} :
NoElementaryEtaleImpurity f F s ↔ NoQuasiFiniteImpurity f F s
Tag 05J6, a lemma
Tag 05J6 in the Stacks Project.
AlgebraicGeometry.isUniversallyPureAlong_iff_forall_baseChange_isPureAlong, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/BaseChange.lean, line 70. The attribute's comment: “the pointed-fibre equivalence”.
Stacks Project, Tag 05J6. Universal purity along the chosen fibre can be tested by purity after every pointed base change.
public theorem isUniversallyPureAlong_iff_forall_baseChange_isPureAlong
(P : PrePureSituation.{u}) :
IsUniversallyPureAlong P ↔
∀ (Q : PrePureSituation.{u}) (g : Q.S ⟶ P.S)
(_hg : g.base Q.s = P.s) (toX : Q.X ⟶ P.X)
(_hpb : IsPullback toX Q.f P.f g)
(_hF : Q.F ≅ (Scheme.Modules.pullback toX).obj P.F),
IsPureAlong Q
AlgebraicGeometry.isUniversallyPureRelative_iff_forall_baseChange_isPureRelative, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/BaseChange.lean, line 117. The attribute's comment: “the relative equivalence”.
Stacks Project, Tag 05J6, in particular. Universal purity over the base can be tested by purity relative to every base change.
public theorem isUniversallyPureRelative_iff_forall_baseChange_isPureRelative
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] :
IsUniversallyPureRelative f F ↔
∀ {X' S' : Scheme.{u}} (f' : X' ⟶ S')
[LocallyOfFiniteType f'] [QuasiCompact f']
(F' : X'.Modules) [F'.IsFiniteType] [F'.IsQuasicoherent]
(g : S' ⟶ S) (toX : X' ⟶ X)
(_hpb : IsPullback toX f' f g)
(_hF : F' ≅ (Scheme.Modules.pullback toX).obj F),
IsPureRelative f' F'
Tag 05J7, a lemma
Tag 05J7 in the Stacks Project.
AlgebraicGeometry.isPureAlong_of_quasiFiniteAt_of_isPureAlong, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/QuasiFinitePointedBaseChange.lean, line 54.
Stacks Project, Tag 05J7. If a morphism of pointed schemes
(S', s') → (S, s)is quasi-finite ats'and a finite type quasi-coherent module is pure along the fibre overs, then its pullback to the base change is pure along the fibre overs'.
public theorem isPureAlong_of_quasiFiniteAt_of_isPureAlong {P Q : PrePureSituation.{u}}
(g : Q.S ⟶ P.S) (hg : g.base Q.s = P.s) (toX : Q.X ⟶ P.X)
(hpb : IsPullback toX Q.f P.f g)
(hF : Q.F ≅ (Scheme.Modules.pullback toX).obj P.F)
(hqf : quasiFiniteAt g Q.s) (hP : IsPureAlong P) :
IsPureAlong Q
Tag 05J8, a lemma
Tag 05J8 in the Stacks Project.
AlgebraicGeometry.isPureAlong_iff_isUniversallyPureAlong_of_isNoetherianRing_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/NoetherianStalk.lean, line 218.
Stacks Project, Tag 05J8. Let
f : X ⟶ Sbe of finite type, letℱbe a finite type quasi-coherent𝒪_X-module and letsbe a point ofSwhose local ring𝒪_{S, s}is Noetherian. Thenℱis pure along the fibreX_sif and only if it is universally pure alongX_s.
theorem isPureAlong_iff_isUniversallyPureAlong_of_isNoetherianRing_stalk
(P : PrePureSituation.{u}) [IsNoetherianRing (P.S.presheaf.stalk P.s)] :
IsPureAlong P ↔ IsUniversallyPureAlong P
Tag 05J9, a lemma
Tag 05J9 in the Stacks Project.
AlgebraicGeometry.isPureAlong_of_flatPointedBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FlatteningStratification/PurityDescent.lean, line 102. The attribute's comment: “flat_descend_pure”.
Stacks Project, Tag 05J9. Purity along the original fibre follows from purity along the fibre of a pointed base change which is flat at its distinguished point.
public theorem isPureAlong_of_flatPointedBaseChange (H : FlatPointedBaseChangeSituation.{u})
(P' : PrePureSituation.{u}) (eS : P'.S = H.S') (eX : P'.X = pullback H.f H.g)
(hf : eqToHom eX.symm ≫ P'.f ≫ eqToHom eS = pullback.snd H.f H.g)
(hF : HEq P'.F ((Scheme.Modules.pullback (pullback.fst H.f H.g)).obj H.F))
(hs : eS ▸ P'.s = H.s') (hpure : IsPureAlong P') :
IsPureAlong ({ S := H.S, X := H.X, f := H.f, F := H.F, s := H.s } :
PrePureSituation.{u})
AlgebraicGeometry.universallyPureAlong_of_flatPointedBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FlatteningStratification/PurityDescent.lean, line 180. The attribute's comment: “flat_descend_universally_pure”.
Stacks Project, Tag 05J9. Universal purity along a fibre descends through a pointed base change which is flat at the new distinguished point.
public theorem universallyPureAlong_of_flatPointedBaseChange
(H : FlatPointedBaseChangeSituation.{u})
(h : IsUniversallyPureAlong H.baseChangedSituation) :
IsUniversallyPureAlong ({ S := H.S, X := H.X, f := H.f, F := H.F, s := H.s } :
PrePureSituation.{u})
Tag 05K1, a lemma
Tag 05K1 in the Stacks Project.
AlgebraicGeometry.isPureAlong_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/FinitePushforward.lean, line 201. The attribute's comment: “purity along the fibre”.
Stacks Project, Tag 05K1. Purity along a fibre is unchanged by pushing a finite type quasi-coherent module forward along a closed immersion.
theorem isPureAlong_iff_pushforward :
IsPureAlong (prePureSituationComp i f F s) ↔
IsPureAlong (prePureSituationPushforward i f F s)
AlgebraicGeometry.isUniversallyPureAlong_iff_pushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/FinitePushforward.lean, line 225. The attribute's comment: “universal purity along the fibre”.
Stacks Project, Tag 05K1. Universal purity along a fibre is unchanged by pushing a finite type quasi-coherent module forward along a closed immersion.
theorem isUniversallyPureAlong_iff_pushforward :
IsUniversallyPureAlong (prePureSituationComp i f F s) ↔
IsUniversallyPureAlong (prePureSituationPushforward i f F s)
Sources
Section38.17 Examples of relatively pure sheaves#
Section 38.17 of the Stacks Project, Tag 05K2. 4 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05K3, a lemma
Tag 05K3 in the Stacks Project.
AlgebraicGeometry.isUniversallyPureRelative_of_support_isProperOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/ProperSupport.lean, line 116. The attribute's comment: “part (1)”.
Stacks Project, Tag 05K3, part (1). A finite type quasi-coherent module whose support is proper over the base is universally pure relative to that base.
theorem isUniversallyPureRelative_of_support_isProperOver {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules) [F.IsFiniteType]
[F.IsQuasicoherent]
(hF : IsProperOver f (⟨SheafOfModules.supp F, SheafOfModules.isClosed_supp F⟩ : Closeds X)) :
IsUniversallyPureRelative f F
AlgebraicGeometry.isUniversallyPureRelative_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/ProperSupport.lean, line 154. The attribute's comment: “part (2)”.
Stacks Project, Tag 05K3, part (2). A finite type quasi-coherent module on a scheme which is proper over the base is universally pure relative to that base.
theorem isUniversallyPureRelative_of_isProper {X S : Scheme.{u}} (f : X ⟶ S) [IsProper f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] :
IsUniversallyPureRelative f F
AlgebraicGeometry.isSchemeUniversallyPureRelative_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/ProperSupport.lean, line 164. The attribute's comment: “part (3)”.
Stacks Project, Tag 05K3, part (3). A proper scheme is universally pure over its base.
theorem isSchemeUniversallyPureRelative_of_isProper {X S : Scheme.{u}} (f : X ⟶ S) [IsProper f] :
@IsUniversallyPureRelative.{u} X S f _ _ (SheafOfModules.unit.{u} X.ringCatSheaf)
(structureSheaf_isFiniteType X)
(Stacks.AlgebraicGeometry.AffineQcohPushforward.isQuasicoherent_unit X)
Tag 05K4, a lemma
Tag 05K4 in the Stacks Project.
AlgebraicGeometry.isPureRelative_iff_isFinite_schemeTheoreticSupport, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/FiniteSupport.lean, line 363. The attribute's comment: “conditions (1) and (2)”.
Stacks Project, Tag 05K4, conditions (1) and (2). Let
f : X ⟶ Sbe separated of finite type and letℱbe a finite type quasi-coherent𝒪_X-module with finite support on every fibre off. Thenℱis pure relative toSif and only if its scheme-theoretic support is finite overS.
theorem isPureRelative_iff_isFinite_schemeTheoreticSupport {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] [IsSeparated f] (F : X.Modules) [F.IsFiniteType]
[F.IsQuasicoherent]
(hfinite : ∀ s : S,
(SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι s)).obj F)).Finite) :
IsPureRelative f F ↔
IsFinite ((Scheme.Modules.schemeTheoreticSupport F).subschemeι ≫ f)
AlgebraicGeometry.isUniversallyPureRelative_iff_isFinite_schemeTheoreticSupport, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/FiniteSupport.lean, line 400. The attribute's comment: “conditions (2) and (3)”.
Stacks Project, Tag 05K4, conditions (2) and (3). Let
f : X ⟶ Sbe separated of finite type and letℱbe a finite type quasi-coherent𝒪_X-module with finite support on every fibre off. Thenℱis universally pure relative toSif and only if its scheme-theoretic support is finite overS.
theorem isUniversallyPureRelative_iff_isFinite_schemeTheoreticSupport {X S : Scheme.{u}}
(f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f] [IsSeparated f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent]
(hfinite : ∀ s : S,
(SheafOfModules.supp ((Scheme.Modules.pullback (f.fiberι s)).obj F)).Finite) :
IsUniversallyPureRelative f F ↔
IsFinite ((Scheme.Modules.schemeTheoreticSupport F).subschemeι ≫ f)
AlgebraicGeometry.isSchemePureRelative_iff_isFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/RelativelyPure/FiniteSupport.lean, line 414. The attribute's comment: “in particular: quasi-finite separated morphisms”.
Stacks Project, Tag 05K4, in particular. A separated quasi-finite scheme over
Sis pure relative toSif and only if its structure morphism is finite.
theorem isSchemePureRelative_iff_isFinite {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] [LocallyQuasiFinite f] [IsSeparated f] :
IsSchemePureRelative f ↔ IsFinite f
Tag 05K5, a lemma
Tag 05K5 in the Stacks Project.
AlgebraicGeometry.universallyPure_of_flat_geometricallyIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/GeometricallyIntegralFibres.lean, line 67.
Stacks Project, Tag 05K5. A flat finite type morphism with geometrically integral fibres has universally pure structure sheaf over its base.
theorem universallyPure_of_flat_geometricallyIntegral {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] [Flat f] [GeometricallyIntegral f] :
@IsUniversallyPureRelative.{u} X S f _ _
(SheafOfModules.unit.{u} X.ringCatSheaf)
(structureSheaf_isFiniteType X)
(Stacks.AlgebraicGeometry.AffineQcohPushforward.isQuasicoherent_unit X)
Tag 05K6, a lemma
Tag 05K6 in the Stacks Project.
AlgebraicGeometry.isUniversallyPureRelative_of_pushforward_isLocallyProjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FlatteningFunctor/LocallyProjectivePurity.lean, line 788.
Stacks Project, Tag 05K6. For an affine morphism of finite type, a finite type quasi-coherent module with locally projective direct image is universally pure over the base.
The affine base change used along the way is the third assertion of Stacks Tag 02KG,
Stacks.AlgebraicGeometry.AffineBaseChangeLocality.baseChangeIso, bound tobcbelow and threaded through the private lemmas in the shape in which they take it.
public theorem isUniversallyPureRelative_of_pushforward_isLocallyProjective
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [IsAffineHom f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent]
(hF : Scheme.Modules.IsLocallyProjective ((Scheme.Modules.pushforward f).obj F)) :
IsUniversallyPureRelative f F
Sources
Section38.18 A criterion for purity#
Section 38.18 of the Stacks Project, Tag 05L2. 6 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05L3, a lemma
Tag 05L3 in the Stacks Project.
Stacks.RelativeAssassin.exists_specializes_mem_associatedPoints_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/RelativeAssassin/FlatFibreSpecialization.lean, line 273.
Stacks Project, Tag 05L3: a criterion for purity. Let
f : X ⟶ Sbe locally of finite type andFa quasi-coherent𝒪_X-module of finite type which is flat overSat every point of the fibreX_s. A point ofAss_{X/S}(F)which specializes to some point ofX_sspecializes to a point ofX_sassociated to the restriction ofFtoX_s.
theorem exists_specializes_mem_associatedPoints_fibre
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFiniteType] (s : S)
(hflat : ∀ t : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s t))
{x' : X} (hx' : x' ∈ Stacks.Divisors.relativeAssassin f F)
(hmeets : ∃ t : f.fiber s, x' ⤳ f.fiberι s t) :
∃ x : f.fiber s, x' ⤳ f.fiberι s x ∧
x ∈ Stacks.Divisors.associatedPoints
((Scheme.Modules.pullback (f.fiberι s)).obj F)
Tag 05L4, a lemma
Tag 05L4 in the Stacks Project.
AlgebraicGeometry.isPureAlong_iff_relativeAssassin_specializing_mem_range_of_associatedPoints, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityCriterion.lean, line 603.
Stacks Project, Tag 05L4. Let
f : X ⟶ Sbe of finite type, letℱbe a finite type quasi-coherent𝒪_X-module and lets ∈ S. Let(S', s') ⟶ (S, s)be an elementary étale neighbourhood and letg : X' ⟶ Xandp : X' ⟶ S'form a commutative square overS' ⟶ S. Assume
ℱis flat overSat all points ofX_s,p : X' ⟶ S'is of finite type,g^*ℱis pure alongX'_{s'},g : X' ⟶ Xis étale, andg(X'_{s'})containsAss_{X_s}(ℱ_s).Then
ℱis pure alongX_sif and only if the image ofX' ⟶ X ×_S S'contains the points ofAss_{X ×_S S'/S'}(ℱ ×_S S')lying over points ofS'which specialize tos'.The source states (5) as
g(X') ⊇ Ass_{X_s}(ℱ_s). With that reading the statement is false, byStacks.Examples.not_forall_isPureAlong_iff_of_associatedPoints_subset_range: takeX = S,ℱ = 𝒪_S,S' = S ⨿ Swiths'in the first copy andX' = Smapping onto the second copy. The proof of the source, which first replacesSbyS', uses (5) for the fibre overs', as stated here.Hypothesis (5) is moved to the fibre of
X ×_S S'overs'by Tag 05DC (AlgebraicGeometry.mem_relativeAssassin_pullback_iff), and a point of that fibre is pinned down by its image inX(AlgebraicGeometry.pullbackLift_eq_fiberι_of_fst_eq).
public theorem isPureAlong_iff_relativeAssassin_specializing_mem_range_of_associatedPoints
{X S X' : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent]
(s : S) (U : EtaleNeighborhood S s) (hU : U.IsElementary)
(p : X' ⟶ U.scheme) [LocallyOfFiniteType p] [QuasiCompact p]
(g : X' ⟶ X) [Etale g] (hcomm : g ≫ f = p ≫ U.toBase)
(hflat : ∀ x : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x))
(hpure' : IsPureAlong
({ S := U.scheme
X := X'
f := p
F := (Scheme.Modules.pullback g).obj F
isFiniteType := SheafOfModules.pullback_isFiniteType g.toLRSHom.toShHom F
isQuasicoherent := by
have hF : F.IsQuasicoherent := inferInstance
exact @SheafOfModules.modulePullback_isQuasicoherent X'.toRingedSpace
X.toRingedSpace g.toLRSHom.toShHom F hF
s := U.point } : PrePureSituation.{u}))
(hass : ∀ z : f.fiber s,
z ∈ Stacks.Divisors.associatedPoints ((Scheme.Modules.pullback (f.fiberι s)).obj F) →
f.fiberι s z ∈ g '' (p ⁻¹' {U.point})) :
IsPureAlong ({ S := S, X := X, f := f, F := F, s := s } : PrePureSituation.{u}) ↔
∀ x : pullback (C := Scheme.{u}) f U.toBase,
x ∈ Stacks.Divisors.relativeAssassin (pullback.snd f U.toBase)
((Scheme.Modules.pullback (pullback.fst f U.toBase)).obj F) →
pullback.snd f U.toBase x ⤳ U.point →
x ∈ Set.range (pullback.lift g p hcomm)
Tag 05L5, a lemma
Tag 05L5 in the Stacks Project.
AlgebraicGeometry.isUniversallyPureAlong_of_isPureAlong, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/UniversalPurityCriterion.lean, line 403.
Stacks Project, Tag 05L5. Let
f : X ⟶ Sbe of finite type, letℱbe a finite type quasi-coherent𝒪_X-module, and lets : S. Ifℱis flat overSat every point of the fibreX_sand pure alongX_s, thenℱis universally pure alongX_s.The inputs are Tag 05L1, which produces an affine étale chart of the whole fibre with free sections after an elementary étale localization of the base, Tag 05K6, which makes that chart universally pure over the local base, Tag 05L4, which converts the resulting containment of the relative assassin into purity after an arbitrary base change, the unconditional half of Tag 05KL, which propagates that containment along a base change, and Tags 05J7 and 05J9, which transport purity and universal purity along the elementary étale neighbourhood and the localization.
public theorem isUniversallyPureAlong_of_isPureAlong
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f]
(F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] (s : S)
(hflat : ∀ x : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x))
(hpure : IsPureAlong ({ S := S, X := X, f := f, F := F, s := s } : PrePureSituation.{u})) :
IsUniversallyPureAlong ({ S := S, X := X, f := f, F := F, s := s } :
PrePureSituation.{u})
Tag 05L6, a lemma
Tag 05L6 in the Stacks Project.
AlgebraicGeometry.isPureRelative_of_isUniversallyPureRelative, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityIffUniversalPurity.lean, line 58. The attribute's comment: “the implication universally pure relative to S implies pure relative to S, with no flatness and no Noetherian hypothesis”.
Stacks Project, Tag 05L6, the implication which needs no hypothesis on the base: a finite type quasi-coherent module which is universally pure relative to the base is pure relative to the base, there being fewer impurity diagrams to exclude.
theorem isPureRelative_of_isUniversallyPureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] (h : IsUniversallyPureRelative f F) :
IsPureRelative f F
AlgebraicGeometry.isUniversallyPureRelative_of_isPureRelative, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityIffUniversalPurity.lean, line 69. The attribute's comment: “the implication pure relative to S implies universally pure relative to S, for a module flat over S, with no hypothesis on S”.
Stacks Project, Tag 05L6, the harder implication. Let
f : X ⟶ Sbe of finite type and letℱbe a finite type quasi-coherent𝒪_X-module which is flat overS. Ifℱis pure relative toSthen it is universally pure relative toS.
theorem isUniversallyPureRelative_of_isPureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] (hflat : IsFlatOver f.toLRSHom.toShHom F)
(h : IsPureRelative f F) :
IsUniversallyPureRelative f F
AlgebraicGeometry.isPureRelative_iff_isUniversallyPureRelative, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityIffUniversalPurity.lean, line 81.
Stacks Project, Tag 05L6. Let
f : X ⟶ Sbe of finite type and letℱbe a finite type quasi-coherent𝒪_X-module which is flat overS. Thenℱis pure relative toSif and only if it is universally pure relative toS.
theorem isPureRelative_iff_isUniversallyPureRelative {X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFiniteType f] [QuasiCompact f] (F : X.Modules)
[F.IsFiniteType] [F.IsQuasicoherent] (hflat : IsFlatOver f.toLRSHom.toShHom F) :
IsPureRelative f F ↔ IsUniversallyPureRelative f F
AlgebraicGeometry.isPureRelative_iff_isUniversallyPureRelative_of_isLocallyNoetherian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityIffUniversalPurity.lean, line 94. The attribute's comment: “a strengthening over a locally Noetherian base: Tag 05J8 replaces Tag 05L5 and needs no flatness, so the flatness hypothesis of the source is dropped here”.
Stacks Project, Tag 05L6 over a locally Noetherian base, where the flatness hypothesis is unnecessary. Let
f : X ⟶ Sbe of finite type and letℱbe a finite type quasi-coherent𝒪_X-module. IfSis locally Noetherian thenℱis pure relative toSif and only if it is universally pure relative toS.
theorem isPureRelative_iff_isUniversallyPureRelative_of_isLocallyNoetherian
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] [QuasiCompact f]
[IsLocallyNoetherian S] (F : X.Modules) [F.IsFiniteType] [F.IsQuasicoherent] :
IsPureRelative f F ↔ IsUniversallyPureRelative f F
Tag 05MA, a lemma
Tag 05MA in the Stacks Project.
AlgebraicGeometry.exists_stage_isPureAlong_of_isLimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityCriterionLimits.lean, line 340. The attribute's comment: “assuming the limit descent as hdescend and the purity step as hstage”.
Stacks Project, Tag 05MA. Let
(S_i)be an inverse system of affine schemes over a directed index with limitS, lets ∈ Swith imagess_i, letf : X ⟶ Sbe of finite presentation and letℱbe a quasi-coherent𝒪_X-module of finite presentation which is pure alongX_sand flat overSat every point ofX_s. Then the whole situation descends to a finite stage: someicarries a finite-presentation morphismX_i ⟶ S_iand a finitely presented quasi-coherent moduleℱ_iwhich is pure along(X_i)_{s_i}and flat overS_iat every point of that fibre, withX = X_i ×_{S_i} Sandℱthe pullback ofℱ_i.The descent of the morphism, the module, the open flat locus and the flatness, which is Stacks Limits 01ZM, 01ZR, 01ZS and 05LY, is the hypothesis
hdescend; the passage of purity to a finite stage, which is the second half of the proof of the source and uses Stacks 05KW, 05K6, 05L4, 05KR and Limits 05F4, is the hypothesishstage.
public theorem exists_stage_isPureAlong_of_isLimit
{I : Type u} [Category.{u} I] [IsCofiltered I]
(D : I ⥤ Scheme.{u}) [∀ i : I, IsAffine (D.obj i)] (c : Cone D) (_hc : IsLimit c)
{X : Scheme.{u}} (f : X ⟶ c.pt)
[LocallyOfFinitePresentation f] [QuasiCompact f] [QuasiSeparated f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFinitePresentation] [F.IsFiniteType] (s : c.pt)
(_hpure : IsPureAlong ({ S := c.pt, X := X, f := f, F := F,
s := s } : PrePureSituation.{u}))
(_hflat : ∀ x : f.fiber s, IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x))
(hdescend : ∃ (i : I) (Xi : Scheme.{u}) (fi : Xi ⟶ D.obj i)
(_ : LocallyOfFinitePresentation fi) (_ : QuasiCompact fi) (_ : QuasiSeparated fi)
(Fi : Xi.Modules) (_ : Fi.IsFiniteType) (_ : Fi.IsQuasicoherent)
(_ : Fi.IsFinitePresentation) (a : X ⟶ Xi),
IsPullback a f fi (c.π.app i) ∧ Nonempty (F ≅ (Scheme.Modules.pullback a).obj Fi) ∧
∀ x : fi.fiber (c.π.app i s),
IsFlatOverAt fi.toLRSHom.toShHom Fi (fi.fiberι (c.π.app i s) x))
(hstage : ∀ (i : I) (Xi : Scheme.{u}) (fi : Xi ⟶ D.obj i)
(_ : LocallyOfFinitePresentation fi) (_ : QuasiCompact fi) (_ : QuasiSeparated fi)
(Fi : Xi.Modules) (_ : Fi.IsFiniteType) (_ : Fi.IsQuasicoherent)
(_ : Fi.IsFinitePresentation) (a : X ⟶ Xi), IsPullback a f fi (c.π.app i) →
Nonempty (F ≅ (Scheme.Modules.pullback a).obj Fi) →
(∀ x : fi.fiber (c.π.app i s),
IsFlatOverAt fi.toLRSHom.toShHom Fi (fi.fiberι (c.π.app i s) x)) →
∃ (j : I) (e : j ⟶ i) (_ : LocallyOfFiniteType (pullback.snd fi (D.map e)))
(_ : QuasiCompact (pullback.snd fi (D.map e)))
(_ : ((Scheme.Modules.pullback (pullback.fst fi (D.map e))).obj Fi).IsFiniteType)
(_ : ((Scheme.Modules.pullback (pullback.fst fi (D.map e))).obj Fi).IsQuasicoherent),
IsPureAlong ({ S := D.obj j, X := pullback fi (D.map e),
f := pullback.snd fi (D.map e),
F := (Scheme.Modules.pullback (pullback.fst fi (D.map e))).obj Fi,
s := c.π.app j s } : PrePureSituation.{u})) :
∃ (i : I) (Xi : Scheme.{u}) (fi : Xi ⟶ D.obj i) (_ : LocallyOfFinitePresentation fi)
(_ : QuasiCompact fi) (_ : QuasiSeparated fi) (Fi : Xi.Modules) (_ : Fi.IsFiniteType)
(_ : Fi.IsQuasicoherent) (_ : Fi.IsFinitePresentation) (a : X ⟶ Xi),
IsPullback a f fi (c.π.app i) ∧ Nonempty (F ≅ (Scheme.Modules.pullback a).obj Fi) ∧
(∀ x : fi.fiber (c.π.app i s),
IsFlatOverAt fi.toLRSHom.toShHom Fi (fi.fiberι (c.π.app i s) x)) ∧
IsPureAlong ({ S := D.obj i, X := Xi, f := fi, F := Fi,
s := c.π.app i s } : PrePureSituation.{u})
AlgebraicGeometry.exists_stage_isPureAlong_of_isLimit_directed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityLimitStage.lean, line 612.
Stacks Project, Tag 05MA. Let
Ibe a directed set, let(S_k)be an inverse system of affine schemes indexed byIwith limitS, letsbe a point ofSwith imagess_k, letf : X ⟶ Sbe of finite presentation and letℱbe a quasi-coherent𝒪_X-module of finite presentation which is pure alongX_sand flat overSat every point ofX_s. Then the whole situation descends to a finite stage: somekcarries a finite-presentation morphismX_k ⟶ S_kand a finitely presented quasi-coherent moduleℱ_kwhich is pure along(X_k)_{s_k}and flat overS_kat every point of that fibre, withX = X_k ×_{S_k} Sandℱthe pullback ofℱ_k.The descent of the morphism, of the module and of the flatness over the open locus where it holds — Stacks Limits 01ZM, 01ZR, 01Z4 and 05LY — is
AlgebraicGeometry.exists_stage_isFlatOverAt_fiber_of_isLimit; the passage of purity to a finite stage, which is the rest of the proof of the source, isAlgebraicGeometry.exists_stage_isPureAlong.
public theorem exists_stage_isPureAlong_of_isLimit_directed {I : Type u} [Preorder I]
[IsDirected I (· ≤ ·)] [Nonempty I] (D : Iᵒᵖ ⥤ Scheme.{u}) [∀ k : Iᵒᵖ, IsAffine (D.obj k)]
(c : Cone D) (hc : IsLimit c) {X : Scheme.{u}} (f : X ⟶ c.pt)
[LocallyOfFinitePresentation f] [QuasiCompact f] [QuasiSeparated f]
(F : X.Modules) [F.IsFinitePresentation] [F.IsQuasicoherent] (s : c.pt)
(hpure : IsPureAlong ({ S := c.pt, X := X, f := f, F := F, s := s } : PrePureSituation.{u}))
(hflat : ∀ x : f.fiber s,
IsFlatOverAt f.toLRSHom.toShHom F (f.fiberι s x)) :
∃ (k : I) (Xk : Scheme.{u}) (fk : Xk ⟶ D.obj (op k))
(_ : LocallyOfFinitePresentation fk) (_ : QuasiCompact fk) (_ : QuasiSeparated fk)
(Fk : Xk.Modules) (_ : Fk.IsQuasicoherent) (_ : Fk.IsFinitePresentation)
(_ : Fk.IsFiniteType) (a : X ⟶ Xk),
IsPullback a f fk (c.π.app (op k)) ∧ Nonempty (F ≅ (Scheme.Modules.pullback a).obj Fk) ∧
(∀ x : fk.fiber (c.π.app (op k) s),
IsFlatOverAt fk.toLRSHom.toShHom Fk (fk.fiberι (c.π.app (op k) s) x)) ∧
IsPureAlong ({ S := D.obj (op k), X := Xk, f := fk, F := Fk,
s := c.π.app (op k) s } : PrePureSituation.{u})
Tag 05MC, a lemma
Tag 05MC in the Stacks Project.
AlgebraicGeometry.isOpen_setOf_isPureAlong, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/PureModules/PurityCriterionLimits.lean, line 162. The attribute's comment: “using Stacks 05KR, proved outright in this library”.
Stacks Project, Tag 05MC. For a morphism
f : X ⟶ Sof finite presentation and a quasi-coherent𝒪_X-moduleℱof finite presentation which is flat overS, the set of pointss ∈ Sat whichℱis pure along the fibreX_sis open inS.The local constructibility of the fibrewise containment locus, Tag 05KR, which the argument applies to the base change of
f, is proved outright in this library.
public theorem isOpen_setOf_isPureAlong
{X S : Scheme.{u}} (f : X ⟶ S)
[LocallyOfFinitePresentation f] [QuasiCompact f] [QuasiSeparated f]
(F : X.Modules) [F.IsQuasicoherent] [F.IsFinitePresentation] [F.IsFiniteType]
(hflat : ∀ x : X, IsFlatOverAt f.toLRSHom.toShHom F x) :
IsOpen {s : S | IsPureAlong ({ S := S, X := X, f := f, F := F,
s := s } : PrePureSituation.{u})}
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.