37.46 Application to morphisms… to 37.52 Closed points in fibres
Section37.46 Application to morphisms with connected fibres#
Section 37.46 of the Stacks Project, Tag 057H. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 057I, a lemma
Tag 057I in the Stacks Project.
AlgebraicGeometry.exists_compactOpen_geometricallyConnected_fibers, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/GenericFibre/ShrinkingConsequences.lean, line 123.
Stacks Project, Tag 057I. A geometrically connected fibre in a flat, finitely presented family with geometrically reduced fibres and a nonempty finite locally free multisection has a quasi-compact open neighbourhood in the source whose nonempty fibres are geometrically connected.
theorem exists_compactOpen_geometricallyConnected_fibers : Statement057I.{u}
Tag 055W, a lemma
Tag 055W in the Stacks Project.
AlgebraicGeometry.exists_etaleNeighborhood_geometricallyConnected, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/GenericFibre/ShrinkingConsequences.lean, line 131.
Stacks Project, Tag 055W. A geometrically connected open in a fibre of a flat, finitely presented morphism with geometrically reduced fibres spreads, after an affine elementary étale base change, to a quasi-compact open with geometrically connected fibres.
theorem exists_etaleNeighborhood_geometricallyConnected : Statement055W.{u}
Tag 0EY5, a lemma
Tag 0EY5 in the Stacks Project.
AlgebraicGeometry.exists_etaleCover_factors_geometricallyConnected, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/ConnectedFibreCover.lean, line 625.
Stacks Project, Tag 0EY5. A flat morphism locally of finite presentation with geometrically reduced fibres admits an étale covering of its source each member of which factors through an étale morphism to the base, the first factor being flat of finite presentation with geometrically connected and geometrically reduced fibres.
theorem exists_etaleCover_factors_geometricallyConnected
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFinitePresentation f] [Flat f]
[GeometricallyReduced f] :
∃ 𝒰 : X.Cover.{u} Scheme.etalePrecoverage, ∀ i : 𝒰.I₀,
∃ (Sᵢ : Scheme.{u}) (h : Sᵢ ⟶ S) (g : 𝒰.X i ⟶ Sᵢ),
Etale h ∧ Flat g ∧ FinitePresentation g ∧
GeometricallyConnected g ∧ GeometricallyReduced g ∧
g ≫ h = 𝒰.f i ≫ f
Tag 057J, a lemma
Tag 057J in the Stacks Project.
AlgebraicGeometry.exists_etaleNeighborhood_geometricallyIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/GenericFibre/ShrinkingConsequences.lean, line 139.
Stacks Project, Tag 057J. A geometrically irreducible open in a fibre of a normal, finitely presented morphism spreads, after an affine elementary étale base change, to a quasi-compact open with geometrically integral fibres.
theorem exists_etaleNeighborhood_geometricallyIntegral : Statement057J.{u}
Sources
Section37.47 Application to the structure of finite type morphisms#
Section 37.47 of the Stacks Project, Tag 052D. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 052E, a lemma
Tag 052E in the Stacks Project.
AlgebraicGeometry.exists_finite_over_smooth_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/FiniteOverSmooth/Main.lean, line 59.
Stacks 052E. Let
f : X ⟶ Sbe locally of finite type, letx ∈ Xand sets = f x. If the fibreX_shas local dimensionnatx, then there is a commutative squareg ≫ f = π ≫ hin whichh : Y ⟶ Sis smooth of relative dimensionn,g : (X', x') ⟶ (X, x)is an elementary étale neighbourhood,π : X' ⟶ Yis finite, and the fibre ofπovery = π x'is the single pointx'; moreoverκ(y)is a purely transcendental extension ofκ(s), and iffis locally of finite presentation thenπis of finite presentation.
theorem exists_finite_over_smooth_of_locallyOfFiniteType
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f] (x : X) (n : ℕ)
(hdim : topologicalKrullDimAt (f.fiber (f x)) (f.asFiber x) = n) :
∃ (Y : Scheme.{u}) (h : Y ⟶ S) (N : EtaleNeighborhood X x) (π : N.scheme ⟶ Y),
SmoothOfRelativeDimension n h ∧ N.IsElementary ∧ IsFinite π ∧
{z : N.scheme | π z = π N.point} = {N.point} ∧
N.toBase ≫ f = π ≫ h ∧
(∃ hy : h (π N.point) = f x,
letI : Algebra (S.residueField (f x)) (Y.residueField (π N.point)) :=
(((S.residueFieldCongr hy).inv ≫ h.residueFieldMap (π N.point)).hom).toAlgebra
PurelyTranscendental (S.residueField (f x)) (Y.residueField (π N.point))) ∧
(LocallyOfFinitePresentation f → FinitePresentation π)
Tag 057K, a lemma
Tag 057K in the Stacks Project.
AlgebraicGeometry.exists_finite_over_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/GenericFibre/ShrinkingConsequences.lean, line 149.
Stacks Project, Tag 057K. A morphism locally of finite type is, in elementary étale neighbourhoods of a point and of its image, finite over a smooth morphism of relative dimension the dimension of the fibre at that point, with geometrically integral fibres and purely transcendental residue field extension; and the finite morphism is of finite presentation as soon as the original one is.
theorem exists_finite_over_smooth : Statement057K.{u}
Tag 057L, a lemma
Tag 057L in the Stacks Project.
AlgebraicGeometry.exists_finite_over_smooth_affine, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Flatness/FiniteOverSmoothAffine.lean, line 186.
Stacks Project, Tag 057L. The finite-over-smooth local structure of a locally finite-type morphism can be obtained with all three new schemes affine.
theorem exists_finite_over_smooth_affine {X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(x : X) :
∃ (n : ℕ) (_ : topologicalKrullDimAt (f.fiber (f x)) (f.asFiber x) = n)
(U : EtaleNeighborhood X x) (V : EtaleNeighborhood S (f x))
(Y : Scheme.{u}) (h : Y ⟶ V.scheme) (π : U.scheme ⟶ Y),
U.IsElementary ∧ V.IsElementary ∧ (U.toBase ≫ f = π ≫ h ≫ V.toBase) ∧
SmoothOfRelativeDimension n h ∧
(∀ s' : V.scheme, GeometricallyIntegral (h.fiberToSpecResidueField s')) ∧
IsFinite π ∧ (∀ z : U.scheme, π z = π U.point ↔ z = U.point) ∧
(∃ heq : h (π U.point) = V.point,
letI : Algebra (V.scheme.residueField V.point) (Y.residueField (π U.point)) :=
((V.scheme.residueFieldCongr heq).inv ≫ h.residueFieldMap (π U.point)).hom.toAlgebra
PurelyTranscendental (V.scheme.residueField V.point)
(Y.residueField (π U.point))) ∧
(LocallyOfFinitePresentation f → FinitePresentation π) ∧
IsAffine V.scheme ∧ IsAffine Y ∧ IsAffine U.scheme
Tag 05B8, a lemma
Tag 05B8 in the Stacks Project.
AlgebraicGeometry.exists_open_preimage_le, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/EtaleNeighbourhood/FiniteSingletonFibre.lean, line 60. The attribute's comment: “inverse_image_neighbourhoods”.
For a finite morphism whose fibre over
yis the singletonx, the inverse image of some open neighbourhood ofyis contained in any prescribed open neighbourhood ofx.
lemma exists_open_preimage_le {X Y : Scheme.{u}} (f : X ⟶ Y) [IsFinite f]
(x : X) (y : Y) (hxy : f x = y) (hfiber : f ⁻¹' {y} = {x})
(U : X.Opens) (hxU : x ∈ U) :
∃ V : Y.Opens, y ∈ V ∧ f ⁻¹ᵁ V ≤ U
AlgebraicGeometry.finite_stalkMap_of_preimage_singleton, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/EtaleNeighbourhood/FiniteSingletonFibre.lean, line 200. The attribute's comment: “finite_local_ring_map”.
For a finite morphism with a singleton fibre at
x, the induced map on the local rings atf xandxis finite.
lemma finite_stalkMap_of_preimage_singleton
{X Y : Scheme.{u}} (f : X ⟶ Y) [IsFinite f]
(x : X) (hx : f ⁻¹' {f x} = {x}) :
(f.stalkMap x).hom.Finite
AlgebraicGeometry.finitePresentation_stalkMap_of_preimage_singleton, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/EtaleNeighbourhood/FiniteSingletonFibre.lean, line 256. The attribute's comment: “finitely_presented_local_ring_map”.
If a finite morphism of finite presentation has a singleton fibre over
f x, its local-ring map atxis of finite presentation.
lemma finitePresentation_stalkMap_of_preimage_singleton
{X Y : Scheme.{u}} (f : X ⟶ Y) [IsFinite f]
(x : X) (hx : f ⁻¹' {f x} = {x}) (hfp : FinitePresentation f) :
(f.stalkMap x).hom.FinitePresentation
AlgebraicGeometry.stalk_isomorphic_pushforward_of_finite_singleton_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/EtaleNeighbourhood/FiniteSingletonFibre.lean, line 418. The attribute's comment: “pushforward_stalk”.
Let
f : X ⟶ Ybe finite and suppose that the fibre overf xis the singleton{x}. For a quasi-coherentO_X-moduleF, its stalk atx, viewed as anO_{Y,f x}-module, is isomorphic to the stalk atf xoff_* F.
theorem stalk_isomorphic_pushforward_of_finite_singleton_fiber
{X Y : Scheme.{u}} (f : X ⟶ Y) [IsFinite f]
(x : X) (hfiber : f ⁻¹' ({f x} : Set Y) = {x})
(F : X.Modules) [F.IsQuasicoherent] :
letI : Module (X.presheaf.stalk x)
↑(TopCat.Presheaf.stalk F.val.presheaf x) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := X.presheaf) F.val x
letI : Module (Y.presheaf.stalk (f x))
↑(TopCat.Presheaf.stalk F.val.presheaf x) :=
Module.compHom _ (f.stalkMap x).hom
letI : Module (Y.presheaf.stalk (f x))
↑(TopCat.Presheaf.stalk
((Scheme.Modules.pushforward f).obj F).val.presheaf (f x)) :=
PresheafOfModules.instModuleCarrierStalkCommRingCatCarrierAbPresheafOpensCarrier
(R := Y.presheaf) ((Scheme.Modules.pushforward f).obj F).val (f x)
Nonempty
(ModuleCat.of (Y.presheaf.stalk (f x))
↑(TopCat.Presheaf.stalk F.val.presheaf x) ≅
ModuleCat.of (Y.presheaf.stalk (f x))
↑(TopCat.Presheaf.stalk
((Scheme.Modules.pushforward f).obj F).val.presheaf (f x)))
Sources
Section37.48 Application to the fppf topology#
Section 37.48 of the Stacks Project, Tag 05WM. 8 tags here are carried by 17 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0DET, a lemma
Tag 0DET in the Stacks Project.
Stacks.Topologies.Fppf.etaleFiniteLocallyFreeDominates, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/Fppf/LocallyQuasiFiniteRefinement.lean, line 151.
Stacks Project, Tag 0DET. An fppf covering
{S_i ⟶ S}is refined by an fppf covering{V_a ⟶ S}whose members factor asV_a ⟶ S'_a ⟶ Swith{S'_a ⟶ S}an étale covering andV_a ⟶ S'_asurjective finite locally free.
theorem etaleFiniteLocallyFreeDominates {S : Scheme.{u}}
(𝒰 : S.Cover.{v} Scheme.fppfPrecoverage) :
EtaleFiniteLocallyFreeDominates 𝒰
Tag 05WN, a lemma
Tag 05WN in the Stacks Project.
Stacks.Topologies.Fppf.exists_openCover_finiteLocallyFree_refinement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/Fppf/LocallyQuasiFiniteRefinement.lean, line 193.
Stacks Project, Tag 05WN. Let
𝒮 = {S_i ⟶ S}be an fppf covering of a scheme. Then there are a Zariski open coveringS = ⋃ U_j, surjective finite locally free morphismsW_j ⟶ U_j, Zariski open coveringsW_j = ⋃_k W_{j,k}, and surjective finite locally free morphismsT_{j,k} ⟶ W_{j,k}, such that the composites{T_{j,k} ⟶ S}form an fppf covering refining𝒮.This is
exists_openCover_finiteLocallyFree_refinement_of_hasQuasiFiniteSlicesapplied toAlgebraicGeometry.hasQuasiFiniteSlices, the form of [Stacks, Tag 0570] used here.
theorem exists_openCover_finiteLocallyFree_refinement (S : Scheme.{u})
(𝒮 : S.Cover.{v} Scheme.fppfPrecoverage) :
∃ (𝒰 : S.OpenCover.{max u v})
(W : 𝒰.I₀ → Scheme.{u})
(g : ∀ j, W j ⟶ 𝒰.X j)
(𝒲 : ∀ j, (W j).OpenCover.{max u v})
(T : ∀ j, (𝒲 j).I₀ → Scheme.{u})
(h : ∀ j k, T j k ⟶ (𝒲 j).X k),
(∀ j, Surjective (g j) ∧ Stacks.Morphisms.IsFiniteLocallyFree (g j)) ∧
(∀ j k, Surjective (h j k) ∧ Stacks.Morphisms.IsFiniteLocallyFree (h j k)) ∧
Presieve.ofArrows
(fun jk : Σ j, (𝒲 j).I₀ ↦ T jk.1 jk.2)
(fun jk ↦ h jk.1 jk.2 ≫ (𝒲 jk.1).f jk.2 ≫ g jk.1 ≫ 𝒰.f jk.1) ∈
Scheme.fppfPrecoverage S ∧
∀ j k, ∃ i, ∃ l : T j k ⟶ 𝒮.X i,
l ≫ 𝒮.f i = h j k ≫ (𝒲 j).f k ≫ g j ≫ 𝒰.f j
Tag 0CNX, a lemma
Tag 0CNX in the Stacks Project.
AlgebraicGeometry.exists_integral_surjective_extension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/FppfApplication/IntegralSurjectiveExtension.lean, line 81. The attribute's comment: “a surjective integral morphism over a retrocompact open of S extends to a surjective integral morphism over S with the same restriction to the open”.
Stacks Project, Tag 0CNX, in corrected form, with
Uretrocompact inS: a surjective integral morphism over a retrocompact open subscheme extends to a surjective integral morphism over the whole scheme, without changing its restriction to the open subscheme. The general statement of [Stacks, Tag 0CNX] is false;AlgebraicGeometry.exists_integral_surjective_extension_and_not_forallpairs this theorem with the failure of the statement for an arbitrary open subscheme.
theorem exists_integral_surjective_extension
{S : Scheme.{u}} (U : S.Opens) [QuasiCompact U.ι]
{V : Scheme.{u}} (f : V ⟶ U.toScheme) [IsIntegralHom f] [Surjective f] :
∃ (W : Scheme.{u}) (g : W ⟶ S),
IsIntegralHom g ∧ Surjective g ∧
Nonempty (Over.mk f ≅ (Over.pullback U.ι).obj (Over.mk g))
Tag 0CNY, a lemma
Tag 0CNY in the Stacks Project.
Stacks.FiniteFactorization.exists_finite_surjective_extension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/FiniteFactorization/ExtendFiniteSurjective.lean, line 47.
Let
Sbe a quasi-compact quasi-separated scheme and letU ⊆ Sbe a quasi-compact open. A finite surjective morphismf : V ⟶ Uextends to a finite surjective morphismg : V̄ ⟶ S: there is an isomorphisme : V̄ ×_S U ≅ Videntifying the projectionV̄ ×_S U ⟶ Uwithf, so thateis an isomorphism of schemes overU.
theorem exists_finite_surjective_extension {S V : Scheme.{u}}
[CompactSpace S] [QuasiSeparatedSpace S]
(U : S.Opens) (hU : IsCompact (U : Set S))
(f : V ⟶ U.toScheme) [IsFinite f] [Surjective f] :
∃ (Vbar : Scheme.{u}) (g : Vbar ⟶ S),
IsFinite g ∧ Surjective g ∧
∃ e : pullback g U.ι ≅ V,
e.hom ≫ f = pullback.snd g U.ι
Tag 0CNZ, a lemma
Tag 0CNZ in the Stacks Project.
AlgebraicGeometry.exists_integral_surjective_openCover_factorization_of_mem_fppfPrecoverage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/FppfApplication/IntegralDomination.lean, line 125.
Stacks Project, Tag 0CNZ. For every fppf covering
{X i ⟶ S}of a schemeSthere are a surjective integral morphismg : S' ⟶ Sand an open covering ofS'such that each memberU cof the covering maps toSthrough some memberX iof the given covering.No hypothesis is imposed on
S, as none is imposed in the source.
theorem exists_integral_surjective_openCover_factorization_of_mem_fppfPrecoverage
{I : Type v} {S : Scheme.{u}}
(X : I → Scheme.{u}) (f : ∀ i, X i ⟶ S)
(hf : Presieve.ofArrows X f ∈ Scheme.fppfPrecoverage S) :
∃ (S' : Scheme.{u}) (g : S' ⟶ S), IsIntegralHom g ∧ Surjective g ∧
∃ (J : Type u) (U : J → S'.Opens), (⨆ c, U c) = ⊤ ∧
∀ c, ∃ i, ∃ t : (U c).toScheme ⟶ X i, (U c).ι ≫ g = t ≫ f i
Tag 0CP0, a lemma
Tag 0CP0 in the Stacks Project.
AlgebraicGeometry.exists_finite_surjective_openCover_factorization_of_mem_fppfPrecoverage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/FppfApplication/FiniteDomination.lean, line 165.
[Stacks, Tag 0CP0]. For every fppf covering
{X i ⟶ S}of a quasi-compact and quasi-separated schemeSthere are a surjective finite morphismg : S' ⟶ Sof finite presentation and an open covering ofS'such that each memberU cof the covering maps toSthrough some memberX iof the given covering.The second input of the source proof, [Stacks, Tag 09YZ], is supplied by
Stacks.AlgebraicGeometry.Tag0817PartTwo.nonempty_integralLimitPresentation, which proves it at exactly the quasi-compactness and quasi-separatedness assumed here.
theorem exists_finite_surjective_openCover_factorization_of_mem_fppfPrecoverage
{I : Type v} {S : Scheme.{u}} [CompactSpace S] [QuasiSeparatedSpace S]
(X : I → Scheme.{u}) (f : ∀ i, X i ⟶ S)
(hf : Presieve.ofArrows X f ∈ Scheme.fppfPrecoverage S) :
∃ (S' : Scheme.{u}) (g : S' ⟶ S), IsFinite g ∧ Surjective g ∧ FinitePresentation g ∧
∃ (J : Type u) (U : J → S'.Opens), (⨆ c, U c) = ⊤ ∧
∀ c, ∃ i, ∃ t : (U c).toScheme ⟶ X i, (U c).ι ≫ g = t ≫ f i
Tag 0DBT, a lemma
Tag 0DBT in the Stacks Project.
AlgebraicGeometry.isPHCoveringInCutoff_of_isEtaleCovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToEtaleSquares.lean, line 81. The attribute's comment: “étale coverings in a cutoff category”.
An étale covering family in a size-bounded category of schemes is a ph covering family there, since both conditions are read off the image of the family in all schemes.
public theorem isPHCoveringInCutoff_of_isEtaleCovering {κ : Cardinal.{u}}
(𝒰 : Covering.{u + 1, u, u + 1} (SchemeBelow κ)) (h𝒰 : IsEtaleCovering 𝒰) :
IsPHCoveringInCutoff 𝒰
AlgebraicGeometry.bigEtaleOverTopology_le_bigPHOverTopology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToEtaleSquares.lean, line 176. The attribute's comment: “étale coverings on a slice”.
The big-site comparison from ph to étale is induced by the identity functor on the common slice category: every étale covering of the slice is a ph covering of the slice.
public theorem bigEtaleOverTopology_le_bigPHOverTopology (B : BigPHSite.{u}) (X : B.Schemes) :
BigEtaleOver.topology (phAssociatedBigEtaleSite B) X.1 X.2 ≤ B.topology.over X
AlgebraicGeometry.isPHCovering_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/HTopology/EtaleHComparison.lean, line 102. The attribute's comment: “étale coverings”.
A family of étale morphisms of schemes whose images cover the target is a ph covering.
public theorem isPHCovering_of_etale {T : Scheme.{u}} {I : Type v} (X : I → Scheme.{u})
(f : ∀ i, X i ⟶ T) (hsurj : ∀ x : T, ∃ i, x ∈ Set.range (f i).base)
(hetale : ∀ i, Etale (f i)) :
IsPHCovering X f
AlgebraicGeometry.IsPHCovering.of_mem_fppfPrecoverage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/V/FppfAffineDomination.lean, line 116.
An fppf covering of schemes is a ph covering.
theorem IsPHCovering.of_mem_fppfPrecoverage
{T : Scheme.{u}} {I : Type v} (X : I → Scheme.{u}) (f : ∀ i, X i ⟶ T)
(hf : Presieve.ofArrows X f ∈ Scheme.fppfPrecoverage T) :
IsPHCovering X f
Tag 0DBU, a remark
Tag 0DBU in the Stacks Project.
AlgebraicGeometry.phToFppf_isMorphismOfSites, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 407. The attribute's comment: “the comparison is the morphism of sites given by the identity functor on underlying categories”.
Stacks 0DBU:
εis the morphism of sites given by the identity functor on underlying categories. The two sites have the one underlying category, the slice overXof the common category of schemes, and the identity functor of it, read from the fppf site to the ph site, satisfies the two conditions of Stacks 00X1: it is continuous and the functor it induces on sheaves of sets is left exact. So it is a morphism of sites(Sch/S)_ph ⟶ (Sch/S)_fppf, andAlgebraicGeometry.phToBigFppfMorphismis the morphism of topoi Stacks 00XC attaches to it.
public theorem phToFppf_isMorphismOfSites (B : BigPHSite.{u}) (X : B.Schemes) :
IsMorphismOfSites.{u + 1} (𝟭 (Over X))
(BigFppfOver.topology (phAssociatedBigFppfSite B) X.1 X.2) (B.topology.over X)
AlgebraicGeometry.phToBigFppf_pushforward_comp_sheafToPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 419. The attribute's comment: “the direct image is the identity on underlying presheaves”.
Stacks 0DBU:
ε_*is the identity on underlying presheaves. Forming the direct image of a ph sheaf and then forgetting the fppf sheaf condition gives back the presheaf one started from, because the direct image is restriction along the identity functor of the common slice category. The two sides are equal, not merely isomorphic.
public theorem phToBigFppf_pushforward_comp_sheafToPresheaf (B : BigPHSite.{u})
(X : B.Schemes) :
(phToBigFppfMorphism B X).pushforward ⋙
sheafToPresheaf (BigFppfOver.topology (phAssociatedBigFppfSite B) X.1 X.2)
(Type (u + 1)) =
sheafToPresheaf (B.topology.over X) (Type (u + 1))
AlgebraicGeometry.phToBigFppf_inverseImageIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 439. The attribute's comment: “the inverse image is the ph sheafification of an fppf sheaf”.
Stacks 0DBU:
ε⁻¹associates to an fppf sheaf its ph sheafification. The inverse image is the functor on sheaves of sets induced by the identity functor of the common slice, and the left Kan extension along the identity is the identity, so the inverse image is the forgetful functor to presheaves followed by ph sheafification.The isomorphism is the canonical one, not just some isomorphism of the right type:
εis by construction the change-of-topology morphism of the identity functor, and the comparison isCategoryTheory.changeOfTopologyMorphism_inverseImageIso, built from the construction of the induced functor as a left Kan extension followed by sheafification.
public def phToBigFppf_inverseImageIso (B : BigPHSite.{u}) (X : B.Schemes) :
(phToBigFppfMorphism B X).inverseImage ≅
sheafToPresheaf (BigFppfOver.topology (phAssociatedBigFppfSite B) X.1 X.2)
(Type (u + 1)) ⋙
presheafToSheaf (B.topology.over X) (Type (u + 1))
AlgebraicGeometry.phToZariski_pushforward_comp_sheafToPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 518. The attribute's comment: “by composition, the comparison of the ph topology with the Zariski topology”.
Stacks 0DBU: by composition the ph topology is compared with the Zariski topology.
AlgebraicGeometry.phToZariskiMorphism, the composition ofεwith the change-of-topology morphism from the fppf to the Zariski topology, is a comparison of the ph topology with the Zariski topology of Stacks 03FF: it is a morphism of topoi from ph sheaves to Zariski sheaves whose direct image is the identity on underlying presheaves, asε's own is.
public theorem phToZariski_pushforward_comp_sheafToPresheaf (B : BigPHSite.{u})
(X : B.Schemes) :
(phToZariskiMorphism B X).pushforward ⋙
sheafToPresheaf ((phAssociatedBigFppfSite B).zariskiTopology.over X) (Type (u + 1)) =
sheafToPresheaf (B.topology.over X) (Type (u + 1))
AlgebraicGeometry.phToEtale_pushforward_comp_sheafToPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 544. The attribute's comment: “by composition, the comparison of the ph topology with the étale topology”.
Stacks 0DBU: by composition the ph topology is compared with the étale topology.
AlgebraicGeometry.phToEtaleMorphism, the composition ofεwith the change-of-topology morphism from the fppf to the étale topology, is a comparison of the ph topology with the étale topology of Stacks 03FF: it is a morphism of topoi from ph sheaves to étale sheaves whose direct image is the identity on underlying presheaves, asε's own is.
public theorem phToEtale_pushforward_comp_sheafToPresheaf (B : BigPHSite.{u}) (X : B.Schemes) :
(phToEtaleMorphism B X).pushforward ⋙
sheafToPresheaf ((phAssociatedBigFppfSite B).etaleTopology.over X) (Type (u + 1)) =
sheafToPresheaf (B.topology.over X) (Type (u + 1))
AlgebraicGeometry.phToSmooth_pushforward_comp_sheafToPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 569. The attribute's comment: “by composition, the comparison of the ph topology with the smooth topology”.
Stacks 0DBU: by composition the ph topology is compared with the smooth topology.
AlgebraicGeometry.phToSmoothMorphism, the composition ofεwith the change-of-topology morphism from the fppf to the smooth topology, is a comparison of the ph topology with the smooth topology of Stacks 03FF: it is a morphism of topoi from ph sheaves to smooth sheaves whose direct image is the identity on underlying presheaves, asε's own is.
public theorem phToSmooth_pushforward_comp_sheafToPresheaf (B : BigPHSite.{u}) (X : B.Schemes) :
(phToSmoothMorphism B X).pushforward ⋙
sheafToPresheaf ((phAssociatedBigFppfSite B).smoothTopology.over X) (Type (u + 1)) =
sheafToPresheaf (B.topology.over X) (Type (u + 1))
AlgebraicGeometry.phToSyntomic_pushforward_comp_sheafToPresheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Topologies/ChangeOfSites/PhToFppfComparison.lean, line 594. The attribute's comment: “by composition, the comparison of the ph topology with the syntomic topology”.
Stacks 0DBU: by composition the ph topology is compared with the syntomic topology.
AlgebraicGeometry.phToSyntomicMorphism, the composition ofεwith the change-of-topology morphism from the fppf to the syntomic topology, is a comparison of the ph topology with the syntomic topology of Stacks 03FF: it is a morphism of topoi from ph sheaves to syntomic sheaves whose direct image is the identity on underlying presheaves, asε's own is.
public theorem phToSyntomic_pushforward_comp_sheafToPresheaf (B : BigPHSite.{u})
(X : B.Schemes) :
(phToSyntomicMorphism B X).pushforward ⋙
sheafToPresheaf ((phAssociatedBigFppfSite B).syntomicTopology.over X) (Type (u + 1)) =
sheafToPresheaf (B.topology.over X) (Type (u + 1))
Sources
Section37.49 Quasi-projective schemes#
Section 37.49 of the Stacks Project, Tag 0B41. 3 tags here are carried by 11 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0B42, a lemma
Tag 0B42 in the Stacks Project.
AlgebraicGeometry.isQuasiProjective_tfae_of_exists_isAmple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveOverAmpleBase.lean, line 238. The attribute's comment: “all five conditions, with no hypothesis”.
Stacks Project, Tag 0B42. Let
Sbe a scheme carrying an ample invertible module and letf : X ⟶ Sbe a morphism of schemes. The following are equivalent:
fis quasi-projective;fis H-quasi-projective;Xis a quasi-compact open subscheme, overS, of a scheme projective overS;fis of finite type andXcarries an ample invertible module;fis of finite type and carries anf-very ample invertible module.The cycle is (1) ⟹ (4) ⟹ (2) ⟹ (1), with (2) ⟹ (3), (3) ⟹ (5) and (5) ⟹ (1) closing the remaining conditions. Nothing is assumed.
theorem isQuasiProjective_tfae_of_exists_isAmple (f : X ⟶ S)
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M) :
List.TFAE
[IsQuasiProjective f,
IsHQuasiProjective f,
∃ (X' : Scheme.{u}) (p : X' ⟶ S) (j : X ⟶ X'),
IsOpenImmersion j ∧ QuasiCompact j ∧ j ≫ p = f ∧ IsProjective p,
(LocallyOfFiniteType f ∧ QuasiCompact f) ∧
∃ (L : X.Modules) (hL : Stacks.Ample.IsInvertibleModule X L),
letI : Stacks.Ample.IsInvertibleModule X L := hL
Stacks.Ample.IsAmple X L,
(LocallyOfFiniteType f ∧ QuasiCompact f) ∧
∃ (L : X.Modules) (hL : Stacks.Ample.IsInvertibleModule X L),
letI : Stacks.Ample.IsInvertibleModule X L := hL
Stacks.Tag01VMVeryAmple.IsRelativelyVeryAmple f L]
Tag 0B43, a lemma
Tag 0B43 in the Stacks Project.
AlgebraicGeometry.QuasiProjectiveSchemesOver.baseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 234. The attribute's comment: “part (1), base change; the source's hypothesis that S' has an ample invertible sheaf is not needed, Tag 0B3G needing no such hypothesis”. References: EGA II (5.3.4).
Stacks Project, Tag 0B43, clause (1). For a morphism of bases
g : S' ⟶ S, base change alonggis a functorQP_S ⥤ QP_{S'}: the fibre productX ×_S S'of a schemeXquasi-projective overSis quasi-projective overS'.The object part is [Stacks, Tag 0B3G],
AlgebraicGeometry.IsQuasiProjective.of_isPullback, applied to the fibre-product square. That result is unconditional, so the hypothesis of the source thatS'carries an ample invertible sheaf is not needed and is not assumed.
def QuasiProjectiveSchemesOver.baseChange {S S' : Scheme.{u}} (g : S' ⟶ S) :
QuasiProjectiveSchemesOver S ⥤ QuasiProjectiveSchemesOver S'
AlgebraicGeometry.isQuasiProjective_comp_of_exists_isAmple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 250. The attribute's comment: “part (2), composition”.
Stacks Project, Tag 0B43, clause (2). Let
Scarry an ample invertible sheaf. IfX ∈ QP_SandY ∈ QP_X, thenY ∈ QP_S: forf : Y ⟶ Xandg : X ⟶ Squasi-projective,f ≫ gis quasi-projective.The source reads this off condition (4) of [Stacks, Tag 0B42]. It is taken here from [Stacks, Tag 0C4M],
AlgebraicGeometry.IsQuasiProjective.comp, which is already proved over a quasi-compact base; the ample invertible sheaf onSsupplies that quasi-compactness and nothing else is used.
theorem isQuasiProjective_comp_of_exists_isAmple {X Y S : Scheme.{u}} (f : Y ⟶ X) (g : X ⟶ S)
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M)
(hf : IsQuasiProjective f) (hg : IsQuasiProjective g) : IsQuasiProjective (f ≫ g)
AlgebraicGeometry.isQuasiProjective_pullback_snd_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 267. The attribute's comment: “part (3), fibre products”.
Stacks Project, Tag 0B43, clause (3).
QP_Sis closed under fibre products overS. Forf : X ⟶ Sandg : Y ⟶ Squasi-projective andScarrying an ample invertible sheaf, the structure morphismX ×_S Y ⟶ Sis quasi-projective.This is the source's proof: the projection
X ×_S Y ⟶ Yis a base change off, hence quasi-projective by clause (1), and clause (2) composes it withg.
theorem isQuasiProjective_pullback_snd_comp {X Y S : Scheme.{u}} (f : X ⟶ S) (g : Y ⟶ S)
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M)
(hf : IsQuasiProjective f) (hg : IsQuasiProjective g) :
IsQuasiProjective (pullback.snd f g ≫ g)
AlgebraicGeometry.quasiProjectiveOver_isClosedUnderBinaryProducts, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 306. The attribute's comment: “part (3), fibre products, as closure of the category under binary products”. References: EGA II (5.3.4), “(iv)”.
Stacks Project, Tag 0B43, clause (3), as a closure property of the category
QP_S. ForScarrying an ample invertible sheaf, the full subcategory of schemes quasi-projective overSis closed under binary products in the category of schemes overS— that is, under fibre products overS.A binary product in
Over Sis a fibre product of the sources overS, byAlgebraicGeometry.isLimitOverBinaryFan, so this isAlgebraicGeometry.isQuasiProjective_pullback_snd_comptransported along the comparison isomorphism.
theorem quasiProjectiveOver_isClosedUnderBinaryProducts (S : Scheme.{u})
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M) :
(quasiProjectiveOver S).IsClosedUnderBinaryProducts
AlgebraicGeometry.isQuasiProjective_of_isQuasiAffineHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 335. The attribute's comment: “part (6), quasi-affine of finite type; no hypothesis on the base is used”.
Stacks Project, Tag 0B43, clause (6). If
f : X ⟶ Sis quasi-affine of finite type thenX ∈ QP_S.This is Morphisms [Stacks, Tag 0B3H],
Stacks.HProjective.isQuasiProjective_of_isQuasiAffineHom: the structure sheaf𝒪_Xis ample relative to a quasi-affine morphism. It needs no hypothesis on the base. Finite type is the conjunction of local finite type and quasi-compactness as in [Stacks, Tag 01T1], and quasi-compactness already follows from quasi-affineness, so only the local finite type half appears.
theorem isQuasiProjective_of_isQuasiAffineHom {X S : Scheme.{u}} (f : X ⟶ S)
[IsQuasiAffineHom f] (hf : LocallyOfFiniteType f) : IsQuasiProjective f
AlgebraicGeometry.isQuasiProjective_of_locallyQuasiFinite_of_isSeparated, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 351. The attribute's comment: “part (7), quasi-finite and separated; no hypothesis on the base is used”. References: EGA III (4.4.12), “more general”.
Stacks Project, Tag 0B43, clause (7). If
f : X ⟶ Sis quasi-finite and separated thenX ∈ QP_S.This is the source's proof: a quasi-finite separated morphism is quasi-affine by [Stacks, Tag 02LR],
AlgebraicGeometry.isQuasiAffineHom_of_locallyQuasiFinite, and clause (6) applies. Quasi-finiteness is local quasi-finiteness together with finite type, as in [Stacks, Tag 02NG]. No hypothesis on the base is used.
theorem isQuasiProjective_of_locallyQuasiFinite_of_isSeparated {X S : Scheme.{u}} (f : X ⟶ S)
[IsSeparated f] [LocallyQuasiFinite f] [LocallyOfFiniteType f] [QuasiCompact f] :
IsQuasiProjective f
AlgebraicGeometry.isQuasiProjective_of_isImmersion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveCategoryClosure.lean, line 367. The attribute's comment: “part (8), quasi-compact immersion; no hypothesis on the base is used”.
Stacks Project, Tag 0B43, clause (8). If
f : X ⟶ Sis a quasi-compact immersion thenX ∈ QP_S.The source goes through clause (7) and Morphisms [Stacks, Tag 01TN], an immersion being locally quasi-finite; here that tag is Mathlib's
LocallyQuasiFiniteinstance for an immersion, and an immersion is locally of finite type as well, so clause (7) applies directly. No hypothesis on the base is used.
theorem isQuasiProjective_of_isImmersion {X S : Scheme.{u}} (f : X ⟶ S) [IsImmersion f]
[QuasiCompact f] : IsQuasiProjective f
AlgebraicGeometry.isQuasiProjective_sigmaDesc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveDisjointUnion.lean, line 230. The attribute's comment: “part (4), finite disjoint unions; proved through clause (6) and clause (2) over the base ∐ S rather than through the ampleness of a glued module on a disjoint union, which the source asserts with details omitted”.
Let
Scarry an ample invertible sheaf. Iff i : Z i ⟶ Sis quasi-projective for every member of a finite family, then the structure morphism∐ Z ⟶ Sof the disjoint union is quasi-projective.
theorem isQuasiProjective_sigmaDesc (f : ∀ i, Z i ⟶ S)
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M)
(hf : ∀ i, IsQuasiProjective (f i)) : IsQuasiProjective (Sigma.desc f)
AlgebraicGeometry.quasiProjectiveOver_prop_of_isColimit_cofan, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/QuasiProjectiveDisjointUnion.lean, line 268. The attribute's comment: “part (4), finite disjoint unions, as closure of the category under finite coproducts”. References: EGA II (5.3.6), “special case”.
For
Scarrying an ample invertible sheaf, the full subcategory of schemes quasi-projective overSis closed under finite coproducts in the category of schemes overS.
theorem quasiProjectiveOver_prop_of_isColimit_cofan (S : Scheme.{u})
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M)
{ι : Type u} [Finite ι] {X : ι → Over S} (hX : ∀ i, quasiProjectiveOver S (X i))
(c : Cofan X) (hc : IsColimit c) : quasiProjectiveOver S c.pt
AlgebraicGeometry.IsProjective.isQuasiProjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveBundleProperFiniteType/Basic.lean, line 219. The attribute's comment: “part (5), a projective morphism is in QP_S; the source's hypothesis that S has an ample invertible sheaf is not needed, Tag 07RL needing no such hypothesis”.
Stacks Project, Tag 07RL. A projective morphism is quasi-projective. Properness supplies the finite-type half, and the
f-very ample module ofAlgebraicGeometry.IsProjective.exists_isRelativelyVeryAmpleisf-ample by [Stacks, Tag 01VN],fbeing quasi-compact. No hypothesis on the base is used, which is how the source states the tag.It is also clause (5) of [Stacks, Tag 0B43], which the source proves by citing Tag 07RL: membership of
Xin the categoryQP_Sof that tag isAlgebraicGeometry.IsQuasiProjective X.hom, so "ifX ⟶ Sis projective thenX ∈ QP_S" is this statement. Tag 0B43's hypothesis thatScarries an ample invertible sheaf is not needed for it and is not assumed.
theorem IsProjective.isQuasiProjective {f : X ⟶ S} (hf : IsProjective f) :
IsQuasiProjective f
Tag 0EJY, a lemma
Tag 0EJY in the Stacks Project.
Declarations registered for the tag:
AlgebraicGeometry.Scheme.IsQuasiAffine.of_isAffineHomregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch37.lean, line 54 (StacksFrontier): “U is quasi-affine (stated for affine f; integral morphisms are affine)”. References: EGA II (5.1.10), “(ii), special case”.AlgebraicGeometry.Scheme.isPullback_toSpecΓ_toSpecΓregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch37.lean, line 56 (StacksFrontier): “the square U → Spec Γ(U), X → Spec Γ(X) is cartesian (stated for affine f)”.
Sources
Section37.50 Projective schemes#
Section 37.50 of the Stacks Project, Tag 0B44. 4 tags here are carried by 8 declarations of the repository (all in StacksFrontier) and 7 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0B44, the section
Tag 0B44 in the Stacks Project.
Declarations registered for the tag:
AlgebraicGeometry.isProjective_tfae_of_exists_isAmple, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 23 (StacksFrontier): “the characterizations of projectivity over a base with an ample invertible sheaf”.AlgebraicGeometry.ProjectiveSchemesOver.baseChange, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 25 (StacksFrontier): “base change”.AlgebraicGeometry.isProjective_comp_of_hasAmpleInvertibleSheaf, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 26 (StacksFrontier): “composition”.AlgebraicGeometry.isProjective_pullback_snd_comp, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 27 (StacksFrontier): “fibre products”.AlgebraicGeometry.isProjective_of_isFinite_of_hasAmpleInvertibleSheaf, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 28 (StacksFrontier): “finite morphisms”.AlgebraicGeometry.projectiveOver_isClosedUnderFiniteCoproducts, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 30 (StacksFrontier): “finite disjoint unions”.Stacks.AmpleFibreLimit.exists_mem_isRelativelyAmple_of_isAmple_fibre, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemesSection.lean, line 32 (StacksFrontier): “projectivity spreads out from a fibre”.
Tag 0B45, a lemma
Tag 0B45 in the Stacks Project.
AlgebraicGeometry.exists_sheafGradedAlgebra_of_isProjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveOverAmpleBase.lean, line 245. The attribute's comment: “clause (8), reached from clause (1)”.
Stacks Tag 0B45, clause (1) implies clause (8). A projective morphism exhibits its source as the relative homogeneous spectrum of a quasi-coherent graded
𝒪_S-algebra generated in degree one whose degree-one piece is of finite type.
AlgebraicGeometry.IsProjectiveis a closed immersionj : X ⟶ 𝐏(ℰ)overSfor a quasi-coherentℰof finite type, and𝐏(ℰ)isProj_S(Sym(ℰ))by definition (Stacks.SymGraded.schemeProjectiveBundle), so no presentation of projective space as a relative Proj is needed:exists_sheafGradedAlgebra_of_isClosedImmersionapplies tojat once. Its three hypotheses onSym(ℰ)are proved —Stacks.SymGraded.isGeneratedInDegreeOneAt_schemeSheafGradedAlgebra,Stacks.SymGraded.quasiCompact_schemeProjectiveBundleToBase, and, for the degree-one piece,AlgebraicGeometry.Scheme.Modules.symmetricAlgebraGenIso, which identifiesSym¹(ℰ)withℰ.
theorem exists_sheafGradedAlgebra_of_isProjective {X S : Scheme.{u}} {f : X ⟶ S}
(hf : IsProjective f) :
∃ A : SheafGradedAlgebra.{u} S,
Stacks.AlgebraicGeometry.ProjRepresentsF1.IsGeneratedInDegreeOne A ∧
(A.piece 1).IsFiniteType ∧
∃ e : X ≅ (relativeProj A).scheme, e.hom ≫ (relativeProj A).toBase = f
AlgebraicGeometry.isProjective_tfae_of_exists_isAmple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveOverAmpleBase.lean, line 376.
Stacks Project, Tag 0B45. Let
Sbe a scheme carrying an ample invertible module and letf : X ⟶ Sbe a morphism of schemes. The following are equivalent:
fis projective;fis H-projective;fis quasi-projective and proper;fis H-quasi-projective and proper;fis proper andXcarries an ample invertible module;fis proper and carries anf-ample invertible module;fis proper and carries anf-very ample invertible module;Xis, overS, the relative homogeneous spectrum of a quasi-coherent graded𝒪_S-algebra generated in degree one over its degree-zero part whose degree-one piece is of finite type.Nothing is assumed beyond the source's own hypothesis on the base. Conditions (1) to (7) are
AlgebraicGeometry.isProjective_tfae_seven_of_exists_isAmple; (8) ⟹ (1) is the source's citation Tag 0B3U,AlgebraicGeometry.isProjective_relativeProj_toBase; and (1) ⟹ (8) is the source's other citation, Tag 0801, applied to the closed immersionX ⟶ 𝐏(ℰ)that clause (1) is, which isAlgebraicGeometry.exists_sheafGradedAlgebra_of_isProjectiveabove.
theorem isProjective_tfae_of_exists_isAmple
{X S : Scheme.{u}} (f : X ⟶ S)
(hS : ∃ (M : S.Modules) (hM : Stacks.Ample.IsInvertibleModule S M),
letI : Stacks.Ample.IsInvertibleModule S M := hM
Stacks.Ample.IsAmple S M) :
List.TFAE
[IsProjective f,
IsProjectiveMorphism f,
IsQuasiProjective f ∧ IsProper f,
IsHQuasiProjective f ∧ IsProper f,
IsProper f ∧
∃ (L : X.Modules) (hL : Stacks.Ample.IsInvertibleModule X L),
letI : Stacks.Ample.IsInvertibleModule X L := hL
Stacks.Ample.IsAmple X L,
IsProper f ∧
∃ (L : X.Modules) (hL : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
X.ringCatSheaf.2 L),
letI : AlgebraicGeometry.SheafOfModules.IsInvertible X.presheaf
X.ringCatSheaf.2 L := hL
Stacks.RelativeAmple.IsRelativelyAmple f L,
IsProper f ∧
∃ (L : X.Modules) (hL : Stacks.Ample.IsInvertibleModule X L),
letI : Stacks.Ample.IsInvertibleModule X L := hL
Stacks.Tag01VMVeryAmple.IsRelativelyVeryAmple f L,
∃ A : SheafGradedAlgebra.{u} S,
Stacks.AlgebraicGeometry.ProjRepresentsF1.IsGeneratedInDegreeOne A ∧
(A.piece 1).IsFiniteType ∧
∃ e : X ≅ (relativeProj A).scheme,
e.hom ≫ (relativeProj A).toBase = f]
Tag 0B46, a lemma
Tag 0B46 in the Stacks Project.
AlgebraicGeometry.ProjectiveSchemesOver.baseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemes.lean, line 243. The attribute's comment: “base change”.
Stacks Project, Tag 0B46, clause (1). For a morphism of bases
g : S' ⟶ S, base change alonggis a functorP_S ⥤ P_{S'}: the fibre productS' ×_S Xof a schemeXprojective overSis projective overS'.The object part is the first assertion of Tag 02V6,
AlgebraicGeometry.IsProjective.of_isPullback, applied to the fibre-product square. Its Tag 01O3 input isAlgebraicGeometry.projectiveBundleBaseChangeComparison, a theorem, so nothing is assumed.
def ProjectiveSchemesOver.baseChange
{S S' : Scheme.{u}} (g : S' ⟶ S) : ProjectiveSchemesOver S ⥤ ProjectiveSchemesOver S'
AlgebraicGeometry.isProjective_comp_of_hasAmpleInvertibleSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemes.lean, line 259. The attribute's comment: “composition”.
Stacks Project, Tag 0B46, clause (2). Let
Scarry an ample invertible sheaf. Iff : X ⟶ Sis projective andg : Y ⟶ Xis projective, theng ≫ f : Y ⟶ Sis projective.This is the source's proof. Condition (5) of Tag 0B45 at the base
Smakesfproper withXcarrying an ample invertible sheaf; the same condition at the baseXmakesgproper withYcarrying an ample invertible sheaf; a composition of proper morphisms is proper (Tag 01W3); and condition (5) read backwards at the baseSreturns projectivity ofg ≫ f. Condition (5) is part of the unconditional cycle of Tag 0B45, so nothing is assumed.
theorem isProjective_comp_of_hasAmpleInvertibleSheaf
{X Y S : Scheme.{u}} (g : Y ⟶ X) (f : X ⟶ S)
(hS : HasAmpleInvertibleSheaf S) (hf : IsProjective f) (hg : IsProjective g) :
IsProjective (g ≫ f)
AlgebraicGeometry.isProjective_pullback_snd_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemes.lean, line 277. The attribute's comment: “fibre products”.
Stacks Project, Tag 0B46, clause (3).
P_Sis closed under fibre products overS. Forf : X ⟶ Sandg : Y ⟶ Sprojective andScarrying an ample invertible sheaf, the structure morphismX ×_S Y ⟶ Sis projective.The source's proof: the projection
X ×_S Y ⟶ Yis a base change off, hence projective by clause (1), and clause (2) composes it withg.
theorem isProjective_pullback_snd_comp
{X Y S : Scheme.{u}} (f : X ⟶ S) (g : Y ⟶ S)
(hS : HasAmpleInvertibleSheaf S) (hf : IsProjective f) (hg : IsProjective g) :
IsProjective (pullback.snd f g ≫ g)
AlgebraicGeometry.isProjective_of_isFinite_of_hasAmpleInvertibleSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemes.lean, line 348. The attribute's comment: “finite morphisms”.
Stacks Project, Tag 0B46, clause (5). A finite morphism
f : X ⟶ Sover a base carrying an ample invertible sheaf is projective, soXis an object ofP_S.The source cites Tag 0B3I, which is about an arbitrary base and whose proof in this repository is conditional. Over the base of Tag 0B46 none of that is needed: a finite morphism is proper and quasi-affine, so
𝒪_Xisf-ample by Tag 0891 in the formStacks.AmplePullback.isRelativelyAmple_of_isQuasiAffineHom_of_iso_unitModule, which is condition (6) of Tag 0B45, and condition (6) ⟹ condition (1) belongs to the unconditional cycle of that tag.
theorem isProjective_of_isFinite_of_hasAmpleInvertibleSheaf {X S : Scheme.{u}} (f : X ⟶ S)
[IsFinite f] (hS : HasAmpleInvertibleSheaf.{u} S) : IsProjective f
AlgebraicGeometry.projectiveOver_isClosedUnderFiniteCoproducts, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Projective/ProjectiveSchemes.lean, line 444. The attribute's comment: “finite disjoint unions”. References: EGA II (5.5.6), “special case”.
Stacks Project, Tag 0B46, clause (4).
P_Sis closed under finite disjoint unions, forScarrying an ample invertible sheaf. This includes the empty disjoint union.The empty and the binary cases are
AlgebraicGeometry.isProjective_of_isEmptyandAlgebraicGeometry.isProjective_coprod_desc, andCategoryTheory.ObjectProperty.IsClosedUnderFiniteCoproducts.mk'assembles them into every finite disjoint union.
theorem projectiveOver_isClosedUnderFiniteCoproducts (S : Scheme.{u})
(hS : HasAmpleInvertibleSheaf S) :
(projectiveOver S).IsClosedUnderFiniteCoproducts
Tag 0D2S, a lemma
Tag 0D2S in the Stacks Project.
Stacks.AmpleFibreLimit.exists_mem_isRelativelyAmple_of_isAmple_fibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AmpleFibreLimit/Basic.lean, line 473. References: EGA IV (9.6.4).
[Stacks, Tag 0D2S]. Let
f : X ⟶ Sbe a proper morphism of schemes, letℒbe an invertible𝒪_X-module and letybe a point ofSsuch thatℒ_yis ample on the fibreX_y. Thenyhas an open neighbourhoodV ⊆ Ssuch thatℒ|_{f⁻¹V}is ample relative tof⁻¹V / V.No hypothesis on
S: this is [Stacks, Tag 0D2N],Stacks.AmpleFibreNeighbourhood.exists_mem_isRelativelyAmple_of_isAmple_fibre, with its Noetherian hypothesis removed by the limit argument described in the module documentation. The statement is otherwise the same, down to the spelling of the hypothesis and of the conclusion, and invertibility ofℒ_yis an instance rather than a hypothesis for the same reason as there.The base is replaced by an affine — hence quasi-compact and quasi-separated — open neighbourhood
Aofy, which is legitimate in both directions: the hypothesis transfers byStacks.AmpleFibreLimit.isAmple_fibre_morphismRestrict, and the conclusion transfers back along the isomorphism of arrowsAlgebraicGeometry.morphismRestrictRestrictbyStacks.AmpleFibreLimit.isRelativelyAmple_pullbackModule_of_commSq, whose two horizontal morphisms are in this instance isomorphisms.
theorem exists_mem_isRelativelyAmple_of_isAmple_fibre {X S : Scheme.{u}} (f : X ⟶ S)
[IsProper f] (L : X.Modules) [IsInvertibleModule X L] (y : S)
(hL : IsAmple (f.fiber y) (pullbackModule (f.fiberι y) L)) :
∃ V : S.Opens, y ∈ V ∧
Stacks.RelativeAmple.IsRelativelyAmple (f ∣_ V) (pullbackModule (f ⁻¹ᵁ V).ι L)
Sources
Section37.51 Proj and Spec#
Section 37.51 of the Stacks Project, Tag 0EKF. 4 tags here are carried by 183 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EKF, the section
Tag 0EKF in the Stacks Project.
Stacks.Truncation.span_degreeOne_pow_eq_truncationIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 727. The attribute's comment: “the clause that makes the section's cone a blowup: if A is generated over A₀ by elements of degree one then (A₊)^m = A_{≥ m} for every m ≥ 0, so that B = ⨁_{d ≥ 0} A_{≥ d} is the Rees algebra of A₊ and L = Proj(B) ⟶ X = Spec(A) is the blowing up of Z = V(A₊). Nothing else of Section 37.51 is claimed here: the graded ring B with its maps σ, ψ, τ is Tag 0EKG, already in this file; the five localization facts about σ(f), σ(A_d) and ker(τ) on D₊(ψ(f)), the identification B_{σ(f)} ≅ A_f[T] that makes L ⟶ X an isomorphism over U = X ∖ Z, and the description of L over the largest open of P on which 𝒪_P(1) is invertible, are not proved”. References: EGA II (8.2.10), “(iii), special case”.
If
Ais generated overA_0by its degree-one part, in the formA_{d+1} ⊆ A_1 · A_dfor everyd, then(A_+)^m = A_{≥ m}for everym ≥ 0.
theorem span_degreeOne_pow_eq_truncationIdeal
(hgen : ∀ d : ℕ, ∀ a ∈ 𝒜 (d + 1),
a ∈ Ideal.span (𝒜 1 : Set A) * Ideal.span (𝒜 d : Set A))
(m : ℕ) : Ideal.span (𝒜 1 : Set A) ^ m = truncationIdeal 𝒜 m
Tag 0EKG, an equation
Tag 0EKG in the Stacks Project.
Stacks.AlgebraicGeometry.ProjAndSpec.zToX, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 137. The attribute's comment: “the morphism Z → X”.
The closed immersion
Z = Spec A₀ ⟶ X = Spec Ainduced by the projectionA → A₀.
def zToX : Spec (CommRingCat.of (𝒜 0)) ⟶ Spec (CommRingCat.of A)
Stacks.AlgebraicGeometry.ProjAndSpec.xToZ, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 142. The attribute's comment: “the morphism X → Z”.
The morphism
X = Spec A ⟶ Z = Spec A₀induced by the inclusionA₀ → A.
def xToZ : Spec (CommRingCat.of A) ⟶ Spec (CommRingCat.of (𝒜 0))
Stacks.AlgebraicGeometry.ProjAndSpec.openU, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 154. The attribute's comment: “the open U ⊆ X”.
The open
U = X ∖ V(A₊)ofX = Spec A: the union of the standard opensD(f)of the homogeneous elementsfof positive degree.
def openU : (Spec (CommRingCat.of A)).Opens
Stacks.AlgebraicGeometry.ProjAndSpec.projMapDomain_tau_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 288. The attribute's comment: “τ defines a morphism on all of Proj(A)”.
τinduces a morphism on all ofP = Proj 𝒜.
theorem projMapDomain_tau_eq_top : mapDomain ℬ 𝒜 c.tau = ⊤
Stacks.AlgebraicGeometry.ProjAndSpec.projMapDomain_psi_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 294. The attribute's comment: “ψ defines a morphism on all of Proj(B)”.
ψinduces a morphism on all ofL = Proj ℬ: the power condition is exactly the radical inclusion of irrelevant ideals that makes the standard opensD₊(ψ f)coverProj ℬ.
theorem projMapDomain_psi_eq_top : mapDomain 𝒜 ℬ c.psi = ⊤
Stacks.AlgebraicGeometry.ProjAndSpec.pi, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 311. The attribute's comment: “the cone projection π : L → P”.
The cone projection
π : L = Proj ℬ ⟶ P = Proj 𝒜, induced byψ.
def pi : AlgebraicGeometry.Proj ℬ ⟶ AlgebraicGeometry.Proj 𝒜
Stacks.AlgebraicGeometry.ProjAndSpec.zeroSection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 316. The attribute's comment: “the zero section 0 : P → L”.
The zero section
0 : P = Proj 𝒜 ⟶ L = Proj ℬ, induced byτ.
def zeroSection : AlgebraicGeometry.Proj 𝒜 ⟶ AlgebraicGeometry.Proj ℬ
Stacks.AlgebraicGeometry.ProjAndSpec.toSpecA, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 327. The attribute's comment: “the structure morphism L → X”.
The structure morphism
L = Proj ℬ ⟶ X = Spec A, using the identificationσofAwith the degree-zero part ofB.
def toSpecA : AlgebraicGeometry.Proj ℬ ⟶ Spec (CommRingCat.of A)
Stacks.AlgebraicGeometry.ProjAndSpec.openUInL, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 332. The attribute's comment: “the open U ⊆ L”.
The inverse image in
Lof the openU = X ∖ V(A₊).
def openUInL : (AlgebraicGeometry.Proj ℬ).Opens
Stacks.AlgebraicGeometry.ProjAndSpec.pi_preimage_basicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 362. The attribute's comment: “π⁻¹ of a standard open”.
The inverse image under
πof a standard open ofPis the standard open of the image element:π⁻¹(D₊(f)) = D₊(ψ f).
theorem pi_preimage_basicOpen (f : A) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
pi c ⁻¹ᵁ Proj.basicOpen 𝒜 f = Proj.basicOpen ℬ (c.psi f)
Stacks.AlgebraicGeometry.ProjAndSpec.isAffineHom_pi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 384. The attribute's comment: “π is affine”.
The cone projection is affine. The standard opens of positive-degree homogeneous elements cover
Pand are affine, and their inverse images are again standard opens of positive-degree homogeneous elements.
theorem isAffineHom_pi : IsAffineHom (pi c)
Stacks.AlgebraicGeometry.ProjAndSpec.zeroSection_comp_pi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 393. The attribute's comment: “π ∘ 0 = id_P”.
π ∘ 0 = id_P: the zero section is a section of the cone projection.
theorem zeroSection_comp_pi : zeroSection c ≫ pi c = 𝟙 (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjAndSpec.isClosedImmersion_zeroSection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 403. The attribute's comment: “0 : P → L is a closed immersion”.
The zero section is a closed immersion,
τbeing surjective in every degree.
theorem isClosedImmersion_zeroSection : IsClosedImmersion (zeroSection c)
Stacks.AlgebraicGeometry.ProjAndSpec.range_zeroSection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 470. The attribute's comment: “the image of the zero section is the inverse image of Z”.
The zero section maps onto the inverse image of
Z. Set theoretically the image of0 : P → Lis the complement of the part ofLlying overU = X ∖ V(A₊). A point of the image containsσ (A₊)becauseτ ∘ σkills the positive degrees; conversely a homogeneous prime ofBcontainingσ (A₊)is the image of its own contraction alongψ, which is relevant becauseψis everywhere defined.
theorem range_zeroSection :
Set.range (zeroSection c) = ((openUInL c : Set (AlgebraicGeometry.Proj ℬ)))ᶜ
Stacks.AlgebraicGeometry.ProjAndSpec.isAffineHom_pi_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 519. The attribute's comment: “U → P is affine”.
The punctured cone is affine over
P. Over the standard openD₊(f)the part ofLlying overUis the standard openD₊(σ f · ψ f)of a positive-degree homogeneous element, hence affine.
theorem isAffineHom_pi_restrict : IsAffineHom ((openUInL c).ι ≫ pi c)
Stacks.AlgebraicGeometry.ProjAndSpec.pi_comp_toSpecZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 546. The attribute's comment: “the square L → P, X → Z commutes”.
The right square commutes:
L → P → ZequalsL → X → Z.
theorem pi_comp_toSpecZero :
pi c ≫ Proj.toSpecZero 𝒜 = toSpecA c ≫ xToZ 𝒜
Stacks.AlgebraicGeometry.ProjAndSpec.zeroSection_comp_toSpecA, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpec.lean, line 553. The attribute's comment: “the square P → L, Z → X commutes”.
The left square commutes:
P → L → XequalsP → Z → X.
theorem zeroSection_comp_toSpecA :
zeroSection c ≫ toSpecA c = Proj.toSpecZero 𝒜 ≫ zToX 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.truncationCone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecDiagram.lean, line 320. The attribute's comment: “π : L → P is a cone over P, whose direct-image algebra is graded by the twists O_P(m), m ≥ 0”.
π : L ⟶ Pis a cone overPin the sense of [Stacks, Tag 062R], graded by the algebra⨁_{m ≥ 0} 𝒪_P(m)of nonnegative twists:πis affine, the homogeneous pieces include inπ_* 𝒪_Lby the degreewise inclusions𝒪_P(m) ⟶ π_* 𝒪_L, every function on the cone is locally a unique finite sum of homogeneous ones, the inclusions are multiplicative, the negative pieces vanish and the degree-zero piece is𝒪_P, included by the structure map.
def truncationCone : AbstractCone (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.range_zeroSection_eq_preimage_range_zToX, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecDiagram.lean, line 343. The attribute's comment: “the zero section maps set theoretically onto the inverse image of Z in L”.
The zero section
0 : P ⟶ Lmaps set theoretically onto the inverse image ofZinL: its image is the inverse image underσ : L ⟶ Xof the image ofZ = Spec A₀ ⟶ X.
theorem range_zeroSection_eq_preimage_range_zToX :
Set.range (zeroSection 𝒜) = toSpecA 𝒜 ⁻¹' Set.range (ProjAndSpec.zToX 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.zeroSection_appLE_coneIota_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecDiagram.lean, line 442. The attribute's comment: “the zero section 0 : P → L is the vertex of the cone π”.
The zero section
0 : P ⟶ Lis the vertex of the coneπ : L ⟶ P: it is a section ofπ, and pulling functions back along it kills every homogeneous piece𝒪_P(m),m > 0, ofπ_* 𝒪_L = ⨁_{m ≥ 0} 𝒪_P(m), over every open ofP. So0is the closed immersion cut out by the positive part of the grading,Spec_P(𝒪_P) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m)).
theorem zeroSection_appLE_coneIota_eq_zero (m : ℤ) (hm : 0 < m)
(U : Opens (ProjectiveSpectrum.top 𝒜)) (s : (nonnegTwistingSheaf 𝒜 m).val.obj (op U)) :
(zeroSection 𝒜).appLE (pi 𝒜 ⁻¹ᵁ U) U (le_zeroSection_preimage_pi_preimage 𝒜 U)
((coneIota 𝒜 m).val.app (op U) s) = 0
Stacks.AlgebraicGeometry.ProjConeTwist.projAndSpec_diagram, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecDiagram.lean, line 493. The attribute's comment: “the commutative diagram Spec_P(⨁_{m ∈ ℤ} O_P(m)) → L = Spec_P(⨁_{m ≥ 0} O_P(m)) → P over U → X → Z, with π a cone whose zero section maps set theoretically onto the inverse image of Z in L”. References: EGA II (8.6.3), “special case”.
The diagram of [Stacks, Tag 0EKG]. Let
Abe a graded ring,X = Spec A,Z = V(A₊) = Spec A₀,U = X ∖ Z,P = Proj A, and letL = Proj BforB = ⨁_{d ≥ 0} A_{≥ d}, with cone projectionπ : L ⟶ P, structure morphismσ : L ⟶ Xand zero section0 : P ⟶ L. Then, writingj : Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Lfor the top-left arrow ande : Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ≅ Ufor the left identification:
πis a cone overP(truncationCone, graded by⨁_{m ≥ 0} 𝒪_P(m), whose pieces are the twisting sheaves𝒪_P(m),m ≥ 0), andL = Spec_P(⨁_{m ≥ 0} 𝒪_P(m))overP;jlies overP, it is an open immersion, and its image is the part ofLoverU;eis an identification overP;- the left square
j ≫ σ = e ≫ (U ⟶ X)and the right squareπ ≫ (P ⟶ Z) = σ ≫ (X ⟶ Z)commute;- the zero section is a section of
π, it is the vertex of the cone (pulling back along it kills the pieces𝒪_P(m),m > 0, ofπ_* 𝒪_L), and it maps set theoretically onto the inverse image ofZinL.
theorem projAndSpec_diagram :
-- `π` is a cone over `P`, graded by the nonnegative twists
(truncationCone 𝒜).π = pi 𝒜 ∧
(truncationCone 𝒜).grading = nonnegTwistAlgebra 𝒜 ∧
(truncationCone 𝒜).ι = coneIota 𝒜 ∧
(∀ m : ℕ, (truncationCone 𝒜).grading.piece m = twistingSheaf 𝒜 m) ∧
(∀ m : ℤ, (integerTwistAlgebra 𝒜).piece m = twistingSheaf 𝒜 m) ∧
-- `L = Spec_P(⨁_{m ≥ 0} 𝒪_P(m))` over `P`
(coneProjIsoRelativeSpecTwistAlgebra 𝒜).hom ≫
relativeSpecToBase (nonnegTwistAlgebraSheaf 𝒜) = pi 𝒜 ∧
-- the top-left arrow lies over `P`, is an open immersion, with image the part of `L` over `U`
puncturedToConeProj 𝒜 ≫ pi 𝒜 = relativeSpecToBase (integerTwistAlgebraSheaf 𝒜) ∧
IsOpenImmersion (puncturedToConeProj 𝒜) ∧
(puncturedToConeProj 𝒜).opensRange = openUInL 𝒜 ∧
-- the left identification `Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) = U` lies over `P`
(puncturedConeRelativeSpecTwistAlgebraIsoOpenU 𝒜).hom ≫ openUToProj 𝒜 =
relativeSpecToBase (integerTwistAlgebraSheaf 𝒜) ∧
-- the left square
puncturedToConeProj 𝒜 ≫ toSpecA 𝒜 =
(puncturedConeRelativeSpecTwistAlgebraIsoOpenU 𝒜).hom ≫ (ProjAndSpec.openU 𝒜).ι ∧
-- the right square
pi 𝒜 ≫ Proj.toSpecZero 𝒜 = toSpecA 𝒜 ≫ ProjAndSpec.xToZ 𝒜 ∧
-- the zero section
zeroSection 𝒜 ≫ pi 𝒜 = 𝟙 (AlgebraicGeometry.Proj 𝒜) ∧
(∀ (m : ℤ), 0 < m → ∀ (U : Opens (ProjectiveSpectrum.top 𝒜))
(s : (nonnegTwistingSheaf 𝒜 m).val.obj (op U)),
(zeroSection 𝒜).appLE (pi 𝒜 ⁻¹ᵁ U) U (le_zeroSection_preimage_pi_preimage 𝒜 U)
((coneIota 𝒜 m).val.app (op U) s) = 0) ∧
Set.range (zeroSection 𝒜) = toSpecA 𝒜 ⁻¹' Set.range (ProjAndSpec.zToX 𝒜)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.isIso_toSpecA_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecIsoOverU.lean, line 235. The attribute's comment: “L → X is an isomorphism over U”.
The structure morphism
L ⟶ Xis an isomorphism overU = X ∖ V(A₊). This is the equality on the left of the diagram of [Stacks, Tag 0EKG]: being an isomorphism over an open is local on that open, and over each standard open of a positive-degree homogeneous element the morphism is an isomorphism.
theorem isIso_toSpecA_restrict : IsIso (toSpecA 𝒜 ∣_ ProjAndSpec.openU 𝒜)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.openUInL_ι_comp_toSpecA, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecIsoOverU.lean, line 264. The attribute's comment: “the part of L over U is U, over X”.
The punctured cone is the open
U, overX: the part ofLlying overUmaps toXthrough the isomorphism ofStacks.AlgebraicGeometry.ProjAndSpecTruncation.isIso_toSpecA_restrictfollowed by the inclusion ofU.
theorem openUInL_ι_comp_toSpecA :
(openUInL 𝒜).ι ≫ toSpecA 𝒜 =
(toSpecA 𝒜 ∣_ ProjAndSpec.openU 𝒜) ≫ (ProjAndSpec.openU 𝒜).ι
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.truncationConeData, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecTruncation.lean, line 364. The attribute's comment: “the truncation algebra B = ⨁_{d ≥ 0} A_{≥ d} is cone data over A”.
The truncation algebra
B = ⨁_{d ≥ 0} A_{≥ d}is cone data overA: the mapsψ,τandσsatisfyτ ∘ ψ = id, the two formulas tyingσtoψandτ, and the three divisibility conditions.
def truncationConeData : ProjAndSpec.ConeData 𝒜 (grading 𝒜)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.openUInL_eq_iSup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecTruncation.lean, line 424. The attribute's comment: “U ⊆ L is a union of standard opens, for the truncation algebra”.
The part of
Llying overUis the union of the standard opens of theσ-images of the positive-degree homogeneous elements ofA.
theorem openUInL_eq_iSup :
openUInL 𝒜 = ⨆ (d : ℕ) (_ : 0 < d) (f : 𝒜 d),
Proj.basicOpen (grading 𝒜) ((sigma 𝒜 (f : A) : grading 𝒜 0) : TruncationRing 𝒜)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.openUInL_inf_basicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecTruncation.lean, line 439. The attribute's comment: “U ⊆ L over a standard open, for the truncation algebra”.
Over a standard open
D₊(f)ofPthe part ofLlying overUis the standard open ofσ f · ψ f.
theorem openUInL_inf_basicOpen (f : A) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
openUInL 𝒜 ⊓ Proj.basicOpen (grading 𝒜) (psi 𝒜 f) =
Proj.basicOpen (grading 𝒜)
(((sigma 𝒜 f : grading 𝒜 0) : TruncationRing 𝒜) * psi 𝒜 f)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.toSpecA_preimage_specBasicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecTruncation.lean, line 501. The attribute's comment: “the inverse image in L of a standard open of X”.
The inverse image in
Lof a standard open ofXis the standard open ofσ f · ψ f, a homogeneous element of positive degree, forfhomogeneous of positive degree.
theorem toSpecA_preimage_specBasicOpen (f : A) (d : ℕ) (hf : f ∈ 𝒜 d) :
toSpecA 𝒜 ⁻¹ᵁ ProjAndSpec.specBasicOpen f =
Proj.basicOpen (grading 𝒜)
(((sigma 𝒜 f : grading 𝒜 0) : TruncationRing 𝒜) * psi 𝒜 f)
Stacks.AlgebraicGeometry.ProjAndSpecTruncation.isAffineOpen_toSpecA_preimage_specBasicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecTruncation.lean, line 512. The attribute's comment: “the part of L over a standard open of X is affine”.
The part of
Llying over a standard open ofXis affine, forfhomogeneous of positive degree.
theorem isAffineOpen_toSpecA_preimage_specBasicOpen (f : A) (d : ℕ) (hf : f ∈ 𝒜 d)
(hd : 0 < d) : IsAffineOpen (toSpecA 𝒜 ⁻¹ᵁ ProjAndSpec.specBasicOpen f)
Stacks.AlgebraicGeometry.ProjAndSpec.awayι_comp_pi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeChart.lean, line 68. The attribute's comment: “the cone projection on an affine chart is Spec of the map of degree-zero localizations”.
On the affine chart
Spec B_{(ψ f)}ofLthe cone projection isSpecof the mapA_{(f)} ⟶ B_{(ψ f)}of degree-zero localizations. The chart ofLis carried by the inclusion ofD₊(ψ f), on which the cone projection is the local morphism attached tof, and that local morphism is by construction the one of the degree-zero localizations.
theorem awayι_comp_pi :
Proj.awayι ℬ (c.psi f) (c.psi.map_mem hf) hd ≫ pi c =
Spec.map (CommRingCat.ofHom (Away.map c.psi f)) ≫ Proj.awayι 𝒜 f hf hd
Stacks.AlgebraicGeometry.ProjAndSpec.awayToSection_comp_pi_appLE, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeChart.lean, line 159. The attribute's comment: “the cone projection on functions over a standard open is the map of degree-zero localizations”.
The cone projection acts on functions over a standard open by the map of degree-zero localizations. Through the identifications
A_{(f)} = Γ(P, D₊(f))andB_{(ψ f)} = Γ(L, D₊(ψ f))of [Stacks, Tag 01M6], the pullback of functions alongπisHomogeneousLocalization.Away.map ψ f. This is the module-theoretic content of the chart descriptionStacks.AlgebraicGeometry.ProjAndSpec.awayι_comp_pi: it says whichA_{(f)}-algebra the functions on the part ofLoverD₊(f)form.
theorem awayToSection_comp_pi_appLE :
Proj.awayToSection 𝒜 f ≫ (pi c).appLE (Proj.basicOpen 𝒜 f)
(Proj.basicOpen ℬ (c.psi f)) (pi_preimage_basicOpen c f d hf hd).ge =
CommRingCat.ofHom (Away.map c.psi f) ≫ Proj.awayToSection ℬ (c.psi f)
Stacks.AlgebraicGeometry.ProjAndSpec.awayToSection_comp_pi_appLE_sigmaMulPsi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeChartPunctured.lean, line 105. The attribute's comment: “the punctured cone projection on functions over a standard open is the map of degree-zero localizations A_(f) to B_(sigma f * psi f)”.
On the chart
D₊(σ f · ψ f)of the punctured cone the projection acts on functions by the mapA_{(f)} ⟶ B_{(σ f · ψ f)}of degree-zero localizations. Through the identificationsA_{(f)} = Γ(P, D₊(f))andB_{(σ f · ψ f)} = Γ(L, D₊(σ f · ψ f))of [Stacks, Tag 01M6], the pullback of functions alongπto the part ofUoverD₊(f)ispuncturedAwayMap.
theorem awayToSection_comp_pi_appLE_sigmaMulPsi (hd : 0 < d) (hf : f ∈ 𝒜 d) :
Proj.awayToSection 𝒜 f ≫ (pi c).appLE (Proj.basicOpen 𝒜 f)
(Proj.basicOpen ℬ ((c.sigma f : B) * c.psi f))
(basicOpen_sigmaMulPsi_le_pi_preimage c hd hf) =
CommRingCat.ofHom (puncturedAwayMap c hd hf) ≫
Proj.awayToSection ℬ ((c.sigma f : B) * c.psi f)
Stacks.AlgebraicGeometry.ProjAndSpec.awayToSection_comp_puncturedPi_appLE, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeChartPunctured.lean, line 137. The attribute's comment: “the restricted projection pi|_U on functions over a standard open, on the chart given by the inverse image of D+(sigma f * psi f)”.
The same statement for the restricted projection
π|_U : U ⟶ P, whose chart overD₊(f)is the inverse image ofD₊(σ f · ψ f)under the open immersion ofU: there too the pullback of functions ispuncturedAwayMap, followed by restriction along that open immersion.
theorem awayToSection_comp_puncturedPi_appLE (hd : 0 < d) (hf : f ∈ 𝒜 d) :
Proj.awayToSection 𝒜 f ≫ ((openUInL c).ι ≫ pi c).appLE (Proj.basicOpen 𝒜 f)
((openUInL c).ι ⁻¹ᵁ Proj.basicOpen ℬ ((c.sigma f : B) * c.psi f))
(((TopologicalSpace.Opens.map (openUInL c).ι.base).map
(homOfLE (basicOpen_sigmaMulPsi_le_pi_preimage c hd hf))).le) =
CommRingCat.ofHom (puncturedAwayMap c hd hf) ≫
Proj.awayToSection ℬ ((c.sigma f : B) * c.psi f) ≫
(openUInL c).ι.appLE (Proj.basicOpen ℬ ((c.sigma f : B) * c.psi f))
((openUInL c).ι ⁻¹ᵁ Proj.basicOpen ℬ ((c.sigma f : B) * c.psi f)) le_rfl
Stacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeRelativeSpec.lean, line 115. The attribute's comment: “L is, over P, the relative spectrum of the direct-image algebra of the cone”.
L = Spec_P(π_* 𝒪_L): the cone is, overP = Proj A, the relative spectrum of its direct-image algebra, the cone projection being affine.
def coneRelativeSpecIso :
Over.mk (ProjAndSpec.pi c) ≅
Over.mk (relativeSpecToBase (pushforwardAlgebra (ProjAndSpec.pi c)))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeRelativeSpec.lean, line 123. The attribute's comment: “the punctured cone is, over P, the relative spectrum of its direct-image algebra”.
U = Spec_P((π|_U)_* 𝒪_U): the punctured cone is, overP = Proj A, the relative spectrum of its direct-image algebra, the restricted cone projection being affine.
def puncturedConeRelativeSpecIso :
Over.mk ((ProjAndSpec.openUInL c).ι ≫ ProjAndSpec.pi c) ≅
Over.mk (relativeSpecToBase
(pushforwardAlgebra ((ProjAndSpec.openUInL c).ι ≫ ProjAndSpec.pi c)))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecIsoOpenU, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeRelativeSpec.lean, line 201. The attribute's comment: “the relative spectrum of the punctured cone's direct-image algebra is U”. References: EGA II (8.12.5), “special case”; EGA II (8.6.2), “special case”.
The relative spectrum over
Pof the direct-image algebra of the punctured cone is the openU = X ∖ V(A₊)ofX, for the truncation algebra. This is the equality on the left of the diagram of [Stacks, Tag 0EKG]: the punctured cone is that relative spectrum, andL ⟶ Xcarries it isomorphically ontoU.
def puncturedConeRelativeSpecIsoOpenU :
Stacks.AffineAlgebraEquivalence.relativeSpec
(pushforwardAlgebra ((openUInL 𝒜).ι ≫ pi 𝒜)) ≅
(ProjAndSpec.openU 𝒜).toScheme
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecTwistAlgebraIsoOpenU, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeRelativeSpec.lean, line 248. The attribute's comment: “the left equality: U is Spec_P of the integer twist algebra”. References: EGA II (8.12.5), “special case”; EGA II (8.6.2), “special case”.
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) = U: the relative spectrum overP = Proj Aof the algebra of all integral twists is the openU = X ∖ V(A₊)ofX = Spec A. This is the equality on the left of the diagram of [Stacks, Tag 0EKG], with the algebra named as the twist algebra⨁_{m ∈ ℤ} 𝒪_P(m)itself rather than as the direct image(π|_U)_* 𝒪_Uit was computed from: the punctured cone is that relative spectrum byStacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecTwistAlgebraIso, andL ⟶ Xcarries the punctured cone isomorphically ontoUbyStacks.AlgebraicGeometry.ProjAndSpecTruncation.isIso_toSpecA_restrict.
def puncturedConeRelativeSpecTwistAlgebraIsoOpenU :
Stacks.AffineAlgebraEquivalence.relativeSpec (integerTwistAlgebraSheaf 𝒜) ≅
(ProjAndSpec.openU 𝒜).toScheme
Stacks.AlgebraicGeometry.ProjConeTwist.degreeZeroRingMap_coneTwistAwayHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 97. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) into the degree-zero localization of the truncation algebra at psi f, followed by restriction to the chart of the punctured cone, is the punctured degreewise inclusion, for a nonnegative degree m”.
The degreewise inclusion of
Γ(D₊(f), 𝒪_P(m))into the functions on the cone chart, followed by restriction to the chart of the punctured cone, is the degreewise inclusion into the functions on that chart, form ≥ 0. Both sides are elements of(B[1/σ f · ψ f])₀, and the comparison map toA[1/f]is injective and sends both to the standard-open description of the section one starts from.
theorem degreeZeroRingMap_coneTwistAwayHom (m : ℕ) {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(s : (twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (sigmaMulPsi 𝒜 f)
⟨d, hd, GradedRingHom.map_mem (psi 𝒜) hf⟩ ⟨d, hd, sigmaMulPsi_mem_grading 𝒜 d hf⟩
(basicOpen_sigmaMulPsi_le_psi 𝒜) (coneTwistAwayHom 𝒜 m d hf hd s) =
puncturedConeTwistAwayHom 𝒜 (m : ℤ) d hf hd s
Stacks.AlgebraicGeometry.ProjConeTwist.appLE_coneTwistApp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 117. The attribute's comment: “the local degreewise inclusion O_P(m) to pi_* O_L over a standard open, followed by restriction to the punctured cone, is the punctured local degreewise inclusion, for a nonnegative degree m”.
The local degreewise inclusion into
π_* 𝒪_Lover a standard open, followed by restriction along the open immersion of the punctured cone, is the punctured local degreewise inclusion, form ≥ 0. Both are read on the chartD₊(σ f · ψ f)of the punctured cone inside the chartD₊(ψ f)of the cone, where restriction of functions is the degree-zero restriction map ofBandStacks.AlgebraicGeometry.ProjConeTwist.degreeZeroRingMap_coneTwistAwayHomapplies.
theorem appLE_coneTwistApp (m : ℕ) {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hle : ((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f ≤
(openUInL 𝒜).ι ⁻¹ᵁ (pi 𝒜 ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f))
(s : (twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((openUInL 𝒜).ι.appLE (pi 𝒜 ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f)
(((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f) hle).hom
((coneTwistApp 𝒜 m d hf hd).hom s) =
(puncturedConeTwistApp 𝒜 (m : ℤ) d hf hd).hom s
Stacks.AlgebraicGeometry.ProjConeTwist.appLE_coneTwistHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 161. The attribute's comment: “the degreewise inclusion O_P(m) to pi_ O_L followed by restriction to the punctured cone is the degreewise inclusion O_P(m) to (pi|_U)_ O_U, for a nonnegative degree m”.
The degreewise inclusion
𝒪_P(m) ⟶ π_* 𝒪_Lfollowed by restriction of functions from the cone to the punctured cone is the degreewise inclusion𝒪_P(m) ⟶ (π|_U)_* 𝒪_U, form ≥ 0, read on the sections over an arbitrary open ofP. Both sides are morphisms out of the sheaf the punctured inclusion is glued from, so it is enough to compare them over the positive-degree standard opens, where the comparison isStacks.AlgebraicGeometry.ProjConeTwist.appLE_coneTwistApp.
theorem appLE_coneTwistHom_app (m : ℕ) (V : Opens (ProjectiveSpectrum.top 𝒜))
(hleV : ((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ V ≤ (openUInL 𝒜).ι ⁻¹ᵁ (pi 𝒜 ⁻¹ᵁ V))
(x : (twistingSheaf 𝒜 (m : ℤ)).val.obj (op V)) :
((openUInL 𝒜).ι.appLE (pi 𝒜 ⁻¹ᵁ V) (((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ V) hleV).hom
((coneTwistHom 𝒜 m).val.app (op V) x) =
(puncturedTwistHom 𝒜 (m : ℤ)).val.app (op V) x
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistUnitalHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 207. The attribute's comment: “the inclusion of the nonnegative twist algebra in the integral one, as a unital homomorphism of sheaves of graded algebras”.
The inclusion
⨁_{m ≥ 0} 𝒪_P(m) ⟶ ⨁_{m ∈ ℤ} 𝒪_P(m)as a unital homomorphism of sheaves of graded algebras. It isStacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebrawith the preservation of the degree-zero unit recorded: both unit sections are the unit sectionStacks.AlgebraicGeometry.ProjConeTwist.twistOneof the untwisted sheaf, and in degree zero the inclusion is the identity.
def nonnegToIntegerTwistUnitalHom :
SheafOfModules.GradedAlgebra.UnitalHom (nonnegTwistAlgebra 𝒜) (integerTwistAlgebra 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebraSheafHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 219. The attribute's comment: “the inclusion of the nonnegative twist algebra in the integral one, as a morphism of sheaves of commutative algebras over the structure sheaf of P”.
The inclusion of the two twist algebras as a morphism of sheaves of commutative
𝒪_P-algebras, which is the shape the relative spectrum of [Stacks, Tag 01LM] consumes. Its underlying morphism of sheaves of rings is the one the degreewise inclusions induce on the ungraded realizations.
def nonnegToIntegerTwistAlgebraSheafHom :
nonnegTwistAlgebraSheaf 𝒜 ⟶ integerTwistAlgebraSheaf 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.appLE_coneIota_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 235. The attribute's comment: “the inclusion of each homogeneous piece of the nonnegative twist algebra in pi_ O_L, followed by restriction to the punctured cone, is the degreewise inclusion in (pi|_U)_ O_U after the inclusion of the two twist algebras”.
The degreewise inclusion of each homogeneous piece of
⨁_{m ≥ 0} 𝒪_P(m)intoπ_* 𝒪_L, followed by restriction to the punctured cone, is the degreewise inclusion into(π|_U)_* 𝒪_Ucomposed with the degreewise inclusion of the two twist algebras: the nonnegative-degree case isStacks.AlgebraicGeometry.ProjConeTwist.appLE_coneTwistHom_app, and in a negative degree the source sheaf is zero, so both sides vanish.
theorem appLE_coneIota_app (i : ℤ) (W : Opens (ProjectiveSpectrum.top 𝒜))
(hleW : ((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ W ≤ (openUInL 𝒜).ι ⁻¹ᵁ (pi 𝒜 ⁻¹ᵁ W))
(y : (nonnegTwistingSheaf 𝒜 i).val.obj (op W)) :
((openUInL 𝒜).ι.appLE (pi 𝒜 ⁻¹ᵁ W) (((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ W) hleW).hom
((coneIota 𝒜 i).val.app (op W) y) =
(puncturedTwistHom 𝒜 i).val.app (op W) ((nonnegToIntegerApp 𝒜 i).val.app (op W) y)
Stacks.AlgebraicGeometry.ProjConeTwist.ungradedSheafMap_comp_puncturedConeUngradedSheafIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 292. The attribute's comment: “the inclusion of the two twist algebras is restriction of functions from the cone to the punctured cone, as morphisms of sheaves of rings”.
The inclusion of the two twist algebras is restriction of functions from the cone to the punctured cone, as morphisms of sheaves of rings: the morphism the degreewise inclusions induce on the ungraded realizations, followed by the identification of
⨁_{m ∈ ℤ} 𝒪_P(m)with(π|_U)_* 𝒪_U, is the identification of⨁_{m ≥ 0} 𝒪_P(m)withπ_* 𝒪_Lfollowed by the restriction map of the two direct images.
theorem ungradedSheafMap_comp_puncturedConeUngradedSheafIso :
SheafOfModules.GradedAlgebra.ungradedSheafMap (nonnegToIntegerTwistUnitalHom 𝒜) ≫
(puncturedConeUngradedSheafIso 𝒜).hom =
(coneUngradedSheafIso 𝒜).hom ≫
Stacks.RelativeSpec.AlgebraSheaf.ringSheafMap
(coneToPuncturedConeAlgebra (truncationConeData 𝒜))
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebraSheafHom_comp_puncturedConeAlgebraSheafIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraInclusion.lean, line 345. The attribute's comment: “the inclusion of the two twist algebras is restriction of functions from the cone to the punctured cone, as morphisms of sheaves of commutative algebras over the structure sheaf of P”.
The inclusion of the two twist algebras is restriction of functions from the cone to the punctured cone, as morphisms of sheaves of commutative
𝒪_P-algebras. This is the square that makes the morphism of relative spectra induced by the inclusion the open immersion of the punctured cone, and hence the left square of the diagram of [Stacks, Tag 0EKG] commute.
theorem nonnegToIntegerTwistAlgebraSheafHom_comp_puncturedConeAlgebraSheafIso :
nonnegToIntegerTwistAlgebraSheafHom 𝒜 ≫ (puncturedConeAlgebraSheafIso 𝒜).hom =
(coneAlgebraSheafIso 𝒜).hom ≫ coneToPuncturedConeAlgebra (truncationConeData 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.heq_nonnegTwistMul_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 107. The attribute's comment: “the multiplication of the nonnegative twist algebra is commutative on homogeneous local sections”.
The multiplication of the algebra of nonnegative twists is commutative on homogeneous local sections. In a negative degree both products vanish; in nonnegative degrees both are the pointwise product of the values in the module fibres.
theorem heq_nonnegTwistMul_comm (i j : ℤ) (U : (Opens (ProjectiveSpectrum.top 𝒜))ᵒᵖ)
(a : (nonnegTwistingSheaf 𝒜 i).val.obj U) (b : (nonnegTwistingSheaf 𝒜 j).val.obj U) :
HEq ((nonnegTwistMul 𝒜 i j).app U a b) ((nonnegTwistMul 𝒜 j i).app U b a)
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegTwistAlgebraSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 132. The attribute's comment: “the nonnegative twist algebra as a sheaf of commutative algebras over the structure sheaf of P”.
The algebra of nonnegative twists
⨁_{m ≥ 0} 𝒪_P(m)as a sheaf of commutative𝒪_P-algebras, which is the shape the relative spectrum of [Stacks, Tag 01LM] takes as input. Its sheaf of rings is the ungraded realization of [Stacks, Tag 01CF] and its structure morphism isr ↦ r · 1.
def nonnegTwistAlgebraSheaf : Stacks.RelativeSpec.AlgebraSheaf (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTotalMap_structureMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 145. The attribute's comment: “the degreewise inclusions carry the structure map of the ungraded realization of the nonnegative twist algebra to the pullback of functions along the cone projection”.
The degreewise inclusions carry the structure map
r ↦ r · 1of the ungraded realization to the pullback of functions alongπ. This is what makes the identification ofπ_* 𝒪_Lwith the twist algebra one of algebras over𝒪_P, and not merely of sheaves of rings: the inclusions are𝒪_P-linear and unital, and the action of a section of𝒪_Pon a function on the cone is multiplication by its pullback.
theorem coneTotalMap_structureMap (U : Opens (ProjectiveSpectrum.top 𝒜))
(r : (AlgebraicGeometry.Proj 𝒜).ringCatSheaf.obj.obj (op U)) :
coneTotalMap 𝒜 U ((nonnegTwistPresheafAlgebra 𝒜).structureMap (op U) r) =
((pi 𝒜).c.app (op U)).hom r
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 174. The attribute's comment: “the identification pi_* O_L = the nonnegative twist algebra, as sheaves of commutative algebras over the structure sheaf of P, for the cone of the truncation algebra”.
π_* 𝒪_Lis the algebra of nonnegative twists, as sheaves of commutative𝒪_P-algebras.
def coneAlgebraSheafIso :
nonnegTwistAlgebraSheaf 𝒜 ≅ pushforwardAlgebra (pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.isQuasicoherent_nonnegTwistAlgebraSheaf, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 191. The attribute's comment: “the nonnegative twist algebra is a quasi-coherent sheaf of algebras over the structure sheaf of P”.
The algebra of nonnegative twists is a quasi-coherent sheaf of
𝒪_P-algebras: it is the direct image of the structure sheaf of the cone along the affine morphismπ.
instance isQuasicoherent_nonnegTwistAlgebraSheaf :
Stacks.RelativeSpec.AlgebraSheaf.IsQuasicoherent (nonnegTwistAlgebraSheaf 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecTwistAlgebraIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistAlgebraSheaf.lean, line 202. The attribute's comment: “L is, over P, the relative spectrum of the nonnegative twist algebra, for the cone of the truncation algebra”. References: EGA II (8.7.3), “partial”.
L = Spec_P(⨁_{m ≥ 0} 𝒪_P(m)): the cone is, overP = Proj A, the relative spectrum of the algebra of nonnegative twists. This is the presentation on the right of the diagram of [Stacks, Tag 0EKG], with the algebra named as the twist algebra rather than as the direct imageπ_* 𝒪_Lit was computed from.
def coneRelativeSpecTwistAlgebraIso :
Over.mk (pi 𝒜) ≅ Over.mk (relativeSpecToBase (nonnegTwistAlgebraSheaf 𝒜))
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistNatDirectSumHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 82. The attribute's comment: “the family of degreewise inclusions O_P(m) -> pi_* O_L as one morphism out of the objectwise direct sum over the natural numbers, for the truncation cone”.
The degreewise inclusions
𝒪_P(m) ⟶ π_* 𝒪_Las a single morphism out of the objectwise direct sum over the natural numbers.
def coneTwistNatDirectSumHom :
Stacks.directSum (fun n : ℕ => (twistingSheaf 𝒜 (n : ℤ)).val) ⟶
(Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)).val
Stacks.AlgebraicGeometry.ProjConeTwist.bijective_coneTwistNatDirectSumHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 117. The attribute's comment: “the morphism out of the objectwise direct sum over the natural numbers of the twisting sheaves is bijective on the sections over a standard open of a positive-degree homogeneous element, for the cone of the truncation algebra”.
Over a standard open of a positive-degree homogeneous element the comparison out of the direct sum over the natural numbers is bijective.
theorem bijective_coneTwistNatDirectSumHom_app (p : PositiveElem 𝒜) :
Function.Bijective
((coneTwistNatDirectSumHom 𝒜).app (op (positiveBasicOpen 𝒜 p))).hom
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistDirectSumHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 141. The attribute's comment: “the inclusions of the homogeneous pieces of the nonnegative twist algebra as one morphism out of the objectwise direct sum over all integers, for the truncation cone”.
The homogeneous pieces of the algebra of nonnegative twists, included in
π_* 𝒪_Lout of the objectwise direct sum over all integers.
def coneTwistDirectSumHom :
Stacks.directSum (fun m : ℤ => (nonnegTwistingSheaf 𝒜 m).val) ⟶
(Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)).val
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistDirectSumHom_app_directSumNatToIntApp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 163. The attribute's comment: “the inclusion of the nonnegative part of the objectwise direct sum carries the integer-indexed comparison to the one indexed by the natural numbers, on the sections over a standard open of a positive-degree homogeneous element”.
The reindexing
ℕ → ℤidentifies the two comparisons on the sections over a standard open of the basis.
theorem coneTwistDirectSumHom_app_directSumNatToIntApp (p : PositiveElem 𝒜)
(z : Stacks.DirectSumType (fun k : ℕ => (nonnegTwistingSheaf 𝒜 (k : ℤ)).val)
(op (positiveBasicOpen 𝒜 p))) :
(coneTwistDirectSumHom 𝒜).app (op (positiveBasicOpen 𝒜 p))
(Stacks.directSumNatToIntApp (fun m : ℤ => (nonnegTwistingSheaf 𝒜 m).val)
(op (positiveBasicOpen 𝒜 p)) z) =
(coneTwistNatDirectSumHom 𝒜).app (op (positiveBasicOpen 𝒜 p)) z
Stacks.AlgebraicGeometry.ProjConeTwist.bijective_coneTwistDirectSumHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 190. The attribute's comment: “the morphism out of the objectwise direct sum over all integers of the homogeneous pieces of the nonnegative twist algebra is bijective on the sections over a standard open of a positive-degree homogeneous element, for the cone of the truncation algebra”.
Over a standard open of a positive-degree homogeneous element the comparison out of the direct sum over all integers is bijective.
theorem bijective_coneTwistDirectSumHom_app (p : PositiveElem 𝒜) :
Function.Bijective
((coneTwistDirectSumHom 𝒜).app (op (positiveBasicOpen 𝒜 p))).hom
Stacks.AlgebraicGeometry.ProjConeTwist.coneStructureSheafifyIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 207. The attribute's comment: “the direct image of the structure sheaf of the cone is the sheafification of the objectwise direct sum of the homogeneous pieces of the nonnegative twist algebra, for the truncation cone”.
π_* 𝒪_Lis the sheafification of the objectwise direct sum of the homogeneous pieces of the algebra of nonnegative twists.
def coneStructureSheafifyIso :
(PresheafOfModules.sheafification (𝟙 _)).obj
(Stacks.directSum fun m : ℤ => (nonnegTwistingSheaf 𝒜 m).val) ≅
Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneStructureCoproductIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistConeCoproduct.lean, line 224. The attribute's comment: “the identification pi_* O_L = the coproduct of the homogeneous pieces of the nonnegative twist algebra, as sheaves of O_P-modules, for the cone of the truncation algebra”.
π_* 𝒪_L ≅ ∐_{m ∈ ℤ} (nonnegTwistAlgebra 𝒜).piece m: the identification of the direct image of the structure sheaf of the cone with the coproduct of the homogeneous pieces of the algebra of nonnegative twists.
def coneStructureCoproductIso :
Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜) ≅
∐ fun m : ℤ => nonnegTwistingSheaf 𝒜 m
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistAwayHom_degreeZeroRingMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 140. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) into the degree-zero localization of the truncation algebra commutes with restriction between two standard opens”.
The degreewise inclusion commutes with restriction between two standard opens, read in the degree-zero localizations of the truncation algebra.
theorem coneTwistAwayHom_degreeZeroRingMap (m : ℕ) {d e : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hg : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
coneTwistAwayHom 𝒜 m e hg he
(((ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.map (homOfLE hfg).op).hom s) =
ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (psi 𝒜 g)
(exists_psi_mem 𝒜 hf hd) (exists_psi_mem 𝒜 hg he)
(basicOpen_psi_le 𝒜 hf hd hg he hfg) (coneTwistAwayHom 𝒜 m d hf hd s)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 194. The attribute's comment: “the degreewise inclusion O_P(m) to pi_* O_L over standard opens is compatible with restriction between two standard opens”.
The local degreewise inclusion commutes with restriction to a smaller standard open.
theorem coneTwistApp_restrict (m : ℕ) {d e : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d) (hg : g ∈ 𝒜 e)
(he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(coneTwistApp 𝒜 m e hg he).hom
(((ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.map (homOfLE hfg).op).hom s) =
((Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)).val.map (homOfLE hfg).op).hom
((coneTwistApp 𝒜 m d hf hd).hom s)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp_degree_indep, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 244. The attribute's comment: “the degreewise inclusion O_P(m) to pi_* O_L over one standard open depends only on that open, not on the degree of the element cutting it out”.
The local degreewise inclusion depends only on the standard open, not on the degree in which the element cutting it out is homogeneous.
theorem coneTwistApp_degree_indep (m : ℕ) {d d' : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hf' : f ∈ 𝒜 d') (hd' : 0 < d') :
coneTwistApp 𝒜 m d hf hd = coneTwistApp 𝒜 m d' hf' hd'
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 286. The attribute's comment: “the degreewise inclusion O_P(m) to pi_* O_L as a morphism of sheaves of O_P-modules, for the truncation cone and a nonnegative degree m”.
The degreewise inclusion
𝒪_P(m) ⟶ π_* 𝒪_L, form ≥ 0: the morphism of sheaves of𝒪_P-modules glued from the local maps over the standard opens of positive-degree homogeneous elements.
def coneTwistHom (m : ℕ) :
ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ) ⟶
Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 294. The attribute's comment: “the global degreewise inclusion restricts on each standard open to the local one”.
The glued morphism restricts on a standard open to the local degreewise inclusion.
theorem coneTwistHom_app (m : ℕ) {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(coneTwistHom 𝒜 m).val.app (op (ProjectiveSpectrum.basicOpen 𝒜 f)) =
coneTwistApp 𝒜 m d hf hd
Stacks.AlgebraicGeometry.ProjConeTwist.coneIota, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMap.lean, line 307. The attribute's comment: “the inclusion of each homogeneous piece of the nonnegative twist algebra in pi_* O_L, for the truncation cone”.
The inclusion of each homogeneous piece of
⨁_{m ≥ 0} 𝒪_P(m)inπ_* 𝒪_L: the glued degreewise inclusion in a nonnegative degree, and the morphism out of the zero sheaf in a negative one.
def coneIota : ∀ n : ℤ, nonnegTwistingSheaf 𝒜 n ⟶
Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistHom_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMul.lean, line 97. The attribute's comment: “the glued degreewise inclusion O_P(m) to pi_* O_L is multiplicative over a standard open of a positive-degree homogeneous element”.
The glued degreewise inclusion is multiplicative over a standard open of a positive-degree homogeneous element.
theorem coneTwistHom_mul {f : A} {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℕ)
(x : (twistingSheaf 𝒜 (i : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 (j : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(show coneSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(coneTwistHom 𝒜 (i + j)).val.app (op (ProjectiveSpectrum.basicOpen 𝒜 f))
(natTwistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y)) =
(show coneSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(coneTwistHom 𝒜 i).val.app (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x) *
(show coneSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(coneTwistHom 𝒜 j).val.app (op (ProjectiveSpectrum.basicOpen 𝒜 f)) y)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistHom_mul_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMul.lean, line 119. The attribute's comment: “the glued degreewise inclusion O_P(m) to pi_* O_L is multiplicative over every open of P, in nonnegative degrees”.
The glued degreewise inclusion
𝒪_P(i) ⟶ π_* 𝒪_Lis multiplicative over every open ofP. The standard opens of positive-degree homogeneous elements are a basis, and both sides restrict to them as the standard-open statement says.
theorem coneTwistHom_mul_app (i j : ℕ) (U : Opens (ProjectiveSpectrum.top 𝒜))
(a : (twistingSheaf 𝒜 (i : ℤ)).val.obj (op U))
(b : (twistingSheaf 𝒜 (j : ℤ)).val.obj (op U)) :
(show coneSections 𝒜 U from
(coneTwistHom 𝒜 (i + j)).val.app (op U) (natTwistMulSection 𝒜 i j (op U) a b)) =
(show coneSections 𝒜 U from (coneTwistHom 𝒜 i).val.app (op U) a) *
(show coneSections 𝒜 U from (coneTwistHom 𝒜 j).val.app (op U) b)
Stacks.AlgebraicGeometry.ProjConeTwist.coneIota_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistGlobalMul.lean, line 160. The attribute's comment: “the inclusions of the homogeneous pieces of the nonnegative twist algebra in pi_* O_L are multiplicative, over every open of P and in every integer degree, for the truncation cone”.
The inclusions of the homogeneous pieces of the algebra of nonnegative twists in
π_* 𝒪_Lmultiply as the grading prescribes, over every open ofPand in all integer degrees. This is theι_mulcondition ofAlgebraicGeometry.AbstractConefor the cone of the truncation algebra, graded byStacks.AlgebraicGeometry.ProjConeTwist.nonnegTwistAlgebra. In a negative degree the piece is the zero sheaf, so both sides vanish.
theorem coneIota_mul (i j : ℤ) (U : Opens (ProjectiveSpectrum.top 𝒜))
(a : (nonnegTwistingSheaf 𝒜 i).val.obj (op U))
(b : (nonnegTwistingSheaf 𝒜 j).val.obj (op U)) :
(show coneSections 𝒜 U from
(coneIota 𝒜 (i + j)).val.app (op U) ((nonnegTwistMul 𝒜 i j).app (op U) a b)) =
(show coneSections 𝒜 U from (coneIota 𝒜 i).val.app (op U) a) *
(show coneSections 𝒜 U from (coneIota 𝒜 j).val.app (op U) b)
Stacks.Truncation.awayToLocalization_map_psi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 67. The attribute's comment: “the comparison map (B[1/psi f])_0 to A[1/f] undoes the map of degree-zero localizations attached to psi”.
The comparison map
(B[1/ψ f])₀ → A[1/f]undoesHomogeneousLocalization.Away.map ψ f: the fractionψ a / (ψ f)ᵏof the truncation algebra is sent to the fractiona / fᵏ.
theorem awayToLocalization_map_psi (d : ℕ) (hf : f ∈ 𝒜 d)
(r : HomogeneousLocalization.Away 𝒜 f) :
awayToLocalization 𝒜 (HomogeneousLocalization.Away.map (psi 𝒜) f r) = r.val
Stacks.Truncation.awayGradingEquivSectionsTwist_symm_degree_indep, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 106. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) over D+(f) into the functions on the cone depends only on the standard open, not on the degree of f”.
The degreewise inclusion depends only on the standard open, not on the degree in which
fis homogeneous.
theorem awayGradingEquivSectionsTwist_symm_degree_indep {d d' : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hf' : f ∈ 𝒜 d') (hd' : 0 < d') (m : ℕ)
(s : (twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(((awayGradingEquivSectionsTwist 𝒜 d hf hd m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f))) =
(((awayGradingEquivSectionsTwist 𝒜 d' hf' hd' m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)))
Stacks.Truncation.awayGradingEquivSectionsTwist_symm_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 126. The attribute's comment: “the degreewise inclusion is semilinear for the map of degree-zero localizations attached to psi, over one standard open D+(f)”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/ψ f])₀is semilinear for the mapHomogeneousLocalization.Away.map ψ fof degree-zero localizations: scaling a section of𝒪_P(m)by the degree-zero fractionrmultiplies its image by the image ofr.
theorem awayGradingEquivSectionsTwist_symm_smul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (m : ℕ)
(r : HomogeneousLocalization.Away 𝒜 f)
(s : (twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(((awayGradingEquivSectionsTwist 𝒜 d hf hd m).symm
((ProjectiveSpectrum.Proj.awayToSection 𝒜 f).hom r • s) :
HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f))) =
HomogeneousLocalization.Away.map (psi 𝒜) f r *
(((awayGradingEquivSectionsTwist 𝒜 d hf hd m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)))
Stacks.AlgebraicGeometry.ProjConeTwist.awayToSection_pi_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 205. The attribute's comment: “the cone projection on functions over a standard open, with the sections over D+(psi f) transported along the identity of opens pi^{-1}(D+(f)) = D+(psi f)”.
The cone projection on functions over a standard open: the image of a degree-zero fraction of
Aunderψ, read as a function onD₊(ψ f)and transported alongπ⁻¹(D₊(f)) = D₊(ψ f), is the pullback of that fraction alongπ.
theorem awayToSection_pi_app (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(r : HomogeneousLocalization.Away 𝒜 f) :
(AlgebraicGeometry.Proj (grading 𝒜)).presheaf.map
(eqToHom (pi_preimage_basicOpen 𝒜 f d hf hd)).op
((AlgebraicGeometry.Proj.awayToSection (grading 𝒜) (psi 𝒜 f)).hom
(HomogeneousLocalization.Away.map (psi 𝒜) f r)) =
((pi 𝒜).app (AlgebraicGeometry.Proj.basicOpen 𝒜 f)).hom
((AlgebraicGeometry.Proj.awayToSection 𝒜 f).hom r)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistAwayHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 231. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) over D+(f) into the degree-zero localization of the truncation algebra, as an additive map”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/ψ f])₀, as an additive map: the inverse ofStacks.Truncation.awayGradingEquivSectionsTwistfollowed by the inclusion of the degree-msummand.
def coneTwistAwayHom (m d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
((twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) →+
HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalMap.lean, line 250. The attribute's comment: “the degreewise inclusion O_P(m) to pi_* O_L over one standard open D+(f), as a map of modules over the sections of O_P there”.
The local degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) ⟶ Γ(D₊(f), π_* 𝒪_L), as a morphism of modules over the sections of𝒪_PonD₊(f).
def coneTwistApp (m d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)) ⟶
(Stacks.Morphisms.pushforwardStructureSheaf (pi 𝒜)).val.obj
(op (AlgebraicGeometry.Proj.basicOpen 𝒜 f))
Stacks.Truncation.awayToLocalization_degreeZeroRingMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalRestriction.lean, line 99. The attribute's comment: “the comparison maps (B[1/psi f])_0 to A[1/f] commute with the restriction maps of degree-zero localizations, for a general inclusion D+(g) <= D+(f) of standard opens”.
The comparison maps
(B[1/ψ f])₀ → A[1/f]commute with the restriction maps of degree-zero localizations: the one ofBattached toD₊(ψ g) ⊆ D₊(ψ f)on the source, the one ofAattached toD₊(g) ⊆ D₊(f)on the target.
theorem awayToLocalization_degreeZeroRingMap
(hf : ∃ d : ℕ, 0 < d ∧ f ∈ 𝒜 d) (hg : ∃ e : ℕ, 0 < e ∧ g ∈ 𝒜 e)
(hψf : ∃ d : ℕ, 0 < d ∧ psi 𝒜 f ∈ grading 𝒜 d)
(hψg : ∃ e : ℕ, 0 < e ∧ psi 𝒜 g ∈ grading 𝒜 e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(hψfg : ProjectiveSpectrum.basicOpen (grading 𝒜) (psi 𝒜 g) ≤
ProjectiveSpectrum.basicOpen (grading 𝒜) (psi 𝒜 f))
(z : HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)) :
awayToLocalization 𝒜
(ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (psi 𝒜 g)
hψf hψg hψfg z) =
ProjectiveSpectrum.localizedRingMap 𝒜 f g hf hg hfg (awayToLocalization 𝒜 z)
Stacks.AlgebraicGeometry.ProjConeTwist.integerTwistAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 248. The attribute's comment: “the graded algebra of all integral twists”.
The graded algebra
⨁_{m ∈ ℤ} 𝒪_P(m)of all integral twists onP = Proj A.
def integerTwistAlgebra :
SheafOfModules.GradedAlgebra (AlgebraicGeometry.Proj 𝒜).ringCatSheaf
Stacks.AlgebraicGeometry.ProjConeTwist.isZero_nonnegTwistingSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 286. The attribute's comment: “the homogeneous pieces in negative degrees”.
In negative degrees the pieces of the algebra of nonnegative twists vanish.
theorem isZero_nonnegTwistingSheaf {n : ℤ} (hn : n < 0) :
IsZero (nonnegTwistingSheaf 𝒜 n)
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegTwistAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 337. The attribute's comment: “the graded algebra of nonnegative twists”.
The graded algebra
⨁_{m ≥ 0} 𝒪_P(m)of nonnegative twists onP = Proj A.
def nonnegTwistAlgebra :
SheafOfModules.GradedAlgebra (AlgebraicGeometry.Proj 𝒜).ringCatSheaf
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegPieceIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 409. The attribute's comment: “the homogeneous pieces in nonnegative degrees”.
In nonnegative degrees the piece of the algebra of nonnegative twists is the twisting sheaf.
def nonnegPieceIso {n : ℤ} (hn : 0 ≤ n) :
(nonnegTwistAlgebra 𝒜).piece n ≅ twistingSheaf 𝒜 n
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 474. The attribute's comment: “the inclusion of the nonnegative twist algebra in the integral one”.
The inclusion
⨁_{m ≥ 0} 𝒪_P(m) ⟶ ⨁_{m ∈ ℤ} 𝒪_P(m)of graded algebras.
def nonnegToIntegerTwistAlgebra :
SheafOfModules.GradedAlgebra.Hom (nonnegTwistAlgebra 𝒜) (integerTwistAlgebra 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebra_app_natCast, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 481. The attribute's comment: “the inclusion is the identity on each nonnegative twist”.
In nonnegative degrees the inclusion of the two twist algebras is the identity.
theorem nonnegToIntegerTwistAlgebra_app_natCast (m : ℕ) :
(nonnegToIntegerTwistAlgebra 𝒜).app (m : ℤ) = CategoryStruct.id _
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 509. The attribute's comment: “the direct-image algebra of the cone”.
The direct-image algebra
π_* 𝒪_Lof the cone.
def coneAlgebra : Stacks.RelativeSpec.AlgebraSheaf (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 515. The attribute's comment: “the direct-image algebra of the punctured cone”.
The direct-image algebra
(π|_U)_* 𝒪_Uof the punctured cone, the part ofLlying overU = X ∖ V(A₊).
def puncturedConeAlgebra : Stacks.RelativeSpec.AlgebraSheaf (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneToPuncturedConeAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 522. The attribute's comment: “the inclusion of the two direct-image algebras”.
Restriction of functions from the cone to the punctured cone, as a morphism of
𝒪_P-algebras.
def coneToPuncturedConeAlgebra : coneAlgebra c ⟶ puncturedConeAlgebra c
Stacks.AlgebraicGeometry.ProjConeTwist.coneToPuncturedConeAlgebra_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 529. The attribute's comment: “the restriction formula for the inclusion of the two algebras”.
Over an open of
Pthe restriction map of the two direct-image algebras is the canonical map on functions induced by the open immersion of the punctured cone.
theorem coneToPuncturedConeAlgebra_app (U : (AlgebraicGeometry.Proj 𝒜).Opens)
(hle : ((ProjAndSpec.openUInL c).ι ≫ ProjAndSpec.pi c) ⁻¹ᵁ U ≤
(ProjAndSpec.openUInL c).ι ⁻¹ᵁ (ProjAndSpec.pi c ⁻¹ᵁ U)) :
(coneToPuncturedConeAlgebra c).right.hom.app (op U) =
(ProjAndSpec.openUInL c).ι.appLE (ProjAndSpec.pi c ⁻¹ᵁ U)
(((ProjAndSpec.openUInL c).ι ≫ ProjAndSpec.pi c) ⁻¹ᵁ U) hle
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 572. The attribute's comment: “the comparison of the degree-zero piece with the structure sheaf”.
A section of the structure sheaf, read in the localizations of
A, as a section of the untwisted sheaf.
def structureSheafToTwistZero (U : Opens (ProjectiveSpectrum.top 𝒜))
(r : (ProjectiveSpectrum.Proj.structureSheaf 𝒜).obj.obj (op U)) :
(twistingSheaf 𝒜 0).val.obj (op U)
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 586. The attribute's comment: “the degree-zero comparison preserves the unit”.
The comparison carries the unit section of the structure sheaf to the unit section of the untwisted sheaf.
theorem structureSheafToTwistZero_one (U : Opens (ProjectiveSpectrum.top 𝒜)) :
structureSheafToTwistZero 𝒜 U 1 = (twistOne 𝒜).eval (op U)
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 593. The attribute's comment: “the degree-zero comparison is multiplicative”.
The comparison is multiplicative, the product on the right being the degree-zero part of the multiplication of twists.
theorem structureSheafToTwistZero_mul (U : Opens (ProjectiveSpectrum.top 𝒜))
(r r' : (ProjectiveSpectrum.Proj.structureSheaf 𝒜).obj.obj (op U)) :
structureSheafToTwistZero 𝒜 U (r * r') =
twistMulSection 𝒜 0 0 (op U) (structureSheafToTwistZero 𝒜 U r)
(structureSheafToTwistZero 𝒜 U r')
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero_injective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 609. The attribute's comment: “injectivity of the degree-zero comparison”.
The comparison of the structure sheaf with
𝒪_P(0)is injective over every open.
theorem structureSheafToTwistZero_injective (U : Opens (ProjectiveSpectrum.top 𝒜)) :
Function.Injective (structureSheafToTwistZero 𝒜 U)
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 617. The attribute's comment: “surjectivity of the degree-zero comparison”.
The comparison of the structure sheaf with
𝒪_P(0)is surjective over every open.
theorem structureSheafToTwistZero_surjective (U : Opens (ProjectiveSpectrum.top 𝒜)) :
Function.Surjective (structureSheafToTwistZero 𝒜 U)
Stacks.AlgebraicGeometry.ProjConeTwist.structureSheafToTwistZero_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPresentation.lean, line 642. The attribute's comment: “the degree-zero piece is the structure sheaf”.
The degree-zero piece of the twist algebra is the structure sheaf: over every open the comparison is a bijection.
theorem structureSheafToTwistZero_bijective (U : Opens (ProjectiveSpectrum.top 𝒜)) :
Function.Bijective (structureSheafToTwistZero 𝒜 U)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTotalPresheafHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 97. The attribute's comment: “the degreewise inclusions as a morphism of presheaves of rings from the ungraded realization of the integral twist algebra to (pi|_U)_* O_U, for the truncation cone”.
The degreewise inclusions as a morphism of presheaves of rings from the ungraded realization of the algebra of all integral twists into
(π|_U)_* 𝒪_U.
def puncturedTotalPresheafHom :
(integerTwistPresheafAlgebra 𝒜).totalPresheaf ⟶ (puncturedConePushforwardRingSheaf 𝒜).obj
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeUngradedSheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 131. The attribute's comment: “the identification (pi|_U)_* O_U = the ungraded realization of the integral twist algebra, as sheaves of rings, for the punctured cone of the truncation algebra”.
(π|_U)_* 𝒪_Uis the ungraded realization of the algebra of all integral twists, as sheaves of rings.
def puncturedConeUngradedSheafIso :
(integerTwistAlgebra 𝒜).ungradedSheaf ≅ puncturedConePushforwardRingSheaf 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.heq_twistMul_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 151. The attribute's comment: “the multiplication of the integral twist algebra is commutative on homogeneous local sections”.
The multiplication of the algebra of all integral twists is commutative on homogeneous local sections: it is the pointwise product of the values in the module fibres.
theorem heq_twistMul_comm (i j : ℤ) (V : (Opens (ProjectiveSpectrum.top 𝒜))ᵒᵖ)
(a : (twistingSheaf 𝒜 i).val.obj V) (b : (twistingSheaf 𝒜 j).val.obj V) :
HEq ((twistMul 𝒜 i j).app V a b) ((twistMul 𝒜 j i).app V b a)
Stacks.AlgebraicGeometry.ProjConeTwist.integerTwistAlgebraSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 164. The attribute's comment: “the integral twist algebra as a sheaf of commutative algebras over the structure sheaf of P”.
The algebra of all integral twists
⨁_{m ∈ ℤ} 𝒪_P(m)as a sheaf of commutative𝒪_P-algebras.
def integerTwistAlgebraSheaf : Stacks.RelativeSpec.AlgebraSheaf (AlgebraicGeometry.Proj 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTotalMap_structureMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 174. The attribute's comment: “the degreewise inclusions carry the structure map of the ungraded realization of the integral twist algebra to the pullback of functions along the punctured cone projection”.
The degreewise inclusions carry the structure map
r ↦ r · 1of the ungraded realization to the pullback of functions alongπ|_U.
theorem puncturedTotalMap_structureMap (V : Opens (ProjectiveSpectrum.top 𝒜))
(r : ((ProjectiveSpectrum.Proj.structureSheaf 𝒜).obj ⋙
forget₂ CommRingCat.{u} RingCat.{u}).obj (op V)) :
puncturedTotalMap 𝒜 V ((integerTwistPresheafAlgebra 𝒜).structureMap (op V) r) =
(((openUInL 𝒜).ι ≫ pi 𝒜).c.app (op V)).hom r
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 205. The attribute's comment: “the identification (pi|_U)_* O_U = the integral twist algebra, as sheaves of commutative algebras over the structure sheaf of P, for the punctured cone of the truncation algebra”.
(π|_U)_* 𝒪_Uis the algebra of all integral twists, as sheaves of commutative𝒪_P-algebras.
def puncturedConeAlgebraSheafIso :
integerTwistAlgebraSheaf 𝒜 ≅ pushforwardAlgebra ((openUInL 𝒜).ι ≫ pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.isQuasicoherent_integerTwistAlgebraSheaf, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 222. The attribute's comment: “the integral twist algebra is a quasi-coherent sheaf of algebras over the structure sheaf of P”.
The algebra of all integral twists is a quasi-coherent sheaf of
𝒪_P-algebras: it is the direct image of the structure sheaf of the punctured cone along the affine morphismπ|_U.
instance isQuasicoherent_integerTwistAlgebraSheaf :
Stacks.RelativeSpec.AlgebraSheaf.IsQuasicoherent (integerTwistAlgebraSheaf 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecTwistAlgebraIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedAlgebraSheaf.lean, line 231. The attribute's comment: “U is, over P, the relative spectrum of the integral twist algebra, for the punctured cone of the truncation algebra”.
U = Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)): the punctured cone is, overP = Proj A, the relative spectrum of the algebra of all integral twists.
def puncturedConeRelativeSpecTwistAlgebraIso :
Over.mk ((openUInL 𝒜).ι ≫ pi 𝒜) ≅
Over.mk (relativeSpecToBase (integerTwistAlgebraSheaf 𝒜))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTwistDirectSumHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedCoproduct.lean, line 95. The attribute's comment: “the family of degreewise inclusions O_P(m) -> (pi|_U)_* O_U as one morphism out of the objectwise direct sum over all integers m, for the truncation cone”.
The family of punctured degreewise inclusions as a single morphism out of the objectwise direct sum
⨁_{m ∈ ℤ} 𝒪_P(m) ⟶ (π|_U)_* 𝒪_U.
def puncturedTwistDirectSumHom :
Stacks.directSum (fun m : ℤ => (twistingSheaf 𝒜 m).val) ⟶
(Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜)).val
Stacks.AlgebraicGeometry.ProjConeTwist.bijective_puncturedTwistDirectSumHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedCoproduct.lean, line 123. The attribute's comment: “the morphism out of the objectwise direct sum of the twisting sheaves is bijective on the sections over a standard open of a positive-degree homogeneous element, for the punctured cone of the truncation algebra”.
Over a standard open of a positive-degree homogeneous element the morphism out of the objectwise direct sum is bijective. It agrees there with the additive equivalence
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsEquivTwistSections, read backwards.
theorem bijective_puncturedTwistDirectSumHom_app (p : PositiveElem 𝒜) :
Function.Bijective
((puncturedTwistDirectSumHom 𝒜).app (op (positiveBasicOpen 𝒜 p))).hom
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeStructureSheafifyIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedCoproduct.lean, line 151. The attribute's comment: “the direct image of the structure sheaf of the punctured cone is the sheafification of the objectwise direct sum of all the twisting sheaves, for the truncation cone”.
(π|_U)_* 𝒪_Uis the sheafification of the objectwise direct sum⨁_{m ∈ ℤ} 𝒪_P(m). The comparison morphism is bijective on the sections over every standard open of a positive-degree homogeneous element, and those form a basis ofP.
def puncturedConeStructureSheafifyIso :
(PresheafOfModules.sheafification (𝟙 _)).obj
(Stacks.directSum fun m : ℤ => (twistingSheaf 𝒜 m).val) ≅
Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeStructureCoproductIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedCoproduct.lean, line 169. The attribute's comment: “the identification (pi|_U)_* O_U = the coproduct over all integers m of the twisting sheaves O_P(m), as sheaves of O_P-modules, for the punctured cone of the truncation algebra”.
(π|_U)_* 𝒪_U ≅ ∐_{m ∈ ℤ} 𝒪_P(m): the identification of [Stacks, Tag 0EKG] of the direct image of the structure sheaf of the punctured cone with the coproduct, over all integers, of the twisting sheaves ofP = Proj A.
def puncturedConeStructureCoproductIso :
Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜) ≅
∐ fun m : ℤ => twistingSheaf 𝒜 m
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeStructurePushforwardCoproductIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedCoproduct.lean, line 182. The attribute's comment: “the identification (pi|_U)_* O_U = the coproduct over all integers m of the twisting sheaves O_P(m), with the source written as the direct image along the punctured cone projection of the truncation cone data”.
(π|_U)_* 𝒪_U ≅ ∐_{m ∈ ℤ} 𝒪_P(m), with the source written as the direct image alongStacks.AlgebraicGeometry.ProjAndSpec.puncturedConeProjof the structure sheaf of the punctured cone. This is the form in which the identification is consumed by the projection formula alongπ|_U.
def puncturedConeStructurePushforwardCoproductIso :
(Scheme.Modules.pushforward
(Stacks.AlgebraicGeometry.ProjAndSpec.puncturedConeProj (truncationConeData 𝒜))).obj
(SheafOfModules.unit
(Stacks.AlgebraicGeometry.ProjAndSpec.openUInL
(truncationConeData 𝒜)).toScheme.ringCatSheaf) ≅
∐ fun m : ℤ => twistingSheaf 𝒜 m
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedGlobalMap.lean, line 143. The attribute's comment: “the degreewise inclusion O_P(m) to (pi|_U)_* O_U over standard opens is compatible with restriction between two standard opens, for every integer m”.
The local punctured degreewise inclusion commutes with restriction to a smaller standard open. This is the compatibility the gluing principle of [Stacks, Tag 009U] asks for.
theorem puncturedConeTwistApp_restrict (m : ℤ) {d e : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hg : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(s : (twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(puncturedConeTwistApp 𝒜 m e hg he).hom
(((twistingSheaf 𝒜 m).val.map (homOfLE hfg).op).hom s) =
((Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜)).val.map
(homOfLE hfg).op).hom ((puncturedConeTwistApp 𝒜 m d hf hd).hom s)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp_degree_indep, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedGlobalMap.lean, line 184. The attribute's comment: “the degreewise inclusion O_P(m) to (pi|_U)_* O_U over one standard open depends only on that open, not on the degree of the element cutting it out, for every integer m”.
The local punctured degreewise inclusion depends only on the standard open, not on the degree in which the element cutting it out is homogeneous.
theorem puncturedConeTwistApp_degree_indep (m : ℤ) {d d' : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hf' : f ∈ 𝒜 d') (hd' : 0 < d') :
puncturedConeTwistApp 𝒜 m d hf hd = puncturedConeTwistApp 𝒜 m d' hf' hd'
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTwistHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedGlobalMap.lean, line 227. The attribute's comment: “the degreewise inclusion O_P(m) to (pi|_U)_* O_U as a morphism of sheaves of O_P-modules, for the punctured cone of the truncation algebra and every integer m”.
The degreewise inclusion
𝒪_P(m) ⟶ (π|_U)_* 𝒪_U, for every integerm: the morphism of sheaves of𝒪_P-modules glued from the local maps over the standard opens of positive-degree homogeneous elements. This is the degreewise half of the presentation(π|_U)_* 𝒪_U = ⨁_{m ∈ ℤ} 𝒪_P(m)of [Stacks, Tag 0EKG].
def puncturedTwistHom (m : ℤ) :
ProjectiveSpectrum.Proj.twistingSheaf 𝒜 m ⟶
Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTwistHom_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedGlobalMap.lean, line 238. The attribute's comment: “the global punctured degreewise inclusion restricts on each standard open to the local one, for every integer m”.
The glued punctured morphism restricts on a standard open to the local degreewise inclusion.
theorem puncturedTwistHom_app (m : ℤ) (p : PositiveElem 𝒜) :
(puncturedTwistHom 𝒜 m).val.app (op (positiveBasicOpen 𝒜 p)) =
puncturedConeTwistStandardOpenApp 𝒜 m p
Stacks.Truncation.puncturedToLocalization_degreeZeroRingMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 119. The attribute's comment: “the comparison maps (B[1/sigma f * psi f])_0 to A[1/f] and (B[1/psi f])_0 to A[1/f] agree across the degree-zero restriction map of B attached to D+(sigma f * psi f) <= D+(psi f)”.
The comparison maps
(B[1/σ f · ψ f])₀ → A[1/f]and(B[1/ψ f])₀ → A[1/f]agree across the restriction map ofBattached toD₊(σ f · ψ f) ⊆ D₊(ψ f).
theorem puncturedToLocalization_degreeZeroRingMap
(hψf : ∃ e : ℕ, 0 < e ∧ psi 𝒜 f ∈ grading 𝒜 e)
(hσψf : ∃ e : ℕ, 0 < e ∧ sigmaMulPsi 𝒜 f ∈ grading 𝒜 e)
(hle : ProjectiveSpectrum.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 f) ≤
ProjectiveSpectrum.basicOpen (grading 𝒜) (psi 𝒜 f))
(z : HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)) :
puncturedToLocalization 𝒜
(ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (sigmaMulPsi 𝒜 f)
hψf hσψf hle z) =
awayToLocalization 𝒜 z
Stacks.Truncation.puncturedToLocalization_degreeZeroRingMap_map_psi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 153. The attribute's comment: “the comparison map (B[1/sigma f * psi f])_0 to A[1/f] undoes the chart description of the punctured cone projection on a standard open”.
The comparison map
(B[1/σ f · ψ f])₀ → A[1/f]undoes the chart description of the punctured cone projection, the mapA₍f₎ → B₍σ f · ψ f₎of degree-zero localizations attached toψfollowed by restriction.
theorem puncturedToLocalization_degreeZeroRingMap_map_psi (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(r : HomogeneousLocalization.Away 𝒜 f) :
puncturedToLocalization 𝒜
(ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (sigmaMulPsi 𝒜 f)
⟨d, hd, GradedRingHom.map_mem (psi 𝒜) hf⟩ ⟨d, hd, sigmaMulPsi_mem_grading 𝒜 d hf⟩
(basicOpen_sigmaMulPsi_le_psi 𝒜)
(HomogeneousLocalization.Away.map (psi 𝒜) f r)) =
r.val
Stacks.Truncation.puncturedGradingEquivSectionsTwist_symm_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 185. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) over D+(f) into the degree-zero localization of the truncation algebra at sigma f * psi f is semilinear for the chart description of the punctured cone projection, for every integer m”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/σ f · ψ f])₀is semilinear for the chart description of the punctured cone projection, the mapA₍f₎ → B₍σ f · ψ f₎of degree-zero localizations attached toψfollowed by restriction. Scaling a section of𝒪_P(m)by a degree-zero fractionrmultiplies its image by the image ofr.
theorem puncturedGradingEquivSectionsTwist_symm_smul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (m : ℤ)
(r : HomogeneousLocalization.Away 𝒜 f)
(s : (twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(((puncturedGradingEquivSectionsTwist 𝒜 d hf hd m).symm
((ProjectiveSpectrum.Proj.awayToSection 𝒜 f).hom r • s) :
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f))) =
ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (sigmaMulPsi 𝒜 f)
⟨d, hd, GradedRingHom.map_mem (psi 𝒜) hf⟩ ⟨d, hd, sigmaMulPsi_mem_grading 𝒜 d hf⟩
(basicOpen_sigmaMulPsi_le_psi 𝒜) (HomogeneousLocalization.Away.map (psi 𝒜) f r) *
(((puncturedGradingEquivSectionsTwist 𝒜 d hf hd m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f)))
Stacks.Truncation.puncturedGradingEquivSectionsTwist_symm_degree_indep, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 207. The attribute's comment: “the punctured degreewise inclusion over one standard open depends only on that open, not on the degree of the element cutting it out”.
The punctured degreewise inclusion depends only on the standard open, not on the degree in which
fis homogeneous.
theorem puncturedGradingEquivSectionsTwist_symm_degree_indep {d d' : ℕ} (hf : f ∈ 𝒜 d)
(hd : 0 < d) (hf' : f ∈ 𝒜 d') (hd' : 0 < d') (m : ℤ)
(s : (twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(((puncturedGradingEquivSectionsTwist 𝒜 d hf hd m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f))) =
(((puncturedGradingEquivSectionsTwist 𝒜 d' hf' hd' m).symm s :
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f)))
Stacks.AlgebraicGeometry.ProjConeTwist.openUInL_image_puncturedPi_preimage_basicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 262. The attribute's comment: “the image in L of the chart of U over a standard open D+(f) is the standard open D+(sigma f * psi f), for the truncation cone”.
The image in
Lof the chart ofUoverD₊(f)is the standard openD₊(σ f · ψ f).
theorem openUInL_image_puncturedPi_preimage_basicOpen (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(openUInL 𝒜).ι ''ᵁ (((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f) =
AlgebraicGeometry.Proj.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 f)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedPi_preimage_basicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 272. The attribute's comment: “the chart of U over a standard open D+(f) is the inverse image of D+(sigma f * psi f) under the open immersion of U, for the truncation cone”.
The chart of
UoverD₊(f)is the inverse image ofD₊(σ f · ψ f).
theorem puncturedPi_preimage_basicOpen (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
((openUInL 𝒜).ι ≫ pi 𝒜) ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f =
(openUInL 𝒜).ι ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 f)
Stacks.AlgebraicGeometry.ProjConeTwist.awayToSection_puncturedPi_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 330. The attribute's comment: “the punctured cone projection on functions over a standard open, with the sections over D+(sigma f * psi f) restricted to the chart of U over D+(f)”.
The punctured cone projection on functions over a standard open, in the form the direct image needs: the image of a degree-zero fraction of
Aunder the chart descriptionpuncturedAwayMap, read as a function onD₊(σ f · ψ f)and restricted to the chart ofUoverD₊(f), is the pullback of that fraction alongπ|_U.
theorem awayToSection_puncturedPi_app (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(r : HomogeneousLocalization.Away 𝒜 f) :
(puncturedChartRestrict 𝒜 d hf hd).hom
((AlgebraicGeometry.Proj.awayToSection (grading 𝒜) (sigmaMulPsi 𝒜 f)).hom
(ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (psi 𝒜 f) (sigmaMulPsi 𝒜 f)
⟨d, hd, GradedRingHom.map_mem (psi 𝒜) hf⟩
⟨d, hd, sigmaMulPsi_mem_grading 𝒜 d hf⟩ (basicOpen_sigmaMulPsi_le_psi 𝒜)
(HomogeneousLocalization.Away.map (psi 𝒜) f r))) =
(((openUInL 𝒜).ι ≫ pi 𝒜).app (AlgebraicGeometry.Proj.basicOpen 𝒜 f)).hom
((AlgebraicGeometry.Proj.awayToSection 𝒜 f).hom r)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistAwayHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 365. The attribute's comment: “the degreewise inclusion of the sections of O_P(m) over D+(f) into the degree-zero localization of the truncation algebra at sigma f * psi f, as an additive map, for every integer m”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/σ f · ψ f])₀, as an additive map, for every integerm. It is the inverse ofStacks.Truncation.puncturedGradingEquivSectionsTwistfollowed by the inclusion of the degree-msummand.
def puncturedConeTwistAwayHom (m : ℤ) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
((twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) →+
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalMap.lean, line 384. The attribute's comment: “the degreewise inclusion O_P(m) to (pi|_U)_* O_U over one standard open D+(f), as a map of modules over the sections of O_P there, for every integer m”.
The local degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) ⟶ Γ(D₊(f), (π|_U)_* 𝒪_U), as a morphism of modules over the sections of𝒪_PonD₊(f), for every integerm. This is the local datum from which the global morphism𝒪_P(m) ⟶ (π|_U)_* 𝒪_Uis glued.
def puncturedConeTwistApp (m : ℤ) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)) ⟶
(Stacks.Morphisms.pushforwardStructureSheaf ((openUInL 𝒜).ι ≫ pi 𝒜)).val.obj
(op (AlgebraicGeometry.Proj.basicOpen 𝒜 f))
Stacks.Truncation.puncturedToLocalization_degreeZeroRingMap_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalRestriction.lean, line 82. The attribute's comment: “the comparison maps (B[1/sigma f * psi f])_0 to A[1/f] commute with the restriction maps of degree-zero localizations, for a general inclusion D+(g) <= D+(f) of standard opens”.
The comparison maps
(B[1/σ f · ψ f])₀ → A[1/f]commute with the restriction maps of degree-zero localizations: the one ofBattached toD₊(σ g · ψ g) ⊆ D₊(σ f · ψ f)on the source, the one ofAattached toD₊(g) ⊆ D₊(f)on the target. This is the restriction compatibility of the degreewise description of the functions on the punctured cone.
theorem puncturedToLocalization_degreeZeroRingMap_le
(hf : ∃ d : ℕ, 0 < d ∧ f ∈ 𝒜 d) (hg : ∃ e : ℕ, 0 < e ∧ g ∈ 𝒜 e)
(hσψf : ∃ d : ℕ, 0 < d ∧ sigmaMulPsi 𝒜 f ∈ grading 𝒜 d)
(hσψg : ∃ e : ℕ, 0 < e ∧ sigmaMulPsi 𝒜 g ∈ grading 𝒜 e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(hσψfg : ProjectiveSpectrum.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 g) ≤
ProjectiveSpectrum.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 f))
(z : HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f)) :
puncturedToLocalization 𝒜
(ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (sigmaMulPsi 𝒜 f) (sigmaMulPsi 𝒜 g)
hσψf hσψg hσψfg z) =
ProjectiveSpectrum.localizedRingMap 𝒜 f g hf hg hfg (puncturedToLocalization 𝒜 z)
Stacks.AlgebraicGeometry.ProjConeTwist.basicOpen_sigmaMulPsi_le_of_basicOpen_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalRestriction.lean, line 126. The attribute's comment: “the chart of U over D+(g) is contained in the chart over D+(f), for the truncation cone and an inclusion D+(g) <= D+(f) of standard opens of P”.
The chart of
UoverD₊(g)is contained in the chart overD₊(f)as soon asD₊(g) ⊆ D₊(f): each chart is the partU ⊓ D₊(ψ ·)of the punctured cone lying over the standard open, andψcarries the inclusion to one of standard opens ofL.
theorem basicOpen_sigmaMulPsi_le_of_basicOpen_le {d e : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hg : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f) :
ProjectiveSpectrum.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 g) ≤
ProjectiveSpectrum.basicOpen (grading 𝒜) (sigmaMulPsi 𝒜 f)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistAwayHom_degreeZeroRingMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedLocalRestriction.lean, line 146. The attribute's comment: “the punctured degreewise inclusion of the sections of O_P(m) into the degree-zero localization of the truncation algebra at sigma f * psi f commutes with restriction between two standard opens, for every integer m”.
The punctured degreewise inclusion commutes with restriction between two standard opens, read in the degree-zero localizations of the truncation algebra. On the source the restriction of a section of
𝒪_P(m)is the map of localizations of the shifted regular module, on the target it is the degree-zero restriction map ofB, and the comparison maps toA[1/g]identify the two.
theorem puncturedConeTwistAwayHom_degreeZeroRingMap (m : ℤ) {d e : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(hg : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒜 m).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
puncturedConeTwistAwayHom 𝒜 m e hg he
(((ProjectiveSpectrum.Proj.twistingSheaf 𝒜 m).val.map (homOfLE hfg).op).hom s) =
ProjectiveSpectrum.degreeZeroRingMap (grading 𝒜) (sigmaMulPsi 𝒜 f) (sigmaMulPsi 𝒜 g)
⟨d, hd, sigmaMulPsi_mem_grading 𝒜 d hf⟩ ⟨e, he, sigmaMulPsi_mem_grading 𝒜 e hg⟩
(basicOpen_sigmaMulPsi_le_of_basicOpen_le 𝒜 hf hd hg he hfg)
(puncturedConeTwistAwayHom 𝒜 m d hf hd s)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistAwayHom_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 88. The attribute's comment: “the punctured degreewise inclusion of the sections of the twisting sheaves over D+(f) into the degree-zero localization of the truncation algebra at sigma f * psi f is multiplicative, in every pair of integer degrees”.
The punctured degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/σ f · ψ f])₀is multiplicative, in every pair of integer degrees.
theorem puncturedConeTwistAwayHom_mul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℤ)
(x : (twistingSheaf 𝒜 i).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 j).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
puncturedConeTwistAwayHom 𝒜 (i + j) d hf hd
(twistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y) =
puncturedConeTwistAwayHom 𝒜 i d hf hd x * puncturedConeTwistAwayHom 𝒜 j d hf hd y
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistAwayHom_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 111. The attribute's comment: “the punctured degreewise inclusion of the sections of the untwisted sheaf over D+(f) into the degree-zero localization of the truncation algebra at sigma f * psi f carries the unit section to 1”.
The punctured degreewise inclusion
Γ(D₊(f), 𝒪_P(0)) → (B[1/σ f · ψ f])₀is unital.
theorem puncturedConeTwistAwayHom_one (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
puncturedConeTwistAwayHom 𝒜 0 d hf hd
((twistOne 𝒜).eval (op (ProjectiveSpectrum.basicOpen 𝒜 f))) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 126. The attribute's comment: “the local punctured degreewise inclusion of the sections of O_P(m) into the functions on the punctured cone over D+(f) is multiplicative, in every pair of integer degrees”.
The local punctured degreewise inclusion on sections is multiplicative, in every pair of integer degrees.
theorem puncturedConeTwistApp_mul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℤ)
(x : (twistingSheaf 𝒜 i).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 j).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(show puncturedConeSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(puncturedConeTwistApp 𝒜 (i + j) d hf hd).hom
(twistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y)) =
(show puncturedConeSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(puncturedConeTwistApp 𝒜 i d hf hd).hom x) *
(show puncturedConeSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(puncturedConeTwistApp 𝒜 j d hf hd).hom y)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 148. The attribute's comment: “the local punctured degreewise inclusion in degree zero carries the unit section of the untwisted sheaf to the function 1 on the punctured cone, over a standard open”.
The local punctured degreewise inclusion in degree zero carries the unit section to the function
1on the part of the punctured cone over the standard open.
theorem puncturedConeTwistApp_one (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(show puncturedConeSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(puncturedConeTwistApp 𝒜 0 d hf hd).hom
((twistOne 𝒜).eval (op (ProjectiveSpectrum.basicOpen 𝒜 f)))) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTwistHom_mul_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 243. The attribute's comment: “the inclusions of the homogeneous pieces of the integral twist algebra in (pi|_U)_* O_U are multiplicative, over every open of P and in every pair of integer degrees, for the punctured cone of the truncation algebra”.
The inclusions of the homogeneous pieces of the algebra of all integral twists in
(π|_U)_* 𝒪_Umultiply as the grading prescribes, over every open ofPand in every pair of integer degrees. This is theι_mulcondition ofAlgebraicGeometry.AbstractConefor the punctured cone of the truncation algebra, graded byStacks.AlgebraicGeometry.ProjConeTwist.integerTwistAlgebra.
theorem puncturedTwistHom_mul_app (i j : ℤ) (U : Opens (ProjectiveSpectrum.top 𝒜))
(a : (twistingSheaf 𝒜 i).val.obj (op U)) (b : (twistingSheaf 𝒜 j).val.obj (op U)) :
(show puncturedConeSections 𝒜 U from
(puncturedTwistHom 𝒜 (i + j)).val.app (op U)
((twistMul 𝒜 i j).app (op U) a b)) =
(show puncturedConeSections 𝒜 U from (puncturedTwistHom 𝒜 i).val.app (op U) a) *
(show puncturedConeSections 𝒜 U from (puncturedTwistHom 𝒜 j).val.app (op U) b)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTwistHom_one_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedMul.lean, line 267. The attribute's comment: “the inclusion of the degree-zero piece of the integral twist algebra carries the unit of the algebra to the function 1 on the punctured cone, over every open of P”.
The inclusion of the degree-zero piece of the algebra of all integral twists carries the unit of that algebra to the function
1on the punctured cone, over every open ofP.
theorem puncturedTwistHom_one_app (U : Opens (ProjectiveSpectrum.top 𝒜)) :
(show puncturedConeSections 𝒜 U from
(puncturedTwistHom 𝒜 0).val.app (op U) ((twistOne 𝒜).eval (op U))) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsEquivAway, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedPushforward.lean, line 67. The attribute's comment: “the sections of the direct image of the structure sheaf of the punctured cone over a standard open D₊(f) of P are the localization A[1/f]”.
The sections of the direct image of the structure sheaf of the punctured cone over a standard open
D₊(f)ofP = Proj Aare the localization ofAatf:((π|_U)_* 𝒪_U)(D₊(f)) ≃+* A[1/f].
def puncturedConeAlgebraSectionsEquivAway (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(puncturedConeAlgebra (truncationConeData 𝒜)).right.obj.obj
(op (Proj.basicOpen 𝒜 f)) ≃+*
Localization.Away f
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsRingEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedPushforward.lean, line 82. The attribute's comment: “the footnote computation (π|_U)_* O_U = ⨁_{m ∈ ℤ} O_P(m), over one standard open D₊(f) of P and for the truncation algebra, with the summands written as the homogeneous parts of A[1/f]”.
The sections of the direct image of the structure sheaf of the punctured cone over a standard open
D₊(f)ofP = Proj Aare the direct sum, over all integer degrees, of the homogeneous parts of the localizationA[1/f]:((π|_U)_* 𝒪_U)(D₊(f)) ≃+* ⨁_{m ∈ ℤ} (A[1/f])_m.
def puncturedConeAlgebraSectionsRingEquiv (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(puncturedConeAlgebra (truncationConeData 𝒜)).right.obj.obj
(op (Proj.basicOpen 𝒜 f)) ≃+*
(⨁ m : ℤ, ↥(puncturedGrading 𝒜 d hf m))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsEquivTwistSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedPushforward.lean, line 98. The attribute's comment: “the footnote computation (π|_U)_* O_U = ⨁_{m ∈ ℤ} O_P(m), over one standard open D₊(f) of P and for the truncation algebra, with the summands written as the sections of the twisting sheaves”.
The sections of the direct image of the structure sheaf of the punctured cone over a standard open
D₊(f)ofP = Proj Aare the direct sum of the sections of the twisting sheaves overD₊(f):((π|_U)_* 𝒪_U)(D₊(f)) ≃+ ⨁_{m ∈ ℤ} Γ(D₊(f), 𝒪_P(m)).
def puncturedConeAlgebraSectionsEquivTwistSections (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(puncturedConeAlgebra (truncationConeData 𝒜)).right.obj.obj
(op (Proj.basicOpen 𝒜 f)) ≃+
(⨁ m : ℤ, ↥((ProjectiveSpectrum.Proj.twistingSheaf 𝒜 m).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))))
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSectionsEquivTwistSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedPushforward.lean, line 112. The attribute's comment: “the footnote computation π_* O_L = ⨁_{m ≥ 0} O_P(m), over one standard open D₊(f) of P and for the truncation algebra, with the summands written as the sections of the twisting sheaves”.
The sections of the direct image of the structure sheaf of the cone over a standard open
D₊(f)ofP = Proj Aare the direct sum of the sections of the nonnegative twisting sheaves overD₊(f):(π_* 𝒪_L)(D₊(f)) ≃+ ⨁_{m ≥ 0} Γ(D₊(f), 𝒪_P(m)).
def coneAlgebraSectionsEquivTwistSections (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(coneAlgebra (truncationConeData 𝒜)).right.obj.obj
(op (Proj.basicOpen 𝒜 f)) ≃+
(⨁ m : ℕ, ↥((ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsRingEquiv_symm_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedStandardOpenSum.lean, line 75. The attribute's comment: “the inverse of the standard-open direct-sum decomposition of the functions on the punctured cone carries the m-th summand to the inclusion of a degree-m fraction, for every integer m”.
The
m-th summand of the ring isomorphismΓ(D₊(f), (π|_U)_* 𝒪_U) ≃+* ⨁_{m ∈ ℤ} (A[1/f])_m. Read backwards, a degree-melementyof(B[1/σ f · ψ f])₀placed in them-th summand isyitself, read as a function onD₊(σ f · ψ f)through the identification of [Stacks, Tag 01M6] and restricted to the chart ofUoverD₊(f).
theorem puncturedConeAlgebraSectionsRingEquiv_symm_of (m : ℤ) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(y : puncturedGrading 𝒜 d hf m) :
(puncturedConeAlgebraSectionsRingEquiv 𝒜 d hf hd).symm
(DirectSum.of (fun k : ℤ => ↥(puncturedGrading 𝒜 d hf k)) m y) =
(eqToHom (puncturedConeAlgebra_sections_basicOpen 𝒜 d hf hd).symm).hom
((AlgebraicGeometry.Proj.awayToSection (grading 𝒜) (sigmaMulPsi 𝒜 f)).hom
(y : HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f)))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeAlgebraSectionsEquivTwistSections_symm_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedStandardOpenSum.lean, line 104. The attribute's comment: “the m-th summand of the standard-open direct-sum decomposition of the functions on the punctured cone is the local degreewise inclusion of the sections of O_P(m), for the truncation cone and every integer m”.
The
m-th summand of the standard-open decompositionΓ(D₊(f), (π|_U)_* 𝒪_U) = ⨁_{m ∈ ℤ} Γ(D₊(f), 𝒪_P(m))is the local degreewise inclusionStacks.AlgebraicGeometry.ProjConeTwist.puncturedConeTwistApp. This identifies the footnote computation of [Stacks, Tag 0EKG] over one standard open with the local datum the morphism𝒪_P(m) ⟶ (π|_U)_* 𝒪_Uof sheaves of𝒪_P-modules is glued from.
theorem puncturedConeAlgebraSectionsEquivTwistSections_symm_of (m : ℤ) (d : ℕ) (hf : f ∈ 𝒜 d)
(hd : 0 < d)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒜 m).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(puncturedConeAlgebraSectionsEquivTwistSections 𝒜 d hf hd).symm (DirectSum.of _ m s) =
(puncturedConeTwistApp 𝒜 m d hf hd).hom s
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTotalMap_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedTotalRing.lean, line 158. The attribute's comment: “the comparison from the objectwise direct sum of the twisting sheaves to the functions on the punctured cone is multiplicative, over every open of P”.
The map is multiplicative.
theorem puncturedTotalMap_mul (V : Opens (ProjectiveSpectrum.top 𝒜))
(z w : (integerTwistPresheafAlgebra 𝒜).Total (op V)) :
puncturedTotalMap 𝒜 V (z * w) = puncturedTotalMap 𝒜 V z * puncturedTotalMap 𝒜 V w
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedTotalRingHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPuncturedTotalRing.lean, line 174. The attribute's comment: “the degreewise inclusions as a ring homomorphism from the sections of the ungraded realization of the integral twist algebra to the functions on the punctured cone, over every open of P, for the truncation cone”.
The degreewise inclusions as a ring homomorphism
Γ(V, ⨁_{m ∈ ℤ} 𝒪_P(m)) →+* Γ(U, (π|_U)⁻¹V). The sections of the ungraded realization of the algebra of all integral twists overVmap to the functions on the part of the punctured cone lying overV, degreewise by the inclusion of the twisting sheaf.
def puncturedTotalRingHom (V : Opens (ProjectiveSpectrum.top 𝒜)) :
(integerTwistPresheafAlgebra 𝒜).Total (op V) →+* puncturedConeSections 𝒜 V
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSectionsRingEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistPushforward.lean, line 55. The attribute's comment: “the footnote computation π_* O_L = ⨁_{m ≥ 0} O_P(m), over one standard open D₊(f) of P and for the truncation algebra, with the summands written as the homogeneous parts of A[1/f]”.
The sections of the direct image of the structure sheaf of the cone over a standard open
D₊(f)ofP = Proj Aare the direct sum, over the nonnegative degrees, of the homogeneous parts of the localizationA[1/f]:(π_* 𝒪_L)(D₊(f)) ≃+* ⨁_{m ≥ 0} (A[1/f])_m.
def coneAlgebraSectionsRingEquiv (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(coneAlgebra (truncationConeData 𝒜)).right.obj.obj (op (Proj.basicOpen 𝒜 f)) ≃+*
(⨁ m : ℕ, ↥(awayGrading 𝒜 d hf m))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeRelativeSpecTwistAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 94. The attribute's comment: “the top-left arrow of the diagram, the morphism of relative spectra over P induced by the inclusion of the nonnegative twist algebra in the integral one”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))overP = Proj Ainduced by the inclusion⨁_{m ≥ 0} 𝒪_P(m) ↪ ⨁_{m ∈ ℤ} 𝒪_P(m)ofStacks.AlgebraicGeometry.ProjConeTwist.nonnegToIntegerTwistAlgebraSheafHom.
def puncturedToConeRelativeSpecTwistAlgebra :
Over.mk (relativeSpecToBase (integerTwistAlgebraSheaf 𝒜)) ⟶
Over.mk (relativeSpecToBase (nonnegTwistAlgebraSheaf 𝒜))
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeRelativeSpecTwistAlgebra_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 105. The attribute's comment: “the top-left arrow of the diagram is the open immersion of the punctured cone in the cone, under the two presentations as relative spectra, as morphisms over P”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))is the open immersion of the punctured cone in the cone, under the two presentationsL = Spec_P(⨁_{m ≥ 0} 𝒪_P(m))andU = Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)), as morphisms overP = Proj A.
theorem puncturedToConeRelativeSpecTwistAlgebra_comp :
puncturedToConeRelativeSpecTwistAlgebra 𝒜 ≫ (coneRelativeSpecTwistAlgebraIso 𝒜).inv =
(puncturedConeRelativeSpecTwistAlgebraIso 𝒜).inv ≫ openUInLOver 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeRelativeSpecTwistAlgebra_left_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 146. The attribute's comment: “the left square of the diagram commutes: the top-left arrow followed by L → X is the left identification with U followed by the inclusion of U in X”. References: EGA II (8.6.2), “special case”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m)) = Lfollowed by the structure morphismσ : L ⟶ Xis the identificationSpec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ≅ UofStacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecTwistAlgebraIsoOpenUfollowed by the inclusionU ⟶ X.
theorem puncturedToConeRelativeSpecTwistAlgebra_left_comp :
(puncturedToConeRelativeSpecTwistAlgebra 𝒜).left ≫
(coneRelativeSpecTwistAlgebraIso 𝒜).inv.left ≫ toSpecA 𝒜 =
(puncturedConeRelativeSpecTwistAlgebraIsoOpenU 𝒜).hom ≫ (ProjAndSpec.openU 𝒜).ι
Stacks.AlgebraicGeometry.ProjConeTwist.coneProjIsoRelativeSpecTwistAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 160. The attribute's comment: “L = Proj B is, as a scheme, the relative spectrum over P of the nonnegative twist algebra”.
The cone
L = Proj Bof the truncation algebraB = ⨁_{d ≥ 0} A_{≥ d}is, as a scheme, the relative spectrum overP = Proj Aof the algebra of nonnegative twists.
def coneProjIsoRelativeSpecTwistAlgebra :
AlgebraicGeometry.Proj (grading 𝒜) ≅
Stacks.AffineAlgebraEquivalence.relativeSpec (nonnegTwistAlgebraSheaf 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coneProjIsoRelativeSpecTwistAlgebra_hom_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 169. The attribute's comment: “the identification of L = Proj B with the relative spectrum of the nonnegative twist algebra is one over P, as morphisms of schemes”.
The identification
L = Proj B ≅ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))is one overP: followed by the structure morphism of the relative spectrum it is the cone projectionπ : L ⟶ P.
theorem coneProjIsoRelativeSpecTwistAlgebra_hom_comp :
(coneProjIsoRelativeSpecTwistAlgebra 𝒜).hom ≫
relativeSpecToBase (nonnegTwistAlgebraSheaf 𝒜) =
pi 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecIsoTwistAlgebraViaDirectImage, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 190. The attribute's comment: “L is, over P, the relative spectrum of the nonnegative twist algebra by the route of the diagram: the presentation of L as the relative spectrum of pi_ O_L composed with the comparison of pi_ O_L with the direct sum of the twists O_P(m) over m at least 0”. References: EGA II (8.7.3), “partial”.
L ≅ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))overP, as the presentation of the cone as the relative spectrum of its direct-image algebraπ_* 𝒪_L(Stacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecIso) followed by the comparisonStacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSheafIsoofπ_* 𝒪_Lwith the algebra of nonnegative twists.
def coneRelativeSpecIsoTwistAlgebraViaDirectImage :
Over.mk (pi 𝒜) ≅ Over.mk (relativeSpecToBase (nonnegTwistAlgebraSheaf 𝒜))
Stacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecIsoTwistAlgebraViaDirectImage_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 201. The attribute's comment: “the route through pi_* O_L is the one-step identification of L with the relative spectrum of the nonnegative twist algebra”.
The identification of
LwithSpec_P(⨁_{m ≥ 0} 𝒪_P(m))throughπ_* 𝒪_LisStacks.AlgebraicGeometry.ProjConeTwist.coneRelativeSpecTwistAlgebraIso.
theorem coneRelativeSpecIsoTwistAlgebraViaDirectImage_eq :
coneRelativeSpecIsoTwistAlgebraViaDirectImage 𝒜 = coneRelativeSpecTwistAlgebraIso 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeRelativeSpecTwistAlgebra_left_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 234. The attribute's comment: “the top-left arrow of the diagram, as a morphism of schemes, is the open immersion of the punctured cone in L conjugated by the two relative-spectrum identifications”.
As a morphism of schemes,
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))is the identificationSpec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ≅ U, then the open immersionU ⟶ L, then the identificationL ≅ Spec_P(⨁_{m ≥ 0} 𝒪_P(m)).
theorem puncturedToConeRelativeSpecTwistAlgebra_left_eq :
(puncturedToConeRelativeSpecTwistAlgebra 𝒜).left =
((Over.forget (AlgebraicGeometry.Proj 𝒜)).mapIso
(puncturedConeRelativeSpecTwistAlgebraIso 𝒜)).inv ≫
(openUInL 𝒜).ι ≫ (coneProjIsoRelativeSpecTwistAlgebra 𝒜).hom
Stacks.AlgebraicGeometry.ProjConeTwist.isOpenImmersion_puncturedToConeRelativeSpecTwistAlgebra_left, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 245. The attribute's comment: “the top-left arrow of the diagram is an open immersion of schemes”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Spec_P(⨁_{m ≥ 0} 𝒪_P(m))is an open immersion of schemes.
instance isOpenImmersion_puncturedToConeRelativeSpecTwistAlgebra_left :
IsOpenImmersion (puncturedToConeRelativeSpecTwistAlgebra 𝒜).left
Stacks.AlgebraicGeometry.ProjConeTwist.opensRange_puncturedToConeRelativeSpecTwistAlgebra_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 259. The attribute's comment: “the image in L = Proj B of the top-left arrow of the diagram, read through the identification of L with the relative spectrum, is the open punctured cone”.
Read through the identification of
L = Proj BwithSpec_P(⨁_{m ≥ 0} 𝒪_P(m)), the morphismSpec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ Lhas image the punctured coneStacks.AlgebraicGeometry.ProjAndSpecTruncation.openUInL.
theorem opensRange_puncturedToConeRelativeSpecTwistAlgebra_left :
((puncturedToConeRelativeSpecTwistAlgebra 𝒜).left ≫
(coneProjIsoRelativeSpecTwistAlgebra 𝒜).inv).opensRange = openUInL 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeProj, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 278. The attribute's comment: “the top-left arrow of the diagram as a morphism of schemes whose target is the cone L = Proj B”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ L = Proj Bof schemes: the morphism of relative spectra overPread on underlying schemes, followed by the identificationSpec_P(⨁_{m ≥ 0} 𝒪_P(m)) ≅ Proj BofStacks.AlgebraicGeometry.ProjConeTwist.coneProjIsoRelativeSpecTwistAlgebra.
def puncturedToConeProj :
Stacks.AffineAlgebraEquivalence.relativeSpec (integerTwistAlgebraSheaf 𝒜) ⟶
AlgebraicGeometry.Proj (grading 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedConeRelativeSpecTwistAlgebraIsoOpenUOver, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 308. The attribute's comment: “the left square as an isomorphism over X: the left identification of Spec_P of the integer twist algebra with U is an isomorphism of schemes over X, its source lying over X by the top-left arrow followed by L → X”. References: EGA II (8.12.5), “special case”; EGA II (8.6.2), “special case”.
The identification
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ≅ Uas an isomorphism of schemes overX = Spec A, the source lying overXby the morphism toLfollowed byσ : L ⟶ Xand the target by the inclusionU ⟶ X.
def puncturedConeRelativeSpecTwistAlgebraIsoOpenUOver :
Over.mk (puncturedToConeProj 𝒜 ≫ toSpecA 𝒜) ≅ Over.mk (ProjAndSpec.openU 𝒜).ι
Stacks.AlgebraicGeometry.ProjConeTwist.puncturedToConeProjOverSpecA, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistRelativeSpecInclusion.lean, line 319. The attribute's comment: “the left square as a morphism over X: the top-left arrow of the diagram is a morphism of schemes over X, its source lying over X by the left identification with U followed by the inclusion of U in X”.
The morphism
Spec_P(⨁_{m ∈ ℤ} 𝒪_P(m)) ⟶ L = Proj Bas a morphism of schemes overX = Spec A, the source lying overXby the identification withUfollowed by the inclusionU ⟶ Xand the cone byσ : L ⟶ X.
def puncturedToConeProjOverSpecA :
Over.mk ((puncturedConeRelativeSpecTwistAlgebraIsoOpenU 𝒜).hom ≫
(ProjAndSpec.openU 𝒜).ι) ⟶
Over.mk (toSpecA 𝒜)
Stacks.AlgebraicGeometry.ProjConeTwist.coe_associatedModuleSheafStandardOpenEquiv_twistMul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenMul.lean, line 152. The attribute's comment: “the standard-open identification of the sections of a twisting sheaf with the degree-zero fractions carries the product of two twists to the product of the fractions”.
The standard-open identification
Γ(D₊(f), 𝒪_P(i)) = (A[1/f])_icarries the product of two twists to the product of their fractions.
theorem coe_associatedModuleSheafStandardOpenEquiv_twistMul {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d)
(i j : ℤ)
(x : (twistingSheaf 𝒜 i).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 j).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((associatedModuleSheafStandardOpenEquiv 𝒜 (twistGrading (S := A) 𝒜 (i + j)) hf hd
(twistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y) :
LocalizedModule.Away f A)) =
(associatedModuleSheafStandardOpenEquiv 𝒜 (twistGrading (S := A) 𝒜 i) hf hd x :
LocalizedModule.Away f A) *
(associatedModuleSheafStandardOpenEquiv 𝒜 (twistGrading (S := A) 𝒜 j) hf hd y :
LocalizedModule.Away f A)
Stacks.AlgebraicGeometry.ProjConeTwist.coe_sectionsTwistEquivAwayGrading_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenMul.lean, line 195. The attribute's comment: “the identification of the sections of a twisting sheaf over a standard open with a homogeneous part of the localization is multiplicative”.
The identification of the sections of
𝒪_P(i)overD₊(f)with the degree-ipart ofA[1/f]is multiplicative.
theorem coe_sectionsTwistEquivAwayGrading_mul {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℤ)
(x : (twistingSheaf 𝒜 i).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 j).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((Stacks.ProjectiveCohomology.sectionsTwistEquivAwayGrading 𝒜 hf hd (i + j)
(twistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y) :
LocalizedModule.Away f A)) =
(Stacks.ProjectiveCohomology.sectionsTwistEquivAwayGrading 𝒜 hf hd i x :
LocalizedModule.Away f A) *
(Stacks.ProjectiveCohomology.sectionsTwistEquivAwayGrading 𝒜 hf hd j y :
LocalizedModule.Away f A)
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistAwayHom_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenMul.lean, line 252. The attribute's comment: “the degreewise inclusion of the sections of the twisting sheaves over D+(f) into the degree-zero localization of the truncation algebra is multiplicative”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) → (B[1/ψ f])₀is multiplicative: the product of a section of𝒪_P(i)and one of𝒪_P(j)goes to the product of their images.
theorem coneTwistAwayHom_mul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℕ)
(x : (twistingSheaf 𝒜 (i : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 (j : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
coneTwistAwayHom 𝒜 (i + j) d hf hd
(natTwistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y) =
coneTwistAwayHom 𝒜 i d hf hd x * coneTwistAwayHom 𝒜 j d hf hd y
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenMul.lean, line 270. The attribute's comment: “the local degreewise inclusion of the sections of O_P(m) into the functions on the cone over D+(f) is multiplicative, for the truncation cone”.
The local degreewise inclusion
Γ(D₊(f), 𝒪_P(m)) ⟶ Γ(D₊(f), π_* 𝒪_L)is multiplicative.
theorem coneTwistApp_mul (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) (i j : ℕ)
(x : (twistingSheaf 𝒜 (i : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 (j : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(show (AlgebraicGeometry.Proj (grading 𝒜)).presheaf.obj
(op (pi 𝒜 ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f)) from
(coneTwistApp 𝒜 (i + j) d hf hd).hom
(natTwistMulSection 𝒜 i j (op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y)) =
(show (AlgebraicGeometry.Proj (grading 𝒜)).presheaf.obj
(op (pi 𝒜 ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f)) from
(coneTwistApp 𝒜 i d hf hd).hom x) *
(show (AlgebraicGeometry.Proj (grading 𝒜)).presheaf.obj
(op (pi 𝒜 ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f)) from
(coneTwistApp 𝒜 j d hf hd).hom y)
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSectionsRingEquiv_symm_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenSum.lean, line 53. The attribute's comment: “the inverse of the standard-open direct-sum decomposition of the functions on the cone carries the m-th summand to the inclusion of a degree-m fraction”.
The inverse of the ring isomorphism
(π_* 𝒪_L)(D₊(f)) ≃+* ⨁_{m ≥ 0} (A[1/f])_msends a degree-melementyof(B[1/ψ f])₀, placed in them-th summand, toyread as a function onD₊(ψ f)byAlgebraicGeometry.Proj.awayToSectionand transported alongπ⁻¹(D₊(f)) = D₊(ψ f).
theorem coneAlgebraSectionsRingEquiv_symm_of (m d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(y : awayGrading 𝒜 d hf m) :
(coneAlgebraSectionsRingEquiv 𝒜 d hf hd).symm
(DirectSum.of (fun k : ℕ => ↥(awayGrading 𝒜 d hf k)) m y) =
(eqToHom (coneAlgebra_sections_basicOpen 𝒜 d hf hd).symm).hom
((AlgebraicGeometry.Proj.awayToSection (grading 𝒜) (psi 𝒜 f)).hom
(y : HomogeneousLocalization.Away (grading 𝒜) (psi 𝒜 f)))
Stacks.AlgebraicGeometry.ProjConeTwist.coneAlgebraSectionsEquivTwistSections_symm_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistStandardOpenSum.lean, line 78. The attribute's comment: “the m-th summand of the standard-open direct-sum decomposition of the functions on the cone is the local degreewise inclusion of the sections of O_P(m), for the truncation cone”.
The inclusion of the
m-th summand of the standard-open decompositionΓ(D₊(f), π_* 𝒪_L) = ⨁_{m ≥ 0} Γ(D₊(f), 𝒪_P(m))is the degreewise inclusionStacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp.
theorem coneAlgebraSectionsEquivTwistSections_symm_of (m d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒜 (m : ℤ)).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
(coneAlgebraSectionsEquivTwistSections 𝒜 d hf hd).symm (DirectSum.of _ m s) =
(coneTwistApp 𝒜 m d hf hd).hom s
Stacks.AlgebraicGeometry.ProjConeTwist.coneTotalMap_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistTotalRing.lean, line 134. The attribute's comment: “the comparison from the objectwise direct sum of the homogeneous pieces of the nonnegative twist algebra to the functions on the cone is multiplicative, over every open of P”.
The map is multiplicative.
theorem coneTotalMap_mul (U : Opens (ProjectiveSpectrum.top 𝒜))
(z w : (nonnegTwistPresheafAlgebra 𝒜).Total (op U)) :
coneTotalMap 𝒜 U (z * w) = coneTotalMap 𝒜 U z * coneTotalMap 𝒜 U w
Stacks.AlgebraicGeometry.ProjConeTwist.coneTotalRingHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistTotalRing.lean, line 156. The attribute's comment: “the degreewise inclusions as a ring homomorphism from the sections of the ungraded realization of the nonnegative twist algebra to the functions on the cone, over every open of P, for the truncation cone”.
The degreewise inclusions as a ring homomorphism
Γ(U, ⨁_{m ≥ 0} 𝒪_P(m)) →+* Γ(L, π⁻¹U). The sections of the ungraded realization of the algebra of nonnegative twists overUmap to the functions on the part of the cone lying overU, degreewise by the inclusion of the homogeneous piece.
def coneTotalRingHom (U : Opens (ProjectiveSpectrum.top 𝒜)) :
(nonnegTwistPresheafAlgebra 𝒜).Total (op U) →+* coneSections 𝒜 U
Stacks.AlgebraicGeometry.ProjConeTwist.coneTotalPresheafHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUngradedSheaf.lean, line 97. The attribute's comment: “the degreewise inclusions as a morphism of presheaves of rings from the ungraded realization of the nonnegative twist algebra to pi_* O_L, for the truncation cone”.
The degreewise inclusions as a morphism of presheaves of rings from the ungraded realization of the algebra of nonnegative twists into
π_* 𝒪_L. Over an open ofPit is the ring homomorphismStacks.AlgebraicGeometry.ProjConeTwist.coneTotalRingHom; naturality is the naturality ofStacks.AlgebraicGeometry.ProjConeTwist.coneTwistDirectSumHom.
def coneTotalPresheafHom :
(nonnegTwistPresheafAlgebra 𝒜).totalPresheaf ⟶ (conePushforwardRingSheaf 𝒜).obj
Stacks.AlgebraicGeometry.ProjConeTwist.coneUngradedSheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUngradedSheaf.lean, line 133. The attribute's comment: “the identification pi_* O_L = the ungraded realization of the nonnegative twist algebra, as sheaves of rings, for the cone of the truncation algebra”.
π_* 𝒪_Lis the ungraded realization of the algebra of nonnegative twists, as sheaves of rings. This is the identification of [Stacks, Tag 0EKG] at the level of sheaves of rings, as opposed to the identificationconeStructureCoproductIsoof the underlying sheaves of𝒪_P-modules.
def coneUngradedSheafIso :
(nonnegTwistAlgebra 𝒜).ungradedSheaf ≅ conePushforwardRingSheaf 𝒜
Stacks.AlgebraicGeometry.ProjConeTwist.coe_sectionsTwistEquivAwayGrading_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUnit.lean, line 107. The attribute's comment: “the standard-open identification of the sections of the untwisted sheaf with the degree-zero fractions carries the unit section to 1”.
The standard-open identification carries the unit section of
𝒪_P(0)to1.
theorem coe_sectionsTwistEquivAwayGrading_one {d : ℕ} (hf : f ∈ 𝒜 d) (hd : 0 < d) :
((Stacks.ProjectiveCohomology.sectionsTwistEquivAwayGrading 𝒜 hf hd 0
((twistOne 𝒜).eval (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
LocalizedModule.Away f A)) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistAwayHom_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUnit.lean, line 129. The attribute's comment: “the degreewise inclusion of the sections of the untwisted sheaf over D+(f) into the degree-zero localization of the truncation algebra carries the unit section to 1”.
The degreewise inclusion
Γ(D₊(f), 𝒪_P(0)) → (B[1/ψ f])₀is unital.
theorem coneTwistAwayHom_one (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
coneTwistAwayHom 𝒜 0 d hf hd ((twistOne 𝒜).eval
(op (ProjectiveSpectrum.basicOpen 𝒜 f))) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.coneTwistApp_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUnit.lean, line 144. The attribute's comment: “the local degreewise inclusion in degree zero carries the unit section of the untwisted sheaf to the function 1 on the cone, over a standard open”.
The local degreewise inclusion in degree zero carries the unit section to the function
1on the part of the cone over the standard open.
theorem coneTwistApp_one (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d) :
(show coneSections 𝒜 (ProjectiveSpectrum.basicOpen 𝒜 f) from
(coneTwistApp 𝒜 0 d hf hd).hom
((twistOne 𝒜).eval (op (ProjectiveSpectrum.basicOpen 𝒜 f)))) = 1
Stacks.AlgebraicGeometry.ProjConeTwist.coneIota_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistUnit.lean, line 178. The attribute's comment: “the inclusion of the degree-zero piece of the nonnegative twist algebra carries the unit of the algebra to the function 1, over every open of P, for the truncation cone”.
The inclusion of the degree-zero piece of the algebra of nonnegative twists carries the unit of that algebra to the function
1, over every open ofP. WithStacks.AlgebraicGeometry.ProjConeTwist.coneIota_multhis exhibits the inclusions as a unital ring homomorphism out of the ungraded realization of the twist algebra.
theorem coneIota_one (U : Opens (ProjectiveSpectrum.top 𝒜)) :
(show coneSections 𝒜 U from
(coneIota 𝒜 0).val.app (op U) ((twistOne 𝒜).eval (op U))) = 1
Stacks.AlgebraicGeometry.ProjTwistAwayPiece.coe_sectionsTwistEquivGradedPiece_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistAwayPieceScalars.lean, line 78. The attribute's comment: “the description of the sections of a twisting sheaf over a standard open as a homogeneous piece of the graded localization is multiplicative”.
The identification
Γ(D₊(f), 𝒪_X(n)) ≅ (A_f)_nis multiplicative: the product of a section of𝒪_X(i)and a section of𝒪_X(j)overD₊(f), read in(A_f)_{i + j}, is the product inA_fof the two underlying elements.
theorem coe_sectionsTwistEquivGradedPiece_mul (hf : f ∈ 𝒜 k) (hk : 0 < k) (i j : ℤ)
(x : (twistingSheaf 𝒜 i).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f)))
(y : (twistingSheaf 𝒜 j).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((sectionsTwistEquivGradedPiece 𝒜 hf hk (i + j)
(Stacks.AlgebraicGeometry.ProjConeTwist.twistMulSection 𝒜 i j
(op (ProjectiveSpectrum.basicOpen 𝒜 f)) x y) :
LocalizedModule.Away f A))
= (sectionsTwistEquivGradedPiece 𝒜 hf hk i x : LocalizedModule.Away f A) *
(sectionsTwistEquivGradedPiece 𝒜 hf hk j y : LocalizedModule.Away f A)
Stacks.Truncation.instGradedRingGrading, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 318. The attribute's comment: “the graded ring B = ⨁_{d ≥ 0} A_{≥ d}”.
B = ⨁_{d ≥ 0} A_{≥ d}is a graded ring with degree-dpartB_d ≃ A_{≥ d}.
instance instGradedRingGrading : GradedRing (grading 𝒜)
Stacks.Truncation.sigma, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 346. The attribute's comment: “the isomorphism σ : A ≃ B₀”.
The ring isomorphism
σ : A ≃+* B_0,a ↦ a⁽⁰⁾.
def sigma : A ≃+* grading 𝒜 0
Stacks.Truncation.psi, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 399. The attribute's comment: “the graded ring map ψ : A → B”.
The graded ring map
ψ : A → Bwithψ(a) = a⁽ᵈ⁾fora ∈ A_d.
def psi : 𝒜 →+*ᵍ grading 𝒜
Stacks.Truncation.tau, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 434. The attribute's comment: “the graded ring map τ : B → A”.
The surjective graded ring map
τ : B → Awithτ(a⁽ᵈ⁾) = a_d.
def tau : grading 𝒜 →+*ᵍ 𝒜
Stacks.Truncation.truncationAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 492. The attribute's comment: “the graded ring B and the maps σ, ψ, τ”.
The graded ring
B = ⨁_{d ≥ 0} A_{≥ d}with its canonical mapsσ,ψandτ.
def truncationAlgebra : TruncationAlgebra 𝒜
Stacks.Truncation.tau_comp_psi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 508. The attribute's comment: “τ ∘ ψ = id”.
τ ∘ ψ = id_A.
theorem tau_comp_psi : s.tau.comp s.psi = GradedRingHom.id 𝒜
Stacks.Truncation.tau_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 522. The attribute's comment: “τ is surjective”.
τis surjective.
theorem tau_surjective : Function.Surjective s.tau
Stacks.Truncation.truncationAlgebra_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Truncation.lean, line 630. The attribute's comment: “uniqueness of the graded ring B”.
Two truncation algebras are isomorphic by a unique ring isomorphism compatible with the identifications
A_{≥ d} ≃+ B_d.
theorem truncationAlgebra_unique :
∃! e : s.B ≃+* t.B, ∀ (d : ℕ) (a : truncation 𝒜 d),
e ((s.degreeEquiv d a : s.B)) = ((t.degreeEquiv d a : t.B))
Stacks.Truncation.isInternal_awayGrading, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationGraded.lean, line 149. The attribute's comment: “the equality of homogeneous parts (B[1/ψ f])_0 = ⨁_{m ≥ 0} (A[1/f])_m, the ring-theoretic form of the identification of π_* O_L with the sum of the nonnegative twists”.
(B_{ψ f})₀ = ⨁_{m ≥ 0} (A_f)_m: the degree-zero part of the localization of the truncation algebra atψ fis the internal direct sum of its homogeneous pieces, which the comparison map identifies with the homogeneous parts ofA_fin nonnegative degrees.
theorem isInternal_awayGrading (hf : f ∈ 𝒜 d) :
DirectSum.IsInternal (awayGrading 𝒜 d hf)
Stacks.Truncation.awayGradingEquivAwayPiece, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationGraded.lean, line 183. The attribute's comment: “the degree-m piece of (B[1/ψ f])_0 is (A[1/f])_m”.
The degree-
mpiece of(B_{ψ f})₀is the degree-mpart(A_f)_mofA_f.
def awayGradingEquivAwayPiece (hf : f ∈ 𝒜 d) (m : ℕ) :
awayGrading 𝒜 d hf m ≃+ awayPiece 𝒜 d hf m
Stacks.Truncation.puncturedRingEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationPunctured.lean, line 211. The attribute's comment: “the equality of rings (B[1/σ f · ψ f])_0 = A[1/f], the functions on the punctured cone over a standard open D₊(f) of P”.
(B[1/σ f · ψ f])₀ = A[1/f]: the degree-zero part of the localization of the truncation algebra atσ f · ψ fis the whole localization ofAatf, the comparison mapa⁽ᵏᵈ⁾ / (σ f · ψ f)ᵏ ↦ a / f ²ᵏbeing a ring isomorphism.
def puncturedRingEquiv (hf : f ∈ 𝒜 d) :
HomogeneousLocalization.Away (grading 𝒜) (sigmaMulPsi 𝒜 f) ≃+* Localization.Away f
Stacks.Truncation.isInternal_puncturedGrading, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationPunctured.lean, line 298. The attribute's comment: “the equality of homogeneous parts (B[1/σ f · ψ f])_0 = ⨁_{m ∈ ℤ} (A[1/f])_m, the ring-theoretic form of the identification of the direct image of the structure sheaf of the punctured cone with the sum of all the integral twists”.
(B[1/σ f · ψ f])₀ = ⨁_{m ∈ ℤ} (A[1/f])_m: the degree-zero part of the localization of the truncation algebra atσ f · ψ fis the internal direct sum of its homogeneous pieces, which the comparison map identifies with the homogeneous parts ofA[1/f]in all integer degrees.
theorem isInternal_puncturedGrading (hf : f ∈ 𝒜 d) :
DirectSum.IsInternal (puncturedGrading 𝒜 d hf)
Stacks.Truncation.puncturedGradingEquivAwayGrading, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationPunctured.lean, line 342. The attribute's comment: “the degree-m piece of (B[1/σ f · ψ f])_0 is (A[1/f])_m, for every integer m”.
The degree-
mpiece of(B[1/σ f · ψ f])₀is the degree-mpart ofA[1/f], for every integerm.
def puncturedGradingEquivAwayGrading (hf : f ∈ 𝒜 d) (m : ℤ) :
puncturedGrading 𝒜 d hf m ≃+ Stacks.ProjectiveCohomology.awayGrading 𝒜 hf m
Stacks.Truncation.awayGradingEquivSectionsTwist, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationPunctured.lean, line 387. The attribute's comment: “the degree-m summand of the functions on the cone over D₊(f) is the module of sections of O_P(m) over D₊(f), for m ≥ 0”.
The degree-
msummand of(B[1/ψ f])₀is the module of sections of the twisting sheaf𝒪_P(m)overD₊(f), form ≥ 0.
def awayGradingEquivSectionsTwist (hf : f ∈ 𝒜 d) (hd : 0 < d) (m : ℕ) :
awayGrading 𝒜 d hf m ≃+
(twistingSheaf 𝒜 (m : ℤ)).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))
Stacks.Truncation.puncturedGradingEquivSectionsTwist, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/TruncationLocalizationPunctured.lean, line 397. The attribute's comment: “the degree-m summand of the functions on the punctured cone over D₊(f) is the module of sections of O_P(m) over D₊(f), for every integer m”.
The degree-
msummand of(B[1/σ f · ψ f])₀is the module of sections of the twisting sheaf𝒪_P(m)overD₊(f), for every integerm.
def puncturedGradingEquivSectionsTwist (hf : f ∈ 𝒜 d) (hd : 0 < d) (m : ℤ) :
puncturedGrading 𝒜 d hf m ≃+
(twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))
Tag 0EKH, an equation
Tag 0EKH in the Stacks Project.
Stacks.AlgebraicGeometry.ProjAndSpec.derivedPushforwardPuncturedConeIsoTruncation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjAndSpecPuncturedConeProjectionFormula.lean, line 266. The attribute's comment: “the direct-sum decomposition, with RΓ read as derived direct image to Spec A₀”.
RΓ(U, 𝓕_U) = ⨁_{m ∈ Z} RΓ(P, 𝓕 ⊗_{𝒪_P} 𝒪_P(m)). LetAbe a nonnegatively graded ring,P = Proj Aquasi-compact,π : L ⟶ Pthe cone of the truncation algebraB = ⨁_{d ≥ 0} A_{≥ d}andU ⊆ Lthe punctured cone. For a quasi-coherent𝒪_P-module𝓕with pullback𝓕_U = (π|_U)^*𝓕, the derived global sections of𝓕_Udecompose as the direct sum, over all integersm, of the derived global sections of them-th twist of𝓕; both sides are read as derived direct images toZ = Spec A₀.
def derivedPushforwardPuncturedConeIsoTruncation
[CompactSpace (AlgebraicGeometry.Proj 𝒜)] (F : (AlgebraicGeometry.Proj 𝒜).Modules)
[F.IsQuasicoherent] :
(Stacks.Duality.derivedPushforward
(puncturedConeProj (truncationConeData 𝒜) ≫
AlgebraicGeometry.Proj.toSpecZero 𝒜)).obj
((DerivedCategory.singleFunctor _ 0).obj
(puncturedConePullback (truncationConeData 𝒜) F)) ≅
∐ fun m : ℤ => (Stacks.Duality.derivedPushforward
(AlgebraicGeometry.Proj.toSpecZero 𝒜)).obj
((DerivedCategory.singleFunctor _ 0).obj (twistSheafOfModules 𝒜 F m))
Tag 0EKI, a lemma
Tag 0EKI in the Stacks Project.
Stacks.SectionRingProjIso.projAndSpecDiagram_eq_laurentDiagram_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjIso/DiagramArrows.lean, line 364. The attribute's comment: “the whole statement: P = Proj A and diagram 0EKG becomes, arrow by arrow, the diagram of the relative spectra over P of the Laurent algebras of the ample module: the open immersion U → L is the morphism induced by the inclusion of algebras, the projections to P are the structure morphisms, and the left and right squares commute”. References: EGA II (8.7.4), “(ii), special case”; EGA II (8.8.3), “special case”.
Stacks Project, Tag 0EKI: for
Pproper overRand𝓛ample, diagram 0EKG is the diagram ofSpec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m}) ⟶ Spec_P(⨁_{m ≥ 0} 𝓛^{⊗ m}) ⟶ P, arrow by arrow.Let
A = Γ_*(P, 𝓛),r : P ⟶ Proj Athe canonical morphism,π : L ⟶ Proj Athe cone of [Stacks, Tag 0EKG] with its punctured coneU ⊆ L,σ : L ⟶ X = Spec A, andρ,Φ_L,Φ_Uthe identificationsP ≅ Proj A,L ≅ Spec_P(⨁_{m ≥ 0} 𝓛^{⊗ m}),U ≅ Spec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m})(the last two overP). Then:
ris an isomorphism (P = Proj A);- the top arrow: under
Φ_UandΦ_Lthe open immersionU ⟶ Lis the morphismSpec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m}) ⟶ Spec_P(⨁_{m ≥ 0} 𝓛^{⊗ m})induced by the inclusion of algebras⨁_{m ≥ 0} 𝓛^{⊗ m} ⊆ ⨁_{m ∈ ℤ} 𝓛^{⊗ m}, as morphisms overP;- the projections: under
Φ_Landρthe cone projectionπis the structure morphism ofSpec_P(⨁_{m ≥ 0} 𝓛^{⊗ m}), and underΦ_Uandρits restrictionπ|_Uis that ofSpec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m});- the top arrow is a morphism over
Pand an open immersion;- the left vertical identification
Spec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m}) ≅ U ⊆ X(the=of the diagram) isΦ_U⁻¹followed byσ|_U, an isomorphism;- the left square of the new diagram commutes: the top arrow followed by
σ(read throughΦ_L) is the identification withUfollowed byU ⊆ X;- the right square of the new diagram commutes: the projection to
Pfollowed byP = Proj A ⟶ Z = Spec A₀isσ(read throughΦ_L) followed byX ⟶ Z.
theorem projAndSpecDiagram_eq_laurentDiagram_of_isProper :
IsIso (projHomOfIsAmple L hL) ∧
(puncturedConeIsoLaurentOfIsProper L hL f).inv ≫ openUInLOverOfIsProper L hL f =
laurentToNonnegLaurentRelativeSpec L hL ≫ (coneIsoNonnegLaurentOfIsProper L hL f).inv ∧
(coneIsoNonnegLaurentOfIsProper L hL f).hom.left ≫ (nonnegLaurentRelativeSpecOver L hL).hom =
pi (grading L) ≫ (projIsoOfIsProper L hL f).inv ∧
(puncturedConeIsoLaurentOfIsProper L hL f).hom.left ≫ (laurentRelativeSpecOver L hL).hom =
(openUInL (grading L)).ι ≫ pi (grading L) ≫ (projIsoOfIsProper L hL f).inv ∧
(laurentToNonnegLaurentRelativeSpec L hL).left ≫ (nonnegLaurentRelativeSpecOver L hL).hom =
(laurentRelativeSpecOver L hL).hom ∧
IsOpenImmersion (laurentToNonnegLaurentRelativeSpec L hL).left ∧
IsIso ((puncturedConeIsoLaurentOfIsProper L hL f).inv.left ≫
(toSpecA (grading L) ∣_ Stacks.AlgebraicGeometry.ProjAndSpec.openU (grading L))) ∧
(laurentToNonnegLaurentRelativeSpec L hL).left ≫
(coneIsoNonnegLaurentOfIsProper L hL f).inv.left ≫ toSpecA (grading L) =
((puncturedConeIsoLaurentOfIsProper L hL f).inv.left ≫
(toSpecA (grading L) ∣_ Stacks.AlgebraicGeometry.ProjAndSpec.openU (grading L))) ≫
(Stacks.AlgebraicGeometry.ProjAndSpec.openU (grading L)).ι ∧
(nonnegLaurentRelativeSpecOver L hL).hom ≫ (projIsoOfIsProper L hL f).hom ≫
Proj.toSpecZero (grading L) =
(coneIsoNonnegLaurentOfIsProper L hL f).inv.left ≫ toSpecA (grading L) ≫
Stacks.AlgebraicGeometry.ProjAndSpec.xToZ (grading L)
Stacks.SectionRingProjIso.coneIsoNonnegLaurentOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjIso/DiagramClause.lean, line 241. The attribute's comment: “the diagram clause: the nonnegatively graded left-hand entry L of diagram 0EKG becomes Spec_P of the direct sum of the nonnegative tensor powers of the ample module”.
The diagram clause of [Stacks, Tag 0EKI], nonnegatively graded entry. For
Pproper over a ringRand𝓛an ample invertible𝒪_P-module with section ringA = Γ_*(P, 𝓛), the nonnegatively graded left-hand entryLof [Stacks, Tag 0EKG]'s diagram, read overPthrough the identificationP = Proj A, isSpec_P(⨁_{m ≥ 0} 𝓛^{⊗ m}).The structure morphism on the left is the cone projection
πfollowed by the inverse of the canonical morphismr : P ⟶ Proj Aof [Stacks, Tag 01PZ], which is an isomorphism byStacks.SectionRingProjIso.isIso_projHomOfIsAmple_of_isProper; that is what makes the base change inconeBaseChangeIsoNonnegLaurentthe identity, byStacks.AlgebraicGeometry.OverBaseChange.overPullbackIsoOfIsIso.
def coneIsoNonnegLaurentOfIsProper :
Over.mk (pi (grading L) ≫ (projIsoOfIsProper L hL f).inv) ≅
nonnegLaurentRelativeSpecOver L hL
Stacks.SectionRingProjIso.puncturedConeIsoLaurentOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjIso/DiagramClause.lean, line 255. The attribute's comment: “the diagram clause: the integer-graded left-hand entry U of diagram 0EKG becomes Spec_P of the direct sum of all integral tensor powers of the ample module”.
The diagram clause of [Stacks, Tag 0EKI], integer-graded entry. For
Pproper over a ringRand𝓛an ample invertible𝒪_P-module with section ringA = Γ_*(P, 𝓛), the integer-graded left-hand entryUof [Stacks, Tag 0EKG]'s diagram, read overPthrough the identificationP = Proj A, isSpec_P(⨁_{m ∈ ℤ} 𝓛^{⊗ m}).
def puncturedConeIsoLaurentOfIsProper :
Over.mk ((openUInL (grading L)).ι ≫ pi (grading L) ≫ (projIsoOfIsProper L hL f).inv) ≅
laurentRelativeSpecOver L hL
Stacks.SectionRingProjIso.isIso_projHomOfIsAmple_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjIso/Proper.lean, line 112. The attribute's comment: “the identification P = Proj(A), for P proper over R”.
Let
Pbe a proper scheme over a ringRand𝓛an ample invertible𝒪_P-module with graded section ringA = Γ_*(P, 𝓛). Then the canonical morphismr : P ⟶ Proj Aof [Stacks, Tag 01PZ] is an isomorphism.
theorem isIso_projHomOfIsAmple_of_isProper (hL : IsAmple X L) {R : CommRingCat.{u}}
(f : X ⟶ Spec R) [IsProper f] :
IsIso (projHomOfIsAmple L hL)
Stacks.SectionRingProjIso.projIsoOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SectionRingProjIso/Proper.lean, line 125. The attribute's comment: “the identification P = Proj(A) as an isomorphism P ≅ Proj Γ_*(P, 𝓛), for P proper over R”.
The isomorphism
P ≅ Proj Γ_*(P, 𝓛)whose underlying morphism is the canonical one of [Stacks, Tag 01PZ], forPproper overRand𝓛ample.
noncomputable def projIsoOfIsProper (hL : IsAmple X L) {R : CommRingCat.{u}}
(f : X ⟶ Spec R) [IsProper f] :
X ≅ AlgebraicGeometry.Proj (grading L)
Sources
Section37.52 Closed points in fibres#
Section 37.52 of the Stacks Project, Tag 053Q. 9 tags here are carried by 14 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 053R, a lemma
Tag 053R in the Stacks Project.
Stacks.Divisors.fiber_support_eq_union_irreducibleComponents_general, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/FibreDimension/GeneralCase.lean, line 355.
Stacks 053R. Let
f : X ⟶ Sbe a dominant morphism locally of finite type between irreducible schemes, letIbe a locally principal ideal sheaf onXwhose closed subscheme misses the generic fibre off, and letsbe a point ofSwhose fibre has dimension at most that of the generic fibre. Then the support of the closed subscheme inside the fibreX_sis set-theoretically the union of the irreducible components ofX_sthat it contains.No Noetherian hypothesis: the Noetherian case
Stacks.Divisors.fiber_support_eq_union_irreducibleComponentsis applied not tofbut to a finitely generatedℤ-algebra that the affine situation descends to, inStacks.Divisors.fiber_preimage_zeroLocus_eq_sUnion_irreducibleComponents. The two reductions in front of that areStacks.Divisors.fiber_support_eq_union_irreducibleComponents_of_isIntegral, which passes to the reductions ofXandSand so makes both integral, andStacks.Divisors.fiber_support_eq_union_irreducibleComponents_integral, which localises to an affine chart on whichIis principal.
public theorem fiber_support_eq_union_irreducibleComponents_general {X S : Scheme.{u}}
(f : X ⟶ S) [IrreducibleSpace S] [IrreducibleSpace X] [IsDominant f] [LocallyOfFiniteType f]
(I : X.IdealSheafData) (hI : IsLocallyPrincipal I)
(hgeneric : IsEmpty ((I.subschemeι ≫ f).fiber (genericPoint S))) (s : S)
(hdim : topologicalKrullDim (f.fiber s) ≤ topologicalKrullDim (f.fiber (genericPoint S))) :
(f.fiberι s) ⁻¹' (I.support : Set X) =
⋃₀ {C : Set (f.fiber s) | C ∈ irreducibleComponents (f.fiber s) ∧
C ⊆ (f.fiberι s) ⁻¹' (I.support : Set X)}
Stacks.Divisors.fiber_support_eq_union_irreducibleComponents, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/LocallyPrincipalSupport.lean, line 180. The attribute's comment: “the locally Noetherian case, the form in which Krull's principal ideal theorem applies to f directly. The statement without [IsLocallyNoetherian X], which is the source's own, is Stacks.Divisors.fiber_support_eq_union_irreducibleComponents_general in StacksFrontier/AlgebraicGeometry/FibreDimension/GeneralCase.lean:352; it applies this one to a finitely generated ℤ-algebra that the affine situation descends to, by StacksFrontier.AlgebraicGeometry.FibreDimension.AffineGeneralCase.”.
Stacks 053R, the Noetherian case. Let
f : X ⟶ Sbe a dominant morphism locally of finite type between irreducible schemes withXlocally Noetherian, letIbe a locally principal ideal sheaf onXwhose closed subscheme misses the generic fibre, and lets ∈ Sbe a point whose fibre has dimension at most that of the generic fibre. Then the support of the closed subscheme insidef.fiber sis set-theoretically the union of the irreducible components off.fiber sthat it contains.
public theorem fiber_support_eq_union_irreducibleComponents {X S : Scheme.{u}} (f : X ⟶ S)
[IrreducibleSpace S] [IrreducibleSpace X] [IsDominant f] [LocallyOfFiniteType f]
[IsLocallyNoetherian X] (I : X.IdealSheafData) (hI : IsLocallyPrincipal I)
(hgeneric : IsEmpty ((I.subschemeι ≫ f).fiber (genericPoint S))) (s : S)
(hdim : topologicalKrullDim (f.fiber s) ≤
topologicalKrullDim (f.fiber (genericPoint S))) :
(f.fiberι s) ⁻¹' (I.support : Set X) =
⋃₀ {C : Set (f.fiber s) | C ∈ irreducibleComponents (f.fiber s) ∧
C ⊆ (f.fiberι s) ⁻¹' (I.support : Set X)}
Tag 053S, a lemma
Tag 053S in the Stacks Project.
IsLocalRing.injective_quotient_of_dimension_add_trdeg_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/HorizontalDivisor.lean, line 471.
Stacks 053S. Let
A ⊆ Bbe an injective local homomorphism of local domains withBessentially of finite type overA, and letg ∈ 𝔪_Blie in no minimal prime over𝔪_A B. Ifdim (B/𝔪_A B) + trdeg_{κ(𝔪_A)} κ(𝔪_B) = trdeg_A B, thenA → B/gBis injective, i.e. the generic point ofSpec Ais in the image ofSpec (B/gB) → Spec A.
public theorem injective_quotient_of_dimension_add_trdeg_eq
{A B : Type u} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B]
[IsLocalRing A] [IsLocalRing B] [Algebra A B]
[IsLocalHom (algebraMap A B)]
(hinj : Function.Injective (algebraMap A B))
(hB : IsEssentiallyOfFiniteType A B (algebraMap A B))
(g : B) (hg : g ∈ maximalIdeal B)
(hnot : ∀ q ∈ (Ideal.map (algebraMap A B) (maximalIdeal A)).minimalPrimes, g ∉ q)
(hdim : letI := (ResidueField.map (algebraMap A B)).toAlgebra;
ringKrullDim (B ⧸ Ideal.map (algebraMap A B) (maximalIdeal A)) +
(Cardinal.toENat (Algebra.trdeg (ResidueField A) (ResidueField B)) :
WithBot ℕ∞) =
(Cardinal.toENat (Algebra.trdeg A B) : WithBot ℕ∞)) :
Function.Injective ((Ideal.Quotient.mk (Ideal.span {g})).comp (algebraMap A B))
Tag 053T, a lemma
Tag 053T in the Stacks Project.
IsLocalRing.ringKrullDim_closedFiber_add_trdeg_eq_trdeg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/FlatLocalExtension.lean, line 399. References: EGA IV (5.5.7), “field base”.
The dimension of the closed fibre of an injective flat essentially finite type local extension of domains, plus the residue-field transcendence degree, is the transcendence degree of the extension.
public theorem ringKrullDim_closedFiber_add_trdeg_eq_trdeg
{A B : Type u} [CommRing A] [CommRing B] [IsDomain A] [IsDomain B]
[IsLocalRing A] [IsLocalRing B] [Algebra A B]
[IsLocalHom (algebraMap A B)]
(hinj : Function.Injective (algebraMap A B))
(hfinite : IsEssentiallyOfFiniteType A B (algebraMap A B))
[Module.Flat A B] :
letI := (IsLocalRing.ResidueField.map (algebraMap A B)).toAlgebra
ringKrullDim (B ⧸ (IsLocalRing.maximalIdeal A).map (algebraMap A B)) +
(Cardinal.toENat (Algebra.trdeg (IsLocalRing.ResidueField A)
(IsLocalRing.ResidueField B)) : WithBot ℕ∞) =
(Cardinal.toENat (Algebra.trdeg A B) : WithBot ℕ∞)
Tag 053U, a lemma
Tag 053U in the Stacks Project.
AlgebraicGeometry.closure_closedPoints_between_fiber_eq_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/ClosedPointsBetweenInFibres.lean, line 1753. The attribute's comment: “the density conclusion of the tag, under the tag's own hypotheses — f locally of finite type, x ⤳ x', x' closed in X_{f x'} — together with its exact range of validity: the points of X_s closed in X_s and lying between x and x' are dense in the closure of x in X_s if and only if x = x' or f x ≠ f x'. The reverse implication is the tag itself, proved by the argument of the source in closure_closedPoints_between_fiber_eq; the forward implication disposes of the only remaining situation, a nontrivial specialization inside one fibre, where the tag's set is the single closed point x' and the density is false — a gap in the source's statement, computed in closure_closedPoints_between_fiber_subset_singleton_of_eq_base and respected by the source's own proof.”.
Stacks 053U, under the hypotheses of the tag and no others. Let
f : X ⟶ Sbe locally of finite type, letx ⤳ x'be a specialization inXwithx'closed in its fibreX_{f x'}, and sets = f x. Then the points ofX_swhich are closed inX_sand lie betweenxandx'are dense in the closure ofxinX_sif and only ifx = x'orf x ≠ f x'.The reverse implication is the assertion of the tag and carries its mathematical content: it is
AlgebraicGeometry.closure_closedPoints_between_fiber_eq, proved by the argument of the source.The forward implication settles the one remaining situation, a nontrivial specialization inside one fibre, where the density fails: a point of
X_sclosed inX_swhich specializes tox'isx', so the set of the tag is{x'}, whose closure is{x'}, while the closure ofxinX_sis larger wheneverx ≠ x'— forX = 𝔸¹over a field withxits generic point andx'a closed point it is all of𝔸¹. The implication is exactly that computation, throughAlgebraicGeometry.closure_closedPoints_between_fiber_subset_singleton_of_eq_base. Since the source relatesf xandf x'by no hypothesis, its statement overreaches there; its proof does not, drawing the same line at the prime-avoidance step (see the module docstring).
public theorem closure_closedPoints_between_fiber_eq_iff
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
(x x' : X) (hxx' : x ⤳ x')
(hx' : IsClosed ({f.asFiber x'} : Set (f.fiber (f x')))) :
closure {y : f.fiber (f x) |
IsClosed ({y} : Set (f.fiber (f x))) ∧
x ⤳ ((f.fiberι (f x)) y) ∧
((f.fiberι (f x)) y) ⤳ x'} =
closure ({f.asFiber x} : Set (f.fiber (f x))) ↔
x = x' ∨ f x ≠ f x'
Tag 053V, a remark
Tag 053V in the Stacks Project.
AlgebraicGeometry.exists_chain_isImmediateSpecialization_isClosed_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/SpecializationChainInFibre.lean, line 118. The attribute's comment: “the chain of immediate specializations inside the fibre, of length d, ending in a closed point of the fibre, together with the avoidance clause, and with nothing assumed about a prescribed x'. The final link x_d ⤳ x' to a prescribed x' with x ⤳ x' closed in its own fibre is not in this file, which never mentions x'; it is AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_of_isClosed in StacksFrontier.AlgebraicGeometry.Morphisms.Fibres.SpecializationChainToClosedSpecialization, where AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_iff states every assertion of the remark at once, at the hypotheses of the tag, together with the exact range of validity of the remark.”.
Stacks 053V, the chain of immediate specializations inside the fibre, together with the avoidance clause. For
flocally of finite type andWa closed subset of the fibreX_{f x}not containingx, there is a chain
x = c 0 ⤳ c 1 ⤳ ⋯ ⤳ c dof
d = natTrdegFiber f ximmediate specializations insideX_{f x}, avoidingW, whose last term is a closed point ofX_{f x}.
theorem exists_chain_isImmediateSpecialization_isClosed_fiber
(f : X ⟶ S) [LocallyOfFiniteType f] (x : X)
{W : Set (f.fiber (f x))} (hW : IsClosed W) (hxW : f.asFiber x ∉ W) :
∃ c : Fin (natTrdegFiber f x + 1) → f.fiber (f x),
c 0 = f.asFiber x ∧
(∀ i : Fin (natTrdegFiber f x),
IsImmediateSpecialization (c i.castSucc) (c i.succ)) ∧
IsClosed ({c (Fin.last (natTrdegFiber f x))} : Set (f.fiber (f x))) ∧
∀ i, c i ∉ W
AlgebraicGeometry.natTrdegFiber_eq_topologicalKrullDim_closure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/SpecializationChainInFibre.lean, line 156. The attribute's comment: “the equality of d with the dimension of the closure of x in the fibre”.
Stacks 053V, the identity
d = dim(closure of {x}), the closure being taken in the fibreX_{f x}.
theorem natTrdegFiber_eq_topologicalKrullDim_closure (f : X ⟶ S) [LocallyOfFiniteType f]
(x : X) :
((natTrdegFiber f x : ℕ∞) : WithBot ℕ∞) =
topologicalKrullDim (closure ({f.asFiber x} : Set (f.fiber (f x))))
AlgebraicGeometry.natTrdegFiber_eq_toNat_trdeg_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/SpecializationChainInFibre.lean, line 239. The attribute's comment: “the equality of the length d of the chain with the transcendence degree trdeg_{κ(s)}(κ(x))”.
Stacks 053V, the identity
d = trdeg_{κ(s)}(κ(x)): the integer produced byAlgebraicGeometry.natTrdegFiberis the transcendence degree of the residue field ofXatxover the residue field ofSats = f x.
theorem natTrdegFiber_eq_toNat_trdeg_residueField (f : X ⟶ S) (x : X) :
letI := (f.residueFieldMap x).hom.toAlgebra
natTrdegFiber f x =
Cardinal.toNat (Algebra.trdeg (S.residueField (f x)) (X.residueField x))
AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_of_isClosed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/SpecializationChainToClosedSpecialization.lean, line 273. The attribute's comment: “the chain of immediate specializations inside the fibre, of length d, ending in a closed point of the fibre which specializes to the prescribed x' — unconditionally, the avoidance clause aside. The remark as a whole, avoidance clause included, is AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_iff above, which states it at the hypotheses of the tag together with its exact range of validity”.
Stacks 053V without its avoidance clause, and with no hypothesis added to the tag. For
flocally of finite type andx ⤳ x'withx'closed in its own fibre there is a chain
x = c 0 ⤳ c 1 ⤳ ⋯ ⤳ c dof
d = natTrdegFiber f ximmediate specializations insideX_{f x}whose last term is a closed point ofX_{f x}specializing tox'.This needs no non-degeneracy hypothesis because the point to walk down to can be produced without Stacks 053U when
x'already lies in the fibre ofx: it is thenx'itself. It is the avoidance clause that fails in that case, which is why the remark as a whole is registered on the equivalenceAlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_iffabove.
public theorem exists_chain_isImmediateSpecialization_specializes_fiber_of_isClosed
(f : X ⟶ S) [LocallyOfFiniteType f] (x x' : X) (hxx' : x ⤳ x')
(hx' : IsClosed ({f.asFiber x'} : Set (f.fiber (f x')))) :
∃ c : Fin (natTrdegFiber f x + 1) → f.fiber (f x),
c 0 = f.asFiber x ∧
(∀ i : Fin (natTrdegFiber f x),
IsImmediateSpecialization (c i.castSucc) (c i.succ)) ∧
IsClosed ({c (Fin.last (natTrdegFiber f x))} : Set (f.fiber (f x))) ∧
f.fiberι (f x) (c (Fin.last (natTrdegFiber f x))) ⤳ x'
AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Morphisms/Fibres/SpecializationChainToClosedSpecialization.lean, line 338. The attribute's comment: “EVERY assertion of the remark at once — the chain of d immediate specializations inside the fibre, its last term closed in the fibre, the final link x_d ⤳ x', the avoidance of any closed subset of the fibre which misses x, and d = natTrdegFiber f x — under the tag's own hypotheses, namely f locally of finite type, x ⤳ x' and x' closed in X_{f x'}, together with its exact range of validity: all of that holds if and only if x = x' or f x ≠ f x'. The reverse implication is the remark itself, by the argument of the source in exists_chain_isImmediateSpecialization_specializes_fiber; the forward implication disposes of the one remaining situation, a nontrivial specialization inside a single fibre, where {x'} is a closed subset of the fibre missing x which the last term of the chain cannot avoid, since a closed point specializing to x' is x'. That is the gap inherited from Stacks 053U, recorded there in closure_closedPoints_between_fiber_eq_iff, and respected by the source's own proof.”.
Stacks 053V, under the hypotheses of the tag and no others. Let
f : X ⟶ Sbe locally of finite type, letx ⤳ x'be a specialization inXwithx'closed in its own fibreX_{f x'}, and writed = natTrdegFiber f x. Then the remark holds — for every closed subsetWof the fibreX_{f x}not containingxthere is a chain
x = c 0 ⤳ c 1 ⤳ ⋯ ⤳ c d ⤳ x'whose first
dsteps are immediate specializations insideX_{f x}, which avoidsW, and whose last termc dis a closed point ofX_{f x}— if and only ifx = x'orf x ≠ f x'.The reverse implication is the assertion of the remark and carries its mathematical content: it is
AlgebraicGeometry.exists_chain_isImmediateSpecialization_specializes_fiber, which runs the argument of the source.The forward implication settles the one remaining situation, a nontrivial specialization inside one fibre, where the remark fails. If
f x = f x'thenx'is a pointzofX_{f x}, closed there, so{z}is a closed subset ofX_{f x}; werex ≠ x'it would not containx, hence would be a legitimate set to avoid, and the chain avoiding it would end in a point ofX_{f x}, closed there, specializing tox'and different fromz. But a point of a fibre closed in that fibre is the only point of the fibre it specializes to (AlgebraicGeometry.eq_of_fiberι_specializes_of_isClosed), so that last term iszafter all. ForX = 𝔸¹over a field,xits generic point andx'a closed point, every hypothesis of the remark holds and its conclusion is therefore false. This is the gap inherited from Stacks 053U, whose density conclusion supplies the point to walk down to and which is stated with the same range of validity inAlgebraicGeometry.closure_closedPoints_between_fiber_eq_iff; the source's own proof draws the same line, at the prime-avoidance step (see the module docstring).The closed set to be avoided is quantified inside the existence statement because that is where the source puts it: the points
x_ican be chosen to avoid any closed subset ofX_snot containingx. Fixing a singleWinstead would make the equivalence false,W = ∅being avoided by a chain in every configuration.
public theorem exists_chain_isImmediateSpecialization_specializes_fiber_iff
(f : X ⟶ S) [LocallyOfFiniteType f] (x x' : X) (hxx' : x ⤳ x')
(hx' : IsClosed ({f.asFiber x'} : Set (f.fiber (f x')))) :
(∀ W : Set (f.fiber (f x)), IsClosed W → f.asFiber x ∉ W →
∃ c : Fin (natTrdegFiber f x + 1) → f.fiber (f x),
c 0 = f.asFiber x ∧
(∀ i : Fin (natTrdegFiber f x),
IsImmediateSpecialization (c i.castSucc) (c i.succ)) ∧
IsClosed ({c (Fin.last (natTrdegFiber f x))} : Set (f.fiber (f x))) ∧
f.fiberι (f x) (c (Fin.last (natTrdegFiber f x))) ⤳ x' ∧
∀ i, c i ∉ W) ↔
x = x' ∨ f x ≠ f x'
Tag 05GT, a lemma
Tag 05GT in the Stacks Project.
Stacks.ClosedPointsFibre.exists_quotient_isLocalization_quasiFinite_of_isOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/ClosedPointsFibre/LocalRing.lean, line 55.
An open of the spectrum of an essentially finite type local algebra which meets the complement of the closed fibre contains a prime whose quotient is a localization of a quasi-finite algebra.
theorem exists_quotient_isLocalization_quasiFinite_of_isOpen
{A B : Type u} [CommRing A] [CommRing B] [IsLocalRing A] [IsLocalRing B]
[IsNoetherianRing A]
(f : A →+* B) (hf : IsLocalHom f)
(heft : IsEssentiallyOfFiniteType A B f)
(hres : letI : IsLocalHom f := hf;
letI := (IsLocalRing.ResidueField.map f).toAlgebra;
Module.Finite (IsLocalRing.ResidueField A) (IsLocalRing.ResidueField B))
(V : Set (PrimeSpectrum B)) (hV : IsOpen V)
(hne : ∃ q : PrimeSpectrum B,
q ∈ V ∧ q.asIdeal.comap f ≠ IsLocalRing.maximalIdeal A) :
∃ q : PrimeSpectrum B, q ∈ V ∧
q.asIdeal.comap f ≠ IsLocalRing.maximalIdeal A ∧
letI := f.toAlgebra;
∃ (C : Type u) (_ : CommRing C) (_ : Algebra A C)
(_ : Algebra.FiniteType A C) (_ : Algebra.QuasiFinite A C)
(M : Submonoid C) (_ : Algebra C (B ⧸ q.asIdeal)),
IsScalarTower A C (B ⧸ q.asIdeal) ∧ IsLocalization M (B ⧸ q.asIdeal)
Tag 05GU, a lemma
Tag 05GU in the Stacks Project.
Stacks.ClosedPointsFibre.exists_closedSubscheme_quasiFiniteAt_meeting_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/ClosedPointsFibre/ClosedSubscheme.lean, line 70.
Let
f : X ⟶ Sbe locally of finite type withSlocally Noetherian, and letxbe closed in its fibre. If some point of the openUspecializes toxand lies over a point other thanf x, then there are a closed immersioni : Z ⟶ Xand a pointxZofZoverxat whichi ≫ fis quasi-finite, together with a generalizationzZofxZmapping intoUand lying over a point other thanf x.
theorem exists_closedSubscheme_quasiFiniteAt_meeting_open
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
[IsLocallyNoetherian S] (x : X) (U : X.Opens)
(hx : IsClosed ({f.asFiber x} : Set (f.fiber (f x))))
(hU : ∃ x' : X, x' ∈ U.1 ∧ x' ⤳ x ∧ f x' ≠ f x) :
∃ (Z : Scheme.{u}) (i : Z ⟶ X), IsClosedImmersion i ∧
∃ xZ : Z, i xZ = x ∧ quasiFiniteAt (i ≫ f) xZ ∧
∃ zZ : Z, i zZ ∈ U.1 ∧ zZ ⤳ xZ ∧ f (i zZ) ≠ f x
Tag 05GV, a remark
Tag 05GV in the Stacks Project.
AlgebraicGeometry.closure_closedPoints_between_fiber_eq_of_isLocallyNoetherian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/ClosedPointsFibre/DenseClosedPoints.lean, line 231. The attribute's comment: “the theorem the remark asserts, by the route it sketches; the hypothesis f x ≠ f x' (or x = x') is added, Stacks 053U being false without it”.
Stacks 053U for a locally Noetherian base. For
f : X ⟶ Slocally of finite type withSlocally Noetherian,x ⤳ x'withx'closed in its fibre andf x ≠ f x'(orx = x'), the points ofX_{f x}closed inX_{f x}and lying betweenxandx'are dense in the closure ofxinX_{f x}.
public theorem closure_closedPoints_between_fiber_eq_of_isLocallyNoetherian {X S : Scheme.{u}}
(f : X ⟶ S) [LocallyOfFiniteType f] [IsLocallyNoetherian S] (x x' : X) (hxx' : x ⤳ x')
(hx' : IsClosed ({f.asFiber x'} : Set (f.fiber (f x'))))
(hs : f x ≠ f x' ∨ x = x') :
closure {y : f.fiber (f x) | IsClosed ({y} : Set (f.fiber (f x))) ∧
x ⤳ f.fiberι (f x) y ∧ f.fiberι (f x) y ⤳ x'} =
closure ({f.asFiber x} : Set (f.fiber (f x)))
Tag 05GW, a lemma
Tag 05GW in the Stacks Project.
Stacks.ClosedPointsFibre.exists_closedSubscheme_quasiFiniteAt_meeting_open_of_mem_closure, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/ClosedPointsFibre/ClosedSubscheme.lean, line 259.
Let
f : X ⟶ Sbe locally of finite type withSlocally Noetherian, and letxbe closed in its fibre. Ifxlies in the closure of an openUno point of which lies overf x, then there are a closed immersioni : Z ⟶ Xand a pointxZofZoverxat whichi ≫ fis quasi-finite, together with a generalizationzZofxZmapping intoUand lying over a point other thanf x.
theorem exists_closedSubscheme_quasiFiniteAt_meeting_open_of_mem_closure
{X S : Scheme.{u}} (f : X ⟶ S) [LocallyOfFiniteType f]
[IsLocallyNoetherian S] (x : X) (U : X.Opens)
(hx : IsClosed ({f.asFiber x} : Set (f.fiber (f x))))
(hU : ∀ y : X, y ∈ U.1 → f y ≠ f x)
(hclosure : x ∈ closure (U.1 : Set X)) :
∃ (Z : Scheme.{u}) (i : Z ⟶ X), IsClosedImmersion i ∧
∃ xZ : Z, i xZ = x ∧ quasiFiniteAt (i ≫ f) xZ ∧
∃ zZ : Z, i zZ ∈ U.1 ∧ zZ ⤳ xZ ∧ f (i zZ) ≠ f x
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.