27.2 Relative glueing to 27.14 Invertible sheaves and…
Section27.2 Relative glueing#
Section 27.2 of the Stacks Project, Tag 01LG. 3 tags here are carried by 6 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01LH, a lemma
Tag 01LH in the Stacks Project.
AlgebraicGeometry.Scheme.BasisGluingData.exists_isPullback_res_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/RelativeGluingOverBasis.lean, line 359. The attribute's comment: “existence of the glued scheme, with the charts identifying each piece with the part of it lying over the corresponding member of the basis”.
Let
Sbe a scheme andBa basis for its topology. Given a schemeD.obj UoverUfor everyU ∈ B, together with morphismsD.res : D.obj V ⟶ D.obj UforV ⊆ UinBidentifyingD.obj Vwith the part ofD.obj UoverVand satisfying the cocycle condition, there is a morphism of schemesf : X ⟶ Sand chartsi U : D.obj U ⟶ XidentifyingD.obj Uwith the part ofXoverU, compatibly with the restriction morphisms.
theorem exists_isPullback_res_comp (hB : Opens.IsBasis B) (D : BasisGluingData S B) :
∃ (X : Scheme.{u}) (f : X ⟶ S) (i : ∀ U : B, D.obj U ⟶ X),
(∀ U : B, IsPullback (D.proj U) (i U) U.1.ι f) ∧
∀ {V U : B} (h : V.1 ≤ U.1), D.res h ≫ i U = i V
AlgebraicGeometry.Scheme.BasisGluingData.existsUnique_isoOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/RelativeGluingOverBasis.lean, line 370. The attribute's comment: “the glued scheme is unique up to unique isomorphism over the base”.
The glued scheme of a gluing datum over a basis of the topology of
Sis unique up to unique isomorphism overS: between any two solutions of the gluing problem there is exactly one isomorphism compatible with the charts, and it is a morphism overS.
theorem existsUnique_isoOver (hB : Opens.IsBasis B) (D : BasisGluingData S B)
{X X' : Scheme.{u}} {f : X ⟶ S} {f' : X' ⟶ S}
{i : ∀ U : B, D.obj U ⟶ X} {i' : ∀ U : B, D.obj U ⟶ X'}
(hi : ∀ U : B, IsPullback (D.proj U) (i U) U.1.ι f)
(hi' : ∀ U : B, IsPullback (D.proj U) (i' U) U.1.ι f')
(hres : ∀ {V U : B} (h : V.1 ≤ U.1), D.res h ≫ i U = i V)
(hres' : ∀ {V U : B} (h : V.1 ≤ U.1), D.res h ≫ i' U = i' V) :
∃! e : X ≅ X', (∀ U : B, i U ≫ e.hom = i' U) ∧ e.hom ≫ f' = f
Tag 01LI, a lemma
Tag 01LI in the Stacks Project.
Stacks.AlgebraicGeometry.RelativeSheafGluing.RelativeSheafGluingData.exists_glued_and_existsUnique_pairIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/RelativeGluingPairUniqueness.lean, line 471. The attribute's comment: “both assertions of the tag as one statement: existence of the glued package — the morphism f, the charts i_U, the quasi-coherent module F, the identifications θ_U and their two compatibilities — and uniqueness of the pair (X, F) up to unique isomorphism over S”.
Stacks Project, Tag 01LI, both of its assertions as one statement. Let
𝒰be a locally directed open cover of a schemeS, letdbe a relative gluing datum over it, and letDbe a compatible family of quasi-coherent modules on the schemes ofd. Then:
- existence of the whole package. There is a morphism of schemes
f : X ⟶ S, morphismsi a : X a ⟶ Xexhibiting eachX aas the part ofXlying over thea-th member of the cover and compatible with the transition morphisms ofd, and a quasi-coherent moduleFonXtogether with isomorphismsθ a : F a ≅ (i a)^* Funder which the prescribed transition isomorphisms of theF aare the ones induced byF.- uniqueness. The pair
(X, F)is unique up to unique isomorphism overS: any two glued pairs are related by exactly one isomorphism of pairs.The two conjuncts are
Stacks.AlgebraicGeometry.RelativeSheafGluing.RelativeSheafGluingData.exists_isPullback_localIsoandStacks.AlgebraicGeometry.RelativeSheafGluing.RelativeSheafGluingData.existsUnique_pairIso.
theorem exists_glued_and_existsUnique_pairIso :
(∃ (X : Scheme.{u}) (f : X ⟶ S) (i : ∀ a, d.functor.obj a ⟶ X)
(_ : ∀ a, IsPullback (d.natTrans.app a) (i a) (𝒰.f a) f)
(hi : ∀ {a b : 𝒰.I₀} (hab : a ⟶ b), d.functor.map hab ≫ i b = i a)
(F : X.Modules), F.IsQuasicoherent ∧
∃ θ : ∀ a, D.obj a ≅ (Scheme.Modules.pullback (i a)).obj F,
∀ {a b : 𝒰.I₀} (hab : a ⟶ b),
(D.transitionIso hab).hom ≫ (θ a).hom =
(Scheme.Modules.pullback (d.functor.map hab)).map (θ b).hom ≫
(Scheme.Modules.pullbackComp (d.functor.map hab) (i b)).hom.app F ≫
(Scheme.Modules.pullbackCongr (hi hab)).hom.app F) ∧
∀ (H H' : Gluing d) (R : D.RealizationOn H) (R' : D.RealizationOn H'),
∃ p : D.PairIso R R', ∀ q : D.PairIso R R', q = p
Tag 01LK, a remark
Tag 01LK in the Stacks Project.
AlgebraicGeometry.CompatibleRelativeGluingData.colimMap_localHom_toBase, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/RelativeGluingMorphism.lean, line 114. The attribute's comment: “scheme_morphism”.
The morphism induced on the glued schemes is a morphism over the common base.
public lemma colimMap_localHom_toBase :
colimMap D.localHom ≫ D.target.toBase = D.source.toBase
AlgebraicGeometry.Scheme.BasisGluingData.existsUnique_hom_of_compatible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/RelativeGluingMorphism.lean, line 141. The attribute's comment: “scheme_morphism, for the gluing data over a basis of Tag 01LH”.
Stacks Project, Tag 01LK: functoriality for the data of Lemma 01LH. Let
Sbe a scheme andBa basis for its topology, and letDandD'be gluing data overBas in Tag 01LH, with local schemesD.obj U ⟶ UandD'.obj U ⟶ Uand restriction morphismsD.resandD'.res. Letf : X ⟶ Sbe a scheme glued fromD, with chartsi U, andg : Y ⟶ Sone glued fromD', with chartsj U. A family of morphismsh U : D.obj U ⟶ D'.obj UoverUcompatible with the restriction morphisms gives rise to a morphismk : X ⟶ YoverSwhich restricts back to theh U, andkis the only such morphism.
public theorem existsUnique_hom_of_compatible (hB : Opens.IsBasis B) (D D' : BasisGluingData S B)
{X Y : Scheme.{u}} {f : X ⟶ S} {g : Y ⟶ S}
{i : ∀ U : B, D.obj U ⟶ X} {j : ∀ U : B, D'.obj U ⟶ Y}
(hi : ∀ U : B, IsPullback (D.proj U) (i U) U.1.ι f)
(hj : ∀ U : B, IsPullback (D'.proj U) (j U) U.1.ι g)
(hires : ∀ {V U : B} (h : V.1 ≤ U.1), D.res h ≫ i U = i V)
(hjres : ∀ {V U : B} (h : V.1 ≤ U.1), D'.res h ≫ j U = j V)
(h : ∀ U : B, D.obj U ⟶ D'.obj U)
(hover : ∀ U : B, h U ≫ D'.proj U = D.proj U)
(hcompat : ∀ {V U : B} (hVU : V.1 ≤ U.1), D.res hVU ≫ h U = h V ≫ D'.res hVU) :
∃! k : X ⟶ Y, (∀ U : B, i U ≫ k = h U ≫ j U) ∧ k ≫ g = f
Stacks.AlgebraicGeometry.RelativeSheafGluing.exists_pullbackHom_of_transitionCompatible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/RelativeSheafGluingMorphism.lean, line 347. The attribute's comment: “sheaf_morphism”.
Stacks Project, Tag 01LK. Functoriality of relative gluing for quasi-coherent sheaves. Let
𝒰be a locally directed open cover of a schemeSand letdX,dYbe relative gluing data over it, carrying compatible families of quasi-coherent modules realized byℱon the glued schemeXand𝒢on the glued schemeY. Given a family of morphismshᵢ : Xᵢ ⟶ Yᵢcommuting with the restriction maps — hence the morphismh = colimMapof glued schemes — and morphismsτᵢ : hᵢ⁎𝒢ᵢ ⟶ ℱᵢcompatible with the transition isomorphisms of the two families, there is a morphismh⁎𝒢 ⟶ ℱwhose inverse image on thei-th chart isτᵢ, read through the canonical identifications.The companion half of the remark — that
his a morphism overSrestricting to the givenhᵢ— isCategoryTheory.Limits.ι_colimMaptogether withAlgebraicGeometry.CompatibleRelativeGluingData.colimMap_localHom_toBase.
theorem exists_pullbackHom_of_transitionCompatible (hom : dX.functor ⟶ dY.functor)
(A : DX.Realization) (B : DY.Realization)
(τ : ∀ i, (Scheme.Modules.pullback (hom.app i)).obj (DY.obj i) ⟶ DX.obj i)
(hτ : IsTransitionCompatible hom DX DY τ) :
∃ ψ : (Scheme.Modules.pullback (colimMap hom)).obj B.sheaf ⟶ A.sheaf, ∀ i,
(Scheme.Modules.pullback (colimit.ι dX.functor i)).map ψ =
pullbackChartHom hom A B τ i
Declarations registered for the tag:
CategoryTheory.Limits.colimMapregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/RelativeGluingMorphism.lean, line 98 (StacksFrontier): “scheme_morphism”.CategoryTheory.Limits.ι_colimMapregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/RelativeGluingMorphism.lean, line 99 (StacksFrontier): “scheme_morphism”.
Sources
Section27.3 Relative spectrum via glueing#
Section 27.3 of the Stacks Project, Tag 01LL. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01LM, a situation
Tag 01LM in the Stacks Project.
Stacks.RelativeSpec.RelativeSpecSituation, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/QuasicoherentSquare.lean, line 207.
A scheme equipped with a quasi-coherent sheaf of commutative algebras over its structure sheaf.
structure RelativeSpecSituation
Tag 01LN, a lemma
Tag 01LN in the Stacks Project.
Stacks.RelativeSpec.isPullback_specMap_restriction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/QuasicoherentSquare.lean, line 221.
For nested affine opens
U ⊆ U'of the base of a relative spectrum situation, the square formed by the spectra of the sections of the quasi-coherent algebra, the two open subschemes, and their canonical restriction morphisms is cartesian.
theorem isPullback_specMap_restriction (s : RelativeSpecSituation.{u})
(U U' : s.base.Opens) (hU : IsAffineOpen U) (hU' : IsAffineOpen U') (h : U ≤ U') :
IsPullback
(Spec.map (s.algebra.right.obj.map (homOfLE h).op))
(Spec.map (s.algebra.hom.hom.app (.op U)) ≫ hU.isoSpec.inv)
(Spec.map (s.algebra.hom.hom.app (.op U')) ≫ hU'.isoSpec.inv)
(s.base.homOfLE h)
Tag 01LO, a lemma
Tag 01LO in the Stacks Project.
Stacks.RelativeSpec.specMap_restriction_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/QuasicoherentSquare.lean, line 237. The attribute's comment: “the composite of the restriction morphisms of spectra of sections is the restriction morphism”.
For opens
U ⊆ U' ⊆ U''of the base of a relative spectrum situation, the composition of the morphismsSpec A(U) ⟶ Spec A(U')andSpec A(U') ⟶ Spec A(U'')ofStacks.RelativeSpec.isPullback_specMap_restrictionis the morphismSpec A(U) ⟶ Spec A(U'')of the same lemma.
theorem specMap_restriction_comp (s : RelativeSpecSituation.{u}) {U U' U'' : s.base.Opens}
(h : U ≤ U') (h' : U' ≤ U'') :
Spec.map (s.algebra.right.obj.map (homOfLE h).op) ≫
Spec.map (s.algebra.right.obj.map (homOfLE h').op) =
Spec.map (s.algebra.right.obj.map (homOfLE (h.trans h')).op)
Tag 01LP, a lemma
Tag 01LP in the Stacks Project.
Stacks.RelativeSpec.relativeSpectrum, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Construction.lean, line 123. References: EGA II (1.3.1), “existence”; EGA IV (21.12.1), “more general”; SGA 3 I (4.2).
Stacks Project, Tag 01LP, existence. The affine spectra of the sections of a quasi-coherent algebra glue to a scheme over the base, with the prescribed inverse images and the prescribed transition morphisms.
The glued scheme and its structure morphism are
Stacks.AffineAlgebraEquivalence.relativeSpecandStacks.AffineAlgebraEquivalence.relativeSpecToBase; the content added here is that its charts satisfy properties (1) and (2) of the tag.
def relativeSpectrum : RelativeSpectrum s
Stacks.RelativeSpec.existsUnique_relativeSpectrumIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Construction.lean, line 280.
Stacks Project, Tag 01LP, uniqueness. Any two relative spectra of the same quasi-coherent algebra admit a unique isomorphism over the base compatible with all the charts.
theorem existsUnique_relativeSpectrumIso (X Y : RelativeSpectrum s) :
∃! e : X.scheme ≅ Y.scheme,
(e.hom ≫ Y.toBase = X.toBase) ∧ ∀ U, X.chart U ≫ e.hom = Y.chart U
Stacks.RelativeSpec.gluedSpectrum, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Glueing.lean, line 95. The attribute's comment: “existence and local properties”. References: EGA II (1.3.1), “existence”; SGA 3 I (4.2).
Stacks Project, Tag 01LP, parts (1) and (2). The affine spectra of the sections of a quasi-coherent algebra glue to a scheme over the base, with the prescribed inverse images and transition open immersions.
noncomputable def gluedSpectrum (s : RelativeSpecSituation.{u}) : GluedSpectrum s
Stacks.RelativeSpec.existsUnique_gluedSpectrumIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Glueing.lean, line 248. The attribute's comment: “uniqueness”.
Stacks Project, Tag 01LP, uniqueness. Any two schemes over the base carrying the affine charts of the relative spectrum admit a unique isomorphism over the base that respects all the charts.
theorem _root_.Stacks.RelativeSpec.existsUnique_gluedSpectrumIso
(s : RelativeSpecSituation.{u}) (X Y : GluedSpectrum s) :
∃! e : X.scheme ≅ Y.scheme,
(e.hom ≫ Y.toBase = X.toBase) ∧ (∀ U, X.chart U ≫ e.hom = Y.chart U)
Sources
Section27.4 Relative spectrum as a functor#
Section 27.4 of the Stacks Project, Tag 01LQ. 8 tags here are carried by 26 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01LR, an equation
Tag 01LR in the Stacks Project.
Stacks.RelativeSpec.relativeSpecFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpecRepresentability/Basic.lean, line 283.
The contravariant functor sending a test scheme
Tto the pairs(f : T ⟶ X, φ : A ⟶ f_* 𝒪_T)and a morphism of test schemes to pullback of such pairs.
noncomputable def relativeSpecFunctor (s : RelativeSpecSituation.{u}) :
Scheme.{u}ᵒᵖ ⥤ Type u
Declarations registered for the tag:
relativeSpecFunctorregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorOfPoints.lean, line 97 (StacksFrontier).
Tag 01LS, a lemma
Tag 01LS in the Stacks Project.
Stacks.RelativeSpec.algebraPullback_nonempty, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 129. The attribute's comment: “existence of the pulled-back algebra”.
Stacks Project, Tag 01LS. Extension of scalars of a quasi-coherent algebra sheaf along any morphism of schemes exists and is quasi-coherent.
theorem algebraPullback_nonempty : Nonempty (AlgebraPullback s g)
Stacks.RelativeSpec.relativeSpecFunctorPullbackToOriginal_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 233. The attribute's comment: “base component of the canonical map to the original functor”.
Stacks Project, Tag 01LS. On a test scheme, the canonical map composes the structural morphism with the base-change morphism.
theorem relativeSpecFunctorPullbackToOriginal_base {T : Scheme.{u}}
(p : RelativeSpecPair (pullbackAlgebra s g).situation T) :
((relativeSpecFunctorPullbackToOriginal s g).app (.op T) p).1 = p.1 ≫ g
Stacks.RelativeSpec.relativeSpecFunctorPullbackToOriginal_algebra, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 240. The attribute's comment: “algebra component of the canonical map to the original functor”.
Stacks Project, Tag 01LS. The algebra component of the canonical map is obtained from the transpose of
g⁻¹A ⟶ g⁺A, then pushed forward along the test-scheme map.
theorem relativeSpecFunctorPullbackToOriginal_algebra {T : Scheme.{u}}
(p : RelativeSpecPair (pullbackAlgebra s g).situation T) :
HEq ((relativeSpecFunctorPullbackToOriginal s g).app (.op T) p).2.right
(((TopCat.Sheaf.pullbackPushforwardAdjunction CommRingCat g.base).homEquiv
s.algebra.right (pullbackAlgebra s g).algebra.right
(pullbackAlgebra s g).map).hom ≫
(TopCat.Presheaf.pushforward CommRingCat g.base).map p.2.right)
Stacks.RelativeSpec.relativeSpecFunctor_pullback_iso_pullback, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 330. The attribute's comment: “canonical base-change isomorphism”.
Stacks Project, Tag 01LS. Formation of the relative spectrum functor commutes with arbitrary base change.
noncomputable def relativeSpecFunctor_pullback_iso_pullback :
relativeSpecFunctor (pullbackAlgebra s g).situation ≅
pullback (yoneda.map g) (relativeSpecFunctorToBase s)
Stacks.RelativeSpec.relativeSpecFunctor_pullback_iso_pullback_fst, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 338. The attribute's comment: “first component of the canonical isomorphism”.
Stacks Project, Tag 01LS. The first component of the canonical base-change isomorphism remembers the map from a test scheme to the new base.
theorem relativeSpecFunctor_pullback_iso_pullback_fst :
(relativeSpecFunctor_pullback_iso_pullback s g).hom ≫
pullback.fst (yoneda.map g) (relativeSpecFunctorToBase s) =
relativeSpecFunctorToBase (pullbackAlgebra s g).situation
Stacks.RelativeSpec.relativeSpecFunctor_pullback_iso_pullback_snd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/BaseChange.lean, line 347. The attribute's comment: “second component of the canonical isomorphism”.
Stacks Project, Tag 01LS. The second component of the isomorphism is the canonical transformation induced by the algebra pullback map.
theorem relativeSpecFunctor_pullback_iso_pullback_snd :
(relativeSpecFunctor_pullback_iso_pullback s g).hom ≫
pullback.snd (yoneda.map g) (relativeSpecFunctorToBase s) =
relativeSpecFunctorPullbackToOriginal s g
Stacks.RelativeSpec.RelativeSpecSituation.baseChange, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 153. The attribute's comment: “the base-changed situation (S', g^*A)”.
Stacks Project, Tag 01LS. The relative-spectrum situation obtained from
(S, A)by base change alongg : S' ⟶ S: the base isS'and the algebra isA' = g^*A, the pullbackg⁻¹A ⊗_{g⁻¹𝒪_S} 𝒪_{S'}ofAas an algebra sheaf, which is again quasi-coherent.
def RelativeSpecSituation.baseChange (s : RelativeSpecSituation.{u}) {S' : Scheme.{u}}
(g : S' ⟶ s.base) : RelativeSpecSituation.{u}
Stacks.RelativeSpec.baseChangeToOriginal_app_fst, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 207. The attribute's comment: “base component of the canonical map to the original functor”.
Stacks Project, Tag 01LS. The morphism to
Sunderlying the image of a pair under the canonical transformationF' ⟶ Fis the morphism toS'of the pair, composed withg.
theorem baseChangeToOriginal_app_fst {T : Scheme.{u}}
(p : RelativeSpecPair (s.baseChange g) T) :
((baseChangeToOriginal s g).app (.op T) p).1 = p.1 ≫ g
Stacks.RelativeSpec.baseChangeToOriginal_app_right, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 216. The attribute's comment: “algebra component of the canonical map to the original functor”.
Stacks Project, Tag 01LS. The algebra map of the image of a pair under the canonical transformation
F' ⟶ Fis the direct image alonggof the pair's algebra map, precomposed with the adjunct of the canonical mapg⁻¹A ⟶ g^*A.
theorem baseChangeToOriginal_app_right {T : Scheme.{u}}
(p : RelativeSpecPair (s.baseChange g) T) :
((baseChangeToOriginal s g).app (.op T) p).2.right =
((TopCat.Sheaf.pullbackPushforwardAdjunction CommRingCat g.base).homEquiv
s.algebra.right ((algebraPullback g).obj s.algebra).right
((algebraPullbackMap g).app s.algebra)).hom ≫
(TopCat.Presheaf.pushforward CommRingCat g.base).map p.2.right
Stacks.RelativeSpec.relativeSpecFunctorBaseChangeIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 321. The attribute's comment: “canonical base-change isomorphism”.
Stacks Project, Tag 01LS. Formation of the relative-spectrum functor commutes with arbitrary base change: the functor attached to
(S', g^*A)is canonically the fibre producth_{S'} ×_{h_S} Fof the functor of points ofS'and the functor attached to(S, A)over the functor of points ofS.
def relativeSpecFunctorBaseChangeIso :
relativeSpecFunctor (s.baseChange g) ≅
pullback (yoneda.map g) (relativeSpecFunctorToBase s)
Stacks.RelativeSpec.relativeSpecFunctorBaseChangeIso_hom_fst, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 329. The attribute's comment: “first component of the canonical isomorphism”.
Stacks Project, Tag 01LS. The first component of the base-change isomorphism is the structural map of
F'to the functor of points of the new base.
theorem relativeSpecFunctorBaseChangeIso_hom_fst :
(relativeSpecFunctorBaseChangeIso s g).hom ≫
pullback.fst (yoneda.map g) (relativeSpecFunctorToBase s) =
relativeSpecFunctorToBase (s.baseChange g)
Stacks.RelativeSpec.relativeSpecFunctorBaseChangeIso_hom_snd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/FunctorBaseChange.lean, line 338. The attribute's comment: “second component of the canonical isomorphism”.
Stacks Project, Tag 01LS. The second component of the base-change isomorphism is the canonical transformation
F' ⟶ Finduced by the base-change map of algebras.
theorem relativeSpecFunctorBaseChangeIso_hom_snd :
(relativeSpecFunctorBaseChangeIso s g).hom ≫
pullback.snd (yoneda.map g) (relativeSpecFunctorToBase s) =
baseChangeToOriginal s g
Tag 01LT, a lemma
Tag 01LT in the Stacks Project.
Stacks.AffineAlgebraEquivalence.relativeSpecIsoSpecSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpecOpenRestriction/RelativeSpecAffineBase.lean, line 99. The attribute's comment: “the scheme-level form: over an affine base the relative spectrum is the spectrum of the ring of global sections of the algebra”.
[Stacks, Tag 01LT] at the level of schemes. Over an affine base the relative spectrum of a quasi-coherent sheaf of algebras is the spectrum of the ring of global sections of the algebra:
Spec_S(A) ≅ Spec Γ(S, A).
Stacks.RelativeSpec.relativeSpecFunctor_representableByis the same tag in its functor-of-points form; this is the identification with the glued relative spectrumStacks.AffineAlgebraEquivalence.relativeSpec.It is an isomorphism of schemes; no compatibility with the structure morphism to
Sis claimed.
public noncomputable def relativeSpecIsoSpecSections [IsAffine S] :
relativeSpec A ≅ Spec (A.right.obj.obj (op (⊤ : S.Opens)))
Stacks.RelativeSpec.relativeSpecFunctor_representableBy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpecRepresentability/Basic.lean, line 496.
If the base is affine, the functor of relative-spectrum pairs associated to a quasi-coherent algebra is represented by the spectrum of the algebra's ring of global sections.
theorem relativeSpecFunctor_representableBy (s : RelativeSpecSituation.{u}) [IsAffine s.base] :
Nonempty ((relativeSpecFunctor s).RepresentableBy
(Spec (s.algebra.right.obj.obj (.op (⊤ : s.base.Opens)))))
Tag 01LU, a lemma
Tag 01LU in the Stacks Project.
Stacks.RelativeSpec.relativeSpecFunctor_isRepresentable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Representability.lean, line 409.
The functor associated to a quasi-coherent algebra on a scheme is representable by a scheme.
theorem relativeSpecFunctor_isRepresentable : (relativeSpecFunctor s).IsRepresentable
Tag 01LV, a lemma
Tag 01LV in the Stacks Project.
Stacks.RelativeSpec.relativeSpecRepresentableBy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Representability.lean, line 374.
The glued relative spectrum represents the relative spectrum functor, with universal element the structure morphism together with the universal algebra map.
noncomputable def relativeSpecRepresentableBy :
(relativeSpecFunctor s).RepresentableBy (gluedSpectrum s).scheme
Stacks.RelativeSpec.gluedSpectrumIso_hom_toBase, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Representability.lean, line 432. The attribute's comment: “canonical comparison over the base”.
The canonical comparison between the glued relative spectrum and a scheme representing the relative spectrum functor is a morphism over the base, where the representing scheme carries the structure morphism of its universal element.
theorem gluedSpectrumIso_hom_toBase {X : Scheme.{u}}
(h : (relativeSpecFunctor s).RepresentableBy X) :
(gluedSpectrumIso s h).hom ≫ (h.homEquiv (𝟙 X)).1 = (gluedSpectrum s).toBase
Tag 01LW, a definition
Tag 01LW in the Stacks Project.
Stacks.RelativeSpec.relativeSpecRepresentableBy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/Representability.lean, line 374. The attribute's comment: “the relative spectrum with its universal algebra map”.
The glued relative spectrum represents the relative spectrum functor, with universal element the structure morphism together with the universal algebra map.
noncomputable def relativeSpecRepresentableBy :
(relativeSpecFunctor s).RepresentableBy (gluedSpectrum s).scheme
Tag 01LX, a lemma
Tag 01LX in the Stacks Project.
Stacks.AffineAlgebraEquivalence.isAffineOpen_preimage_relativeSpecToBase, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/AffineAlgebraEquivalence2/RelativeSpec.lean, line 137. The attribute's comment: “affine_inverse_image”. References: SGA 3 I (4.2), “Spec(A) affine over S”.
Stacks Project, Tag 01LX(1). The preimage of an affine open of the base in the relative spectrum is affine.
public theorem isAffineOpen_preimage_relativeSpecToBase (U : S.affineOpens) :
IsAffineOpen (relativeSpecToBase A ⁻¹ᵁ (U : S.Opens))
Stacks.AffineAlgebraEquivalence.pushforwardAlgebraIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpecEssSurj/Basic.lean, line 296. The attribute's comment: “universal_map_iso”. References: SGA 3 I (4.2), “A ≅ π_*O_Spec(A)”.
Stacks Project, Tag 01LX(3). The isomorphism of sheaves of
𝒪_S-algebras(relativeSpecToBase A)_* 𝒪 ≅ A. Its inverse is the universal mapA ⟶ (relativeSpecToBase A)_* 𝒪of the relative spectrum, so this says that the universal map is an isomorphism; it is also the essential surjectivity of the pushforward functor.
public noncomputable def pushforwardAlgebraIso : pushforwardAlgebra (relativeSpecToBase A) ≅ A
Stacks.AffineAlgebraEquivalence.relativeSpecBaseChangeIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpecOpenRestriction/RelativeSpecBaseChange.lean, line 113. The attribute's comment: “part (2): Spec_S(A) ×_S T = Spec_T(g^*A) for an arbitrary morphism g : T → S”. References: EGA II (1.5.6); SGA 3 III (0.1.7); SGA 3 VIA (2.1.2), “more general”.
Stacks Project, Tag 01LX part (2). For a quasi-coherent sheaf of
𝒪_S-algebrasAand an arbitrary morphism of schemesg : T ⟶ S, the fibre product\underline{Spec}_S(A) ×_S Tis the relative spectrum overTof the base changeg^*A:The base changeT ×_S \underline{Spec}_S(A) = \underline{Spec}_T(g^*A).g^*Ais quasi-coherent byStacks.AffineAlgebraEquivalence.isQuasicoherent_algebraPullback_obj, which is what makes the right-hand side meaningful.
public noncomputable def relativeSpecBaseChangeIso :
(Over.pullback g).obj (Over.mk (relativeSpecToBase A)) ≅
Over.mk (relativeSpecToBase ((algebraPullback g).obj A))
Tag 01LY, a lemma
Tag 01LY in the Stacks Project.
Stacks.RelativeSpec.AlgebraSheaf.isQuasicoherent_pushforwardAlgebra, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/CanonicalMorphism.lean, line 106. The attribute's comment: “quasi-coherence of the pushed-forward algebra”. References: EGA I (4.1.1), “more general”; EGA I (9.2.2), “special case”; EGA IV (11.10.3); EGA IV (21.12.1); EGA IV (3.1.10.2), “special case”; SGA 3 III (0.13), “special case”; SGA 3 VIB (11.0), “special case”.
For a quasi-compact and quasi-separated morphism of schemes
f : X ⟶ S, the sheaf of𝒪_S-algebrasf_* 𝒪_Xis quasi-coherent.This is Tag 01LC for the structure sheaf of
X: the𝒪_S-module underlyingf_* 𝒪_Xis the direct image of the unit module over𝒪_X.
instance AlgebraSheaf.isQuasicoherent_pushforwardAlgebra [QuasiCompact f] [QuasiSeparated f] :
AlgebraSheaf.IsQuasicoherent (pushforwardAlgebra f)
Stacks.RelativeSpec.toRelativeSpec, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/CanonicalMorphism.lean, line 156. The attribute's comment: “canonical morphism”. References: EGA III (4.3.1).
The canonical morphism
can : X ⟶ Spec_S(f_* 𝒪_X)from the source of a quasi-compact, quasi-separated morphism to the relative spectrum of the direct image of its structure sheaf. It is the morphism classified by the identity map off_* 𝒪_Xunder the representing bijection of Tag 01LV.
noncomputable def toRelativeSpec : X ⟶ (gluedSpectrum (pushforwardSituation f)).scheme
Stacks.RelativeSpec.toRelativeSpec_toBase, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/CanonicalMorphism.lean, line 171. The attribute's comment: “morphism over the base”.
The canonical morphism to the relative spectrum of
f_* 𝒪_Xis a morphism of schemes overS.
theorem toRelativeSpec_toBase :
toRelativeSpec f ≫ (gluedSpectrum (pushforwardSituation f)).toBase = f
Stacks.RelativeSpec.ι_toRelativeSpec, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeSpec/CanonicalMorphism.lean, line 192. The attribute's comment: “identification on affine opens”.
Over an affine open
Uof the base, the canonical morphism to the relative spectrum off_* 𝒪_Xrestricts onf⁻¹(U)to the canonical morphismf⁻¹(U) ⟶ Spec Γ(f⁻¹(U), 𝒪_X), followed by the chart ofU.
theorem ι_toRelativeSpec (U : S.affineOpens) :
(f ⁻¹ᵁ U.1).ι ≫ toRelativeSpec f =
(f ⁻¹ᵁ U.1).toSpecΓ ≫ (gluedSpectrum (pushforwardSituation f)).chart U
Sources
Section27.5 Affine n-space#
Section 27.5 of the Stacks Project, Tag 01LZ. 1 tag here is carried by 1 declaration of the repository (in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01M0, a definition
Tag 01M0 in the Stacks Project.
Stacks.AffineSpace.affineNSpace, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/AffineSpace.lean, line 287. The attribute's comment: “affine n-space over S, the relative spectrum of the polynomial algebra O_S[T_1, ..., T_n], as a scheme over S”. References: EGA IV (5.5.5).
Affine
n-space over a scheme. For a schemeSand an integern ≥ 0, affinen-space𝐀ⁿ_S = Spec_S(𝒪_S[T_1, …, T_n])overSis the relative spectrum of the quasi-coherent sheaf of𝒪_S-algebras𝒪_S[T_1, …, T_n], as a scheme overS. ForS = Spec Rthis is affinen-space𝐀ⁿ_RoverR.Here
𝒪_S[T_1, …, T_n]is the sheaf associated to the presheafU ↦ 𝒪_S(U)[T_1, …, T_n], whose sections over an affine openUare𝒪_S(U)[T_1, …, T_n](Stacks.AffineSpace.bijective_toSheafify_app), and the result is Mathlib's𝔸(n; S)overSbyStacks.AffineSpace.affineSpaceIso.
abbrev affineNSpace (n : ℕ) : Over S
Sources
Section27.6 Vector bundles#
Section 27.6 of the Stacks Project, Tag 01M1. 3 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01M2, a definition
Tag 01M2 in the Stacks Project.
AlgebraicGeometry.Scheme.Modules.vectorBundle, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/VectorBundleOfModule.lean, line 72. The attribute's comment: “the vector bundle V(E) = Spec_S(Sym(E)) associated to a quasi-coherent module”. References: EGA II (1.7.8); EGA IV (16.4.7); EGA IV (16.5.12), “more general”; EGA IV (18.5.2); SGA 3 I (4.6.3.1), “partial”; SGA 3 VIB (11.5); SGA 4½ Sommes trig (4.6), “partial”; SGA 6 VIII (5.2).
The vector bundle
𝐕(ℰ) = Spec_S(Sym(ℰ))associated to a quasi-coherent𝒪_S-moduleℰ: the relative spectrum of the symmetric algebra ofℰ.Following EGA II, Definition 1.7.8,
ℰis not assumed finite locally free.
def vectorBundle [E.IsQuasicoherent] : Scheme.{u}
Tag 062M, a definition
Tag 062M in the Stacks Project.
AlgebraicGeometry.VectorBundle, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/VectorBundle.lean, line 223. The attribute's comment: “vector bundles”.
A vector bundle over
S: a cone whose direct-image algebra is generated in degree one in the strongest sense, namely that every canonical mapSym^n(ℰ_1) ⟶ ℰ_nis an isomorphism.
structure VectorBundle (S : Scheme.{u}) extends AbstractCone S
AlgebraicGeometry.VectorBundle.category, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/VectorBundle.lean, line 236. The attribute's comment: “morphisms of vector bundles”.
Vector bundles over a fixed base form a category, with the morphisms of the underlying cones as its morphisms.
instance category : Category (VectorBundle S)
Tag 062N, a lemma
Tag 062N in the Stacks Project.
AlgebraicGeometry.VectorBundle.degreeOneEquivalence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/VectorBundleEssSurj.lean, line 422. The attribute's comment: “the anti-equivalence between vector bundles over S and quasi-coherent O_S-modules”.
The category of vector bundles over a scheme
Sis anti-equivalent to the category of quasi-coherent𝒪_S-modules.The anti-equivalence is recorded in the contravariant form
(VectorBundle S)ᵒᵖ ≌ QCoh(𝒪_S), the functor beingV ↦ (π_* 𝒪_V)_1and its quasi-inverseℰ ↦ 𝐕(ℰ) = Spec_S(Sym(ℰ)). Of the two standard forms of an anti-equivalence this is the one with the opposite taken on the geometric side, which is the side the source's two functors are contravariant on, and it is the form of Tag 01SA's(AffineOver S)ᵒᵖ ≌ QuasicoherentAlgebra Sthat this one restricts.
def degreeOneEquivalence (S : Scheme.{u}) :
(VectorBundle S)ᵒᵖ ≌ Scheme.QuasicoherentModules S
Sources
Section27.7 Cones#
Section 27.7 of the Stacks Project, Tag 062P. 2 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 062Q, a definition
Tag 062Q in the Stacks Project.
AlgebraicGeometry.GradedConeAlgebra.cone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ConeOfGradedAlgebra.lean, line 153. References: EGA II (8.3.1), “affine cone C=Spec(S)”; EGA II (8.6.1), “partial”; SGA 7 XV (2.1.1), “more general”.
The cone, or affine cone, associated to a quasi-coherent graded
𝒪_S-algebra𝒜whose degree-zero part is𝒪_S: the relative spectrumC(𝒜) = Spec_S(𝒜).
public noncomputable def cone : Scheme.{u}
Tag 062R, a definition
Tag 062R in the Stacks Project.
AlgebraicGeometry.AbstractCone, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/Cone.lean, line 65. The attribute's comment: “cones”.
A cone over
S: an affine morphism whose direct-image algebra is nonnegatively graded and has degree-zero part𝒪_S.
public structure AbstractCone (S : Scheme.{u})
AlgebraicGeometry.AbstractCone.Hom, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/Cone.lean, line 117. The attribute's comment: “morphisms of cones”.
A morphism of cones. The map on direct images is the pullback on functions induced by the displayed morphism of total spaces.
public structure Hom {S : Scheme.{u}} (X Y : AbstractCone S)
Sources
Section27.8 Proj of a graded ring#
Section 27.8 of the Stacks Project, Tag 01M3. 13 tags here are carried by 27 declarations of the repository (all in StacksFrontier) and 5 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01M4, a lemma
Tag 01M4 in the Stacks Project.
Stacks.ProjStandardOpenStatement.tag01M4, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStandardOpenStatement.lean, line 89. The attribute's comment: “the ten assertions of the tag in one statement: part (1)(a)-(h) for a standard open D+(g) contained in D+(f), part (2) the finite refinement of an open covering of D+(f) by standard opens, part (3) the unit-ideal criterion”.
[Stacks, Tag 01M4]. For a graded ring
Aandf ∈ 𝒜 dhomogeneous of positive degree:
- part (1), for homogeneous
gof positive degree withD₊(g) ⊆ D₊(f), the eight assertions (a)–(h) of the source, the module assertions (g) and (h) quantified over the graded module inside their own conjuncts;- part (2), the finite refinement of an open covering of
D₊(f)by standard opens;- part (3), the unit-ideal criterion for
D₊(f) ⊆ ⋃ D₊(gᵢ).
theorem tag01M4 (𝒜 : ℕ → Submodule R A) [GradedAlgebra 𝒜] {f : A} {d : ℕ}
(hfd : f ∈ 𝒜 d) (hd : 0 < d) :
-- part (1)
(∀ (g : A) (e : ℕ) (hge : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f),
-- (a) `f` is invertible in `A[1/g]`, and `f ^ deg g / g ^ deg f` is invertible in `A₍g₎`
(IsUnit (algebraMap A (Localization.Away g) f) ∧
IsUnit (Away.isLocalizationElem hge hfd)) ∧
-- (b) a positive power of `g` is a homogeneous multiple of `f`
(∃ k : ℕ, 1 ≤ k ∧ ∃ a : A, SetLike.IsHomogeneousElem 𝒜 a ∧ g ^ k = a * f) ∧
-- (c) the canonical, and only, `A`-algebra map `A[1/f] → A[1/g]`
((∀ x : A,
ProjectiveSpectrum.localizedRingMap 𝒜 f g ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg
(algebraMap A (Localization.Away f) x) = algebraMap A (Localization.Away g) x) ∧
Subsingleton (Localization.Away f →ₐ[A] Localization.Away g)) ∧
-- (d) the canonical `𝒜 0`-algebra map `A₍f₎ → A₍g₎`, compatible with the map of (c),
-- and the only `𝒜 0`-algebra map compatible with it
((∀ x : Away 𝒜 f,
(ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg x).val =
ProjectiveSpectrum.localizedRingMap 𝒜 f g ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg x.val) ∧
∀ ψ : Away 𝒜 f →ₐ[𝒜 0] Away 𝒜 g,
(∀ x : Away 𝒜 f, (ψ x).val =
ProjectiveSpectrum.localizedRingMap 𝒜 f g ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg x.val) →
ψ = ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg) ∧
-- (e) that map exhibits `A₍g₎` as `A₍f₎` localized at `g ^ deg f / f ^ deg g`
(letI : Algebra (Away 𝒜 f) (Away 𝒜 g) :=
(ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).toRingHom.toAlgebra
IsLocalization.Away
(Away.mk 𝒜 hfd e (g ^ d) (by simpa [mul_comm] using SetLike.pow_mem_graded d hge))
(Away 𝒜 g)) ∧
-- (f) the commutative diagram of topological spaces, with horizontal arrows
-- homeomorphisms and vertical arrows open immersions
(letI := gradedRingTwistAway 𝒜 hfd
letI := gradedRingTwistAway 𝒜 hge
IsHomeomorph (gradedPrimeToBasicOpen 𝒜 hge he) ∧
IsHomeomorph (gradedPrimesAwayToSpec 𝒜 hge) ∧
IsHomeomorph (gradedPrimeToBasicOpen 𝒜 hfd hd) ∧
IsHomeomorph (gradedPrimesAwayToSpec 𝒜 hfd) ∧
Topology.IsOpenEmbedding (basicOpenInclusion 𝒜 hfg) ∧
Topology.IsOpenEmbedding
(gradedPrimesVertical 𝒜 hfd hge ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg) ∧
Topology.IsOpenEmbedding (specDegreeZeroVertical 𝒜 f g d e hd he hfd hge hfg) ∧
(∀ q : gradedPrimes (twistAway 𝒜 g e),
basicOpenInclusion 𝒜 hfg (gradedPrimeToBasicOpen 𝒜 hge he q) =
gradedPrimeToBasicOpen 𝒜 hfd hd
(gradedPrimesVertical 𝒜 hfd hge ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg q)) ∧
(∀ q : gradedPrimes (twistAway 𝒜 g e),
specDegreeZeroVertical 𝒜 f g d e hd he hfd hge hfg
(gradedPrimesAwayToSpec 𝒜 hge q) =
gradedPrimesAwayToSpec 𝒜 hfd
(gradedPrimesVertical 𝒜 hfd hge ⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg q))) ∧
-- (g) and (h), for an arbitrary graded `A`-module `M`
(∀ {M : Type w} {τ : Type t} [AddCommGroup M] [Module A M] [SetLike τ M]
[AddSubgroupClass τ M] ( : ℤ → τ) [DirectSum.Decomposition ]
[SetLike.GradedSMul 𝒜 ],
-- (g) compatible maps `M_f → M_g` and `M₍f₎ → M₍g₎`, induced by the identity of `M`,
-- each the only such map
((∀ m : M,
(ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).localizedMap
(LocalizedModule.mkLinearMap (Submonoid.powers f) M m) =
LocalizedModule.mkLinearMap (Submonoid.powers g) M m) ∧
(∀ x : GradedModuleDegreeZeroLocalization 𝒜 f,
(((ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).degreeZeroMap x :
GradedModuleDegreeZeroLocalization 𝒜 g) :
LocalizedModule.Away (R := A) g M) =
(ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).localizedMap x) ∧
(∀ L :
letI := Module.compHom (R := Localization.Away g) (S := Localization.Away f)
(LocalizedModule.Away (R := A) g M)
(ProjectiveSpectrum.localizedRingMap 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).toRingHom
LocalizedModule.Away (R := A) f M →ₗ[Localization.Away f]
LocalizedModule.Away (R := A) g M,
(∀ m : M, L (LocalizedModule.mkLinearMap (Submonoid.powers f) M m) =
LocalizedModule.mkLinearMap (Submonoid.powers g) M m) →
L = (ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).localizedMap) ∧
(∀ N :
letI := Module.compHom (R := Localization.Away f)
(LocalizedModule.Away (R := A) f M)
(algebraMap (Away 𝒜 f) (Localization.Away f))
letI := Module.compHom (R := Localization.Away g)
(LocalizedModule.Away (R := A) g M)
(algebraMap (Away 𝒜 g) (Localization.Away g))
letI := Module.compHom (R := Away 𝒜 g)
(GradedModuleDegreeZeroLocalization 𝒜 g)
(ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).toRingHom
GradedModuleDegreeZeroLocalization 𝒜 f →ₗ[Away 𝒜 f]
GradedModuleDegreeZeroLocalization 𝒜 g,
(∀ x : GradedModuleDegreeZeroLocalization 𝒜 f,
(N x : LocalizedModule.Away (R := A) g M) =
(ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).localizedMap x) →
N = (ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).degreeZeroMap)) ∧
-- (h) `M₍g₎` is `M₍f₎` localized at `g ^ deg f / f ^ deg g`
(letI : Algebra (Away 𝒜 f) (Away 𝒜 g) :=
(ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).toRingHom.toAlgebra
letI := Module.compHom (R := Away 𝒜 g)
(GradedModuleDegreeZeroLocalization 𝒜 g)
(ProjectiveSpectrum.degreeZeroRingMap 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).toRingHom
IsLocalizedModule
(Submonoid.powers
(Away.mk 𝒜 hfd e (g ^ d) (by simpa [mul_comm] using SetLike.pow_mem_graded d hge)))
(ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hfd⟩ ⟨e, he, hge⟩ hfg).degreeZeroMap))) ∧
-- part (2)
(∀ {ι : Type s} (U : ι → TopologicalSpace.Opens (ProjectiveSpectrum 𝒜)),
ProjectiveSpectrum.basicOpen 𝒜 f ≤ ⨆ i, U i →
∃ (n : ℕ) (g : Fin n → A) (e : Fin n → ℕ),
(∀ i, 0 < e i ∧ g i ∈ 𝒜 (e i)) ∧
ProjectiveSpectrum.basicOpen 𝒜 f = ⨆ i, ProjectiveSpectrum.basicOpen 𝒜 (g i) ∧
∀ i, ∃ j, ProjectiveSpectrum.basicOpen 𝒜 (g i) ≤ U j) ∧
-- part (3)
(∀ {ι : Type s'} (g : ι → A) (e : ι → ℕ) (hg : ∀ i, g i ∈ 𝒜 (e i)) (_he : ∀ i, 0 < e i),
AlgebraicGeometry.Proj.basicOpen 𝒜 f ≤ ⨆ i, AlgebraicGeometry.Proj.basicOpen 𝒜 (g i) ↔
Ideal.span (Set.range fun i => Away.isLocalizationElem hfd (hg i)) = ⊤)
Tag 01M5, a definition
Tag 01M5 in the Stacks Project.
ProjectiveSpectrum.IsStandardOpenCover, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStandardOpenCover.lean, line 61.
A finite family of positive-degree homogeneous elements
gᵢgives a standard open covering of the projective standard openD₊(f)when their standard opens have union exactlyD₊(f).
public abbrev IsStandardOpenCover {A : Type u} {σ : Type v}
[CommRing A] [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ℕ → σ) [GradedRing 𝒜]
(f : A) {n : ℕ} (g : Fin n → A) : Prop
Tag 01M6, a definition
Tag 01M6 in the Stacks Project.
AlgebraicGeometry.ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjConeTwistLocalRestriction.lean, line 67. The attribute's comment: “part (3), the standard-open identification intertwines the restriction map of the associated sheaf with the degree-zero restriction map of Tag 01M4”.
The standard-open identification
Γ(D₊(f), M̃) = M₍f₎intertwines the restriction map ofM̃with the canonical degree-zero restriction mapM₍f₎ → M₍g₎, for any two positive-degree homogeneous elements withD₊(g) ⊆ D₊(f).
theorem associatedModuleSheafStandardOpenEquiv_restrict (f g : S) {d e : ℕ}
(hf : f ∈ 𝒜 d) (hd : 0 < d) (hg : g ∈ 𝒜 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒜 g ≤ ProjectiveSpectrum.basicOpen 𝒜 f)
(s : (associatedModuleSheaf 𝒜 ).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
associatedModuleSheafStandardOpenEquiv 𝒜 hg he
((associatedModuleSheaf 𝒜 ).val.map (homOfLE hfg).op s) =
(ProjectiveSpectrum.moduleRestrictionMaps 𝒜 f g
⟨d, hd, hf⟩ ⟨e, he, hg⟩ hfg).degreeZeroMap
(associatedModuleSheafStandardOpenEquiv 𝒜 hf hd s)
AlgebraicGeometry.ProjectiveSpectrum.Proj.coe_associatedModuleSheafStandardOpenEquiv_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStandardOpenScalars.lean, line 82. The attribute's comment: “part (3), the scalar action in the standard-open identification, written out on the underlying elements of the localization”.
The standard-open identification
Γ(D₊(f), M̃) = M₍f₎is linear for the action ofΓ(P, D₊(f))read throughAlgebraicGeometry.Proj.awayToSection, the action on the target being multiplication by the fraction insideM_f.
theorem coe_associatedModuleSheafStandardOpenEquiv_smul {f : S} {d : ℕ} (hf : f ∈ 𝒜 d)
(hd : 0 < d) (r : HomogeneousLocalization.Away 𝒜 f)
(s : (associatedModuleSheaf 𝒜 ).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((associatedModuleSheafStandardOpenEquiv 𝒜 hf hd
((ProjectiveSpectrum.Proj.awayToSection 𝒜 f).hom r • s) :
LocalizedModule.Away f M)) =
HomogeneousLocalization.val r •
((associatedModuleSheafStandardOpenEquiv 𝒜 hf hd s : LocalizedModule.Away f M))
AlgebraicGeometry.ProjectiveSpectrum.Proj.associatedModuleSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 221. The attribute's comment: “part (3), the sheaf associated to a graded module”. References: SGA 6 VI (2.3.2), “affine base”.
The actual sheaf associated to a graded module. Its sections are locally homogeneous fractions of degree zero, and its restrictions are restrictions of dependent functions.
public noncomputable def associatedModuleSheaf :
SheafOfModules.{max u v}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒜))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒜))
AlgebraicGeometry.ProjectiveSpectrum.Proj.degreeZeroToSection_injective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 710. The attribute's comment: “part (3), injectivity of the standard-open comparison”.
Distinct degree-zero fractions give distinct sections on a positive-degree standard open.
public theorem degreeZeroToSection_injective {f : S} {d : ℕ}
(hf : f ∈ 𝒜 d) (hd : 0 < d) :
Function.Injective (degreeZeroToSection 𝒜 f)
AlgebraicGeometry.ProjectiveSpectrum.Proj.degreeZeroToSection_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 729. The attribute's comment: “part (3), surjectivity of the standard-open comparison”.
Every section on a positive-degree standard open comes from a degree-zero fraction.
public theorem degreeZeroToSection_surjective {f : S} {d : ℕ}
(hf : f ∈ 𝒜 d) (hd : 0 < d) :
Function.Surjective (degreeZeroToSection 𝒜 f)
AlgebraicGeometry.ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 937. The attribute's comment: “part (3), canonical linear identification on standard opens”.
The canonical linear identification of sections on
D₊(f)withM_(f). Its inverse is evaluation of a degree-zero fraction in every homogeneous-prime fiber.
public noncomputable def associatedModuleSheafStandardOpenEquiv {f : S} {d : ℕ}
(hf : f ∈ 𝒜 d) (hd : 0 < d) :
(associatedModuleSheaf 𝒜 ).val.obj (.op (ProjectiveSpectrum.basicOpen 𝒜 f))
≃ₗ[HomogeneousLocalization.Away 𝒜 f]
GradedModuleDegreeZeroLocalization 𝒜 f
Declarations registered for the tag:
AlgebraicGeometry.ProjectiveSpectrum.Proj.structureSheafregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 84 (StacksFrontier): “part (1), the structure sheaf”.AlgebraicGeometry.Proj.toLocallyRingedSpaceregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjStructureSheaf.lean, line 87 (StacksFrontier): “part (2), the homogeneous spectrum as a locally ringed space”.
Tag 01M7, a lemma
Tag 01M7 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjSheafFunctoriality.shortExact_map_associatedModuleSheafFunctor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSheafFunctoriality/Exact.lean, line 167. The attribute's comment: “the functor M ↦ M~ is exact, in its categorical form: a short exact sequence of graded S-modules goes to a short exact sequence of sheaves of modules on Proj S”.
Stacks 01M7: the functor
M ↦ M̃is exact, in the form that it carries a short exact sequence of gradedS-modules to a short exact sequence of sheaves of𝒪_{Proj 𝒮}-modules.Short exactness of sheaves of modules is short exactness on every stalk, the stalk of
M̃at a homogeneous prime𝔭is the degree-zero part of the localization ofMat𝔭, and that operation is exact.
public theorem shortExact_map_associatedModuleSheafFunctor
(T : ShortComplex (GradedModuleCat.{u, u, w} 𝒮)) (hT : T.ShortExact) :
(T.map (associatedModuleSheafFunctor 𝒮)).ShortExact
Stacks.AlgebraicGeometry.ProjSheafFunctoriality.sections_restriction_stalks_functorial_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSheafFunctoriality/Statement.lean, line 115. The attribute's comment: “the tag's assertions in one statement: the sections of the structure sheaf and of the associated sheaf over a positive-degree standard open are the degree-zero localizations S₍f₎ and M₍f₎, the restriction maps between two standard opens are the canonical maps S₍f₎ → S₍g₎ and M₍f₎ → M₍g₎ of degree-zero localizations, the stalks at a homogeneous prime are S₍𝔭₎ and M₍𝔭₎, there are canonical maps S₀ → Γ(Proj S, 𝒪) and M₀ → Γ(Proj S, M̃) fitting both descriptions, every one of these identifications is natural in the graded module, and M ↦ M̃ is an exact functor”. References: EGA II (2.5.5), “special case”.
[Stacks, Tag 01M7]. Let
Sbe a graded ring, letMbe a gradedS-module and letM̃be the sheaf of𝒪_{Proj(S)}-modules associated toM. Then all of the following hold.The conjuncts are, in order:
- For
fhomogeneous of positive degree,Γ(D₊(f), 𝒪_{Proj(S)})isS₍f₎.- For
fhomogeneous of positive degree,Γ(D₊(f), M̃)isM₍f₎as anS₍f₎-module.- For
D₊(g) ⊆ D₊(f)withf,ghomogeneous of positive degree, the restriction map of𝒪_{Proj(S)}is the mapS₍f₎ → S₍g₎of Tag 01M4, and the restriction map ofM̃is the mapM₍f₎ → M₍g₎of Tag 01M4.- At a point
xofProj(S), with homogeneous prime𝔭, the stalk𝒪_{Proj(S), x}isS₍𝔭₎.- At the same point, the stalk
(M̃)_xisM₍𝔭₎as anS₍𝔭₎-module.- There is a canonical ring map
S₀ → Γ(Proj(S), 𝒪_{Proj(S)})and a canonicalS₀-module mapM₀ → Γ(Proj(S), M̃), each compatible with the description of the sections over a positive-degree standard open and with the description of the stalks: the four equations say that the restriction of the global section attached toa, resp. tom, isa / 1, resp.m / f ^ 0, and that its germ atxisa / 1, resp.m / 1.- The identifications are functorial in the graded module. The identity map of
Minduces the identity morphism ofM̃; and for every gradedS-moduleNand degree-preservingφ : M →ₗ[S] N, withM̃ ⟶ Ñthe induced morphism: composition with a degree-preserving map out ofNis respected, and the identifications of (2), (5) and (6) are natural — over a positive-degree standard open the induced morphism is the degree-zero part of the localized mapM_f → N_f, on the stalk atxit is the localization ofφat𝔭, and it takes the global section attached tomto the global section attached toφ m.- In particular
M ↦ M̃is an exact functor: a short exact sequence of gradedS-modules with degree-preserving maps goes to a short exact sequence of sheaves of𝒪_{Proj(S)}-modules.Every conjunct is the separate statement that proves it; the separate registrations of the tag are on those.
theorem sections_restriction_stalks_functorial_exact :
(∀ (f : S) (d : ℕ), f ∈ 𝒮 d → 0 < d →
Nonempty (CommRingCat.of (HomogeneousLocalization.Away 𝒮 f) ≅
(AlgebraicGeometry.Proj 𝒮).presheaf.obj (op (Proj.basicOpen 𝒮 f)))) ∧
(∀ (f : S) (d : ℕ), f ∈ 𝒮 d → 0 < d →
Nonempty ((ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒮 f)) ≃ₗ[HomogeneousLocalization.Away 𝒮 f]
GradedModuleDegreeZeroLocalization 𝒮 f)) ∧
(∀ (f g : S) (d e : ℕ) (hf : f ∈ 𝒮 d) (hd : 0 < d) (hg : g ∈ 𝒮 e) (he : 0 < e)
(hfg : ProjectiveSpectrum.basicOpen 𝒮 g ≤ ProjectiveSpectrum.basicOpen 𝒮 f),
CommRingCat.ofHom (ProjectiveSpectrum.degreeZeroRingMap 𝒮 f g
⟨d, hd, hf⟩ ⟨e, he, hg⟩ hfg).toRingHom ≫
(Proj.basicOpenIsoAway 𝒮 g hg he).hom =
(Proj.basicOpenIsoAway 𝒮 f hf hd).hom ≫
(AlgebraicGeometry.Proj 𝒮).presheaf.map (homOfLE hfg).op) ∧
(∀ (f g : S) (hf : ∃ d : ℕ, 0 < d ∧ f ∈ 𝒮 d) (hg : ∃ d : ℕ, 0 < d ∧ g ∈ 𝒮 d)
(hfg : ProjectiveSpectrum.basicOpen 𝒮 g ≤ ProjectiveSpectrum.basicOpen 𝒮 f)
(a : GradedModuleDegreeZeroLocalization 𝒮 f),
(ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.map (homOfLE hfg).op
(ProjectiveSpectrum.Proj.degreeZeroToSection 𝒮 f a) =
ProjectiveSpectrum.Proj.degreeZeroToSection 𝒮 g
((ProjectiveSpectrum.moduleRestrictionMaps 𝒮 f g hf hg hfg).degreeZeroMap a)) ∧
(∀ x : ProjectiveSpectrum.top 𝒮,
Nonempty ((ProjectiveSpectrum.Proj.structureSheaf 𝒮).presheaf.stalk x ≃+*
HomogeneousLocalization.AtPrime 𝒮 x.asHomogeneousIdeal.toIdeal)) ∧
(∀ x : ProjectiveSpectrum.top 𝒮,
Nonempty
(letI : Module ((ProjectiveSpectrum.Proj.structureSheaf 𝒮).presheaf.stalk x)
(ProjStalkGlobalSections.degreeZeroModuleAt 𝒮 x) :=
Module.compHom _ (Proj.stalkIso' 𝒮 x).toRingHom
ProjStalkGlobalSections.associatedModuleSheafStalk 𝒮 x ≃ₗ[
(ProjectiveSpectrum.Proj.structureSheaf 𝒮).presheaf.stalk x]
ProjStalkGlobalSections.degreeZeroModuleAt 𝒮 x)) ∧
Nonempty (𝒮 0 →+* (ProjectiveSpectrum.Proj.structureSheaf 𝒮).1.obj (op ⊤)) ∧
(∀ (f : S) (a : 𝒮 0),
(ProjectiveSpectrum.Proj.structureSheaf 𝒮).1.map (homOfLE le_top).op
(ProjStalkGlobalSections.degreeZeroRingToGlobalSections 𝒮 a) =
(ProjectiveSpectrum.Proj.awayToSection 𝒮 f).hom
(HomogeneousLocalization.fromZeroRingHom 𝒮 (Submonoid.powers f) a)) ∧
(∀ (x : ProjectiveSpectrum.top 𝒮) (a : 𝒮 0),
Proj.stalkIso' 𝒮 x ((ProjectiveSpectrum.Proj.structureSheaf 𝒮).presheaf.germ ⊤ x trivial
(ProjStalkGlobalSections.degreeZeroRingToGlobalSections 𝒮 a)) =
HomogeneousLocalization.fromZeroRingHom 𝒮 x.asHomogeneousIdeal.toIdeal.primeCompl a) ∧
Nonempty
(letI : Module (𝒮 0)
((ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.obj (op ⊤)) :=
Module.compHom _ (ProjStalkGlobalSections.degreeZeroRingToGlobalSections 𝒮)
0 →ₗ[𝒮 0] (ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.obj (op ⊤)) ∧
(∀ (f : S) (d : ℕ) (hf : f ∈ 𝒮 d) (hd : 0 < d) (m : 0),
ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 hf hd
((ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.map (homOfLE le_top).op
(ProjStalkGlobalSections.degreeZeroToGlobalSections 𝒮 m)) =
ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 hf 0 m.1 (mem_zero_nsmul d m)) ∧
(∀ (x : ProjectiveSpectrum.top 𝒮) (m : 0),
((ProjStalkGlobalSections.associatedModuleSheafStalkEquiv 𝒮 x
(ProjStalkGlobalSections.associatedModuleSheafGerm 𝒮 x ⊤ trivial
(ProjStalkGlobalSections.degreeZeroToGlobalSections 𝒮 m)) :
ProjStalkGlobalSections.degreeZeroModuleAt 𝒮 x) :
ProjectiveSpectrum.Proj.ModuleFiber (M := M) 𝒮 x) =
LocalizedModule.mk m.1 (1 : x.asHomogeneousIdeal.toIdeal.primeCompl)) ∧
(associatedModuleSheafMap 𝒮 (LinearMap.id : M →ₗ[S] M) (fun _ _ hm => hm) = 𝟙 _) ∧
(∀ (N : Type u) [AddCommGroup N] [Module S N] {υ : Type t'} [SetLike υ N]
[AddSubgroupClass υ N] (𝒩 : ℤ → υ) [Decomposition 𝒩] [SetLike.GradedSMul 𝒮 𝒩]
(φ : M →ₗ[S] N) (hφ : ∀ i (m : M), m ∈ i → φ m ∈ 𝒩 i),
(∀ (P : Type u) [AddCommGroup P] [Module S P] {ρ : Type t''} [SetLike ρ P]
[AddSubgroupClass ρ P] (𝒬 : ℤ → ρ) [Decomposition 𝒬] [SetLike.GradedSMul 𝒮 𝒬]
(ψ : N →ₗ[S] P) (hψ : ∀ i (n : N), n ∈ 𝒩 i → ψ n ∈ 𝒬 i),
associatedModuleSheafMap 𝒮 𝒬 (ψ.comp φ) (fun i m hm => hψ i (φ m) (hφ i m hm)) =
associatedModuleSheafMap 𝒮 𝒩 φ hφ ≫ associatedModuleSheafMap 𝒮 𝒩 𝒬 ψ hψ) ∧
(∀ (f : S) (d : ℕ) (hf : f ∈ 𝒮 d) (hd : 0 < d)
(s : (ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ).val.obj
(op (ProjectiveSpectrum.basicOpen 𝒮 f))),
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 𝒩 hf hd
((associatedModuleSheafMap 𝒮 𝒩 φ hφ).val.app _ s) :
GradedModuleDegreeZeroLocalization 𝒮 𝒩 f) :
LocalizedModule.Away (R := S) f N) =
LocalizedModule.map (Submonoid.powers f) φ
(ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 hf hd s :
GradedModuleDegreeZeroLocalization 𝒮 f)) ∧
(∀ (x : ProjectiveSpectrum.top 𝒮)
(s : ProjStalkGlobalSections.associatedModuleSheafStalk 𝒮 x),
((ProjStalkGlobalSections.associatedModuleSheafStalkEquiv 𝒮 𝒩 x
(colim.map (Functor.whiskerLeft (OpenNhds.inclusion x).op
((PresheafOfModules.toPresheaf _).map
(associatedModuleSheafMap 𝒮 𝒩 φ hφ).val)) s) :
ProjStalkGlobalSections.degreeZeroModuleAt 𝒮 𝒩 x) :
ProjectiveSpectrum.Proj.ModuleFiber (M := N) 𝒮 x) =
LocalizedModule.map x.asHomogeneousIdeal.toIdeal.primeCompl φ
(ProjStalkGlobalSections.associatedModuleSheafStalkEquiv 𝒮 x s :
ProjStalkGlobalSections.degreeZeroModuleAt 𝒮 x)) ∧
(∀ m : 0,
(associatedModuleSheafMap 𝒮 𝒩 φ hφ).val.app (op ⊤)
(ProjStalkGlobalSections.degreeZeroToGlobalSections 𝒮 m) =
ProjStalkGlobalSections.degreeZeroToGlobalSections 𝒮 𝒩
⟨φ m.1, hφ 0 m.1 m.2⟩)) ∧
(∀ {X Y Z : GradedModuleCat.{u, u, w} 𝒮} (α : X ⟶ Y) (β : Y ⟶ Z),
Function.Injective α.toLinearMap → Function.Surjective β.toLinearMap →
∀ hexact : Function.Exact α.toLinearMap β.toLinearMap,
(ShortComplex.mk ((associatedModuleSheafFunctor 𝒮).map α)
((associatedModuleSheafFunctor 𝒮).map β)
(associatedModuleSheafFunctor_map_comp_eq_zero α β
fun m => (hexact (α.toLinearMap m)).mpr ⟨m, rfl⟩)).ShortExact)
Tag 01MA, a lemma
Tag 01MA in the Stacks Project.
AlgebraicGeometry.Proj.exists_homogeneous_awayι_preimage_basicOpen_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjBasicOpen.lean, line 360.
Stacks Project, Tag 01MA. Let
fbe a homogeneous element of positive degreemin a graded ringA, and letgbe an element of the degree-zero localizationA₍f₎, so thatD(g)is a standard open ofSpec A₍f₎. Then there is a homogeneous elementhof positive degreen • msuch thatg = h / f ^ n, such thatD₊(h) ⊆ D₊(f), and such thatD(g)andD₊(h)correspond under the open immersionSpec A₍f₎ ⟶ Proj AidentifyingSpec A₍f₎withD₊(f):D(g)is the preimage ofD₊(h), andD₊(h)is the image ofD(g).
public theorem exists_homogeneous_awayι_preimage_basicOpen_eq {f : A} {m : ℕ} (hf : f ∈ 𝒜 m)
(hm : 0 < m) (g : Away 𝒜 f) :
∃ (n : ℕ) (h : A) (hh : h ∈ 𝒜 (n • m)), 0 < n • m ∧
Away.mk 𝒜 hf n h hh = g ∧
AlgebraicGeometry.Proj.basicOpen 𝒜 h ≤ AlgebraicGeometry.Proj.basicOpen 𝒜 f ∧
AlgebraicGeometry.Proj.awayι 𝒜 f hf hm ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 h =
PrimeSpectrum.basicOpen g ∧
AlgebraicGeometry.Proj.awayι 𝒜 f hf hm ''ᵁ PrimeSpectrum.basicOpen g =
AlgebraicGeometry.Proj.basicOpen 𝒜 h
Tag 01MB, a lemma
Tag 01MB in the Stacks Project.
AlgebraicGeometry.associatedModuleSheaf_isQuasicoherent, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjGradedRing/Basic.lean, line 454. The attribute's comment: “associated graded-module sheaves are quasi-coherent”. References: EGA II (3.2.1), “affine base”; EGA II (3.2.2), “affine base Y”.
The sheaf of degree-zero local homogeneous fractions of a graded module on its projective spectrum is quasi-coherent.
instance associatedModuleSheaf_isQuasicoherent [Decomposition ] :
SheafOfModules.IsQuasicoherent.{u, u, u}
(ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 )
AlgebraicGeometry.ProjectiveSpectrum.Proj.associatedModuleSheaf_isQuasicoherent, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjGradedModuleQcoh/Quasicoherent.lean, line 247. The attribute's comment: “associated graded-module sheaves are quasi-coherent”. References: EGA II (3.2.1), “affine base”; EGA II (3.2.2), “affine base Y”.
The sheaf of degree-zero local homogeneous fractions of a graded module on its projective spectrum is quasi-coherent.
public instance associatedModuleSheaf_isQuasicoherent :
SheafOfModules.IsQuasicoherent.{u, u, u} (associatedModuleSheaf 𝒜 )
Declarations registered for the tag:
AlgebraicGeometry.Projregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjGradedRing/Basic.lean, line 74 (StacksFrontier): “the projective spectrum is a scheme”. References: EGA II (2.4.1), “(f)”; EGA II (3.1.1); EGA II (3.1.3), “special case”; EGA II (7.4.14), “more general”; EGA II (8.3.1), “special case”; EGA III (3.3.1), “special case”; EGA III (4.3.13); EGA IV (18.12.17).AlgebraicGeometry.Proj.basicOpenIsoSpecregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjGradedRing/Basic.lean, line 83 (StacksFrontier): “canonical standard-open identification”. References: EGA II (2.3.5); EGA II (2.3.6), “more general”; EGA II (2.4.1); EGA II (3.1.4), “special case”; EGA II (7.4.14), “partial”; SGA 6 VI (2.3.2), “(f), special case”.AlgebraicGeometry.Proj.isAffineOpen_basicOpenregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjGradedRing/Basic.lean, line 90 (StacksFrontier): “standard opens are affine”. References: EGA II (2.4.1), “(f)”; EGA II (3.1.4), “affineness of X_f over Y”; EGA II (5.5.7), “special case”; SGA 6 VI (2.3.2), “affineness of D₊(f)”.
Tag 01MD, a lemma
Tag 01MD in the Stacks Project.
AlgebraicGeometry.Proj.compactSpace_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjQuasiCompact.lean, line 89. The attribute's comment: “quasi-compactness criterion”.
The projective spectrum is quasi-compact exactly when finitely many positive-degree homogeneous elements generate an ideal whose radical contains the irrelevant ideal.
public theorem compactSpace_iff :
CompactSpace (AlgebraicGeometry.Proj 𝒮) ↔
∃ s : Finset S,
(∀ f ∈ s, ∃ d : ℕ, 0 < d ∧ f ∈ 𝒮 d) ∧
(HomogeneousIdeal.irrelevant 𝒮).toIdeal ≤ (Ideal.span (s : Set S)).radical
AlgebraicGeometry.Proj.iSup_basicOpen_eq_top_of_irrelevant_le_radical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjQuasiCompact.lean, line 124. The attribute's comment: “standard-open cover”. References: EGA II (2.3.14), “special case”.
Elements whose span contains the irrelevant ideal up to radical have standard opens covering the projective spectrum.
public theorem iSup_basicOpen_eq_top_of_irrelevant_le_radical (s : Finset S)
(h : (HomogeneousIdeal.irrelevant 𝒮).toIdeal ≤ (Ideal.span (s : Set S)).radical) :
⨆ f ∈ s, Proj.basicOpen 𝒮 f = ⊤
Tag 01ME, a lemma
Tag 01ME in the Stacks Project.
Stacks.AlgebraicGeometry.ProjToSpecZero.toSpecZero_base_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjToSpecZero.lean, line 85. The attribute's comment: “the canonical morphism Proj S → Spec S₀, equal on points to 𝔭 ↦ 𝔭 ∩ S₀”.
The canonical morphism
Proj 𝒜 ⟶ Spec 𝒜₀isProj.toSpecZero 𝒜, glued from the ring maps𝒜₀ → S_(f)on the standard opens. On underlying topological spaces it is the map of the homogeneous spectrum: the inclusionProj 𝒜 ⊆ Spec Sfollowed bySpec S → Spec 𝒜₀induced by𝒜₀ ⊆ S, i.e.𝔭 ↦ 𝔭 ∩ 𝒜₀.
theorem toSpecZero_base_eq :
⇑(Proj.toSpecZero 𝒜) =
PrimeSpectrum.comap (algebraMap (𝒜 0) A) ∘ _root_.Proj.toSpec 𝒜
Tag 01MF, a lemma
Tag 01MF in the Stacks Project.
Stacks.AlgebraicGeometry.ProjToSpecZero.valuativeCriterion_toSpecZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjToSpecZero.lean, line 95. The attribute's comment: “existence and uniqueness parts of the valuative criterion for Proj S → Spec S₀”.
The valuative criterion for
Proj 𝒜 ⟶ Spec 𝒜₀. IfSis finitely generated as an𝒜₀-algebra, then for every valuation ringOwith fraction fieldKand every commutative squareSpec K ⟶ Proj 𝒜,Spec O ⟶ Spec 𝒜₀, there exists a liftSpec O ⟶ Proj 𝒜(existence) and it is unique (uniqueness, from separatedness).
theorem valuativeCriterion_toSpecZero [Algebra.FiniteType (𝒜 0) A] :
ValuativeCriterion (Proj.toSpecZero 𝒜)
Tag 01MG, an example
Tag 01MG in the Stacks Project.
AlgebraicGeometry.FractionalExponentExample.exists_nonextendable_valuative_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjNonextendableValuativeMap.lean, line 572.
The specified valuative example: the canonical generic-fibre morphism induced by
polynomialMapcannot be extended to the spectrum of the local valuation ring.
theorem exists_nonextendable_valuative_map :
∃ hm : positiveIdeal.IsPrime,
letI : positiveIdeal.IsPrime := hm
letI : GradedRing (MvPolynomial.homogeneousSubmodule ℕ ℂ) :=
MvPolynomial.gradedAlgebra
let A := Localization positiveIdeal.primeCompl
let K := FractionRing A
let φ : polynomialAlgebra →+* K :=
(algebraMap fractionalExponentAlgebra K).comp polynomialMap.toRingHom
let F : polynomialAlgebra →+* Γ(Spec (CommRingCat.of K), ⊤) :=
(Scheme.ΓSpecIso (CommRingCat.of K)).inv.hom.comp φ
(IsValuationRing A) ∧
∃ hf : (HomogeneousIdeal.irrelevant
(MvPolynomial.homogeneousSubmodule ℕ ℂ)).toIdeal.map F = ⊤,
¬ ∃ g : Spec (CommRingCat.of A) ⟶
Proj (MvPolynomial.homogeneousSubmodule ℕ ℂ),
Spec.map (CommRingCat.ofHom (algebraMap A K)) ≫ g =
Proj.fromOfGlobalSections
(MvPolynomial.homogeneousSubmodule ℕ ℂ) F hf
Tag 01MH, an example
Tag 01MH in the Stacks Project.
Stacks.IteratedSquareRootAlgebra.projCanonicalProperties, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjIteratedSquareRootImage.lean, line 367. The attribute's comment: “the example's six assertions in one statement”.
Stacks Project, Tag 01MH. The worked example in a single statement, for the grading the source specifies on
S = ℂ[t][X₁, X₂, …]/(Xᵢ² - t Xᵢ₊₁),deg Xᵢ = 2ⁱ⁻¹. In order: the image oftlies in no point ofProj S; consecutive generators define the same standard open,D₊(Xᵢ) = D₊(Xᵢ₊₁);Proj Sis quasi-compact; it is affine, being the single standard openD₊(X₁); the image ofProj S → Spec ℂ[t]is the distinguished openD(t); and that morphism is therefore not closed.
public theorem projCanonicalProperties :
(∀ p : ProjectiveSpectrum canonicalGrading.grading,
algebraMap baseRing ring t ∉ p.asHomogeneousIdeal) ∧
(∀ i : ℕ, ProjectiveSpectrum.basicOpen canonicalGrading.grading (x i) =
ProjectiveSpectrum.basicOpen canonicalGrading.grading (x (i + 1))) ∧
CompactSpace (AlgebraicGeometry.Proj canonicalGrading.grading) ∧
Proj.basicOpen canonicalGrading.grading (x 0) = ⊤ ∧
IsAffine (AlgebraicGeometry.Proj canonicalGrading.grading) ∧
Set.range
(Proj.toSpecZero canonicalGrading.grading ≫
Spec.map (CommRingCat.ofHom
((GradedRing.projZeroRingHom' canonicalGrading.grading).comp
(algebraMap baseRing ring)))).base =
((Spec (.of baseRing)).basicOpen
((Scheme.ΓSpecIso (.of baseRing)).inv t) : Set (Spec (.of baseRing))) ∧
¬ IsClosed (Set.range
(Proj.toSpecZero canonicalGrading.grading ≫
Spec.map (CommRingCat.ofHom
((GradedRing.projZeroRingHom' canonicalGrading.grading).comp
(algebraMap baseRing ring)))).base)
Tag 01MI, an example
Tag 01MI in the Stacks Project.
AlgebraicGeometry.ProjectiveSpace.isIso_toSpecZero_oneVariable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfPolynomialOneVariable.lean, line 119.
Projof a polynomial ring in one variable is the spectrum of the coefficient ring. The canonical morphismProj A[T] ⟶ Spec A[T]₀of a graded ring to the spectrum of its degree-zero part is an isomorphism whenA[T]is the polynomial ring in one variable of degree one.
public theorem isIso_toSpecZero_oneVariable :
IsIso (Proj.toSpecZero (homogeneousSubmodule (Fin 1) A))
Tag 0G5W, an example
Tag 0G5W in the Stacks Project.
AlgebraicGeometry.openProjAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 88. The attribute's comment: “the graded subring”.
The subalgebra of
A[T]generated byAand allf TⁿwithD(f) ⊆ U.
public noncomputable def openProjAlgebra (U : (Spec (.of A)).Opens) :
Subalgebra A (MvPolynomial (Fin 1) A)
AlgebraicGeometry.openProjGrading, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 95. The attribute's comment: “the homogeneous components”.
The degree-
npiece of the indicated subalgebra, inherited from polynomial degree.
public noncomputable def openProjGrading (U : (Spec (.of A)).Opens) (n : ℕ) :
Submodule A (openProjAlgebra U)
AlgebraicGeometry.openProjGradedRing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 238. The attribute's comment: “the grading”.
The polynomial-degree decomposition restricts to the algebra of the open.
public noncomputable def openProjGradedRing (U : (Spec (.of A)).Opens) :
GradedRing (openProjGrading U)
AlgebraicGeometry.openProjDegreeZeroEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 265. The attribute's comment: “the degree-zero ring”.
The canonical identification of the degree-zero part with the coefficient ring.
public noncomputable def openProjDegreeZeroEquiv (U : (Spec (.of A)).Opens) :
letI := openProjGradedRing U
A ≃+* openProjGrading U 0
AlgebraicGeometry.openProjDegreeZeroEquiv_apply, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 306. The attribute's comment: “the canonical degree-zero identification”.
The degree-zero identification sends a coefficient to its image in the subalgebra.
public theorem openProjDegreeZeroEquiv_apply (U : (Spec (.of A)).Opens) (a : A) :
letI := openProjGradedRing U
((openProjDegreeZeroEquiv U a : openProjGrading U 0) : openProjAlgebra U) =
algebraMap A (openProjAlgebra U) a
AlgebraicGeometry.projOpenIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 1033. The attribute's comment: “the isomorphism with the open subscheme”.
The projective spectrum of the indicated algebra is the chosen open subscheme.
public noncomputable def projOpenIso (U : (Spec (.of A)).Opens) :
letI := openProjGradedRing U
AlgebraicGeometry.Proj (openProjGrading U) ≅ U.toScheme
AlgebraicGeometry.projOpenIso_hom_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjOfOpenInAffine.lean, line 1043. The attribute's comment: “compatibility with the structure morphism”.
Under the isomorphism, the canonical morphism to
Spec Ais inclusion.
public theorem projOpenIso_hom_comp (U : (Spec (.of A)).Opens) :
letI := openProjGradedRing U
Proj.toSpecZero (openProjGrading U) ≫
Spec.map (CommRingCat.ofHom (openProjDegreeZeroEquiv U).toRingHom) =
(projOpenIso U).hom ≫ U.ι
Sources
Section27.9 Quasi-coherent sheaves on Proj#
Section 27.9 of the Stacks Project, Tag 01MJ. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AG1, an equation
Tag 0AG1 in the Stacks Project.
Declarations registered for the tag:
Stacks.AlgebraicGeometry.ProjStalkGlobalSections.degreeZeroToGlobalSections, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistGlobalSections.lean, line 134 (StacksFrontier).
Tag 0AG2, an equation
Tag 0AG2 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjShiftedSections.degreeNToGlobalSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjShiftedSectionModule.lean, line 309. The attribute's comment: “map_degree_n_global_sections”. References: EGA II (3.3.2), “partial, special case”.
The canonical map from the degree-
nhomogeneous elements ofMto the global sections ofM(n)~, as an additive homomorphism: it is the degree-zero global-sections map of the shift. This is the mapMₙ → Γ(Proj(S), M(n)~)of Tag 0AG2, obtained from the degree-zero map of Tag 0AG1 for the grading ofM(n)and the identificationM(n)₀ = MₙofStacks.GradedModule.shiftedGrading_zero.
public noncomputable def degreeNToGlobalSections (n : ℤ) :
n →+ shiftedSectionsComponent 𝒮 n
Stacks.GradedModule.shiftedGrading_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistGlobalSections.lean, line 78. The attribute's comment: “twist_degree_zero”.
The degree-zero piece of the twist
M(n)is the degree-npiece ofM:M(n)₀ = Mₙ. The two indices are0 + nandn, which are equal byzero_addand not by reduction.
public theorem shiftedGrading_zero {M : Type v} {τ : Type t} [SetLike τ M] (𝒩 : ℤ → τ) (n : ℤ) :
shiftedGrading 𝒩 n 0 = 𝒩 n
Tag 01MK, a lemma
Tag 01MK in the Stacks Project.
Stacks.AlgebraicGeometry.ProjSheafFunctoriality.associatedModuleSheafTensorMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSheafFunctoriality/Tensor.lean, line 661. The attribute's comment: “canonical sheaf morphism”. References: EGA II (2.5.11), “(2.5.11.2)”; EGA II (3.2.6), “λ (3.2.6.1)”.
The canonical morphism from the tensor product of the associated sheaves of
MandNto the associated sheaf of the graded tensor productM ⊗[S] N.
def associatedModuleSheafTensorMap :
letI := tensorGrading_decomposition (S := S) 𝒮 𝒩
letI := tensorGrading_gradedSMul (S := S) 𝒮 𝒩
(((Stacks.SheafOfModules.Tensor.sheafTensor ((_root_.AlgebraicGeometry.Proj
𝒮).toRingedSpace).sheaf).obj ((ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 ))).obj
((ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 𝒩))) ⟶
ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 (tensorGrading (S := S) 𝒩)
Stacks.AlgebraicGeometry.ProjSheafFunctoriality.associatedModuleSheafTensorMap_standardOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSheafFunctoriality/Tensor.lean, line 731. The attribute's comment: “formula on standard opens”. References: EGA II (2.5.11), “λ_f on D_+(f)”.
On a positive-degree standard open, the canonical morphism sends the tensor of two homogeneous fractions to the fraction of their tensor over the product of the denominators.
theorem associatedModuleSheafTensorMap_standardOpen
{f : S} {d : ℕ} (hf : f ∈ 𝒮 d) (hd : 0 < d)
(p q : ℕ) (m : M) (hm : m ∈ (p • (d : ℤ)))
(n : N) (hn : n ∈ 𝒩 (q • (d : ℤ))) :
letI := tensorGrading_decomposition (S := S) 𝒮 𝒩
letI := tensorGrading_gradedSMul (S := S) 𝒮 𝒩
let U := ProjectiveSpectrum.basicOpen 𝒮 f
let F := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮
let G := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 𝒩
((associatedModuleSheafTensorMap 𝒮 𝒩).val.app (op U))
(Stacks.SheafOfModules.TensorStalkRingedSpace.toTensorSheafSection
(_root_.AlgebraicGeometry.Proj 𝒮).toRingedSpace F G (op U)
(((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 hf p m hm)) ⊗ₜ[_]
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 𝒩 hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 𝒩 hf q n hn)))) =
(ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮
(tensorGrading (S := S) 𝒩) hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 (tensorGrading (S := S) 𝒩)
hf (p + q) (m ⊗ₜ[S] n)
(by
apply AddSubgroup.subset_closure
refine ⟨p • (d : ℤ), q • (d : ℤ), ?_, m, hm, n, hn, rfl⟩
simp [add_mul]))
Stacks.AlgebraicGeometry.ProjSheafFunctoriality.associatedModuleSheafTensorMap_stalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSheafFunctoriality/Tensor.lean, line 794. The attribute's comment: “formula on stalks”.
On the stalk at a homogeneous prime of a positive-degree standard open, the canonical morphism carries the tensor of the germs of two homogeneous fractions to the germ of the fraction of their tensor.
theorem associatedModuleSheafTensorMap_stalk
{f : S} {d : ℕ} (hf : f ∈ 𝒮 d) (hd : 0 < d)
(x : ProjectiveSpectrum.top 𝒮)
(hx : x ∈ ProjectiveSpectrum.basicOpen 𝒮 f)
(p q : ℕ) (m : M) (hm : m ∈ (p • (d : ℤ)))
(n : N) (hn : n ∈ 𝒩 (q • (d : ℤ))) :
letI := tensorGrading_decomposition (S := S) 𝒮 𝒩
letI := tensorGrading_gradedSMul (S := S) 𝒮 𝒩
let X := (_root_.AlgebraicGeometry.Proj 𝒮).toRingedSpace
let U := ProjectiveSpectrum.basicOpen 𝒮 f
let F := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮
let G := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 𝒩
let T := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 (tensorGrading (S := S) 𝒩)
letI := Stacks.SheafOfModules.TensorStalkRingedSpace.stalkModule X F.val x
letI := Stacks.SheafOfModules.TensorStalkRingedSpace.stalkModule X G.val x
letI := Stacks.SheafOfModules.TensorStalkRingedSpace.stalkModule X
((((Stacks.SheafOfModules.Tensor.sheafTensor (X).sheaf).obj (F)).obj (G))).val x
letI := Stacks.SheafOfModules.TensorStalkRingedSpace.stalkModule X T.val x
Stacks.SheafOfModules.TensorStalkRingedSpace.stalkMapL X
((((Stacks.SheafOfModules.Tensor.sheafTensor (X).sheaf).obj (F)).obj (G))).val T.val
(associatedModuleSheafTensorMap 𝒮 𝒩).val x
((Stacks.SheafOfModules.TensorStalkRingedSpace.tensorStalkIso X x F G).symm
((Stacks.SheafOfModules.TensorStalkRingedSpace.grpGerm X F.val x U hx
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 hf p m hm)))
⊗ₜ[Stacks.SheafOfModules.TensorStalkRingedSpace.ringStalk X x]
(Stacks.SheafOfModules.TensorStalkRingedSpace.grpGerm X G.val x U hx
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 𝒩 hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 𝒩 hf q n hn))))) =
Stacks.SheafOfModules.TensorStalkRingedSpace.grpGerm X T.val x U hx
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮
(tensorGrading (S := S) 𝒩) hf hd).symm
(ProjectiveSpectrum.Proj.degreeZeroFraction 𝒮 (tensorGrading (S := S) 𝒩)
hf (p + q) (m ⊗ₜ[S] n)
(by
apply AddSubgroup.subset_closure
refine ⟨p • (d : ℤ), q • (d : ℤ), ?_, m, hm, n, hn, rfl⟩
simp [add_mul])))
Stacks.AlgebraicGeometry.ProjStalkGlobalSections.associatedModuleSheafTensorMap_globalSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjStalkGlobalSections/Tensor.lean, line 67. The attribute's comment: “global-sections compatibility”.
The canonical morphism commutes with the maps from degree-zero elements into global sections, evaluated on a pure tensor.
theorem associatedModuleSheafTensorMap_globalSections (m : 0) (n : 𝒩 0) :
letI := ProjSheafFunctoriality.tensorGrading_decomposition (S := S) 𝒮 𝒩
letI := ProjSheafFunctoriality.tensorGrading_gradedSMul (S := S) 𝒮 𝒩
let F := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮
let G := ProjectiveSpectrum.Proj.associatedModuleSheaf 𝒮 𝒩
((ProjSheafFunctoriality.associatedModuleSheafTensorMap 𝒮 𝒩).val.app (op ⊤))
(Stacks.SheafOfModules.TensorStalkRingedSpace.toTensorSheafSection
(_root_.AlgebraicGeometry.Proj 𝒮).toRingedSpace F G (op ⊤)
((degreeZeroToGlobalSections 𝒮 m) ⊗ₜ[_]
(degreeZeroToGlobalSections 𝒮 𝒩 n))) =
degreeZeroToGlobalSections 𝒮 (tensorGrading (S := S) 𝒩)
⟨m.1 ⊗ₜ[S] n.1,
(by
apply AddSubgroup.subset_closure
exact ⟨0, 0, by simp, m.1, m.2, n.1, n.2, rfl⟩)⟩
Tag 01ML, a remark
Tag 01ML in the Stacks Project.
Stacks.ProjTensorComparison.tensorComparison_not_isomorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTensorComparisonStatement.lean, line 146. The attribute's comment: “Remark 27.10.3 as one theorem: the canonical comparison morphism M-tilde ⊗ N-tilde ⟶ (M ⊗_S N)-tilde of sheaves of modules on Proj(S) is not an isomorphism, and for k[x, y, z] with weights 1, 2, 3, M = S(1) and N = S(2) the remark's computation — S_z is S with 1/z adjoined, M ⊗_S N = S(3) degreewise, S₍z₎ ≅ k[u, v, w]/(uw - v³) by the map sending the variables to u, v, w, M₍z₎ = S₍z₎x + S₍z₎y²/z, N₍z₎ = S₍z₎y + S₍z₎x², S(3)₍z₎ = S₍z₎z, the ideal (u, v, w) is maximal with residue field k, the fibres of M₍z₎ and N₍z₎ there have dimension 2 and that of S(3)₍z₎ dimension 1, and the multiplication map M₍z₎ ⊗ N₍z₎ → S(3)₍z₎ is not bijective. The first conjunct is witnessed by k[X] with deg X = 2 and M = N = S(1)”.
Stacks Project, Tag 01ML. The canonical comparison morphism
M̃ ⊗_𝒪 Ñ ⟶ (M ⊗_S N)~of sheaves of modules onProj(S)is not an isomorphism, and the remark's example computes why. For a fieldkandS = k[x, y, z]with weights1, 2, 3,M = S(1),N = S(2):
- the comparison morphism of sheaves of modules is not an isomorphism;
S_zisSwith1/zadjoined;M ⊗_S N = S(3), degreewise;S₍z₎ ≅ k[u, v, w]/(uw - v³), by the map carrying the three variables tou,v,w;M₍z₎ = S₍z₎ · x + S₍z₎ · y²/z;N₍z₎ = S₍z₎ · y + S₍z₎ · x²;S(3)₍z₎ = S₍z₎ · z;𝔪 = (u, v, w)is a maximal ideal ofS₍z₎;- its residue field is
k;- the fibres of
M₍z₎and ofN₍z₎at𝔪have dimension2, and that ofS(3)₍z₎dimension1;- the multiplication map
M₍z₎ ⊗_{S₍z₎} N₍z₎ → S(3)₍z₎is not bijective.Conjunct (1) is the failure of generality asserted by Stacks Tag 01ML of the morphism constructed in Stacks Tag 01MK, and it is witnessed by
k[X]withdeg X = 2andM = N = S(1)rather than by the remark's own weights; see the module docstring for what a derivation from the remark's own witness would still need. Conjunct (4) is stated as the existence of an algebra isomorphism together with its values on the three variables, which pins it down to the map the remark writes.
theorem tensorComparison_not_isomorphism :
letI : (situation k).vertexIdeal.IsMaximal :=
WeightedPolynomialSituation.vertexIdeal_isMaximal (situation k)
(¬ IsIso (Stacks.AlgebraicGeometry.ProjSheafFunctoriality.associatedModuleSheafTensorMap
(Stacks.EvenWeightProj.grading k) (Stacks.EvenWeightProj.oddTwist k)
(Stacks.EvenWeightProj.oddTwist k))) ∧
Algebra.adjoin (situation k).S
({(IsLocalization.Away.invSelf (situation k).z :
(situation k).ordinaryLocalization)} :
Set (situation k).ordinaryLocalization) = ⊤ ∧
(∀ n : ℤ,
Submodule.map
((TensorProduct.lid (situation k).S (situation k).S).toLinearMap.restrictScalars
(situation k).k)
(Submodule.span (situation k).k
{t : TensorProduct (situation k).S (situation k).S (situation k).S |
∃ i j : ℤ, i + j = n ∧
∃ a b : (situation k).S, a ∈ (situation k).grading (i + 1) ∧
b ∈ (situation k).grading (j + 2) ∧
t = TensorProduct.tmul (situation k).S a b}) =
(situation k).grading (n + 3)) ∧
(∃ e :
(MvPolynomial (Fin 3) (situation k).k ⧸ cubicRelationIdeal (situation k).k)
≃ₐ[(situation k).k] (situation k).R,
∀ i : Fin 3,
e (Ideal.Quotient.mk (cubicRelationIdeal (situation k).k) (MvPolynomial.X i)) =
![(situation k).u, (situation k).v, (situation k).w] i) ∧
(situation k).firstTwistLocalization =
Submodule.span (situation k).R
{Localization.mk (situation k).x (1 : Submonoid.powers (situation k).z),
Localization.mk ((situation k).y ^ 2)
⟨(situation k).z, Submonoid.mem_powers (situation k).z⟩} ∧
(situation k).secondTwistLocalization =
Submodule.span (situation k).R
({algebraMap (situation k).S (situation k).ordinaryLocalization (situation k).y,
algebraMap (situation k).S (situation k).ordinaryLocalization
((situation k).x ^ 2)} : Set (situation k).ordinaryLocalization) ∧
(situation k).localizedTwist 3 =
Submodule.span (situation k).R
{algebraMap (situation k).S (Localization.Away (situation k).z) (situation k).z} ∧
(situation k).vertexIdeal.IsMaximal ∧
Function.Bijective (algebraMap (situation k).k (situation k).vertexIdeal.ResidueField) ∧
Module.finrank (situation k).vertexIdeal.ResidueField
((situation k).vertexIdeal.ResidueField ⊗[(situation k).R]
(situation k).firstTwistLocalization) = 2 ∧
Module.finrank ((situation k).R ⧸ (situation k).vertexIdeal)
((situation k).secondTwistLocalization ⧸
(situation k).vertexIdeal •
(⊤ : Submodule (situation k).R (situation k).secondTwistLocalization)) = 2 ∧
Module.finrank ((situation k).R ⧸ (situation k).vertexIdeal)
((situation k).localizedTwist 3 ⧸
(situation k).vertexIdeal •
(⊤ : Submodule (situation k).R ((situation k).localizedTwist 3))) = 1 ∧
¬ Function.Bijective
(WeightedPolynomialSituation.localizedTwistTensorMap (situation k))
Sources
Section27.10 Invertible sheaves on Proj#
Section 27.10 of the Stacks Project, Tag 01MM. 14 tags here are carried by 25 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01MN, a definition
Tag 01MN in the Stacks Project.
Stacks.ProjectiveCohomology.coe_sectionsTwistEquivAwayGrading_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjStandardOpenScalars.lean, line 134. The attribute's comment: “part (1), the scalar action in the standard-open description of the sections of a twist, written out on the underlying elements of the localization”.
The identification of
Γ(D₊(f), 𝒪_P(m))with the degree-mpart ofA_fis linear for the action ofΓ(P, D₊(f))read throughAlgebraicGeometry.Proj.awayToSection: a section scaled by the fractionrhas for underlying element the product ofr.valwith the underlying element of the section.
theorem coe_sectionsTwistEquivAwayGrading_smul (hf : f ∈ 𝒜 k) (hk : 0 < k) (m : ℤ)
(r : HomogeneousLocalization.Away 𝒜 f)
(s : (twistingSheaf 𝒜 m).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((sectionsTwistEquivAwayGrading 𝒜 hf hk m
((ProjectiveSpectrum.Proj.awayToSection 𝒜 f).hom r • s) :
LocalizedModule.Away f A)) =
HomogeneousLocalization.val r •
((sectionsTwistEquivAwayGrading 𝒜 hf hk m s : LocalizedModule.Away f A))
AlgebraicGeometry.ProjectiveSpectrum.Proj.twistingSheaf, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwist.lean, line 168. The attribute's comment: “part (1), twist of the structure sheaf”.
The
n-th twist of the structure sheaf onProj(S).
public noncomputable abbrev twistingSheaf
(𝒜 : ℕ → σ) [GradedRing 𝒜] (n : ℤ) :
SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒜))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒜))
AlgebraicGeometry.ProjectiveSpectrum.Proj.twistSheafOfModules, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwist.lean, line 178. The attribute's comment: “part (2), twist of a module sheaf”.
Tensoring an
𝒪_Proj(S)-module with then-th twisting sheaf.
public noncomputable def twistSheafOfModules
(𝒜 : ℕ → σ) [GradedRing 𝒜]
(F : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒜))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒜))) (n : ℤ) :
SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒜))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒜))
Stacks.AlgebraicGeometry.ProjTwistAwayPiece.coe_sectionsTwistEquivGradedPiece_smul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistAwayPieceScalars.lean, line 58. The attribute's comment: “part (1), the scalar action in the description of the sections of a twist over a standard open as a homogeneous piece of the graded localization, written out on the underlying elements of the localization”.
The identification
Γ(D₊(f), 𝒪_X(n)) ≅ (A_f)_nis semilinear for the action ofΓ(D₊(f), 𝒪_X)read throughAlgebraicGeometry.ProjectiveSpectrum.Proj.awayToSection: a section scaled by the fractionrhas for underlying element the product ofr.valwith the underlying element of the section.
theorem coe_sectionsTwistEquivGradedPiece_smul (hf : f ∈ 𝒜 k) (hk : 0 < k) (n : ℤ)
(r : HomogeneousLocalization.Away 𝒜 f)
(s : (twistingSheaf 𝒜 n).val.obj (op (ProjectiveSpectrum.basicOpen 𝒜 f))) :
((sectionsTwistEquivGradedPiece 𝒜 hf hk n
((ProjectiveSpectrum.Proj.awayToSection 𝒜 f).hom r • s) :
LocalizedModule.Away f A)) =
HomogeneousLocalization.val r •
((sectionsTwistEquivGradedPiece 𝒜 hf hk n s : LocalizedModule.Away f A))
Tag 01MO, an equation
Tag 01MO in the Stacks Project.
Declarations registered for the tag:
twistMultiplicationMapregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/ProjInvertibleLocus/Basic.lean, line 160 (StacksFrontier).
Tag 03GJ, an equation
Tag 03GJ in the Stacks Project.
AlgebraicGeometry.ProjectiveSpectrum.Proj.twistSheafMultiplicationMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistModuleMultiplication.lean, line 51.
The canonical multiplication map
𝒪_X(n) ⊗ ℱ(m) ⟶ ℱ(n + m)onX = Proj S, for a sheaf of𝒪_X-modulesℱ: reassociate, braid𝒪(n)pastℱ, reassociate again, and multiply the two twists of the structure sheaf together.
public noncomputable def twistSheafMultiplicationMap
(F : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒮))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒮))) (n m : ℤ) :
(((Stacks.SheafOfModules.Tensor.sheafTensor.{u, u, u, u, u}
(ProjectiveSpectrum.Proj.structureSheaf 𝒮)).obj ((twistingSheaf 𝒮 n))).obj
((twistSheafOfModules 𝒮 F m))) ⟶
twistSheafOfModules 𝒮 F (n + m)
Tag 01MP, an equation
Tag 01MP in the Stacks Project.
AlgebraicGeometry.ProjectiveSpectrum.Proj.globalSectionsRingMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistSectionRing.lean, line 379.
The canonical homomorphism of graded rings
S → ⨁_{n ≥ 0} Γ(Proj 𝒮, 𝒪(n)). Its multiplication on sections is the pointwise product of local fractions, and in each degree it is the canonical map from the homogeneous elements; those two formulas determine it.
public noncomputable def globalSectionsRingMap : GlobalSectionsRingMap 𝒮
Stacks.AlgebraicGeometry.ProjTwistSectionRing.globalSectionsRingMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistSectionRing/Statement.lean, line 210.
The canonical graded ring map
S → ⨁ n ≥ 0, Γ(Proj(S), 𝒪(n)).
public def globalSectionsRingMap : GlobalSectionsRingMap 𝒮
Tag 03GK, an equation
Tag 03GK in the Stacks Project.
AlgebraicGeometry.ProjectiveSpectrum.Proj.globalSectionsPairing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistSectionModule.lean, line 278.
The pairing
(⨁_{n ≥ 0} Γ(X, 𝒪_X(n))) × (⨁_{m ∈ ℤ} Γ(X, ℱ(m))) ⟶ ⨁_{m ∈ ℤ} Γ(X, ℱ(m))onX = Proj 𝒮: the biadditive extension of the canonical multiplication of a global section of𝒪_X(n)with a global section ofℱ(m).
public noncomputable def globalSectionsPairing :
(⨁ n : ℕ, twistGlobalSections 𝒮 n) →+
(twistedGlobalSections 𝒮 F →+ twistedGlobalSections 𝒮 F)
AlgebraicGeometry.ProjectiveSpectrum.Proj.globalSectionsPairing_of_of, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistSectionModule.lean, line 286.
The pairing of a global section of
𝒪(n)with a global section ofℱ(m)is their canonical product, a global section ofℱ(n + m).
public theorem globalSectionsPairing_of_of (n : ℕ) (m : ℤ) (s : twistGlobalSections 𝒮 n)
(t : (twistSheafOfModules 𝒮 F m).val.obj (op ⊤)) :
globalSectionsPairing 𝒮 F (DirectSum.of _ n s) (DirectSum.of _ m t) =
DirectSum.of _ ((n : ℤ) + m) (multiplyHomogeneousSections 𝒮 F n m s t)
AlgebraicGeometry.ProjectiveSpectrum.Proj.twistedGlobalSectionsModule, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTwistSectionModule.lean, line 904. The attribute's comment: “the module structure on the twisted global sections”.
The module
⨁_{m ∈ ℤ} Γ(X, ℱ(m))over the graded ring⨁_{n ≥ 0} Γ(X, 𝒪_X(n))onX = Proj 𝒮, for the pairing that multiplies a global section of𝒪_X(n)with a global section ofℱ(m)through the canonical morphism𝒪_X(n) ⊗ ℱ(m) ⟶ ℱ(n + m).
public noncomputable instance twistedGlobalSectionsModule :
Module (⨁ n : ℕ, twistGlobalSections 𝒮 n) (twistedGlobalSections 𝒮 F)
Tag 01MQ, an equation
Tag 01MQ in the Stacks Project.
Declarations registered for the tag:
moduleTwistMapregistered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/ProjShifted/Basic.lean, line 202 (StacksFrontier).
Tag 01MR, an equation
Tag 01MR in the Stacks Project.
Stacks.AlgebraicGeometry.ProjShiftedSections.globalSectionsModuleMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjShiftedSectionModule.lean, line 473.
The canonical map of graded
S-modulesM → ⨁_{n ∈ ℤ} Γ(Proj 𝒮, M(n)~). In degreenit is the canonical map from the homogeneous elements of degreen, and a homogeneous scalar acts pointwise on local fractions; those two formulas determine the whole datum.
public noncomputable def globalSectionsModuleMap : GlobalSectionsModuleMap 𝒮
Tag 01MS, a lemma
Tag 01MS in the Stacks Project.
Stacks.AlgebraicGeometry.ModuleTwistIso.twistsOnBasicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ModuleTwistIso/StandardOpen.lean, line 66. The attribute's comment: “the lemma's five assertions in one statement”.
Let
f ∈ Sbe homogeneous of degreed. Restricted to the standard openD₊(f), the twisting sheaf𝒪_X(nd)is invertible and in fact trivial for every integern, and the three families of canonical maps built from it are isomorphisms:𝒪_X(nd) ⊗ 𝒪_X(m) ⟶ 𝒪_X(nd+m),𝒪_X(nd) ⊗ ℱ(m) ⟶ ℱ(nd+m)for every sheaf of𝒪_X-modulesℱ, andM̃ ⊗ 𝒪_X(nd) ⟶ M(nd)~for every gradedS-moduleM. The second index is arbitrary throughout, anddis not assumed positive.
theorem twistsOnBasicOpen {f : S} {d : ℕ} (hf : f ∈ 𝒮 d) :
(∀ n : ℤ, _root_.AlgebraicGeometry.SheafOfModules.IsInvertible
((Over.forget (ProjectiveSpectrum.basicOpen 𝒮 f)).op ⋙
(ProjectiveSpectrum.Proj.structureSheaf 𝒮).obj)
((projRingSheaf 𝒮).over (ProjectiveSpectrum.basicOpen 𝒮 f)).property
((twistingSheaf 𝒮 (n * d)).over (ProjectiveSpectrum.basicOpen 𝒮 f))) ∧
(∀ n : ℤ, _root_.AlgebraicGeometry.SheafOfModules.IsTrivial
((Over.forget (ProjectiveSpectrum.basicOpen 𝒮 f)).op ⋙
(ProjectiveSpectrum.Proj.structureSheaf 𝒮).obj)
((projRingSheaf 𝒮).over (ProjectiveSpectrum.basicOpen 𝒮 f)).property
((twistingSheaf 𝒮 (n * d)).over (ProjectiveSpectrum.basicOpen 𝒮 f))) ∧
(∀ n m : ℤ, IsIso
((Scheme.Modules.restrictFunctor (AlgebraicGeometry.Proj.basicOpen 𝒮 f).ι).map
(twistMultiplicationMap 𝒮 ((d : ℤ) * n) m))) ∧
(∀ (F : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒮))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒮))) (n m : ℤ), IsIso
((Scheme.Modules.restrictFunctor (AlgebraicGeometry.Proj.basicOpen 𝒮 f).ι).map
(twistSheafMultiplicationMap 𝒮 F ((d : ℤ) * n) m))) ∧
(∀ (M : Type u) [AddCommGroup M] [Module S M] (τ : Type t) [SetLike τ M]
[AddSubgroupClass τ M] ( : ℤ → τ) [DirectSum.Decomposition ]
[SetLike.GradedSMul 𝒮 ] (n : ℤ), IsIso
((Scheme.Modules.restrictFunctor (AlgebraicGeometry.Proj.basicOpen 𝒮 f).ι).map
(moduleTwistMap 𝒮 ((d : ℤ) * n))))
Tag 01MT, a lemma
Tag 01MT in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.isInvertible_twistingSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 141. The attribute's comment: “the sheaves 𝒪_X(n) are invertible”. References: EGA II (3.2.5), “Second assertion”.
Stacks 01MT: the sheaves
𝒪_X(n)are invertible.The trivializing sections are the ratios
(f/1)^non the standard opensD₊(f)withf ∈ S₁, assembled byStacks.AlgebraicGeometry.ProjInvertibleLocus.isInvertible_twistingSheaf_of_ratioLocus_eq_topatd = 1.
public theorem isInvertible_twistingSheaf (hcover : DegreeOneCover 𝒮) (n : ℤ) :
_root_.AlgebraicGeometry.SheafOfModules.IsInvertible (AlgebraicGeometry.Proj 𝒮).presheaf
(AlgebraicGeometry.Proj 𝒮).ringCatSheaf.2 (twistingSheaf 𝒮 n)
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.isIso_twistMultiplicationMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 157. The attribute's comment: “equation 01MO is an isomorphism”.
Stacks 01MT: Equation 01MO
𝒪_X(n) ⊗ 𝒪_X(m) ⟶ 𝒪_X(n + m)is an isomorphism, for all integersnandm.This is
Stacks.AlgebraicGeometry.TwistTensor.isIso_twistMultiplicationMap_of_ratioLocus_eq_topatk = 1; the only work is the substitution of1 * nforn, which has to be done afterrevertbecause the index occurs in the type of the morphism.
public theorem isIso_twistMultiplicationMap (hcover : DegreeOneCover 𝒮) (n m : ℤ) :
IsIso (twistMultiplicationMap 𝒮 n m)
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.isIso_twistSheafMultiplicationMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 187. The attribute's comment: “equation 03GJ is an isomorphism”.
Stacks 01MT: Equation 03GJ
𝒪_X(n) ⊗ ℱ(m) ⟶ ℱ(n + m)is an isomorphism, for every sheaf of𝒪_X-modulesℱand all integersnandm.The source deduces this clause from the Equation 01MO clause, and so does the proof: by construction
AlgebraicGeometry.ProjectiveSpectrum.Proj.twistSheafMultiplicationMapis the composite of the inverse associator, the braiding on𝒪(n) ⊗ ℱtensored with𝒪(m), the associator, and𝟙 ℱ ⊗ (Equation 01MO). The first three factors are isomorphisms unconditionally, and the fourth is one because the native tensor bifunctor maps the product of two isomorphisms to an isomorphism.
public theorem isIso_twistSheafMultiplicationMap (hcover : DegreeOneCover 𝒮)
(F : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology (ProjectiveSpectrum.top 𝒮))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf 𝒮))) (n m : ℤ) :
IsIso (twistSheafMultiplicationMap 𝒮 F n m)
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.nonempty_tensorPowModule_iso_twistingSheaf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 258. The attribute's comment: “the induced identification 𝒪_X(1)^{⊗ n} ≅ 𝒪_X(n)”. References: EGA II (2.5.14), “(2.5.14.2)”.
Stacks 01MT: the induced identification
𝒪_X(1)^{⊗ n} ≅ 𝒪_X(n), for every integern, at the canonical integral tensor powerStacks.Ample.tensorPowModuleof Tag 01CU.Both families are carried one degree by the autoequivalence
twistRight— the tensor powers by the addition law of Tag 01CU, the twists by Equation 01MO at(n, 1)— and they agree in degree one, soStacks.AlgebraicGeometry.ProjTwistPowers.nonempty_iso_of_shiftidentifies them in every degree, negative ones included, with no separate argument.The library already had this under the stronger hypothesis
Algebra.adjoin (𝒮 0) (𝒮 1) = ⊤, asStacks.AlgebraicGeometry.ProjTwistPowers.nonempty_tensorPowModule_iso_twistingSheaf; this is the same statement at the source's own printed hypothesis.
public theorem nonempty_tensorPowModule_iso_twistingSheaf (hcover : DegreeOneCover 𝒮) (n : ℤ) :
letI := isInvertibleModule_twistingSheaf 𝒮 hcover 1
Nonempty (Stacks.Ample.tensorPowModule (AlgebraicGeometry.Proj 𝒮) (twistingSheaf 𝒮 1) n ≅
twistingSheaf 𝒮 n)
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.isIso_moduleTwistMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 314. The attribute's comment: “equation 01MQ is an isomorphism”. References: EGA II (2.5.15); EGA II (3.2.8).
Stacks 01MT: Equation 01MQ
M̃ ⊗ 𝒪_X(n) ⟶ M(n)̃is an isomorphism, for every gradedS-moduleMand every integern.
isIso_moduleTwistMap_of_ratioLocus_eq_topatd = 1.
public theorem isIso_moduleTwistMap (hcover : DegreeOneCover 𝒮) (n : ℤ) :
IsIso (ProjShifted.moduleTwistMap 𝒮 n)
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.moduleTwistIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/Basic.lean, line 324. The attribute's comment: “the induced isomorphism M̃ ⊗ 𝒪_X(n) ≅ M(n)~”.
Stacks 01MT: the induced isomorphism
M̃ ⊗_{𝒪_X} 𝒪_X(n) = M̃(n) ≅ M(n)̃.
public def moduleTwistIso (hcover : DegreeOneCover 𝒮) (n : ℤ) :
(((Stacks.SheafOfModules.Tensor.sheafTensor
⟨(((AlgebraicGeometry.Proj 𝒮).toRingedSpace)).presheaf,
(((AlgebraicGeometry.Proj 𝒮).toRingedSpace)).IsSheaf⟩).obj
((associatedModuleSheaf 𝒮 ))).obj ((twistingSheaf 𝒮 n))) ≅
associatedModuleSheaf 𝒮 (shiftedGrading n)
Tag 0AG3, an equation
Tag 0AG3 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistDegreeOneCover.degreeNToTwistedGlobalSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistDegreeOneCover/GlobalSections.lean, line 87.
Equation 0AG3: the canonical map
M_n ⟶ Γ(X, M̃(n)). A homogeneous element of degreengives a global section ofM(n)~, which the isomorphismM(n)~ ≅ M̃(n)of Tag 01MT turns into a global section of the twistM̃(n).
public def degreeNToTwistedGlobalSections (hcover : DegreeOneCover 𝒮) (n : ℤ) :
n →+ twistedModuleGlobalSections 𝒮 n
Tag 01MU, a lemma
Tag 01MU in the Stacks Project.
Stacks.AlgebraicGeometry.GoodOpenClose.isGoodOpen_iff_le_whereInvertible_of_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/GoodOpenClose/Basic.lean, line 156. The attribute's comment: “maximality and goodness of the invertible locus”.
For
0 < d, an open is good exactly when it lies in the largest good openwhereInvertible 𝒮 d.
theorem isGoodOpen_iff_le_whereInvertible_of_pos (d : ℕ) (_hd : 0 < d)
(U : (AlgebraicGeometry.Proj 𝒮).Opens) :
IsGoodOpen 𝒮 d U ↔ U ≤ whereInvertible 𝒮 d
Stacks.AlgebraicGeometry.GoodOpenClose.whereInvertible_eq_iSup_basicOpen_mul_of_pos, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/GoodOpenClose/Basic.lean, line 186. The attribute's comment: “equality of the two open subsets”.
For
0 < d, the largest good openwhereInvertible 𝒮 dis the union of the standard opensD₊(fg)withdeg f = deg g + d.
theorem whereInvertible_eq_iSup_basicOpen_mul_of_pos (d : ℕ) (_hd : 0 < d) :
whereInvertible 𝒮 d =
⨆ (e : ℕ) (f : 𝒮 (e + d)) (g : 𝒮 e),
AlgebraicGeometry.Proj.basicOpen 𝒮 ((f : S) * (g : S))
Stacks.AlgebraicGeometry.ModuleTwistIso.moduleTwistMap_isIso_on_whereInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ModuleTwistIso/Basic.lean, line 391. The attribute's comment: “comparison for associated modules”.
On the largest open on which the
d-divisible twists are invertible and their multiplication maps are isomorphisms, the canonical comparison from the tensor product of an associated sheaf with such a twist to the associated sheaf of the shifted module is an isomorphism, for every graded module and every integral multiple ofd. The hypothesis0 < dis not used.
theorem moduleTwistMap_isIso_on_whereInvertible (d : ℕ) (_hd : 0 < d) (n : ℤ) :
IsIso ((Scheme.Modules.restrictFunctor (whereInvertible 𝒮 d).ι).map
(moduleTwistMap 𝒮 ((d : ℤ) * n)))
Tag 01MV, a lemma
Tag 01MV in the Stacks Project.
Stacks.AlgebraicGeometry.ProjInvertibleLocus.nonvanishingLocus_degreeSection_inter, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjInvertibleLocus/NonvanishingLocus.lean, line 534.
Stacks Tag 01MV. Let
Sbe a graded ring,X = Proj(S),d ≥ 1,n ≥ 1andf ∈ S_{nd}. Letsbe the global section of𝒪(nd)attached tof. Then, on the openW_dwhere thed-divisible twists are invertible, the nonvanishing locus ofsis the standard openD₊(f):
X_s ∩ W_d = D₊(f) ∩ W_d.This is stated on
Proj(S)rather than on the open subschemeW_d, which is strictly stronger than the form of the source: the statement there is the image of this one underStacks.SheafOfModules.preimage_nonvanishingLocus. No positivity ofdornis needed.
theorem nonvanishingLocus_degreeSection_inter (d n : ℕ) (f : 𝒮 (n * d)) :
Stacks.SheafOfModules.nonvanishingLocus
(X := (AlgebraicGeometry.Proj 𝒮).toRingedSpace)
(twistingSheaf 𝒮 ((n * d : ℕ) : ℤ))
(sectionsOfTop _ (degreeSection 𝒮 (n * d) f)) ∩
(whereInvertible 𝒮 d : Set ↥(AlgebraicGeometry.Proj 𝒮)) =
(AlgebraicGeometry.Proj.basicOpen 𝒮 (f : S) : Set ↥(AlgebraicGeometry.Proj 𝒮)) ∩
(whereInvertible 𝒮 d : Set ↥(AlgebraicGeometry.Proj 𝒮))
Tag 01MW, a lemma
Tag 01MW in the Stacks Project.
Stacks.AlgebraicGeometry.CommonDegreeTwist.exists_degree_forall, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CommonDegreeTwist/AffineSectionBasis.lean, line 285. The attribute's comment: “degree_exists”.
Stacks Tag 01MW. Let
Sbe a graded ring,X = Proj(S)andY ⊆ Xa quasi-compact open subscheme; write𝒪_Y(n)for the restriction of𝒪_X(n)toY. Then there is an integerd ≥ 1such that
Yis contained in the openW_dof Tag 01MU;𝒪_Y(dn)is invertible for everyn : ℤ;- every multiplication map
𝒪_Y(nd) ⊗_{𝒪_Y} 𝒪_Y(m) ⟶ 𝒪_Y(nd + m)of Equation 01MO is an isomorphism;- every comparison map
M̃|_Y ⊗_{𝒪_Y} 𝒪_Y(nd) ⟶ M(nd)~|_Yof Equation 01MQ is an isomorphism, for every gradedS-moduleM;- for
f ∈ S_{nd}with images ∈ Γ(Y, 𝒪_Y(nd))the nonvanishing locusY_sisD₊(f) ∩ Y;- the opens
Y_s, fors ∈ Γ(Y, 𝒪_Y(nd))withn ≥ 1, form a basis for the topology ofY;- so do those among them which are affine.
The degree is the common degree of a finite standard-open cover of
Y, which quasi-compactness produces:AlgebraicGeometry.Proj.commonDegreeCover. Each clause is then the corresponding result about such a cover, so all seven hold for that one degree.
theorem exists_degree_forall (Y : (AlgebraicGeometry.Proj 𝒮).Opens)
(hY : IsCompact (Y : Set (AlgebraicGeometry.Proj 𝒮))) :
∃ d : ℕ, 1 ≤ d ∧
Y ≤ whereInvertible 𝒮 d ∧
(∀ n : ℤ, SheafOfModules.IsInvertible Y.toScheme.presheaf Y.toScheme.ringCatSheaf.2
((Scheme.Modules.pullback Y.ι).obj (twistingSheaf 𝒮 ((d : ℤ) * n)))) ∧
(∀ n m : ℤ, IsIso ((Scheme.Modules.restrictFunctor Y.ι).map
(twistMultiplicationMap 𝒮 ((d : ℤ) * n) m))) ∧
(∀ (M : Type u) [AddCommGroup M] [Module S M] (τ : Type t) [SetLike τ M]
[AddSubgroupClass τ M] ( : ℤ → τ) [DirectSum.Decomposition ]
[SetLike.GradedSMul 𝒮 ] (n : ℤ),
IsIso ((Scheme.Modules.restrictFunctor Y.ι).map
(Stacks.AlgebraicGeometry.ProjShifted.moduleTwistMap 𝒮 ((d : ℤ) * n)))) ∧
(∀ (n : ℕ) (f : 𝒮 (n * d)),
Stacks.Ample.nonvanishingLocus (restrictedTwist 𝒮 Y ((n * d : ℕ) : ℤ))
(restrictedDegreeSection 𝒮 Y (n * d) f) =
((Y.ι ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒮 (f : S) : Y.toScheme.Opens) :
Set Y.toScheme)) ∧
Opens.IsBasis {V : Y.toScheme.Opens | ∃ n : ℕ, 1 ≤ n ∧
∃ s : Γ(restrictedTwist 𝒮 Y ((n * d : ℕ) : ℤ), ⊤),
(V : Set Y.toScheme) =
Stacks.Ample.nonvanishingLocus (restrictedTwist 𝒮 Y ((n * d : ℕ) : ℤ)) s} ∧
Opens.IsBasis {V : Y.toScheme.Opens | ∃ n : ℕ, 1 ≤ n ∧
∃ s : Γ(restrictedTwist 𝒮 Y ((n * d : ℕ) : ℤ), ⊤),
IsAffineOpen V ∧ (V : Set Y.toScheme) =
Stacks.Ample.nonvanishingLocus (restrictedTwist 𝒮 Y ((n * d : ℕ) : ℤ)) s}
Tag 0B5I, a lemma
Tag 0B5I in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistIntegerComparisonStatement.comparison_existsUnique_functorial_degreeZeroId, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorSectionNonvanishing/ProjTwistIntegerComparisonStatement.lean, line 82. The attribute's comment: “the tag's three assertions in one statement, for the canonical graded-module structure on M = ⨁_{n ∈ ℤ} Γ(X, ℱ(n)): the comparison morphism M̃ ⟶ ℱ exists and is the unique morphism restricting on each positive-degree standard open to m / f ^ k ↦ m|_{D₊(f)} ⊗ f ^ (-k), it commutes with every morphism of sheaves of modules out of ℱ, and it returns each global section of ℱ to itself through the identification ℱ(0) ≅ ℱ”. References: EGA II (2.6.4), “more general”.
Let
Sbe a graded ring,X = Proj S, letℱbe a sheaf of𝒪_X-modules and letM = ⨁_{n ∈ ℤ} Γ(X, ℱ(n))be the gradedS-module of twisted global sections, taken with its canonical graded-module structureStacks.AlgebraicGeometry.ProjTwistedSections.twistedGlobalSectionsModule. Then there is a canonical𝒪_X-module mapM̃ ⟶ ℱ, functorial inℱ, whose induced mapM₀ → Γ(X, ℱ)is the identity.The three conjuncts are, in order:
- Existence and canonicity. There is exactly one morphism
M̃ ⟶ ℱwhose restriction to the standard openD₊(f)of each positive-degree homogeneous element is the chart comparisonm / f ^ k ↦ m|_{D₊(f)} ⊗ f ^ (-k). The morphism it names isStacks.AlgebraicGeometry.ProjTwistIntegerComparison.integerComparison.- Functoriality in
ℱ. For every sheaf𝒢and every morphismψ : ℱ ⟶ 𝒢, the comparison morphisms ofℱand of𝒢form a commuting square withψand with the morphism of associated sheaves thatψinduces on the graded modules of twisted global sections.- The degree-zero map is the identity. A global section
tofℱis a degree-zero element ofMthrough the identificationℱ(0) ≅ ℱofStacks.AlgebraicGeometry.ProjTwistDegreeZeroNormalization.twistZeroCancelIso; the global section ofM̃attached to it is sent by the comparison morphism back tot.
theorem comparison_existsUnique_functorial_degreeZeroId
(F : SheafOfModules.{u} (projRingSheaf 𝒮)) :
(∃! φ : twistedGlobalSectionsAssociatedSheaf 𝒮 F (twistedGlobalSectionsModule 𝒮 F) ⟶ F,
∀ p : PositiveElem 𝒮,
φ.val.app (op (positiveBasicOpen 𝒮 p)) =
localComparison 𝒮 F (twistedGlobalSectionsModule 𝒮 F) p) ∧
(∀ (G : SheafOfModules.{u} (projRingSheaf 𝒮)) (ψ : F ⟶ G),
twistedGlobalSectionsAssociatedSheafMap 𝒮 (twistedGlobalSectionsModule 𝒮 F)
(twistedGlobalSectionsModule 𝒮 G) ψ ≫
integerComparison 𝒮 G (twistedGlobalSectionsModule 𝒮 G) =
integerComparison 𝒮 F (twistedGlobalSectionsModule 𝒮 F) ≫ ψ) ∧
(letI := (twistedGlobalSectionsModule 𝒮 F).moduleInst
letI := (twistedGlobalSectionsModule 𝒮 F).gradedSMul
∀ t : F.val.obj (op (⊤ : Opens (ProjectiveSpectrum.top 𝒮))),
(integerComparison 𝒮 F (twistedGlobalSectionsModule 𝒮 F)).val.app
(op (⊤ : Opens (ProjectiveSpectrum.top 𝒮)))
(degreeZeroToGlobalSections 𝒮 (twistedGlobalSectionsGrading 𝒮 F)
⟨DirectSum.of (fun k : ℤ => twistedSectionsComponent 𝒮 F k) 0
((twistZeroCancelIso 𝒮 F (rfl : (0 : ℤ) = 0)).inv.val.app
(op (⊤ : Opens (ProjectiveSpectrum.top 𝒮))) t),
(DirectSum.mem_rangeGrading ℤ (fun k : ℤ => twistedSectionsComponent 𝒮 F k) 0
_).mpr ⟨_, rfl⟩⟩) = t)
Sources
Section27.11 Functoriality of Proj#
Section 27.11 of the Stacks Project, Tag 01MX. 8 tags here are carried by 28 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01MY, a lemma
Tag 01MY in the Stacks Project.
Stacks.AlgebraicGeometry.ProjMapCard.projMapData_preserves_products, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjMapCard/Multiplication.lean, line 345. The attribute's comment: “graded-algebra multiplication”.
Tag 01MY, graded-algebra multiplication, on the canonical bundle. The tagged statement's spelling of
twistMap_comp_pullbackTwistMultiplication: the morphism and the twist maps are the fields ofStacks.AlgebraicGeometry.ProjTwistCompare.projMapData.
public theorem projMapData_preserves_products (ψ : 𝒜 →+*ᵍ ℬ)
(n m : ℤ) :
pullbackTwistMultiplication 𝒜 (projMapData 𝒜 ℬ ψ).hom n m ≫
(projMapData 𝒜 ℬ ψ).twistMap (n + m) =
((Functor.uncurry.obj (Stacks.SheafOfModules.Tensor.sheafTensor.{u, u, u, u, u}
⟨(((mapDomain 𝒜 ℬ ψ).toScheme.toRingedSpace)).presheaf,
(((mapDomain 𝒜 ℬ ψ).toScheme.toRingedSpace)).IsSheaf⟩)).map
((((projMapData 𝒜 ℬ ψ).twistMap n), ((projMapData 𝒜 ℬ ψ).twistMap m)) : (_, _) ⟶ (_, _))) ≫
pullbackTwistMultiplication ℬ (mapDomain 𝒜 ℬ ψ).ι n m
Stacks.AlgebraicGeometry.ProjMapCardUnit.projMapData_preserves_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjMapCardUnit/Basic.lean, line 332. The attribute's comment: “graded-algebra unit”.
Tag 01MY, the graded-algebra unit, on the canonical bundle. The Stacks statement's spelling of
twistMap_comp_pullbackTwistUnit: the morphism and the twist maps are the fields ofStacks.AlgebraicGeometry.ProjTwistCompare.projMapData.
theorem projMapData_preserves_unit (ψ : 𝒜 →+*ᵍ ℬ) :
pullbackTwistUnit 𝒜 (projMapData 𝒜 ℬ ψ).hom ≫ (projMapData 𝒜 ℬ ψ).twistMap 0 =
pullbackTwistUnit ℬ (mapDomain 𝒜 ℬ ψ).ι
Stacks.AlgebraicGeometry.ProjTwistChain.awayToSection_comp_appLE_mapHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjMapData/Basic.lean, line 165. The attribute's comment: “part (2), localization map on standard opens”.
Stacks 01MY (2): on the standard open
D₊(ψ f)of the domain of definition, the morphism induced byψis the one induced by the map𝒜_{(f)} → ℬ_{(ψ f)}of degree-zero homogeneous localizations.With no hypothesis on
ψ; compareAlgebraicGeometry.Proj.awayToSection_comp_appLE, which states this forAlgebraicGeometry.Proj.mapand so assumesℬ₊ ≤ 𝒜₊.map ψ.
public theorem awayToSection_comp_appLE_mapHom (ψ : 𝒜 →+*ᵍ ℬ) (f : A) (d : ℕ) (hf : f ∈ 𝒜 d)
(hd : 0 < d) :
Proj.awayToSection 𝒜 f ≫
Scheme.Hom.appLE (mapHom 𝒜 ℬ ψ) (Proj.basicOpen 𝒜 f)
((mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ Proj.basicOpen ℬ (ψ f))
(by rw [mapHom_preimage_basicOpen 𝒜 ℬ ψ f d hf hd]) =
CommRingCat.ofHom (Away.map ψ f) ≫
Proj.awayToSection ℬ (ψ f) ≫
Scheme.Hom.appLE (mapDomain 𝒜 ℬ ψ).ι (Proj.basicOpen ℬ (ψ f))
((mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ Proj.basicOpen ℬ (ψ f)) le_rfl
Stacks.AlgebraicGeometry.ProjTwistChain.eq_mapHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjMapData/Basic.lean, line 182. The attribute's comment: “uniqueness of the scheme morphism”.
Stacks 01MY (2), uniqueness: a morphism out of the domain of definition that has the inverse images of standard opens of Tag 01MY (2), and that on each of them is induced by the corresponding map of degree-zero homogeneous localizations, is
mapHom.
public theorem eq_mapHom (ψ : 𝒜 →+*ᵍ ℬ)
(p : (mapDomain 𝒜 ℬ ψ).toScheme ⟶ AlgebraicGeometry.Proj 𝒜)
(hopen : ∀ (f : A) (d : ℕ), f ∈ 𝒜 d → 0 < d →
p ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f =
(mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen ℬ (ψ f))
(hlocal : ∀ (f : A) (d : ℕ) (hf : f ∈ 𝒜 d) (hd : 0 < d),
Proj.awayToSection 𝒜 f ≫
Scheme.Hom.appLE p (Proj.basicOpen 𝒜 f)
((mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ Proj.basicOpen ℬ (ψ f))
(by rw [hopen f d hf hd]) =
CommRingCat.ofHom (Away.map ψ f) ≫
Proj.awayToSection ℬ (ψ f) ≫
Scheme.Hom.appLE (mapDomain 𝒜 ℬ ψ).ι (Proj.basicOpen ℬ (ψ f))
((mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ Proj.basicOpen ℬ (ψ f)) le_rfl) :
p = mapHom 𝒜 ℬ ψ
Stacks.AlgebraicGeometry.ProjMapUniqueTwist.projMapData_twistMap_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjMapUniqueTwist/Basic.lean, line 282. The attribute's comment: “uniqueness of the graded-algebra map”.
Tag 01MY, uniqueness of the graded-algebra map. A bundle of the canonical morphism with maps on all twists which satisfies condition (1) at
⊤, the multiplication law in all integer degrees and the unit law is the canonical bundle.Together with
Stacks.AlgebraicGeometry.ProjMapData.eq_mapHom, this is uniqueness of the canonical triple of Tag 01MY.
public theorem projMapData_twistMap_unique (𝒜 : ℕ → σ) (ℬ : ℕ → τ) [GradedRing 𝒜] [GradedRing ℬ]
(ψ : 𝒜 →+*ᵍ ℬ) (D : ProjMapData 𝒜 ℬ ψ)
(hh : D.hom = (projMapData 𝒜 ℬ ψ).hom)
(hdegree : ∀ (n : ℕ) (a : 𝒜 n),
(D.twistMap (n : ℤ)).val.app (.op ⊤)
(((Scheme.Modules.pullbackPushforwardAdjunction D.hom).unit.app
(twistingSheaf 𝒜 (n : ℤ))).val.app (.op ⊤)
(degreeSection 𝒜 n a)) =
((Scheme.Modules.pullbackPushforwardAdjunction (mapDomain 𝒜 ℬ ψ).ι).unit.app
(twistingSheaf ℬ (n : ℤ))).val.app (.op ⊤)
(degreeSection ℬ n ⟨ψ a, ψ.map_mem a.2⟩))
(hmul : ∀ n m : ℤ,
pullbackTwistMultiplication 𝒜 D.hom n m ≫ D.twistMap (n + m) =
((Functor.uncurry.obj (Stacks.SheafOfModules.Tensor.sheafTensor ⟨(((mapDomain 𝒜 ℬ
ψ).toScheme.toRingedSpace)).presheaf, (((mapDomain 𝒜 ℬ
ψ).toScheme.toRingedSpace)).IsSheaf⟩)).map
(((D.twistMap n), (D.twistMap m)) : (_, _) ⟶ (_, _))) ≫
pullbackTwistMultiplication ℬ (mapDomain 𝒜 ℬ ψ).ι n m)
(hunit : pullbackTwistUnit 𝒜 D.hom ≫ D.twistMap 0 =
pullbackTwistUnit ℬ (mapDomain 𝒜 ℬ ψ).ι) :
D = projMapData 𝒜 ℬ ψ
Stacks.AlgebraicGeometry.ProjShared.mapDomain, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjShared/MapDomain.lean, line 89. The attribute's comment: “the open domain”. References: EGA II (2.8.1); EGA II (3.5.6), “partial”.
The union of the standard opens
D₊(ψ f)ofProj ℬforfhomogeneous of positive degree: the largest open on which a graded ring homomorphismψinduces a morphism toProj 𝒜.
public def mapDomain (ψ : 𝒜 →+*ᵍ ℬ) : (Proj ℬ).Opens
Stacks.AlgebraicGeometry.ProjTwistChain.mapHom_preimage_basicOpen, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistChain/MY.lean, line 248. The attribute's comment: “part (2), inverse images of standard opens”. References: EGA II (2.8.1).
Stacks 01MY (2): the inverse image of a standard open of
Proj 𝒜under the induced morphism is the standard open of the image element.
public theorem mapHom_preimage_basicOpen (ψ : 𝒜 →+*ᵍ ℬ) (f : A) (d : ℕ) (hf : f ∈ 𝒜 d)
(hd : 0 < d) :
mapHom 𝒜 ℬ ψ ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f =
(mapDomain 𝒜 ℬ ψ).ι ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen ℬ (ψ f)
Stacks.AlgebraicGeometry.ProjTwistCompare.projMapData, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistCompare/Twist.lean, line 356. The attribute's comment: “the morphism and the maps on all twists”.
The canonical bundle of Tag 01MY: the glued morphism
mapHomtogether with the comparison mapsθon all twists.
public def projMapData (ψ : 𝒜 →+*ᵍ ℬ) : ProjMapData 𝒜 ℬ ψ
Stacks.AlgebraicGeometry.ProjTwistGradedAlgebra.thetaGraded, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistGradedAlgebra/Basic.lean, line 198. The attribute's comment: “theta as a single morphism of sheaves of Z-graded algebras: the comparison maps on all integer twists, assembled into one morphism from the pullback along r_psi of the graded algebra of integer twists of Proj A to the pullback along the inclusion of U(psi) of that of Proj B”.
The comparison maps on all integer twists, as one homomorphism of sheaves of
ℤ-graded algebrasθ : r_ψ^*(⨁_{n ∈ ℤ} 𝒪_{Proj 𝒜}(n)) ⟶ ⨁_{n ∈ ℤ} 𝒪_{Proj ℬ}(n)|_{U(ψ)}. Its degree-ncomponent isStacks.AlgebraicGeometry.ProjTwistCompare.twistMap.
def thetaGraded (ψ : 𝒜 →+*ᵍ ℬ) :
pullbackTwistAlgebra 𝒜 (mapHom 𝒜 ℬ ψ) ⟶
pullbackTwistAlgebra ℬ (mapDomain 𝒜 ℬ ψ).ι
Stacks.AlgebraicGeometry.ProjTwistTheta.twistMap_degreeSection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistTheta/DegreeSection.lean, line 225. The attribute's comment: “part (1), homogeneous global sections”.
Tag 01MY, part (1), homogeneous global sections. The comparison map on the
n-th twist carries the global section ofO(n)attached to a homogeneous elementaof degreento the global section attached topsi a, both read through the unit of the pullback--pushforward adjunction.
public theorem twistMap_degreeSection (ψ : 𝒜 →+*ᵍ ℬ) (n : ℕ) (a : 𝒜 n) :
((projMapData 𝒜 ℬ ψ).twistMap (n : ℤ)).val.app (.op ⊤)
(((Scheme.Modules.pullbackPushforwardAdjunction (projMapData 𝒜 ℬ ψ).hom).unit.app
(twistingSheaf 𝒜 (n : ℤ))).val.app (.op ⊤)
(degreeSection 𝒜 n a)) =
((Scheme.Modules.pullbackPushforwardAdjunction (mapDomain 𝒜 ℬ ψ).ι).unit.app
(twistingSheaf ℬ (n : ℤ))).val.app (.op ⊤)
(degreeSection ℬ n ⟨ψ a, ψ.map_mem a.2⟩)
Tag 01MZ, a lemma
Tag 01MZ in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistCompTwistMap.mapDomain_mapHom_twistMap_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistCompTwistMap/Statement.lean, line 100. The attribute's comment: “the tag's three assertions in one statement, for an arbitrary composable pair of homomorphisms of nonnegatively graded rings: the domain of definition of the composite is the inverse image under r_ψ of the domain of definition of φ, the morphism of the composite is r_φ ∘ r_ψ restricted to that open, and the comparison maps on every twist compose”. References: EGA II (2.8.4).
[Stacks, Tag 01MZ]. Let
𝒜,ℬ,𝒞be nonnegatively graded rings, writeX = Proj 𝒜,Y = Proj ℬ,Z = Proj 𝒞, and letφ : 𝒜 →+*ᵍ ℬandψ : ℬ →+*ᵍ 𝒞be homomorphisms of graded rings. ThenU(ψ ∘ φ) = r_ψ⁻¹(U(φ)), the morphismr_{ψ ∘ φ} : U(ψ ∘ φ) ⟶ Xisr_φ ∘ r_ψ|_{U(ψ ∘ φ)}, andθ_ψ ∘ r_ψ^* θ_φ = θ_{ψ ∘ φ}on every twist.The three conjuncts are, in order:
- The domain of definition of the composite.
U(ψ ∘ φ), an open ofZ, is the image under the inclusion ofU(ψ)of the openr_ψ⁻¹(U(φ))ofU(ψ). This ismapDomain_comp.- The morphism of the composite. Read through the canonical isomorphism
mapDomainCompIso : r_ψ⁻¹(U(φ)) ≅ U(ψ ∘ φ)that the first conjunct supplies,r_{ψ ∘ φ}is the restrictionr_ψ|_{r_ψ⁻¹(U(φ))} : r_ψ⁻¹(U(φ)) ⟶ U(φ)followed byr_φ. This ismapDomainCompIso_hom_mapHom.- The comparison maps on the twists. For every
n : ℤ, Tag 01MY's comparisonθ_{ψ ∘ φ}on then-th twist, pulled back along the canonical isomorphism, isθ_φpulled back alongr_ψ|_{r_ψ⁻¹(U(φ))}followed byθ_ψpulled back along the inclusion ofr_ψ⁻¹(U(φ)), the pseudofunctoriality isomorphisms of the inverse image and the three identifications of composites of the first two conjuncts mediating between the two sides. This istwistMap_comp.The source's data are the three graded rings and the two homomorphisms, and those are the only binders here: every domain of definition is an arbitrary open, and
θis Tag 01MY's comparison for an arbitrary homomorphism of nonnegatively graded rings.
public theorem mapDomain_mapHom_twistMap_comp (φ : 𝒜 →+*ᵍ ℬ) (ψ : ℬ →+*ᵍ 𝒞) :
mapDomain 𝒜 𝒞 (ψ.comp φ) =
(mapDomain ℬ 𝒞 ψ).ι ''ᵁ (mapHom ℬ 𝒞 ψ ⁻¹ᵁ mapDomain 𝒜 ℬ φ) ∧
(mapDomainCompIso 𝒜 ℬ 𝒞 φ ψ).hom ≫ mapHom 𝒜 𝒞 (ψ.comp φ) =
(mapHom ℬ 𝒞 ψ ∣_ mapDomain 𝒜 ℬ φ) ≫ mapHom 𝒜 ℬ φ ∧
∀ n : ℤ,
(Scheme.Modules.pullbackComp (mapDomainCompIso 𝒜 ℬ 𝒞 φ ψ).hom
(mapHom 𝒜 𝒞 (ψ.comp φ))).inv.app (twistingSheaf 𝒜 n) ≫
(Scheme.Modules.pullback (mapDomainCompIso 𝒜 ℬ 𝒞 φ ψ).hom).map
(twistMap 𝒜 𝒞 (ψ.comp φ) n) ≫
(Scheme.Modules.pullbackComp (mapDomainCompIso 𝒜 ℬ 𝒞 φ ψ).hom
(mapDomain 𝒜 𝒞 (ψ.comp φ)).ι).hom.app (twistingSheaf 𝒞 n) =
(Scheme.Modules.pullbackCongr
(mapDomainCompIso_hom_mapHom 𝒜 ℬ 𝒞 φ ψ)).hom.app (twistingSheaf 𝒜 n) ≫
(Scheme.Modules.pullbackComp (mapHom ℬ 𝒞 ψ ∣_ mapDomain 𝒜 ℬ φ)
(mapHom 𝒜 ℬ φ)).inv.app (twistingSheaf 𝒜 n) ≫
(Scheme.Modules.pullback (mapHom ℬ 𝒞 ψ ∣_ mapDomain 𝒜 ℬ φ)).map
(twistMap 𝒜 ℬ φ n) ≫
(Scheme.Modules.pullbackComp (mapHom ℬ 𝒞 ψ ∣_ mapDomain 𝒜 ℬ φ)
(mapDomain 𝒜 ℬ φ).ι).hom.app (twistingSheaf ℬ n) ≫
(Scheme.Modules.pullbackCongr
(morphismRestrict_ι (mapHom ℬ 𝒞 ψ) (mapDomain 𝒜 ℬ φ))).hom.app
(twistingSheaf ℬ n) ≫
(Scheme.Modules.pullbackComp (mapHom ℬ 𝒞 ψ ⁻¹ᵁ mapDomain 𝒜 ℬ φ).ι
(mapHom ℬ 𝒞 ψ)).inv.app (twistingSheaf ℬ n) ≫
(Scheme.Modules.pullback (mapHom ℬ 𝒞 ψ ⁻¹ᵁ mapDomain 𝒜 ℬ φ).ι).map
(twistMap ℬ 𝒞 ψ n) ≫
(Scheme.Modules.pullbackComp (mapHom ℬ 𝒞 ψ ⁻¹ᵁ mapDomain 𝒜 ℬ φ).ι
(mapDomain ℬ 𝒞 ψ).ι).hom.app (twistingSheaf 𝒞 n) ≫
(Scheme.Modules.pullbackCongr
(mapDomainCompIso_hom_ι 𝒜 ℬ 𝒞 φ ψ)).inv.app (twistingSheaf 𝒞 n)
Tag 01N0, a lemma
Tag 01N0 in the Stacks Project.
AlgebraicGeometry.ProjectiveSpectrum.Proj.pullbackGlobalSections_degreeSection_eq_zero_iff_degreeSection_map_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjSaturation/QuotientComparison.lean, line 250. The attribute's comment: “part (3), the comparison θ : r_ψ^* 𝒪_X(n) ⟶ 𝒪_Y(n) on the canonical twisted sections: for ψ surjective out of a Noetherian graded ring generated in degree one, θ is injective on them, so the pulled-back section of a ∈ 𝒮 n vanishes iff the section of ψ a does. Surjectivity of θ is twist_surjective; sheaf-level isomorphy of θ, and the source's counterexample to it, are not proved.”.
Tag 01N0 part (3) on canonical twisted sections, for a surjective homomorphism of graded rings out of a Noetherian ring generated in degree one. Write
X = Proj 𝒮,Y = Proj ℬandr = r_ψ : Y ⟶ Xfor the closed immersion of part (2). Fora ∈ 𝒮 n, the pullback alongrof the canonical section of𝒪_X(n)attached toavanishes exactly when the canonical section of𝒪_Y(n)attached toψ avanishes.The source's part (3) says the comparison maps
θ : r^* 𝒪_X(n) ⟶ 𝒪_Y(n)of Tag 01MY are surjective but in general not injective, even for a surjectiveψ; its counterexample is𝒮 = k[x, y]withdeg x = 1,deg y = 2andKer ψ = (x). The statement here is thatθis injective on the canonical sections once𝒮is generated in degree one — the hypothesis the counterexample violates. Surjectivity ofθisStacks.AlgebraicGeometry.ProjTwistEpi.epi_projMapData_twistMap_of_eventually_surjective.Both sides are the saturation of
Ker ψ: the left bymem_idealOfClosedSubscheme_map_iffand the right byAlgebraicGeometry.ProjectiveSpectrum.Proj.degreeSection_eq_zero_iffonℬ, which inherits Noetherianness and degree-one generation from𝒮alongψ.
theorem pullbackGlobalSections_degreeSection_eq_zero_iff_degreeSection_map_eq_zero
[IsNoetherianRing S] (hψ : Function.Surjective ψ)
(hgen : Algebra.adjoin (𝒮 0) (𝒮 1 : Set S) = ⊤) {n : ℕ} (b : 𝒮 n) :
pullbackGlobalSections (Proj.map ψ hq) (twistingSheaf 𝒮 (n : ℤ))
(degreeSection 𝒮 n b) = 0 ↔
degreeSection ℬ n ⟨ψ (b : S), ψ.map_mem b.2⟩ = 0
Stacks.AlgebraicGeometry.ProjTwistEpi.epi_projMapData_twistMap_of_eventually_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistEpi/Basic.lean, line 201. The attribute's comment: “twist_surjective”.
If
ψis surjective on homogeneous components of all sufficiently large degree, then the twist maps of the bundleprojMapData 𝒜 ℬ ψare epimorphisms of sheaves of modules.
public theorem epi_projMapData_twistMap_of_eventually_surjective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d))
(n : ℤ) : Epi ((projMapData 𝒜 ℬ ψ).twistMap n)
Stacks.AlgebraicGeometry.RelativeProjChain.mapDomain_eq_top_of_eventually_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualSurjective.lean, line 155. The attribute's comment: “domain”.
Stacks 01N1 (1): a graded ring homomorphism surjective in all sufficiently large degrees is defined on the whole of
Proj ℬ.A point of
Proj ℬomits some homogeneousgof positive degreem; a large powerg ^ kis homogeneous of degreek * m, is still omitted because the point is prime, and is in the image ofψ.
public theorem mapDomain_eq_top_of_eventually_surjective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d)) :
mapDomain 𝒜 ℬ ψ = ⊤
Stacks.AlgebraicGeometry.RelativeProjChain.isClosedImmersion_projMapData_hom_of_eventually_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualSurjective.lean, line 223. The attribute's comment: “closed_immersion”.
Stacks 01N1 (2) on Tag 01MY's bundle: the underlying morphism of
Stacks.AlgebraicGeometry.ProjTwistCompare.projMapDatais a closed immersion. This is the form the statements of the chain quantify over, and it is the previous result unchanged, since the bundle's morphism ismapHomby definition.
public theorem isClosedImmersion_projMapData_hom_of_eventually_surjective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d)) :
IsClosedImmersion (ProjTwistCompare.projMapData 𝒜 ℬ ψ).hom
Stacks.AlgebraicGeometry.RelativeProjChain.isClosedImmersion_projToProjectiveSpaceGradeZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/PolynomialSurjection.lean, line 233. The attribute's comment: “part (2) at a polynomial ring: closed immersion into ℙⁿ”. References: EGA II (2.9.5), “special case”.
Stacks Tag 01N0 at a polynomial ring: a graded ring generated in degree one by
n + 1elements is a closed subscheme ofℙⁿ. LetSbe a graded ring and letx_0, …, x_n ∈ S_1generateSas anS_0-algebra. Then the induced morphismProj S ⟶ ℙⁿ_{S_0} = Proj S_0[T_0, …, T_n]is a closed immersion.This is the source's hypothesis "
Sis generated byS_1overS_0" together with a choice ofn + 1generators, and it isisClosedImmersion_projToProjectiveSpacewithR = S_0and the inclusion of the degree-zero part as the structure map.
theorem isClosedImmersion_projToProjectiveSpaceGradeZero (x : Fin (n + 1) → S)
(hx : ∀ i, x i ∈ 𝒮 1) (hgen : Algebra.adjoin (𝒮 0) (Set.range x) = ⊤) :
IsClosedImmersion
(projToProjectiveSpace 𝒮 (R := (𝒮 0)) (fun r => r.2) x hx hgen)
Tag 07ZE, a lemma
Tag 07ZE in the Stacks Project.
Stacks.AlgebraicGeometry.RelativeProjChain.mapDomain_eq_top_of_eventually_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualBijective.lean, line 166. The attribute's comment: “part (1), the domain is all of Proj B”.
Stacks 07ZE (1): a graded homomorphism bijective in all large degrees is defined on all of
Proj ℬ. Only surjectivity is used, so this is Stacks 01N1's first assertion.
public theorem mapDomain_eq_top_of_eventually_bijective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Bijective (GradedRingHom.gradedAddHom ψ d)) :
mapDomain 𝒜 ℬ ψ = ⊤
Stacks.AlgebraicGeometry.RelativeProjChain.isIso_projMapData_hom_of_eventually_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualBijective.lean, line 197. The attribute's comment: “part (2), the projective-spectrum morphism is an isomorphism”.
Stacks 07ZE (2) on Tag 01MY's bundle: the underlying morphism of
Stacks.AlgebraicGeometry.ProjTwistCompare.projMapDatais an isomorphism. This is the form the statements of the chain quantify over, and it is the previous result unchanged, since the bundle's morphism ismapHomby definition.
public theorem isIso_projMapData_hom_of_eventually_bijective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Bijective (GradedRingHom.gradedAddHom ψ d)) :
IsIso (ProjTwistCompare.projMapData 𝒜 ℬ ψ).hom
Stacks.AlgebraicGeometry.RelativeProjChain.isIso_projMapData_twistMap_of_eventually_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualBijective.lean, line 383. The attribute's comment: “part (3), the maps on twists are isomorphisms”.
Stacks 07ZE (3): a graded homomorphism bijective in all large degrees makes Tag 01MY's comparison map on the
n-th twist an isomorphism, for everyn : ℤ.The map is an epimorphism by Stacks 01N0, and a monomorphism because its adjoint form is injective on sections and the unit of the adjunction is an isomorphism by assertion (2).
public theorem isIso_projMapData_twistMap_of_eventually_bijective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Bijective (GradedRingHom.gradedAddHom ψ d))
(n : ℤ) :
IsIso ((ProjTwistCompare.projMapData 𝒜 ℬ ψ).twistMap n)
Tag 01N1, a lemma
Tag 01N1 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistMono.isIso_projMapData_twistMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjTwistMono/Assembly.lean, line 125. The attribute's comment: “part (3): isomorphisms on all twists”.
Tag 01N1's third assertion. For a homomorphism of graded rings surjective on homogeneous components of all large degree, with the source generated in degree one over its degree-zero part, Tag 01MY's comparison map on the
n-th twist is an isomorphism for everyn.
theorem isIso_projMapData_twistMap (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d))
(hgen : Algebra.adjoin (𝒜 0) (𝒜 1 : Set A) = ⊤) (n : ℤ) :
IsIso ((ProjTwistCompare.projMapData 𝒜 ℬ ψ).twistMap n)
Stacks.AlgebraicGeometry.RelativeProjChain.mapDomain_eq_top_of_eventually_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualSurjective.lean, line 155. The attribute's comment: “part (1): the domain is all of Proj”.
Stacks 01N1 (1): a graded ring homomorphism surjective in all sufficiently large degrees is defined on the whole of
Proj ℬ.A point of
Proj ℬomits some homogeneousgof positive degreem; a large powerg ^ kis homogeneous of degreek * m, is still omitted because the point is prime, and is in the image ofψ.
public theorem mapDomain_eq_top_of_eventually_surjective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d)) :
mapDomain 𝒜 ℬ ψ = ⊤
Stacks.AlgebraicGeometry.RelativeProjChain.isClosedImmersion_projMapData_hom_of_eventually_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RelativeProjChain/EventualSurjective.lean, line 223. The attribute's comment: “part (2): the closed immersion”.
Stacks 01N1 (2) on Tag 01MY's bundle: the underlying morphism of
Stacks.AlgebraicGeometry.ProjTwistCompare.projMapDatais a closed immersion. This is the form the statements of the chain quantify over, and it is the previous result unchanged, since the bundle's morphism ismapHomby definition.
public theorem isClosedImmersion_projMapData_hom_of_eventually_surjective (ψ : 𝒜 →+*ᵍ ℬ)
(hψ : ∀ᶠ d : ℕ in atTop, Function.Surjective (GradedRingHom.gradedAddHom ψ d)) :
IsClosedImmersion (ProjTwistCompare.projMapData 𝒜 ℬ ψ).hom
Tag 01N2, a lemma
Tag 01N2 in the Stacks Project.
Stacks.ProjBaseChange.mapDomain_isPullback_isIso_twistMap_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Blowup/ProjBaseChangeStatement.lean, line 98. The attribute's comment: “the tag's three assertions in one statement, for the base change of a graded R-algebra A along an R-algebra S: the domain of definition of the base-change homomorphism is the whole of Proj (S ⊗[R] A), the square it forms with the structure morphisms to Spec S and Spec R is a fibre product, and the comparison map on every twist is an isomorphism”.
[Stacks, Tag 01N2]. Let
Abe a gradedR-algebra with grading𝒜, letSbe anR-algebra, writeX = Proj 𝒜andY = Proj (S ⊗[R] 𝒜), and letψ : a ↦ 1 ⊗ₜ abe the base-change homomorphism of graded rings. ThenU(ψ) = Y, the squareY = Proj (S ⊗[R] 𝒜) ⟶ Proj 𝒜 = X | | v v Spec S ⟶ Spec Ris a fibre product, and every comparison map
θ : r_ψ^* 𝒪_X(n) ⟶ 𝒪_Y(n)is an isomorphism.The three conjuncts are, in order:
- The domain of definition is everything. The base-changed irrelevant ideal is generated by the images of the homogeneous elements of positive degree, so already the standard opens
D₊(1 ⊗ₜ f)coverY. This isStacks.AlgebraicGeometry.ProjShared.mapDomain_baseChange.- The square is a fibre product. The structure morphism of each projective spectrum is written as its morphism to the spectrum of the degree-zero part of its grading followed by the spectrum of the structure map of that degree-zero part. This is
Stacks.ProjBaseChange.isPullback_map_Spec.- The comparison maps are isomorphisms. For every
n : ℤ, the canonical comparison on then-th twist alongr_ψ = AlgebraicGeometry.Proj.map ψis an isomorphism. This isStacks.ProjBaseChange.isIso_twistMap_includeRight.The source's data are the graded
R-algebra and theR-algebraS, and those are the only binders here; the identification of the target graded ring with the base change holds by construction, since the target is the base change.
theorem mapDomain_isPullback_isIso_twistMap_baseChange :
mapDomain 𝒜 (grading 𝒜 S) (includeRight 𝒜 S) = ⊤ ∧
IsPullback (map 𝒜 S)
(Proj.toSpecZero (grading 𝒜 S) ≫ Spec.map (ofHom (algebraMap S ↥(grading 𝒜 S 0))))
(Proj.toSpecZero 𝒜 ≫ Spec.map (ofHom (algebraMap R ↥(𝒜 0))))
(Spec.map (ofHom (algebraMap R S))) ∧
∀ n : ℤ, IsIso (Stacks.ProjTwistComparison.twistMap (includeRight 𝒜 S)
(irrelevant_le_map 𝒜 S) n)
Tag 01N3, a lemma
Tag 01N3 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjShared.mapDomain_eq_top_of_isLocalizationAway, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjShared/MapDomain.lean, line 181. The attribute's comment: “the open domain”.
A graded homomorphism that presents its target as a localization of its source at a degree-zero element is everywhere defined.
A homogeneous element
bofBof positive degree becomes, after multiplication by a power of the image ofg, the image of somea ∈ A; that image is homogeneous of the same degree, soblies in the ideal generated by the images of the positive-degree homogeneous elements ofA. Hence the irrelevant ideal ofℬis contained in that ideal and the standard opensD₊(ψ f)coverProj ℬ.The algebra structure is an arbitrary one whose structure map is
ψ, which covers the structure mapψ.toRingHom.toAlgebrain particular.This is the first assertion of Tag 01N3,
U(ψ) = Y.
public theorem mapDomain_eq_top_of_isLocalizationAway (ψ : 𝒜 →+*ᵍ ℬ) (g : 𝒜 0)
[Algebra A B] (halg : algebraMap A B = (ψ : A →+* B))
[IsLocalization.Away (g : A) B] :
mapDomain 𝒜 ℬ ψ = ⊤
Stacks.AlgebraicGeometry.TwistBaseChange.isOpenImmersion_mapHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TwistBaseChange/Fibre.lean, line 204. The attribute's comment: “the open immersion”.
The induced morphism of a graded localization away from a degree-zero element is an open immersion.
public theorem isOpenImmersion_mapHom (ψ : 𝒜 →+*ᵍ ℬ) {g : A} (hg : g ∈ 𝒜 0) [Algebra A B]
(halg : (algebraMap A B : A →+* B) = ψ.toRingHom) [IsLocalization.Away g B] :
IsOpenImmersion (mapHom 𝒜 ℬ ψ)
Stacks.AlgebraicGeometry.TwistBaseChange.opensRange_mapHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TwistBaseChange/Fibre.lean, line 269. The attribute's comment: “the inverse image of D(g)”.
For a graded ring homomorphism exhibiting
Bas a localization ofAaway from an elementgof degree0, the open immersionProj ℬ ⟶ Proj 𝒜identifiesProj ℬwith the inverse image of the standard openD(g) ⊆ Spec (𝒜 0)under the structure morphismAlgebraicGeometry.Proj.toSpecZero.
public theorem opensRange_mapHom (ψ : 𝒜 →+*ᵍ ℬ) {g : A} (hg : g ∈ 𝒜 0) [Algebra A B]
(halg : (algebraMap A B : A →+* B) = ψ.toRingHom) [IsLocalization.Away g B]
[IsOpenImmersion (mapHom 𝒜 ℬ ψ)] :
(mapHom 𝒜 ℬ ψ).opensRange =
Proj.toSpecZero 𝒜 ⁻¹ᵁ PrimeSpectrum.basicOpen (⟨g, hg⟩ : 𝒜 0)
Stacks.AlgebraicGeometry.TwistBaseChange.isIso_projMapData_twistMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TwistBaseChange/Iso.lean, line 290. The attribute's comment: “the maps on twists”.
If
ψpresentsBas the localizationA_gofAat a degree-zero elementg, then the comparison mapθ : r_ψ^* 𝒪_X(n) → 𝒪_Y(n)ofStacks.AlgebraicGeometry.ProjTwistCompare.projMapDatais an isomorphism for everyn : ℤ.
public theorem isIso_projMapData_twistMap (ψ : 𝒜 →+*ᵍ ℬ) {g : A} (hg : g ∈ 𝒜 0) [Algebra A B]
(halg : (algebraMap A B : A →+* B) = ψ.toRingHom) [IsLocalization.Away g B] (n : ℤ) :
IsIso ((projMapData 𝒜 ℬ ψ).twistMap n)
Tag 0B5J, a lemma
Tag 0B5J in the Stacks Project.
Stacks.Veronese.tag0B5J, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjVeroneseStatement.lean, line 157. The attribute's comment: “the canonical isomorphism i : Proj S to Proj S^(d) induced by the inclusion S^(d) in S, described on homogeneous primes and on the standard opens D+(f) = Spec S_(f); assertion (1), the canonical isomorphism from the sheaf of a graded S-module M, in any universe, to the pullback of the sheaf of M^(d), described on the standard opens; assertion (2), the isomorphisms O_X(nd) to i^* O_X'(n) obtained from (1) at M = S(nd); and the compatibility of these isomorphisms with the multiplication maps of associated sheaves (through the comparison map from M^(d) tensor N^(d) to (M tensor N)^(d)), with the multiplication of twists, with the maps O(n) tensor F(m) to F(n+m) and M~ tensor O(n) to M(n)~, with the maps from S and from M to twisted global sections, and with the products of twisted global sections”. References: EGA II (8.14.13), “partial”.
[Stacks, Tag 0B5J]. Let
Sbe a graded ring andd ≥ 1. SetS' = S⁽ᵈ⁾,X = Proj SandX' = Proj S'. There is a canonical isomorphismi : X ⟶ X'of schemes such that (1) for any gradedS-moduleM, settingM' = M⁽ᵈ⁾, there is a canonical isomorphismM̃ ≅ i^*(M'~), and (2) there are canonical isomorphisms𝒪_X(nd) ≅ i^*𝒪_{X'}(n); and these isomorphisms are compatible with the multiplication maps of Tag 01MK and hence with the maps of Tags 01MO, 03GJ, 01MP, 03GK, 01MQ and 01MR.The isomorphism
iisStacks.Veronese.veroneseProjIso 𝒮 d hd, glued from the chart isomorphisms; the first conjunct says its underlying morphismveroneseProjHomis an isomorphism of schemes, that on homogeneous primes it is contraction alongS' ⊆ S, and that on each standard openD₊(f) = Spec S₍f₎it isSpecof the identificationS'₍f ᵈ₎ ≅ S₍f₎followed by the inclusion ofD₊(f ᵈ)— the source's "S₍f₎ ≅ S'₍f ᵈ₎, compatible with the restriction maps". These charts coverProj S, so they determineias a morphism of schemes, not only on points. The next conjunct is the consequencei⁻¹ D₊(f ᵈ) = D₊(f), which the chart descriptions of assertion (1) are written over. The third conjunct is assertion (1) for a module in any universev: the isomorphismStacks.Veronese.veroneseAssociatedSheafIso 𝒮 d hd : M̃ ≅ i^*(M'~), with the chart description that makes it canonical — onD₊(f)its inverse is the degree-zero Veronese localization comparisonM'₍f ᵈ₎ ≅ M₍f₎. The fourth conjunct is assertion (2), each isomorphism exhibited as the source derives it: (1) atM = S(nd)followed by(S(nd))⁽ᵈ⁾ ≅ S'(n). The remaining conjuncts are the trailing clause: the commuting square with the multiplication maps of Tag 01MK, and the six squares with the maps of Tags 01MO, 03GJ, 01MP, 03GK, 01MQ and 01MR which the source derives from it and whose precise statements it omits. See the module documentation for each square, for why the source's proof of the first is corrected here (the comparison along its lower edge is not injective atS = k[x, y],d = 2,M = N = S(1):Stacks.Veronese.not_injective_veroneseTensorMap), and for the universes.
theorem tag0B5J (d : ℕ) (hd : 1 ≤ d) :
letI := veroneseGradingGradedRing 𝒮 d hd
-- `i` is an isomorphism of schemes, and on homogeneous primes it is contraction along
-- `S⁽ᵈ⁾ ⊆ S`
IsIso (veroneseProjHom 𝒮 d hd) ∧
(∀ (x : ProjectiveSpectrum 𝒮) (g : veroneseSubring 𝒮 d),
g ∈ ((veroneseProjIso 𝒮 d hd).hom.base x).asHomogeneousIdeal ↔
(g : S) ∈ x.asHomogeneousIdeal) ∧
-- on each chart `D₊(f) = Spec S₍f₎`, `i` is `Spec` of `S'₍f ᵈ₎ ≅ S₍f₎` followed by the
-- inclusion of `D₊(f ᵈ)`: these determine `i` as a morphism of schemes
(∀ (f : S) (e : ℕ) (he : 0 < e) (hf : f ∈ 𝒮 e),
Proj.awayι 𝒮 f hf he ≫ (veroneseProjIso 𝒮 d hd).hom =
Spec.map (veroneseAwayEquiv 𝒮 d f hf hd).toCommRingCatIso.hom ≫
Proj.awayι (veroneseGrading 𝒮 d) (veronesePower 𝒮 d f hf)
(veronesePower_mem 𝒮 d f hf) he) ∧
-- the chart identification `i⁻¹ D₊(f ᵈ) = D₊(f)`
(∀ (f : S) (e : ℕ), 0 < e → ∀ hf : f ∈ 𝒮 e,
(veroneseProjIso 𝒮 d hd).hom ⁻¹ᵁ
Proj.basicOpen (veroneseGrading 𝒮 d) (veronesePower 𝒮 d f hf) =
Proj.basicOpen 𝒮 f) ∧
-- assertion (1): `veroneseAssociatedSheafIso 𝒮 d hd : M̃ ≅ i^*(M'~)`, for a module in
-- any universe, with the chart description that makes it the canonical isomorphism
(∀ (M : Type v) [AddCommGroup M] [Module S M] ( : ℤ → AddSubgroup M)
[Decomposition ] [SetLike.GradedSMul 𝒮 ],
letI := veroneseModuleGradingDecomposition 𝒮 d hd
∀ (f : S) (e : ℕ) (he : 0 < e) (hf : f ∈ 𝒮 e)
(hvf : veronesePower 𝒮 d f hf ∈ veroneseGrading 𝒮 d e)
(z : GradedModuleDegreeZeroLocalization (veroneseGrading 𝒮 d)
(veroneseModuleGrading 𝒮 d) (veronesePower 𝒮 d f hf)),
ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv 𝒮 hf he
((veroneseAssociatedSheafIso 𝒮 d hd).inv.val.app (op (Proj.basicOpen 𝒮 f))
(veroneseProjIso_basicOpen 𝒮 d hd f he hf ▸
((SheafOfModules.pullbackPushforwardAdjunction.{max u v}
(veroneseProjIso 𝒮 d hd).hom.toRingCatSheafHom).unit.app
(ProjectiveSpectrum.Proj.associatedModuleSheaf (veroneseGrading 𝒮 d)
(veroneseModuleGrading 𝒮 d))).val.app
(op (Proj.basicOpen (veroneseGrading 𝒮 d) (veronesePower 𝒮 d f hf)))
((ProjectiveSpectrum.Proj.associatedModuleSheafStandardOpenEquiv
(veroneseGrading 𝒮 d) (veroneseModuleGrading 𝒮 d)
hvf he).symm z))) =
veroneseModuleAwayEquiv 𝒮 d f hf hd z) ∧
-- assertion (2), as the source derives it from (1) at `M = S(nd)`
(∀ n : ℤ, ∃ E : ProjectiveSpectrum.Proj.twistingSheaf 𝒮 (n * d) ≅
(Scheme.Modules.pullback (veroneseProjIso 𝒮 d hd).hom).obj
(ProjectiveSpectrum.Proj.twistingSheaf (veroneseGrading 𝒮 d) n),
E.hom =
(associatedModuleSheafVeroneseIso 𝒮 (twistGradingAddSubgroup 𝒮 (n * d)) d hd).hom ≫
(Scheme.Modules.pullback (veroneseProjIso 𝒮 d hd).hom).map
(veroneseShiftSheafIso 𝒮 d hd n).hom) ∧
-- the trailing clause: compatibility of (1) with the multiplication maps
(∀ (M N : Type u) [AddCommGroup M] [Module S M] [AddCommGroup N] [Module S N]
( : ℤ → AddSubgroup M) [Decomposition ] [SetLike.GradedSMul 𝒮 ]
(𝒩 : ℤ → AddSubgroup N) [Decomposition 𝒩] [SetLike.GradedSMul 𝒮 𝒩],
veroneseTensorSquareLeft 𝒮 𝒩 d hd = veroneseTensorSquareRight 𝒮 𝒩 d hd) ∧
-- "and hence with (01MO)": `𝒪(nd) ⊗ 𝒪(md) ⟶ 𝒪((n+m)d)` against `𝒪'(n) ⊗ 𝒪'(m) ⟶ 𝒪'(n+m)`
(∀ n m : ℤ, veroneseTwistMulLeft 𝒮 d hd n m = veroneseTwistMulRight 𝒮 d hd n m) ∧
-- "and hence with (03GJ)": `𝒪(nd) ⊗ ℱ(md) ⟶ ℱ((n+m)d)` against
-- `𝒪'(n) ⊗ ℱ'(m) ⟶ ℱ'(n+m)`, for `ℱ = i^*ℱ'`
(∀ (F' : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology
(ProjectiveSpectrum.top (veroneseGrading 𝒮 d)))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf (veroneseGrading 𝒮 d)))) (n m : ℤ),
veroneseTwistSheafMulLeft 𝒮 d hd F' n m = veroneseTwistSheafMulRight 𝒮 d hd F' n m) ∧
-- "and hence with (03GK)": products of global sections of `𝒪(nd)` and `ℱ(md)`
(∀ (F' : SheafOfModules.{u}
((sheafCompose (Opens.grothendieckTopology
(ProjectiveSpectrum.top (veroneseGrading 𝒮 d)))
(forget₂ CommRingCat.{u} RingCat.{u})).obj
(ProjectiveSpectrum.Proj.structureSheaf (veroneseGrading 𝒮 d)))) (n m : ℤ)
(s : (ProjectiveSpectrum.Proj.twistingSheaf 𝒮 (n * d)).val.obj (op ⊤))
(t : (ProjectiveSpectrum.Proj.twistSheafOfModules 𝒮 (pullbackProjModule 𝒮
(veroneseGrading 𝒮 d) (veroneseProjIso 𝒮 d hd).hom F') (m * d)).val.obj (op ⊤))
(s' : (ProjectiveSpectrum.Proj.twistingSheaf (veroneseGrading 𝒮 d) n).val.obj (op ⊤))
(t' : (ProjectiveSpectrum.Proj.twistSheafOfModules (veroneseGrading 𝒮 d) F' m).val.obj
(op ⊤)),
((veroneseTwistingSheafIso 𝒮 d hd n).hom.val.app (op ⊤)).hom s =
Stacks.Tag01VSPullbackTensor.modulesPullbackUnit (veroneseProjIso 𝒮 d hd).hom
(ProjectiveSpectrum.Proj.twistingSheaf (veroneseGrading 𝒮 d) n) ⊤ s' →
((veroneseTwistedModuleIso 𝒮 d hd F' m).hom.val.app (op ⊤)).hom t =
Stacks.Tag01VSPullbackTensor.modulesPullbackUnit (veroneseProjIso 𝒮 d hd).hom
(ProjectiveSpectrum.Proj.twistSheafOfModules (veroneseGrading 𝒮 d) F' m) ⊤ t' →
((veroneseTwistedModuleIso 𝒮 d hd F' (n + m)).hom.val.app (op ⊤)).hom
(((eqToHom (congrArg (ProjectiveSpectrum.Proj.twistSheafOfModules 𝒮
(pullbackProjModule 𝒮 (veroneseGrading 𝒮 d) (veroneseProjIso 𝒮 d hd).hom F'))
(add_mul n m (d : ℤ)).symm)).val.app (op ⊤)).hom
(ProjectiveSpectrum.Proj.multiplyHomogeneousSections' 𝒮
(pullbackProjModule 𝒮 (veroneseGrading 𝒮 d) (veroneseProjIso 𝒮 d hd).hom F')
(n * d) (m * d) s t)) =
Stacks.Tag01VSPullbackTensor.modulesPullbackUnit (veroneseProjIso 𝒮 d hd).hom
(ProjectiveSpectrum.Proj.twistSheafOfModules (veroneseGrading 𝒮 d) F' (n + m)) ⊤
(ProjectiveSpectrum.Proj.multiplyHomogeneousSections' (veroneseGrading 𝒮 d) F' n m
s' t')) ∧
-- "and hence with (01MP)": `S → ⨁ₙ Γ(X, 𝒪_X(n))` against `S' → ⨁ₙ Γ(X', 𝒪_{X'}(n))`
(letI := (ProjectiveSpectrum.Proj.globalSectionsRingMap 𝒮).gradedRing
letI := (ProjectiveSpectrum.Proj.globalSectionsRingMap (veroneseGrading 𝒮 d)).gradedRing
∀ (n : ℕ) (a : veroneseSubring 𝒮 d),
(veroneseTwistingSheafIso 𝒮 d hd n).hom.val.app (op ⊤)
((eqToHom (congrArg (ProjectiveSpectrum.Proj.twistingSheaf 𝒮)
(Nat.cast_mul n d))).val.app (op ⊤)
(DirectSum.component ℤ ℕ (ProjectiveSpectrum.Proj.twistGlobalSections 𝒮) (n * d)
((ProjectiveSpectrum.Proj.globalSectionsRingMap 𝒮).hom (a : S)))) =
Stacks.Tag01VSPullbackTensor.modulesPullbackUnit (veroneseProjIso 𝒮 d hd).hom
(ProjectiveSpectrum.Proj.twistingSheaf (veroneseGrading 𝒮 d) n) ⊤
(DirectSum.component ℤ ℕ
(ProjectiveSpectrum.Proj.twistGlobalSections (veroneseGrading 𝒮 d)) n
((ProjectiveSpectrum.Proj.globalSectionsRingMap (veroneseGrading 𝒮 d)).hom a))) ∧
-- "and hence with (01MQ)": `M̃ ⊗ 𝒪_X(nd) ⟶ M(nd)~` against `M'~ ⊗ 𝒪_{X'}(n) ⟶ M'(n)~`
(∀ (M : Type u) [AddCommGroup M] [Module S M] ( : ℤ → AddSubgroup M)
[Decomposition ] [SetLike.GradedSMul 𝒮 ] (n : ℤ),
veroneseModuleTwistLeft 𝒮 d hd n = veroneseModuleTwistRight 𝒮 d hd n) ∧
-- "and hence with (01MR)": `M → ⨁ₙ Γ(X, M(n)~)` against `M' → ⨁ₙ Γ(X', M'(n)~)`
(∀ (M : Type v) [AddCommGroup M] [Module S M] ( : ℤ → AddSubgroup M)
[Decomposition ] [SetLike.GradedSMul 𝒮 ],
letI := veroneseModuleGradingDecomposition 𝒮 d hd
∀ (n : ℤ) (m : veroneseSubmodule 𝒮 d),
(veroneseShiftedSheafIsoAny 𝒮 d hd n).hom.val.app (op ⊤)
(DirectSum.component ℤ ℤ _ (n * d)
((Stacks.AlgebraicGeometry.ProjShiftedSections.globalSectionsModuleMap 𝒮 ).hom
(m : M))) =
pullbackUnitAny (veroneseProjIso 𝒮 d hd).hom
(ProjectiveSpectrum.Proj.associatedModuleSheaf (veroneseGrading 𝒮 d)
(shiftedGrading (veroneseModuleGrading 𝒮 d) n)) ⊤
(DirectSum.component ℤ ℤ _ n
((Stacks.AlgebraicGeometry.ProjShiftedSections.globalSectionsModuleMap
(veroneseGrading 𝒮 d) (veroneseModuleGrading 𝒮 d)).hom m)))
Sources
Section27.12 Morphisms into Proj#
Section 27.12 of the Stacks Project, Tag 01N4. 9 tags here are carried by 23 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01N4, the section
Tag 01N4 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTriple.Triple, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTriple.lean, line 199. The attribute's comment: “triple”.
A triple
(d, L, ψ)of Stacks Tag 01N4, with the integerdand the invertible𝒪_Y-moduleLas parameters: a graded ring mapψ : S^{(d)} ⟶ Γ_*(Y, L)such thatLis generated by the global sectionsψ(f)forfhomogeneous of degreed.Generation is the statement that the nonvanishing loci of those sections cover
Y, which for an invertible module is exactly generation: at a point of the nonvanishing locus of a section the section generates the stalk (Stacks.SectionProduct.mem_nonvanishingLocus_iff_generates).
structure Triple
Stacks.AlgebraicGeometry.ProjTriple.BundledTriple, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTriple.lean, line 217. The attribute's comment: “triple, bundled”.
A triple of Stacks Tag 01N4 in the literal shape of the source: an integer
d ≥ 1, an invertible𝒪_Y-moduleL, and a graded ring mapψ : S^{(d)} ⟶ Γ_*(Y, L)for whichLis generated by the sectionsψ(f),f ∈ S_d.
structure BundledTriple
Stacks.AlgebraicGeometry.ProjTriple.StrictEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTriple.lean, line 246. The attribute's comment: “strict equivalence”.
Strict equivalence of two triples with the same
d, Stacks Tag 01N4: there is an isomorphismβ : L ⟶ L'of invertible𝒪_Y-modules withβ ∘ ψ = ψ'.The condition
β ∘ ψ = ψ'is written out degreewise: in degreenthe induced isomorphismL^{⊗ n} ≅ (L')^{⊗ n}carries the degreencomponent ofψto that ofψ'. A graded map is its family of components, so this is the source's condition and not a weakening of it.
def StrictEquiv (t : Triple 𝒮 Y L d) (t' : Triple 𝒮 Y L' d) : Prop
Stacks.AlgebraicGeometry.ProjTripleDegreeFunctor.Fd.functor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTripleDegreeFunctor.lean, line 195. The attribute's comment: “the functor F_d : Sch^opp ⟶ Sets of this section at a fixed weight d, with both functor laws proved (Fd.pullback_id and Fd.pullback_comp): on objects the set F_d(Y) of strict equivalence classes of weight-d triples (d, L, ψ) over Y, on morphisms the pullback of a triple. The weight is a parameter rather than a field, so that SectionsEquiv applies with no transport. The target is Type (u+1), not Type u, because a triple carries an 𝒪_Y-module. Representability of F_d by U_d is Tag 01N9 and of the colimit F by Proj(A) is Tag 01NC; neither is proved in this file (Tag 01NC's is the carrier ProjTripleDegreeFunctor.F.representableBy, which is built on top of this functor)”.
The functor
F_d : Sch^{opp} ⟶ Setsat a fixed weightd. It sends a schemeYto the setF_d(Y)of strict equivalence classes of weight-dtriples(d, L, ψ)overY, and a morphism of schemesh : Y' ⟶ Yto the map sending the class of a triple to the class of its pullback alongh.
def Fd.functor (d : ℕ) : Scheme.{u}ᵒᵖ ⥤ Type (u + 1)
Stacks.AlgebraicGeometry.ProjTripleFunctorLaws.sectionsEquiv_pullbackTriple_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTripleFunctorLaws.lean, line 163. The attribute's comment: “the identity functor law for the pullback of a triple of this section: the pullback along the identity is STRICTLY EQUIVALENT to the triple, in the SectionsEquiv sense of the section; the composition law is sectionsEquiv_pullbackTriple_comp below”.
The identity functor law for the pullback of a triple: the pullback
(d, (𝟙 Y)^*L, (𝟙 Y)^* ∘ ψ)of a triple(d, L, ψ)along𝟙 Yis strictly equivalent to it.
theorem sectionsEquiv_pullbackTriple_id (t : ProjTripleClassifying.Triple 𝒜 Y) :
ProjTripleClassifying.SectionsEquiv 𝒜 (ProjTriplePullback.pullbackTriple 𝒜 t (𝟙 Y)).psi
t.psi
Stacks.AlgebraicGeometry.ProjTripleFunctorLaws.sectionsEquiv_pullbackTriple_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTripleFunctorLaws.lean, line 368. The attribute's comment: “the composition functor law for the pullback of a triple of this section: the pullback along f of the pullback along g is STRICTLY EQUIVALENT to the pullback along f ≫ g, in the SectionsEquiv sense of the section”.
The composition functor law for the pullback of a triple: the pullback along
fof the pullback alonggof a triple is strictly equivalent to its pullback alongf ≫ g.
theorem sectionsEquiv_pullbackTriple_comp (t : ProjTripleClassifying.Triple 𝒜 W'') :
ProjTripleClassifying.SectionsEquiv 𝒜
(ProjTriplePullback.pullbackTriple 𝒜 (ProjTriplePullback.pullbackTriple 𝒜 t g) f).psi
(ProjTriplePullback.pullbackTriple 𝒜 t (f ≫ g)).psi
Stacks.AlgebraicGeometry.ProjTriplePullback.pullbackTriple, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjTriplePullback.lean, line 170. The attribute's comment: “the pullback of a triple along a morphism of schemes h : Y' ⟶ Y: the triple (d, h^L, h^ ∘ ψ), in the VeroneseSections spelling of the graded map that Tag 01N8 and Tag 01N9 are stated in. The two functor laws — that the pullback along an identity and the pullback along a composite are STRICTLY EQUIVALENT to the triple and to the twice-pulled-back triple — are ProjTripleFunctorLaws.sectionsEquiv_pullbackTriple_id and sectionsEquiv_pullbackTriple_comp. The functor F_d itself, i.e. the quotient of the triples by strict equivalence with this pullback on morphisms, is ProjTripleDegreeFunctor.Fd.functor; it is built at a fixed weight, on a carrier that takes the weight as a parameter rather than as a field, because strict equivalence compares two graded maps of the same weight and a triple-level version would need a transport”.
For
h : Y' ⟶ Y, the pullback of the triple(d, L, ψ)overYis the triple(d, h^*L, h^* ∘ ψ)overY': the same integerd, the pullback of the invertible module, and the degreewise pullbackpullbackSectionsof the graded map.
def pullbackTriple (t : ProjTripleClassifying.Triple 𝒜 Y) (h : Y' ⟶ Y) :
ProjTripleClassifying.Triple 𝒜 Y'
Tag 01N5, an equation
Tag 01N5 in the Stacks Project.
AlgebraicGeometry.Proj.degreeOpen, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpen.lean, line 49.
The degree
dopen ofProj 𝒜, the unionU_d = ⋃_{f ∈ 𝒜 d} D₊(f)of the projective standard opens of the homogeneous elements of degree exactlyd.
public def degreeOpen (d : ℕ) : (Proj 𝒜).Opens
AlgebraicGeometry.Proj.degreeOpen_le_of_dvd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpen.lean, line 61. The attribute's comment: “divisibility”.
The degree opens grow along divisibility: if
d ∣ d'andd'is positive thenU_d ⊆ U_{d'}. A homogeneousfof degreedhasf ^ kof degreed' = d * k, andD₊(f ^ k) = D₊(f).
public theorem degreeOpen_le_of_dvd {d d' : ℕ} (hdvd : d ∣ d') (hd' : 0 < d') :
degreeOpen 𝒜 d ≤ degreeOpen 𝒜 d'
AlgebraicGeometry.Proj.iSup_degreeOpen_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpen.lean, line 74. The attribute's comment: “covering”.
The degree opens cover
Proj 𝒜: every point lies inU_dfor some positived, because a homogeneous prime ofProj 𝒜does not contain the irrelevant ideal, which is generated by the homogeneous elements of positive degree.
public theorem iSup_degreeOpen_eq_top :
(⨆ d : ℕ, ⨆ _ : 0 < d, degreeOpen 𝒜 d) = ⊤
Tag 01N6, an equation
Tag 01N6 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjDegreeOpenSections.psi, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpenSections.lean, line 484.
The graded ring homomorphism
ψ^d : S^(d) ⟶ Γ_*(Y, 𝒪_Y(d)), sending a homogeneous element of degreendto the restriction toYof the global section of𝒪(nd)it determines. Taken atY = U_dthis isψ^d : S^(d) ⟶ Γ_*(U_d, 𝒪_{U_d}(d)).
public def psi (hd : 0 < d) :
letI := veroneseGradingGradedRing 𝒮 d hd
letI := veroneseGradedRing 𝒮 Y d
veroneseGrading 𝒮 d →+*ᵍ veroneseSectionRingGrading 𝒮 Y d
Stacks.AlgebraicGeometry.ProjDegreeOpenSections.nonvanishingLocus_veroneseSection_inter, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpenSections.lean, line 519. The attribute's comment: “global generation in degree one”.
Global generation of
𝒪_{U_d}(d)by the image ofψ^din degree one. The nonvanishing locus onU_dof the section attached to a homogeneousfof degreedisD₊(f) ∩ U_d; since theD₊(f)forf ∈ 𝒮 dcoverU_dby definition, the sections in the image ofψ^din degree one generate.
public theorem nonvanishingLocus_veroneseSection_inter (f : 𝒮 (1 * d)) :
Stacks.SheafOfModules.nonvanishingLocus
(X := (AlgebraicGeometry.Proj 𝒮).toRingedSpace)
(twistingSheaf 𝒮 ((1 * d : ℕ) : ℤ))
(Stacks.SheafOfModules.sectionsOfTop _ (degreeSection 𝒮 (1 * d) f)) ∩
(Proj.degreeOpen 𝒮 d : Set (AlgebraicGeometry.Proj 𝒮)) =
(Proj.basicOpen 𝒮 (f : S) : Set (AlgebraicGeometry.Proj 𝒮)) ∩
(Proj.degreeOpen 𝒮 d : Set (AlgebraicGeometry.Proj 𝒮))
Tag 01N7, an equation
Tag 01N7 in the Stacks Project.
Stacks.AlgebraicGeometry.MorphismsIntoProj.psiPullback_gradedRingHom_and_generatesStalks, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MorphismsIntoProjGradedRing.lean, line 290. The attribute's comment: “the graded ring homomorphism ψ^d_φ : S^(d) ⟶ Γ_*(Y, φ⁎𝒪_X(d)) attached to a morphism φ : Y ⟶ U_d, whose degree n component sends a homogeneous element of degree nd to the pullback along φ of the global section of 𝒪_X(nd) it determines, together with the global generation of φ⁎𝒪_X(d) by the sections in the image of its degree-one component S_d”.
Let
Sbe a graded ring,X = Proj(S), letd ≥ 1, letU_d ⊂ Xbe the degreedopen and letφ : Y ⟶ U_dbe a morphism of schemes. Then the degreewise maps assemble into a graded ring homomorphism
ψ^d_φ : S^{(d)} ⟶ Γ_*(Y, φ⁎𝒪_X(d)),sending a homogeneous element of degree
ndto the pullback alongφof the global section of𝒪_X(nd)it determines, and the invertible sheafφ⁎𝒪_X(d)is generated by the global sections in the image of the degree-one component(S^{(d)})_1 = S_d ⟶ Γ(Y, φ⁎𝒪_X(d)).The target is the twist model of
Γ_*: its degreenpiece isΓ(Y, φ⁎𝒪_X(nd))rather thanΓ(Y, (φ⁎𝒪_X(d))^{⊗ n}), and the grading index type lives in the same universe as the ring. The graded ring homomorphism itself is available aspsiPullback, and the two conjuncts separately aspsiPullback_apply_homogeneousandgeneratesStalks_psiPullbackVeroneseHom_one.
theorem psiPullback_gradedRingHom_and_generatesStalks (hd : 0 < d)
(φ : Y ⟶ (degreeOpen 𝒜 d).toScheme) :
(letI := veroneseGradingGradedRing 𝒜 d hd
letI := veroneseSectionGradedRing 𝒜 (toProjRS 𝒜 φ) d (op ⊤)
∃ ψ : veroneseGrading 𝒜 d →+*ᵍ veroneseSectionRingGrading 𝒜 (toProjRS 𝒜 φ) d (op ⊤),
∀ (n : ℕ) (a : veroneseGrading 𝒜 d n),
ψ (a : veroneseSubring 𝒜 d) =
DirectSum.of (veroneseSections 𝒜 (toProjRS 𝒜 φ) d (op ⊤)) n
(psiPullbackVeroneseHom 𝒜 φ n a)) ∧
Stacks.ProjectiveFromSections.GeneratesStalks
(L := pullbackTwist 𝒜 φ ((1 * d : ℕ) : ℤ))
(fun x : ↥(veroneseGrading 𝒜 d 1) => psiPullbackVeroneseHom 𝒜 φ 1 x)
Tag 01N8, a lemma
Tag 01N8 in the Stacks Project.
Stacks.AlgebraicGeometry.MorphismToProjSquare.existsUnique_square, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/MorphismToProjSquare.lean, line 114. The attribute's comment: “the unique pair (φ, α) of φ : Y ⟶ U_d and α : φ^O_{U_d}(d) ≅ L making the square α^{⊗n}(φ^(ψ^d(x))) = ψ(x) commute in every degree n”.
Let
Abe a graded ring,X = Proj(A), letd ≥ 1and letU_d ⊆ Xbe the open of Equation 27.12.0.1. LetYbe a scheme,Lan invertible𝒪_Y-module andψ : A^{(d)} → Γ_*(Y, L)a graded map such thatLis generated by the sectionsψ(f),f ∈ A_d— in the geometric form of Section 27.12, that their nonvanishing opens coverY. Then there is a unique pair(φ, α)of a morphismφ : Y ⟶ U_d(so the morphismY ⟶ Xit defines has image inU_d) and an isomorphismα : φ⁎𝒪_{U_d}(d) ≅ Lsuch thatψ^d_φagrees withψviaα: the square
α ∘ φ^* ∘ ψ^d = ψcommutes in every degree
n, i.e.α^{⊗ n}(φ^*(ψ^d(x))) = ψ(x)inΓ(Y, L^{⊗ n})for everyx ∈ A_{nd}. Hereψ^d : A^{(d)} ⟶ Γ_*(U_d, 𝒪_{U_d}(d))isStacks.AlgebraicGeometry.ProjDegreeOpenUniversalTriple.universalVeroneseSections,φ^*on sections of tensor powers isStacks.AlgebraicGeometry.ProjChartRatioPullback.pullSection, andα^{⊗ n}isStacks.AmplePullbackPart1.natTensorPowCongr α n.
theorem existsUnique_square (hd : 0 < d) (ψ : VeroneseSections 𝒜 d L)
(hgen : ⨆ f : 𝒜 d, nonvanishingOpen Y L (psiSection 𝒜 ψ f) = ⊤) :
∃! p : (φ : Y ⟶ (degreeOpen 𝒜 d).toScheme) ×
((Scheme.Modules.pullback φ).obj (universalTwist 𝒜 d) ≅ L),
∀ (n : ℕ) (x : 𝒜 (n * d)),
(natTensorPowCongr p.2 n).hom.app ⊤
(pullSection p.1 (universalTwist 𝒜 d) n
((universalVeroneseSections 𝒜 d).toFun n x))
= ψ.toFun n x
Tag 01N9, a lemma
Tag 01N9 in the Stacks Project.
Stacks.AlgebraicGeometry.ProjChartAlphaInstance.isInvertibleModule_pullbackTwist, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjChartAlphaInstance.lean, line 211. The attribute's comment: “the universal family (d, 𝒪_{U_d}(d), ψ^d): 𝒪_{U_d}(d) is an invertible 𝒪_{U_d}-module”.
φ⁎𝒪_{U_d}(d)is an invertible𝒪_Y-module. The twist𝒪_X(d)is invertible only after restriction toU_d([Stacks, Tag 01MU]), the pullback alongφof an invertible module is invertible ([Stacks, Tag 0B8L]), andAlgebraicGeometry.Scheme.Modules.pullbackCompidentifies the iterated pullback with the pullback alongφ ≫ U_d.ι. Atφ = 𝟙this is the invertibility of𝒪_{U_d}(d), the module of the universal family of [Stacks, Tag 01N9].
instance isInvertibleModule_pullbackTwist (φ : Y ⟶ (degreeOpen 𝒜 d).toScheme) :
Stacks.Ample.IsInvertibleModule Y (pullbackTwist 𝒜 φ (d : ℤ))
Stacks.AlgebraicGeometry.ProjDegreeOpenRepresents.iSup_nonvanishingOpen_universalSection_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpenRepresents.lean, line 163. The attribute's comment: “the universal family (d, 𝒪_{U_d}(d), ψ^d): the degree-one values ψ^d(f), f ∈ A_d, generate 𝒪_{U_d}(d), their nonvanishing opens covering U_d”.
The universal family of [Stacks, Tag 01N9] is generated in degree one. The nonvanishing open of
ψ^d(f)onU_dis the preimage ofD₊(f)under the open immersionU_d ⟶ X(Stacks.AlgebraicGeometry.MorphismToProjUniversal.preimage_basicOpen_eq_nonvanishingOpen, which is [Stacks, Tag 01MV] together with [Stacks, Tag 0H78]), and those preimages coverU_dbecause theD₊(f),f ∈ 𝒜 d, are whatU_dis the union of. So𝒪_{U_d}(d)is generated by the global sectionsψ^d(f), in the geometric form Section 27.12 uses that condition.
theorem iSup_nonvanishingOpen_universalSection_eq_top :
(⨆ f : 𝒜 d, nonvanishingOpen (degreeOpen 𝒜 d).toScheme (universalTwist 𝒜 d)
(universalSection 𝒜 d f)) = ⊤
Stacks.AlgebraicGeometry.ProjDegreeOpenRepresents.existsUnique_hom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOpenRepresents.lean, line 209. The attribute's comment: “U_d represents F_d, with (d, 𝒪_{U_d}(d), ψ^d) the universal family: a unique morphism Y ⟶ U_d for every triple over Y. The strict equivalence between the pullback of the universal family and the given triple is IsCompatible, whose degree-n clause for n ≥ 2 is the source's local identity ψ(a)|_V = φ♯(a/f^n)·ψ(f)^n|_V rather than the tensor-power square α^{⊗n}(ψ^d_φ(x)) = ψ(x); the square implies it, so the uniqueness assertion is at least as strong as the source's, and the caveat is inherited verbatim from Tag 01N8. Degree 1 is the square itself. The source quantifies over strict equivalence classes; this statement quantifies over representatives, which is stronger.”.
Stacks Tag 01N9, Lemma 27.12.2. Let
Abe a graded ring,X = Proj(A), letd > 0and letU_d ⊆ Xbe the open of Equation 27.12.0.1. The open subschemeU_drepresents the functorF_d, the triple(d, 𝒪_{U_d}(d), ψ^d)being the universal family: for a schemeYand a triple(d, L, ψ)overY— an invertible𝒪_Y-moduleLand a graded mapψ : A^{(d)} ⟶ Γ_*(Y, L)whose degree-dpart generatesL, in the geometric form that the nonvanishing opens of the sectionsψ(f),f ∈ A_d, coverY— there is one and only one morphismφ : Y ⟶ U_dfor which the pullbackφ⁎(d, 𝒪_{U_d}(d), ψ^d)of the universal family is strictly equivalent to(d, L, ψ), i.e. for which some isomorphismα : φ⁎𝒪_{U_d}(d) ≅ Lidentifiesψ^d_φwithψ.That is the bijection
Mor(Y, U_d) ≅ F_d(Y): the existence ofφis its surjectivity and the uniqueness ofφits injectivity, the map beingφ ↦ [φ⁎(d, 𝒪_{U_d}(d), ψ^d)].The source's proof is "this is a reformulation of Lemma 27.12.1", and so is this one: [Stacks, Tag 01N8] (
Stacks.AlgebraicGeometry.MorphismToProjUniversal.existsUnique_pair) gives a unique pair(φ, α), and a pair is its first component together with the compatibility, so the morphism is unique among those admitting a compatibleα.
theorem existsUnique_hom (hd : 0 < d) (ψ : VeroneseSections 𝒜 d L)
(hgen : ⨆ f : 𝒜 d, nonvanishingOpen Y L (psiSection 𝒜 ψ f) = ⊤) :
∃! φ : Y ⟶ (degreeOpen 𝒜 d).toScheme,
∃ α : pullbackTwist 𝒜 φ (d : ℤ) ≅ L, IsCompatible 𝒜 ψ ⟨φ, α⟩
Tag 01NA, a lemma
Tag 01NA in the Stacks Project.
Stacks.AlgebraicGeometry.ProjDegreeOneRepresents.degreeOpen_one_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOneRepresents.lean, line 145. The attribute's comment: “X = U₁”.
X = U_1. WhenAis generated as an𝒜 0-algebra by its degree-one part, the openU_1 = ⋃_{f ∈ 𝒜 1} D₊(f)of Equation 27.12.0.1 is all ofProj A. This is the one input the source's proof of [Stacks, Tag 01NA] names, and it isStacks.AlgebraicGeometry.ProjDegreeOne.iSup_basicOpen_degreeOne_eq_topread through the definition ofU_1.
theorem degreeOpen_one_eq_top (hgen : Algebra.adjoin (𝒜 0) ((𝒜 1 : Set A)) = ⊤) :
degreeOpen 𝒜 1 = ⊤
Stacks.AlgebraicGeometry.ProjDegreeOneRepresents.isInvertibleModule_twistingSheafOne, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOneRepresents.lean, line 219. The attribute's comment: “the universal family on X: 𝒪_X(1) is invertible”. References: EGA II (2.6.1); EGA II (3.2.5), “special case”.
𝒪_X(1)is an invertible𝒪_X-module on all ofProj AwhenAis generated in degree one over𝒜 0. Without that hypothesis the twist is invertible only onU_1; this isStacks.AlgebraicGeometry.ProjDegreeOne.isInvertible_twistingSheaf, read in theStacks.Ample.IsInvertibleModulespelling that triples and their trivializations are stated in.
theorem isInvertibleModule_twistingSheafOne
(hgen : Algebra.adjoin (𝒜 0) ((𝒜 1 : Set A)) = ⊤) :
Stacks.Ample.IsInvertibleModule (AlgebraicGeometry.Proj 𝒜)
(twistingSheaf 𝒜 ((1 : ℕ) : ℤ))
Stacks.AlgebraicGeometry.ProjDegreeOneRepresents.exists_mem_nonvanishingLocus_degreeSection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOneRepresents.lean, line 234. The attribute's comment: “the universal family on X: global generation in degree one”.
The universal family of [Stacks, Tag 01NA] generates
𝒪_X(1)on all ofX. The global section of𝒪_X(1)attached to a degree-one elementfis nonvanishing exactly onD₊(f)([Stacks, Tag 01MV], available becauseU_1 ⊆ W_1), and those opens coverProj AbydegreeOpen_one_eq_top. So the degree-one part ofψ^1generates𝒪_X(1), which is the second assertion of [Stacks, Tag 01N9] transported toXbyX = U_1.
theorem exists_mem_nonvanishingLocus_degreeSection
(hgen : Algebra.adjoin (𝒜 0) ((𝒜 1 : Set A)) = ⊤) (x : ProjectiveSpectrum.top 𝒜) :
∃ f : 𝒜 1, x ∈ Stacks.Ample.nonvanishingLocus (X := AlgebraicGeometry.Proj 𝒜)
(twistingSheaf 𝒜 ((1 : ℕ) : ℤ)) (degreeSection 𝒜 1 f)
Stacks.AlgebraicGeometry.ProjDegreeOneRepresents.existsUnique_classifies, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjDegreeOneRepresents.lean, line 353. The attribute's comment: “the universal property of Proj”.
The universal property of
Proj Aof [Stacks, Tag 01NA]. LetAbe a graded ring generated as an𝒜 0-algebra by its degree-one part, letYbe a scheme,Lan invertible𝒪_Y-module andψ : A ⟶ Γ_*(Y, L)a graded map whose degree-one part generatesL. Then there is one and only one pair(φ, α)consisting of a morphismφ : Y ⟶ Proj Aand an isomorphismα : φ⁎𝒪_X(1) ≅ L ^⊗ 1classifying(L, ψ).This is [Stacks, Tag 01N8] at
d = 1with the target raised fromU_1to the whole ofProj A, which is the content of [Stacks, Tag 01NA]:X = U_1bydegreeOpen_one_eq_top, so every morphism intoXis a morphism intoU_1and the uniqueness assertion holds among all morphisms intoX.
theorem existsUnique_classifies (hgen : Algebra.adjoin (𝒜 0) ((𝒜 1 : Set A)) = ⊤)
(ψ : VeroneseSections 𝒜 1 L) (hcover : ⨆ f : 𝒜 1, nvOpen 𝒜 ψ f = ⊤) :
∃! p : Pair 𝒜 L, Classifies 𝒜 ψ p
Tag 01NB, a lemma
Tag 01NB in the Stacks Project.
Stacks.AlgebraicGeometry.ProjEquivalenceCycle.tfae_triple, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjEquivalenceCycle.lean, line 134. The attribute's comment: “all four clauses of the tag are equivalent, for two triples over a scheme, as a single statement; the list entries are clauses (1), (2), (3), (4) in that order”.
For two triples
t,t'over a scheme the following are equivalent: the agreement condition at the weights(lcm(d, d') / d, lcm(d, d') / d'); the agreement condition at the weights(d', d); the agreement condition at some positive weights(a, a')witha * d = a' * d'; the two triples classify the same morphism. Hered = t.degandd' = t'.deg.
theorem tfae_triple (t t' : Triple 𝒜 Y) :
List.TFAE
[AgreeAt t t' (Nat.lcm t.deg t'.deg / t.deg) (Nat.lcm t.deg t'.deg / t'.deg),
AgreeAt t t' t'.deg t.deg,
∃ a a' : ℕ, 0 < a ∧ 0 < a' ∧ a * t.deg = a' * t'.deg ∧ AgreeAt t t' a a',
SameMorphism 𝒜 t t']
Tag 01NC, a lemma
Tag 01NC in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTripleDegreeFunctor.F.representableBy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjFunctorRepresentable.lean, line 337. The attribute's comment: “the FULL statement of this tag: Proj(A) represents the functor F of Section 01N4. F.functor is F as a functor Sch^opp ⟶ Type (u+1) on ALL schemes (the colimit Fcolim of the F_d along divisibility on a quasi-compact T, by F.fcolimEquiv, and the limit over the quasi-compact test objects in general, which is the limit over the quasi-compact opens the source writes — see the module docstring for why the index is the morphisms out of quasi-compact schemes), F.classifyingEquiv is the bijection F(T) ≃ Mor(T, Proj(A)) for every scheme T, and this is the RepresentableBy datum. The two halves of the bijection remain available separately as Fd.veronese_eq_weightCongr_veronese_of_classifyingMorphism_eq (injectivity) and Fd.exists_pos_classifyingMorphism_eq (surjectivity for a quasi-compact Y). The grading is taken with its index type in the same universe as the graded ring, which is the generality of Tag 01N9's universal family here; the functor F itself and F.fcolimEquiv are unrestricted.”.
Proj(A)represents the functorFof Section 01N4. LetAbe a graded ring andX = Proj(A). The functorF : Sch^{opp} ⟶ Setswhich sends a quasi-compact schemeTto⋃_{d ≥ 1} F_d(T), the colimit of the sets of strict equivalence classes of triples of positive weight along the weight transitions, and a general scheme to the limit of those over its quasi-compact opens, is represented byX: there is a bijectionMor(T, X) ≃ F(T)natural inT.The bijection is
F.classifyingEquiv, whose two halves are the injectivity of [Stacks, Tag 01NB] and the surjectivity coming from [Stacks, Tag 01N9]'s universal family; its naturality isF.ofHom_comp.
def F.representableBy : (F.functor 𝒮).RepresentableBy (AlgebraicGeometry.Proj 𝒮)
Sources
Section27.13 Projective space#
Section 27.13 of the Stacks Project, Tag 01ND. 9 tags here are carried by 21 declarations of the repository (all in StacksFrontier) and 4 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01ND, the section
Tag 01ND in the Stacks Project.
Stacks.ProjectiveFromSections.toProjectiveSpaceOver, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveFromSections/Morphism.lean, line 118. The attribute's comment: “the notation phi_(L, (s_0, ..., s_n)) of the section, as data: the morphism to P^n_S attached to an invertible module with n + 1 generating global sections, pinned on each standard chart. The scheme P^n_S itself is Tag 01NF (AlgebraicGeometry.projectiveSpaceOver). The section's characterisation of the morphism by L = phi^ O(1) and s_i = phi^ T_i is NOT proved: the comparison of L with the pullback of the hyperplane sheaf is the twist identification recorded as missing in StacksFrontier/AlgebraicGeometry/AmpleProjectiveImmersion/Basic.lean. The representability statement Tag 01NE is likewise not proved, only this direction of it”.
The morphism
φ_{(L, (s₀, …, sₙ))} : X ⟶ ℙⁿ_Sof Section 27.13, attached to a structure morphismf : X ⟶ S, an invertible𝒪_X-moduleLand a generating family ofn + 1global sections ofL. It is the morphism to the integral model paired withf; no compatibility has to be checked,ℙⁿ_Sbeing a fibre product over the terminal scheme.
def toProjectiveSpaceOver {S : Scheme.{u}} (f : X ⟶ S) : X ⟶ projectiveSpaceOver n S
Tag 01NE, a lemma
Tag 01NE in the Stacks Project.
Stacks.ProjectiveSpaceModuli.bijective_pointsOfHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveSpaceModuli/Basic.lean, line 501. The attribute's comment: “the bijection on points”.
Projective
n-space over the integers represents the functor sending a schemeXto the set of pairs(L, (s₀, …, sₙ))withLan invertible𝒪_X-module and thesᵢgenerating global sections, up to an isomorphism matching the sections: the classifying map is a bijection.
theorem bijective_pointsOfHom :
Function.Bijective (pointsOfHom (X := X) (n := n))
Stacks.ProjectiveSpaceModuli.pointsEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveSpaceModuli/Basic.lean, line 508. The attribute's comment: “the representing bijection”.
The bijection between morphisms
X ⟶ ℙⁿ_ℤand invertible modules withn + 1generating global sections up to isomorphism.
def pointsEquiv (X : Scheme.{u}) (n : ℕ) :
(X ⟶ projectiveSpaceAtUniverse.{u} n) ≃ Points X n
Stacks.ProjectiveSpaceModuli.pointsOfHom_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveSpaceModuli/Basic.lean, line 570. The attribute's comment: “naturality of the bijection in the test scheme”.
The classifying map is natural in the test scheme: the pair attached to
h ≫ gis the pullback alonghof the pair attached tog.
theorem pointsOfHom_comp (h : Y ⟶ X) (g : X ⟶ projectiveSpaceAtUniverse.{u} n) :
pointsOfHom (h ≫ g) = pullbackPoints h (pointsOfHom g)
Tag 01NF, a definition
Tag 01NF in the Stacks Project.
AlgebraicGeometry.projectiveSpace, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpace.lean, line 61. The attribute's comment: “projective space over the integers”.
Projective
n-space over the integers.
public noncomputable def projectiveSpace (n : ℕ) : Scheme.{0}
AlgebraicGeometry.projectiveSpaceIntegralIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpace.lean, line 78. The attribute's comment: “canonical comparison of integral models”.
The canonical comparison between the literal integral model and its universe-zero copy.
public noncomputable def projectiveSpaceIntegralIso (n : ℕ) :
projectiveSpace n ≅ projectiveSpaceAtUniverse.{0} n
AlgebraicGeometry.projectiveSpaceOver, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpace.lean, line 138. The attribute's comment: “projective space over a scheme”.
Projective
n-space overS, by base change from the integers.
public noncomputable abbrev projectiveSpaceOver (n : ℕ) (S : Scheme.{u}) : Scheme.{u}
AlgebraicGeometry.projectiveSpaceOverRing, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpace.lean, line 181. The attribute's comment: “projective space over a ring”.
Projective
n-space over a commutative ringR.
public noncomputable abbrev projectiveSpaceOverRing (n : ℕ) (R : CommRingCat.{u}) : Scheme.{u}
Tag 01NG, a lemma
Tag 01NG in the Stacks Project.
AlgebraicGeometry.ProjectiveSpace.basicOpenXIsoAffineSpace, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceCharts.lean, line 121. The attribute's comment: “affine-space charts”.
The standard open at a homogeneous coordinate of projective
n-space over the integers is affinen-space over the integers.The identification sends the affine coordinate indexed by
j ≠ ito the ratioT_j / T_i.
public noncomputable def basicOpenXIsoAffineSpace (i : Fin (n + 1)) :
(Proj.basicOpen (MvPolynomial.homogeneousSubmodule (Fin (n + 1)) ℤ)
(MvPolynomial.X i)).toScheme ≅ AffineSpace (Fin n) (Spec (.of ℤ))
Stacks.ProjectiveChart.iSup_basicOpen_X_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveChart/Basic.lean, line 350. The attribute's comment: “standard-open covering”.
The homogeneous coordinate standard opens cover projective space.
theorem iSup_basicOpen_X_eq_top (n : ℕ) :
(⨆ i : Fin (n + 1),
Proj.basicOpen (MvPolynomial.homogeneousSubmodule (Fin (n + 1)) R)
(MvPolynomial.X i)) = ⊤
Stacks.ProjectiveChart.basicOpen_X_iso_affineSpace, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveChart/Basic.lean, line 374. The attribute's comment: “affine-space charts”.
The standard open at a homogeneous coordinate is affine
n-space.
noncomputable def basicOpen_X_iso_affineSpace (A : Type) [CommRing A] (n : ℕ)
(i : Fin (n + 1)) :
(Proj.basicOpen (MvPolynomial.homogeneousSubmodule (Fin (n + 1)) A)
(MvPolynomial.X i)).toScheme ≅ AffineSpace (Fin n) (Spec (.of A))
Stacks.ProjectiveSpace.iSup_basicOpen_X_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveSpace/Dimension/Basic.lean, line 95. The attribute's comment: “standard-open covering”.
The standard opens
D₊(Xᵢ)coverProjof the polynomial algebra graded by total degree. ForR = ℤandσ = Fin (n + 1)this is the standard covering of projectiven-space over the integers.
theorem iSup_basicOpen_X_eq_top (R : Type u) [CommRing R] (σ : Type v) :
(⨆ i : σ, Proj.basicOpen (homogeneousSubmodule σ R) (X i)) = ⊤
Tag 01NH, a lemma
Tag 01NH in the Stacks Project.
AlgebraicGeometry.projectiveSpaceOver.isProper, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceProper.lean, line 89. The attribute's comment: “universally closed”.
Projective
n-space over a schemeSis proper overS. In particular the structure morphismℙⁿ_S ⟶ Sis universally closed, assertion (4) of Stacks 01NH.
instance isProper (n : ℕ) (S : Scheme.{u}) : IsProper ((projectiveSpaceOver n S) ↘ S)
AlgebraicGeometry.projectiveSpaceOver.valuativeCriterion_existence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceStructureMorphism.lean, line 61. The attribute's comment: “existence part of the valuative criterion”.
Stacks 01NH (3), existence. The structure morphism of projective
n-space over a schemeSsatisfies the existence part of the valuative criterion.
theorem valuativeCriterion_existence (n : ℕ) (S : Scheme.{u}) :
ValuativeCriterion.Existence (projectiveSpaceOver n S ↘ S)
AlgebraicGeometry.projectiveSpaceOver.valuativeCriterion_uniqueness, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceStructureMorphism.lean, line 70. The attribute's comment: “uniqueness part of the valuative criterion”.
Stacks 01NH (3), uniqueness. The structure morphism of projective
n-space over a schemeSsatisfies the uniqueness part of the valuative criterion.
theorem valuativeCriterion_uniqueness (n : ℕ) (S : Scheme.{u}) :
ValuativeCriterion.Uniqueness (projectiveSpaceOver n S ↘ S)
Declarations registered for the tag:
Stacks.HProjective.isSeparated_over, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceStructureMorphism.lean, line 52 (StacksFrontier): “separated”.AlgebraicGeometry.projectiveSpaceOver.quasiCompact, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Constructions/ProjectiveSpaceStructureMorphism.lean, line 54 (StacksFrontier): “quasi-compact”.
Tag 01WD, a lemma
Tag 01WD in the Stacks Project.
AlgebraicGeometry.Segre.isClosedImmersion_segreMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Segre/ChartSurjective.lean, line 379. The attribute's comment: “the integral models”. References: EGA II (4.3.3), “over Spec ℤ”.
The Segre morphism of the integral models is a closed immersion.
theorem isClosedImmersion_segreMorphism (n m : ℕ) :
IsClosedImmersion (segreMorphism.{u} n m)
AlgebraicGeometry.Segre.hasSegreEmbeddingSharp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Segre/ChartSurjective.lean, line 398. The attribute's comment: “over an arbitrary base”. References: EGA II (4.3.3).
[Stacks, Tag 01WD] over an arbitrary base. For every scheme
Sand alln m, there is a closed immersionℙⁿ_S ×_S ℙᵐ_S ⟶ ℙ^{nm + n + m}_SoverS.
theorem hasSegreEmbeddingSharp (S : Scheme.{u}) : HasSegreEmbeddingSharp S
Stacks.AlgebraicGeometry.SegreProdIso.exists_segreEmbedding, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/SegreProdIso/Main.lean, line 362. References: EGA II (4.3.3).
Stacks Tag 01WD. Over an arbitrary base scheme
Sthe productℙⁿ_S ×_S ℙᵐ_Sadmits a closed immersion intoℙ^{nm+n+m}_SoverS.
public theorem exists_segreEmbedding (S : Scheme.{u}) :
∃ f : pullback ((projectiveSpaceOver n S) ↘ S) ((projectiveSpaceOver m S) ↘ S) ⟶
projectiveSpaceOver (n * m + n + m) S,
IsClosedImmersion f ∧
f ≫ ((projectiveSpaceOver (n * m + n + m) S) ↘ S) =
pullback.fst ((projectiveSpaceOver n S) ↘ S) ((projectiveSpaceOver m S) ↘ S) ≫
((projectiveSpaceOver n S) ↘ S)
Tag 03GL, a lemma
Tag 03GL in the Stacks Project.
Stacks.ClosedSubschemeProjectiveSpace.closedSubscheme_iso_projQuotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ClosedSubschemeProjectiveSpace/Basic.lean, line 109. The attribute's comment: “the closed subscheme is the Proj of the quotient”. References: EGA II (2.9.2), “(ii), special case”.
Stacks Tag 03GL, third assertion:
Z = Proj(R[T₀, …, Tₙ]/I). LetRbe an arbitrary commutative ring and leti : Z ⟶ ℙⁿ_Rbe a closed subscheme of projectiven-space overR. LetI ⊆ R[T₀, …, Tₙ]be the homogeneous ideal generated by the homogeneous polynomials whose twisted global section pulls back to zero onZ— the ideal whose degree-dpart isKer(R[T₀, …, Tₙ]_d ⟶ Γ(Z, 𝒪(d)|_Z)), by the two assertions of the tag registered onStacks.AlgebraicGeometry.IdealOfClosedSubscheme.mem_idealOfClosedSubscheme_iffandStacks.AlgebraicGeometry.IdealOfClosedSubscheme.idealOfClosedSubscheme_isHomogeneous.Then
Zis isomorphic toProj(R[T₀, …, Tₙ]/I), compatibly with the two morphisms intoℙⁿ_R: the closed immersioniitself, and the canonical morphismStacks.ClosedSubschemeProjQuotient.ambientHomread through the comparison. So the two are equal as closed subschemes of projective space.No hypothesis is placed on
R; in particular it need not be Noetherian.
theorem closedSubscheme_iso_projQuotient {Z : Scheme.{u}}
(i : Z ⟶ AlgebraicGeometry.projectiveSpaceOverRing n (CommRingCat.of R))
[IsClosedImmersion i] :
∃ e : Z ≅ projQuotient (polyGrading R n) (i ≫ (comparisonIso R n).hom),
e.hom ≫ ambientHom (polyGrading R n) (i ≫ (comparisonIso R n).hom) ≫
(comparisonIso R n).inv = i
Declarations registered for the tag:
Stacks.AlgebraicGeometry.IdealOfClosedSubscheme.idealOfClosedSubscheme_isHomogeneous, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/IdealRegistration/Tags.lean, line 94 (StacksFrontier): “the ideal is graded”.Stacks.AlgebraicGeometry.IdealOfClosedSubscheme.mem_idealOfClosedSubscheme_iff, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/IdealRegistration/Tags.lean, line 97 (StacksFrontier): “the degreewise kernels”.
Tag 03GM, a lemma
Tag 03GM in the Stacks Project.
Stacks.AlgebraicGeometry.ProjTwistComparisonIso.gradedModule_and_isIso_comparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/TensorSectionNonvanishing/ProjTwistComparisonIsoStatement.lean, line 125. The attribute's comment: “both assertions of the tag in one statement, for a quasi-coherent ℱ on ℙᵐ_R: the twisted global sections M = ⨁_{d ≥ 0} Γ(ℙᵐ_R, ℱ(d)) form a graded R[T₀, …, Tₘ]-module -- internally graded, with the grading of the ring acting on the grading of M, the action being the multiplication map of the twists of Equation 03GK -- and the canonical comparison M̃ ⟶ ℱ, the unique morphism restricting on each positive-degree standard open D₊(f) to x / f ^ n ↦ x|_{D₊(f)} ⊗ f ^ (-n), is an isomorphism”.
[Stacks, Tag 03GM]. Let
Rbe a ring and letℱbe a quasi-coherent sheaf onℙᵐ_R. Ford ≥ 0putM_d = Γ(ℙᵐ_R, ℱ(d)). ThenM = ⨁_{d ≥ 0} M_dis a gradedR[T₀, …, Tₘ]-module and there is a canonical isomorphismℱ = M̃.The first conjunct is the graded-module assertion, in three parts: the integer grading decomposes
Minternally, the grading ofR[T₀, …, Tₘ]acts on that grading, and the action of a homogeneous element is the multiplication map of the twists of Equation 03GK. The second and third are the canonical isomorphism: the comparisonM̃ ⟶ ℱis the unique morphism restricting on each positive-degree standard openD₊(f)tox / f ^ n ↦ x|_{D₊(f)} ⊗ f ^ (-n), and it is invertible.The source's omitted injectivity and surjectivity arguments are
Stacks.AlgebraicGeometry.ProjTwistChartBijective.exists_pow_smul_eq_zero_of_numerSection_eq_zeroandStacks.AlgebraicGeometry.ProjTwistChartBijective.exists_numerSection_eq.
theorem gradedModule_and_isIso_comparison
(F : SheafOfModules.{u} (projRingSheaf (projectiveGrading m R)))
(hqc : SheafOfModules.IsQuasicoherent
(R := (AlgebraicGeometry.Proj (projectiveGrading m R)).ringCatSheaf) F) :
(DirectSum.IsInternal (moduleGrading (projectiveGrading m R) F) ∧
SetLike.GradedSMul (projectiveGrading m R)
(moduleGrading (projectiveGrading m R) F) ∧
∀ (e k : ℕ) (a : projectiveGrading m R e)
(s : twistSections (projectiveGrading m R) F k),
(a : MvPolynomial (Fin (m + 1)) R) •
DirectSum.of (twistSections (projectiveGrading m R) F) k s =
DirectSum.of (twistSections (projectiveGrading m R) F) (e + k)
(gsmul (projectiveGrading m R) F a.2 k (e + k) rfl s)) ∧
(∃! φ : associatedTwistSectionSheaf (projectiveGrading m R) F ⟶ F,
∀ p : PositiveElem (projectiveGrading m R),
φ.val.app (op (positiveBasicOpen (projectiveGrading m R) p)) =
positiveChartHom (projectiveGrading m R) F p) ∧
IsIso (comparison (projectiveGrading m R) F)
Tag 0B3B, a lemma
Tag 0B3B in the Stacks Project.
Stacks.SheafOfModules.kernelTensorGeneratingSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Modules/Generators/KernelTensorInvertible.lean, line 668.
Stacks 0B3B. Let
Lbe an invertible sheaf of modules on a locally ringed space, lets : I → Γ(X, L)be global sections generatingL, and letFbe the kernel of the induced mapO_X^{⊕I} ⟶ L. ThenF ⊗ Lis generated by global sections, by the Koszul sectionse_i ⊗ s_j − e_j ⊗ s_i.
noncomputable def kernelTensorGeneratingSections (g : L.GeneratingSections) :
((((Stacks.SheafOfModules.Tensor.sheafTensor.{u, u, u, u, u}
(⟨X.presheaf, X.IsSheaf⟩ : Sheaf (JX X) CommRingCat.{u})).obj ((kernel g.π))).obj
(L))).GeneratingSections
Sources
Section27.14 Invertible sheaves and morphisms into Proj#
Section 27.14 of the Stacks Project, Tag 01NJ. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01NK, a lemma
Tag 01NK in the Stacks Project.
Stacks.AlgebraicGeometry.ProjChartGradedTripleTag.tag01NK, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjChartGradedTripleTag.lean, line 95. The attribute's comment: “the open U(psi), the morphism r_{L,psi} : U(psi) -> Proj A and the unital map of Z-graded algebras theta : r^*(sum_d O_X(d)) -> sum_d L^{tensor d}|_{U(psi)}; properties (1) and (2); every triple (U', r', theta') with (1) and (2) equals (U(psi), r, theta); and for d >= 1 and an open V on which psi(A_d) generates L^{tensor d}, the pair (phi, alpha) attached to the Veronese restriction of psi to V exists uniquely, r|_V = phi, and theta|_V in degree d equals alpha”.
Let
Abe a graded ring,X = Proj A,Ta scheme,Lan invertible𝒪_T-module andψ : A → Γ_*(T, L)a homomorphism of graded rings. PutU(ψ) = ⋃_{f ∈ A_+ homogeneous} T_{ψ(f)}. Thenψinduces the canonical morphismr_{L, ψ} = ψ.glued : U(ψ) ⟶ Xand the map ofℤ-graded algebrasθ = theta 𝒜 ψ : r_{L, ψ}^*(⨁_{d ∈ ℤ} 𝒪_X(d)) ⟶ ⨁_{d ∈ ℤ} L^{⊗ d}|_{U(ψ)}, and:
U(ψ)is the union of theT_{ψ(f)}(by definition);θpreserves the unit;- property (1):
r_{L, ψ}^{-1}(D₊(f)) = T_{ψ(f)}forf ∈ A_+homogeneous;- property (2): for every
d ≥ 0anda ∈ A_d,θcarries the pullback of the global section of𝒪_X(d)attached toa(the map of [Stacks, Tag 01MP]) toψ(a)|_{U(ψ)}— the commutativity of the square of the tag;- the characterization: every triple
(U', r', θ')— an open ofT, a morphismU' ⟶ Xand a map of graded algebrasr'^*(⨁ 𝒪_X(d)) ⟶ ⨁ L^{⊗ d}|_{U'}— with properties (1) and (2) is(U(ψ), r_{L, ψ}, θ);- the final assertion: for
d ≥ 1and an openV ⊆ Ton which the sectionsψ(A_d)generateL^{⊗ d}|_V, the pair(φ, α)of [Stacks, Tag 01N8] forψ|_{A^{(d)}} : A^{(d)} → Γ_*(V, L^{⊗ d})exists and is unique, and for itr_{L, ψ}|_V = φand the restriction of the degree-dpart ofθtoV, read through the canonical identifications(r_{L, ψ}|_V)^*𝒪_X(d) = φ^*𝒪_X(d)andL^{⊗ d}|_{U(ψ)}|_V = L|_V^{⊗ d}, isα.The value
ψ(a)is read in the tensor powers of [Stacks, Tag 01CU] that the Laurent algebra is made of, through the canonical comparisonStacks.AlgebraicGeometry.ProjChartGradedDivision.intValue. The sectionsψ(A_d)generateL^{⊗ d}|_Vexactly when their nonvanishing opens coverV.
theorem tag01NK :
ψ.coveringOpen
= ⨆ p : (e : ℕ) × 𝒜 (e + 1),
nonvanishingOpen T (natTensorPow L (p.1 + 1)) (ψ.toFun (p.1 + 1) p.2)
∧ SheafOfModules.sectionsMap ((theta 𝒜 ψ).app 0)
(Stacks.Conormal.gradedPullback ψ.glued
(Stacks.AlgebraicGeometry.ProjConeTwist.integerTwistAlgebra 𝒜)).one
= (laurentRestrict 𝒜 ψ).one
∧ (∀ {e : ℕ} {f : A} (hf : f ∈ 𝒜 e), 0 < e →
ψ.coveringOpen.ι ''ᵁ (ψ.glued ⁻¹ᵁ AlgebraicGeometry.Proj.basicOpen 𝒜 f)
= nonvanishingOpen T (natTensorPow L e) (ψ.toFun e ⟨f, hf⟩))
∧ (∀ (d : ℕ) {a : A} (ha : a ∈ 𝒜 d),
((theta 𝒜 ψ).app (d : ℤ)).val.app (op ⊤)
(Scheme.Modules.pullbackSection ψ.glued (twistM 𝒜 (d : ℤ)) ⊤ ⊤
(fun _ _ => trivial) (degreeSection 𝒜 d ⟨a, ha⟩))
= resTop (tensorPowerModule T L (d : ℤ)) (intValue ψ d ⟨a, ha⟩)
(ψ.coveringOpen.ι ''ᵁ ⊤))
∧ (∀ t : Triple 𝒜 L, IsTriple ψ t → t = canonicalTriple ψ)
∧ (∀ {d : ℕ} (hd : 0 < d) {V : T.Opens}
(hVgen : V ≤ ⨆ g : 𝒜 d, nonvanishingOpen T (natTensorPow L d) (ψ.toFun d g)),
(∃! p : Pair 𝒜 (natTensorPow ((Scheme.Modules.pullback V.ι).obj L) d) d,
IsCompatible 𝒜 (veroneseAt 𝒜 (GradedSections.pullback V.ι ψ) d) p) ∧
∀ p : Pair 𝒜 (natTensorPow ((Scheme.Modules.pullback V.ι).obj L) d) d,
IsCompatible 𝒜 (veroneseAt 𝒜 (GradedSections.pullback V.ι ψ) d) p →
∃ h : T.homOfLE (hVgen.trans (iSup_nonvanishingOpen_le_coveringOpen 𝒜 ψ hd))
≫ ψ.glued = toProj 𝒜 p.1,
(Scheme.Modules.pullbackCongr h.symm).hom.app (twistM 𝒜 (d : ℤ))
≫ (Scheme.Modules.pullbackComp
(T.homOfLE (hVgen.trans (iSup_nonvanishingOpen_le_coveringOpen 𝒜 ψ hd)))
ψ.glued).inv.app (twistM 𝒜 (d : ℤ))
≫ (Scheme.Modules.pullback
(T.homOfLE (hVgen.trans (iSup_nonvanishingOpen_le_coveringOpen 𝒜 ψ hd)))).map
((theta 𝒜 ψ).app (d : ℤ))
≫ (Scheme.Modules.pullback
(T.homOfLE (hVgen.trans (iSup_nonvanishingOpen_le_coveringOpen 𝒜 ψ hd)))).map
((Scheme.Modules.restrictFunctorIsoPullback ψ.coveringOpen.ι).hom.app
(tensorPowerModule T L (d : ℤ)))
≫ (Scheme.Modules.pullbackComp
(T.homOfLE (hVgen.trans (iSup_nonvanishingOpen_le_coveringOpen 𝒜 ψ hd)))
ψ.coveringOpen.ι).hom.app (tensorPowerModule T L (d : ℤ))
≫ (Scheme.Modules.pullbackCongr (T.homOfLE_ι _)).hom.app
(tensorPowerModule T L (d : ℤ))
≫ (Scheme.Modules.pullback V.ι).map (powCompare L d).inv
≫ (pullbackNatTensorPowIso V.ι L d).inv
= p.2.hom)
Tag 01NL, a remark
Tag 01NL in the Stacks Project.
Stacks.AlgebraicGeometry.ProjInvertibleLocusEscape.not_range_subset_whereInvertible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Constructions/ProjInvertibleLocusEscape.lean, line 414.
Let
kbe a field, letS = k[A, B, C]be graded bydeg A = 1,deg B = 2,deg C = 3and setX = Proj S. LetT = 𝐏²_k = Proj k[X₀, X₁, X₂]with𝓛 = 𝒪_T(1), so𝒪_T(n) = 𝓛^{⊗ n}, and letψ : S → Γ_*(T, 𝓛)be the composite of the degree-preserving homomorphismA ↦ X₀,B ↦ X₁²,C ↦ X₂³with the canonical graded ring map of Tag 01MP. The image of the induced morphismr_{𝓛, ψ} : T → Xis not contained in the invertible locusW₁of𝒪_X(1)— the largest open ofXon which all the twists𝒪_X(n)are invertible and all their multiplication maps are isomorphisms, Tag 01MU. Indeed the point ofXgiven by the homogeneous prime(A, B)is in the image, and a homogeneous element ofSoutside(A, B)has degree divisible by3, so no two of them have degrees differing by1.
public theorem not_range_subset_whereInvertible :
¬ Set.range (mapHom E.naturalGrading (projectiveGrading E) (coverHom E)).base ⊆
↑(whereInvertible E.naturalGrading 1)
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.