48.22 Dualizing modules to 48.31 Preliminaries to…
Section48.22 Dualizing modules#
Section 48.22 of the Stacks Project, Tag 0AWH. 6 tags here are carried by 22 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AWH, the section
Tag 0AWH in the Stacks Project.
Stacks.Duality.IsDualizingModuleOf.shift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleInvertibleTwist.lean, line 231. The attribute's comment: “the first half of the section's second warning: the dualizing complex is not unique. A shift of a dualizing complex is a dualizing complex, not isomorphic to it for a nonzero shift, with the same dualizing module in the shifted degree”.
Stacks Project, Tag 0AWH. The dualizing complex is not unique. If
ωis a dualizing module of the dualizing complexK, realized in degreen, then for every integerkthe shifted complexK⟦k⟧is again a dualizing complex, its dualizing module is realized in degreen - kand is isomorphic toω, and fork ≠ 0the complexK⟦k⟧is not isomorphic toK.
theorem IsDualizingModuleOf.shift [HasDerivedCategory.{w} X.Modules] {ω : X.Modules}
{K : DerivedCategory X.Modules} {n : ℤ} (h : IsDualizingModuleOf ω K n) (k : ℤ) :
IsDualizingModuleOf ((DerivedCategory.homologyFunctor X.Modules (n - k)).obj (K⟦k⟧))
(K⟦k⟧) (n - k) ∧
Nonempty ((DerivedCategory.homologyFunctor X.Modules (n - k)).obj (K⟦k⟧) ≅ ω) ∧
(k ≠ 0 → IsEmpty (K⟦k⟧ ≅ K))
Stacks.Duality.IsDualizingModuleOf.exists_isInvertibleModule_iso_sheafTensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleInvertibleTwist.lean, line 270. The attribute's comment: “the second half of the section's second warning: the dualizing module is unique up to tensoring by an invertible module. Stated for a connected locally Noetherian scheme: on a disconnected one two dualizing complexes can shift by different amounts on different components and their dualizing modules then need not differ by a twist (counterexample Spec k disjoint union Spec k in the module documentation). The relation between the two complexes is proved, from Tag 0ATP and Tag 0FPG, not assumed”.
Stacks Project, Tag 0AWH. On a connected locally Noetherian scheme the dualizing module is unique up to tensoring by an invertible module: if
ωis a dualizing module of the dualizing complexKandω'one of the dualizing complexK', there is an invertible𝒪_X-moduleℒwithω' ≅ ω ⊗_{𝒪_X} ℒ.
theorem IsDualizingModuleOf.exists_isInvertibleModule_iso_sheafTensor [ConnectedSpace X]
[HasDerivedCategory.{w} X.Modules] {ω ω' : X.Modules} {K K' : DerivedCategory X.Modules}
{n n' : ℤ} (h : IsDualizingModuleOf ω K n) (h' : IsDualizingModuleOf ω' K' n') :
∃ ℒ : X.Modules, Stacks.SheafOfModules.Tensor.IsInvertibleModule X.sheaf ℒ ∧
Nonempty (ω' ≅ ((Stacks.SheafOfModules.Tensor.sheafTensor X.sheaf).obj ω).obj ℒ)
Stacks.Duality.isDualizingModuleOf_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleMaximalDimension.lean, line 191. The attribute's comment: “the definition the section states: omega_X = H^n(omega_X^bullet) with n the smallest integer such that H^n(omega_X^bullet) is nonzero, for a dualizing complex on a (locally) Noetherian scheme; IsDualizingModuleOf omega K n holds exactly when K is a dualizing complex, n is the least element of the set of degrees with nonzero cohomology, and omega is the cohomology sheaf in degree n”.
Stacks Project, Tag 0AWH, the definition. Let
Xbe a locally Noetherian scheme andKa dualizing complex onX. Letnbe the smallest integer such thatH^n(K)is nonzero; thenH^n(K)is the dualizing moduleω_X. This is whatStacks.Duality.IsDualizingModuleOf ω K nsays: it holds exactly whenKis a dualizing complex,nis the least degree with nonzero cohomology, andω = H^n(K).
theorem isDualizingModuleOf_iff {X : Scheme.{u}} [IsLocallyNoetherian X]
[HasDerivedCategory.{w} X.Modules] (ω : X.Modules) (K : DerivedCategory X.Modules) (n : ℤ) :
IsDualizingModuleOf ω K n ↔ IsDualizingComplex K ∧
IsLeast {i : ℤ | ¬ IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj K)} n ∧
ω = (DerivedCategory.homologyFunctor X.Modules n).obj K
Stacks.Duality.isGreatest_neg_of_isDualizingModuleOf, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleMaximalDimension.lean, line 212. The attribute's comment: “the section's identification of the degree: -n is the maximal value of the dimension function attached to omega_X^bullet (Tag 0AWF), where n is the least degree in which the dualizing complex has nonvanishing cohomology. The dimension function is associatedShiftFunction K, which Tag 0AWF (isUniversallyCatenary_and_isDimensionFunction_associatedShiftFunction) shows is the normalizing shift of the derived stalks and a dimension function. Stated for a locally Noetherian scheme, which contains the source's Noetherian case”.
Stacks Project, Tag 0AWH. Let
Xbe a locally Noetherian scheme and letωbe a dualizing module of the dualizing complexK, realized in degreen, the least degree in whichKhas nonvanishing cohomology. Then-nis the maximal value of the dimension function attached toKby [Stacks, Tag 0AWF], the functionδ = associatedShiftFunction Kwithω^•_{X,x}⟦-δ(x)⟧a normalized dualizing complex over𝒪_{X,x}.
theorem isGreatest_neg_of_isDualizingModuleOf {X : Scheme.{u}} [IsLocallyNoetherian X]
[HasDerivedCategory.{w} X.Modules] {ω : X.Modules} {K : DerivedCategory X.Modules} {n : ℤ}
(hω : IsDualizingModuleOf ω K n) :
IsGreatest (Set.range (associatedShiftFunction K)) (-n)
Stacks.Duality.IsDualizingModuleOf.restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleRestriction.lean, line 64. The attribute's comment: “the section's first warning: the integer n may change on passing to an open U, and then the restriction of omega_X to U is not omega_U. The degree can only go up, the two modules agree when it does not change, and when it changes the restriction is zero while omega_U is not”.
Stacks Project, Tag 0AWH, the first warning. Let
ωbe a dualizing module of the dualizing complexKonX, realized in degreen, letU ⊆ Xbe open and letω_Ube a dualizing module of the restrictionK|_U, realized in degreen_U. Thenn ≤ n_U; ifn = n_Uthenω|_U ≅ ω_U; and if the degree changes,n < n_U, thenω|_Uis zero whileω_Uis not, soω|_Uis not isomorphic toω_U.
theorem IsDualizingModuleOf.restrict {ω : X.Modules} {K : DerivedCategory X.Modules} {n : ℤ}
(h : IsDualizingModuleOf ω K n) (U : X.Opens) [HasDerivedCategory.{w'} U.toScheme.Modules]
{ωU : U.toScheme.Modules} {nU : ℤ}
(hU : IsDualizingModuleOf ωU
((Scheme.Modules.restrictFunctor U.ι).mapDerivedCategory.obj K) nU) :
n ≤ nU ∧ (n = nU → Nonempty ((Scheme.Modules.restrictFunctor U.ι).obj ω ≅ ωU)) ∧
(n < nU → IsZero ((Scheme.Modules.restrictFunctor U.ι).obj ω) ∧ ¬ IsZero ωU ∧
IsEmpty ((Scheme.Modules.restrictFunctor U.ι).obj ω ≅ ωU))
Stacks.Duality.IsDualizingModuleOf.restrict_of_associatedShiftFunction_genericPoints, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleRestriction.lean, line 150. The attribute's comment: “the section's closing remark on the first warning: if the dimension function attached to omega_X^bullet (Tag 0AWF) maps every generic point of X to the same integer, the degree does not change on a nonempty open U and omega_X restricted to U is omega_U”.
Stacks Project, Tag 0AWH, the closing remark on the first warning. If the dimension function attached to
K([Stacks, Tag 0AWF]) takes the same value at every generic point ofX, then the degree of the dualizing module does not change on passing to a nonempty openU ⊆ X, and the restriction of the dualizing module ofKis the dualizing module ofK|_U.
theorem IsDualizingModuleOf.restrict_of_associatedShiftFunction_genericPoints
{ω : X.Modules} {K : DerivedCategory X.Modules} {n : ℤ}
(h : IsDualizingModuleOf ω K n)
(hgen : ∃ c : ℤ, ∀ ξ ∈ genericPoints X, associatedShiftFunction K ξ = c)
(U : X.Opens) (hne : (U : Set X).Nonempty) [HasDerivedCategory.{w'} U.toScheme.Modules]
{ωU : U.toScheme.Modules} {nU : ℤ}
(hU : IsDualizingModuleOf ωU
((Scheme.Modules.restrictFunctor U.ι).mapDerivedCategory.obj K) nU) :
nU = n ∧ Nonempty ((Scheme.Modules.restrictFunctor U.ι).obj ω ≅ ωU)
Tag 0AWI, an example
Tag 0AWI in the Stacks Project.
Stacks.Duality.isDualizingModuleOf_relativeDualizingModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingModuleProperCharts.lean, line 96.
Stacks Project, Tag 0AWI (Example 48.22.1). Let
Sbe affine withA = Γ(S, ⊤)a Noetherian local ring,ω_S^•modelled onSby a normalized dualizing complexω_A^•,f : X ⟶ Sproper andω_X^• = f^!ω_S^• = a(ω_S^•). Thenω_X = H^{-dim X}(ω_X^•)is a coherent sheaf, and,Xbeing nonempty, a dualizing module:ω_X^•is a dualizing complex and-dim Xis the least degree in which it has nonzero cohomology.
theorem isDualizingModuleOf_relativeDualizingModule
(f : X ⟶ S) [IsProper f] (ωS : quasiCoherentDerivedCategory S)
(ω : DerivedCategory (ModuleCat.{u} Γ(S, ⊤)))
(hω : Dualizing.IsNormalizedDualizingComplex.{u, u} ω)
(hmodel : IsTildeModelOnAnyModel ωS.obj ⊤ (isAffineOpen_top S) ω) :
letI : IsLocallyNoetherian X := LocallyOfFiniteType.isLocallyNoetherian f
(relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
ωS).IsCoherent ∧
(Nonempty X → IsDualizingModuleOf
(relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f) ωS)
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
ωS).obj (-(natDim X : ℤ)))
Stacks.Duality.isCoherent_relativeDualizingModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/ModuleCoherence.lean, line 76. The attribute's comment: “coherence, given the dualizing-complex clause as hypothesis”.
The "coherence" half of [Stacks, Tag 0AWI], reduced to its "dualizing complex" half. The relative dualizing module
ω_X = H^{-dim X}(f^! ω_Y)is coherent as soon as the relative dualizing complexf^! ω_Yis a dualizing complex onX.
theorem isCoherent_relativeDualizingModule {X Y : Scheme.{u}} [IsLocallyNoetherian X] (f : X ⟶ Y)
(hpush : ∀ (K : quasiCoherentDerivedCategory X) (i : ℤ),
((DerivedCategory.homologyFunctor Y.Modules i).obj
((derivedPushforward f).obj K.obj)).IsQuasicoherent)
[(quasiCoherentDerivedPushforward f hpush).IsLeftAdjoint]
(ωY : quasiCoherentDerivedCategory Y)
(h : IsDualizingComplex (relativeDualizingComplex f hpush ωY).obj) :
_root_.SheafOfModules.IsCoherent (relativeDualizingModule f hpush ωY)
Stacks.Duality.relativeDualizingModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingModule.lean, line 138. The attribute's comment: “relative dualizing module: definition only”.
The relative dualizing module
ω_X = H^{-dim(X)}(ω_X^•)of [Stacks, Tag 0AWI]: the cohomology sheaf of the relative dualizing complex in degree minus the dimension ofX.
def relativeDualizingModule (ωY : quasiCoherentDerivedCategory Y) : X.Modules
Tag 0AWJ, an example
Tag 0AWJ in the Stacks Project.
Stacks.Duality.normalizedDualizingModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleOverField.lean, line 117. The attribute's comment: “the definition: omega_X = H^{-dim X}(omega_X^bullet) for the complex normalized relative to k[0]”.
The dualizing module
ω_X = H^{-dim(X)}(ω_X^•)of [Stacks, Tag 0AWJ]: the cohomology sheaf in degree minus the dimension ofXof a complex normalized relative to a chosen complex on the base. Over a field, withω_S^• = k[0], this is the customary dualizing module of an equidimensional scheme of finite type overk.
def normalizedDualizingModule (𝒩 : Normalized A hp ωS 𝒰) : X.Modules
Stacks.Duality.normalizedUpperShriekOverField, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleOverField.lean, line 224. The attribute's comment: “the second assertion: for X separated over k the normalized complex is f^! O_{Spec k}. RESTRICTED: the upper-shriek formalism of Stacks 0A9Y/0ATX/0ATY is the parameter UpperShriek, pending its landing”.
[Stacks, Tag 0AWJ] For
Xseparated and of finite type over a fieldkwith structure morphismf : X ⟶ Spec(k), the complexf^!𝒪_{Spec(k)}is normalized relative tok[0]: this is the identificationω_X^• = f^!𝒪_{Spec(k)}the example records, by [Stacks, Tag 0AUE].
def normalizedUpperShriekOverField {ι : Type w} (𝒰 : SeparatedCovering p ι) :
Normalized A (isFiniteTypeOverNoetherian_of_field p)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k))).obj 𝒰
Stacks.Duality.isDualizingComplex_normalizedDualizingComplex_of_field, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/DualizingModuleOverFieldNagata.lean, line 62. The attribute's comment: “omega_X^bullet, the dualizing complex normalized relative to k[0]”.
[Stacks, Tag 0AWJ], the complex
ω_X^•. ForXof finite type over a fieldk, the dualizing complexω_X^•normalized relative tok[0](k[0]being a dualizing complex onSpec(k)) is a dualizing complex, and it is unique up to unique isomorphism: any complex normalized relative tok[0]is isomorphic to it by exactly one isomorphism compatible with the normalizations.
theorem isDualizingComplex_normalizedDualizingComplex_of_field :
haveI := (isFiniteTypeOverNoetherian_of_field p).source_noetherian
IsDualizingComplex (normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex.obj.obj ∧
∀ 𝒦 : NormalizedOnOpens UpperShriek.nagata (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k))),
∃! e : (normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex ≅ 𝒦.complex,
∀ (W : X.Opens) (hW : IsShriekable (W.ι ≫ p)),
(UpperShriek.nagata.shriek W.ι
((isFiniteTypeOverNoetherian_of_field p).isShriekable_ι W)).mapIso e ≪≫
𝒦.localIso W hW =
(normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).localIso W hW
Stacks.Duality.dualizingModuleOfCompactifications_nagata_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/DualizingModuleOverFieldNagata.lean, line 88. The attribute's comment: “omega_X = H^{-dim X}(omega_X^bullet)”.
[Stacks, Tag 0AWJ], the module
ω_X. ForXof finite type over a fieldk, the dualizing moduleω_XisH^{-dim(X)}(ω_X^•), the cohomology sheaf in degree minus the dimension ofXof the dualizing complex normalized relative tok[0].
theorem dualizingModuleOfCompactifications_nagata_eq :
dualizingModuleOfCompactifications nagataCompactification p =
(DerivedCategory.homologyFunctor X.Modules
(-(ENat.toNat ((topologicalKrullDim X).getD 0) : ℤ))).obj
(normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex.obj.obj
Stacks.Duality.existsUnique_iso_upperShriekPlus_of_field, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/DualizingModuleOverFieldNagata.lean, line 104. The attribute's comment: “for X separated over k, omega_X^bullet = f^! O_{Spec k}”.
[Stacks, Tag 0AWJ], the separated case. If
Xis separated and of finite type over a fieldk, thenω_X^• = f^! 𝒪_{Spec(k)},f : X ⟶ Spec(k)being the structure morphism andf^!the upper shriek functor of [Stacks, Tag 0A9Y] at any compactificationjoff: there is exactly one isomorphismω_X^• ≅ f^!_j 𝒪_{Spec(k)}which, followed by the comparison with the Nagata compactification, carries the normalization ofω_X^•on each openWseparated overkto the canonical(f^! 𝒪_{Spec(k)})|_W ≅ (W → Spec(k))^! 𝒪_{Spec(k)}.
theorem existsUnique_iso_upperShriekPlus_of_field [IsSeparated p]
(j : CompactificationOf (Over.mk p)) :
haveI := isNoetherian_spec_of_field k
∃! e : (normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex ≅
(upperShriekPlus (ftsHomOf p (isShriekable_of_field p).separatedFiniteType
(isSeparatedFiniteType_id _) (Category.comp_id p)) j).obj
(derivedStructureSheafPlus (Spec (.of k))),
∀ (W : X.Opens) (hW : IsShriekable (W.ι ≫ p)),
(UpperShriek.nagata.shriek W.ι
((isFiniteTypeOverNoetherian_of_field p).isShriekable_ι W)).mapIso
(e ≪≫ (DominatingCompactification.upperShriekPlusIso (ftsHomOf p
(isShriekable_of_field p).separatedFiniteType (isSeparatedFiniteType_id _)
(Category.comp_id p)) j
(nagataCompactification p (isShriekable_of_field p))).app
(derivedStructureSheafPlus (Spec (.of k)))) ≪≫
upperShriekLocalIso UpperShriek.nagata (isFiniteTypeOverNoetherian_of_field p)
(isShriekable_of_field p) (derivedStructureSheafPlus (Spec (.of k))) hW =
(normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).localIso W hW
Stacks.Duality.normalizedDualizingComplexIsoRelativeDualizingComplexOfField, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/DualizingModuleOverFieldNagata.lean, line 134. The attribute's comment: “for X proper over k, omega_X^bullet = a(O_{Spec k}), the complex of Example 0AWI”.
[Stacks, Tag 0AWJ], the proper case:
ω_X^• = a(𝒪_{Spec(k)}). IfXis proper over a fieldk, the dualizing complex normalized relative tok[0]is the twisted inverse imagea(𝒪_{Spec(k)})of [Stacks, Tag 0A9E], that is, the relative dualizing complexf^! ω_S^•of [Stacks, Tag 0AWI] forS = Spec(k)andω_S^• = k[0].
def normalizedDualizingComplexIsoRelativeDualizingComplexOfField [IsProper p] :
haveI := isNoetherian_spec_of_field k
haveI := (isFiniteTypeOverNoetherian_of_field p).source_noetherian
(normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex.obj ≅
relativeDualizingComplex p (isQuasicoherent_homology_derivedPushforward_of_qcqs p)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))
Stacks.Duality.dualizingModuleOfCompactifications_nagata_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/DualizingModuleOverFieldNagata.lean, line 159. The attribute's comment: “for X proper over k, this is a special case of Example 0AWI”.
[Stacks, Tag 0AWJ], the proper case is a special case of [Stacks, Tag 0AWI]. If
Xis proper over a fieldk, thenω_Xis the relative dualizing module of [Stacks, Tag 0AWI] forS = Spec(k)andω_S^• = k[0](a normalized dualizing complex over the local ringk); henceω_Xis coherent and,Xbeing nonempty, a dualizing module:ω_X^•is a dualizing complex and-dim(X)is the least degree in which it has nonzero cohomology.
theorem dualizingModuleOfCompactifications_nagata_of_isProper [IsProper p] :
haveI := isNoetherian_spec_of_field k
haveI := (isFiniteTypeOverNoetherian_of_field p).source_noetherian
Nonempty (dualizingModuleOfCompactifications nagataCompactification p ≅
relativeDualizingModule p (isQuasicoherent_homology_derivedPushforward_of_qcqs p)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))) ∧
(dualizingModuleOfCompactifications nagataCompactification p).IsCoherent ∧
(Nonempty X → IsDualizingModuleOf
(dualizingModuleOfCompactifications nagataCompactification p)
(normalizedDualizingComplex (isFiniteTypeOverNoetherian_of_field p)
(derivedStructureSheafPlus (Spec (.of k)))
(isDualizingComplex_derivedStructureSheafPlus_of_field k)).complex.obj.obj
(-(natDim X : ℤ)))
Tag 0AWK, a lemma
Tag 0AWK in the Stacks Project.
Stacks.Duality.IsDualizingModuleOf.isCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleOfComplex.lean, line 60. The attribute's comment: “coherence”.
A dualizing module on a connected Noetherian scheme is a coherent
𝒪_X-module: it is a cohomology sheaf of a dualizing complex, and those are coherent.
theorem IsDualizingModuleOf.isCoherent {X : Scheme.{u}} [IsNoetherian X] [ConnectedSpace X]
[HasDerivedCategory.{w} X.Modules] {ω : X.Modules} {K : DerivedCategory X.Modules} {n : ℤ}
(h : IsDualizingModuleOf ω K n) : _root_.SheafOfModules.IsCoherent ω
Stacks.Duality.IsDualizingModuleOf.sheafHasPropertySk_two, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleSupportSerre.lean, line 87. The attribute's comment: “Serre's condition (S₂), granted that at every point the stalk either vanishes or is the canonical module of the local ring”.
Stacks Project, Tag 0AWK. The dualizing module of a dualizing complex on a connected Noetherian scheme satisfies Serre's condition
(S₂): at a point where its stalk is the canonical module of the local ring the depth bound for canonical modules applies, and at a point where the stalk vanishes the condition is empty.
public theorem IsDualizingModuleOf.sheafHasPropertySk_two {X : Scheme.{u}} [IsNoetherian X]
[ConnectedSpace X] [HasDerivedCategory.{w} X.Modules] {ω : X.Modules}
{K : DerivedCategory X.Modules} {n : ℤ} (h : IsDualizingModuleOf ω K n)
(hstalk : ∀ x : X,
Subsingleton ↑(TopCat.Presheaf.stalk
(SheafOfModules.val
(R := structureSheafRing
X.toRingedSpace)
((DerivedCategory.homologyFunctor X.Modules n).obj K)).presheaf x) ∨
∃ (L : DerivedCategory (ModuleCat.{u} (X.presheaf.stalk x))) (d : ℕ),
_root_.Dualizing.IsNormalizedDualizingComplex.{u, u} L ∧
ringKrullDim (X.presheaf.stalk x) = (d : WithBot ℕ∞) ∧
Nonempty (↑(TopCat.Presheaf.stalk
(SheafOfModules.val
(R := structureSheafRing
X.toRingedSpace)
((DerivedCategory.homologyFunctor X.Modules n).obj K)).presheaf x) ≃ₗ[
X.presheaf.stalk x]
↑((DerivedCategory.homologyFunctor (ModuleCat.{u} (X.presheaf.stalk x))
(-(d : ℤ))).obj L))) :
SheafHasPropertySk X ω 2
Stacks.Duality.IsDualizingModuleOf.supp_eq_and_isCoherent_and_sheafHasPropertySk_two, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/DualizingModuleSupportSerreFull.lean, line 247.
Stacks Project, Tag 0AWK. Let
Xbe a connected Noetherian scheme and letωbe a dualizing module onX, the cohomology sheaf of a dualizing complexKin the leftmost degreenin whichKhas nonvanishing cohomology. Then the support ofωis the union of the irreducible components of maximal dimension with respect to any dimension functionδ, andωis a coherent𝒪_X-module having property(S₂).
theorem IsDualizingModuleOf.supp_eq_and_isCoherent_and_sheafHasPropertySk_two
[ConnectedSpace X] (h : IsDualizingModuleOf ω K n) :
(∀ δ : DimensionFunction X,
(⟨ω.val, ω.isSheaf⟩ : RingedSpace.ModuleSheaf.{u} X.toRingedSpace).supp =
{x : X | ∃ ξ ∈ genericPoints X, x ∈ closure {ξ} ∧
∀ η ∈ genericPoints X, δ η ≤ δ ξ}) ∧
_root_.SheafOfModules.IsCoherent ω ∧ SheafHasPropertySk X ω 2
Tag 0AWN, a lemma
Tag 0AWN in the Stacks Project.
Stacks.Duality.vanishing_and_support_relativeDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/ProperOverLocalBaseCharts.lean, line 92.
Stacks Project, Tag 0AWN (Lemma 48.22.4). Let
Sbe affine withA = Γ(S, ⊤)a Noetherian local ring,ω_S^•the complex associated to a normalized dualizing complexω_A^•,f : X ⟶ Sproper,ω_X^• = f^!ω_S^• = a(ω_S^•)andω_X = H^{-dim X}(ω_X^•)([Stacks, Tag 0AWI]). Then 1.H^i(ω_X^•) ≠ 0impliesi ∈ {-dim X, …, 0}; 2. the support ofH^i(ω_X^•)has dimension at most-i; 3.Supp(ω_X)is the union of the irreducible components of dimensiondim X; 4.ω_X(which is coherent) has property(S₂).
theorem vanishing_and_support_relativeDualizingComplex
(f : X ⟶ S) [IsProper f] (ωS : quasiCoherentDerivedCategory S)
(ω : DerivedCategory (ModuleCat.{u} Γ(S, ⊤)))
(hω : Dualizing.IsNormalizedDualizingComplex.{u, u} ω)
(hmodel : IsTildeModelOnAnyModel ωS.obj ⊤ (isAffineOpen_top S) ω) :
let L := (relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
ωS).obj
(∀ i : ℤ, ¬ Limits.IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj L) →
i ≤ 0 ∧ (((-i).toNat : ℕ) : WithBot ℕ∞) ≤ topologicalKrullDim X) ∧
(∀ i : ℤ, topologicalKrullDim (_root_.SheafOfModules.supp
((DerivedCategory.homologyFunctor X.Modules i).obj L)) ≤
if i ≤ 0 then (((-i).toNat : ℕ) : WithBot ℕ∞) else ⊥) ∧
(relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
ωS).IsCoherent ∧
SheafHasPropertySk X (relativeDualizingModule f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f) ωS) 2 ∧
_root_.SheafOfModules.supp (relativeDualizingModule f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f) ωS) =
⋃₀ {C ∈ irreducibleComponents X | topologicalKrullDim C = topologicalKrullDim X}
Stacks.Duality.supp_relativeDualizingModule_eq_topDimensionalComponents, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/VanishingAndSupport.lean, line 291. The attribute's comment: “part (3): Supp(omega_X) is the union of the components of dimension dim(X). RESTRICTED: two explicit hypotheses. hloc is the local description of omega_X^bullet, a Stacks.Duality.HasNormalizedStalks; see part (1) for what it records and why. hcomp is a statement about a catenary Noetherian scheme with no dualizing complex in it -- that a point satisfies dim(closure {x}) + dim(O_{X,x}) = dim(X) exactly when it lies on an irreducible component of dimension dim(X); its analogue over a Noetherian local ring is the catenary step inside Dualizing.support_canonicalModule of Tag 0AWE, but the scheme-level statement is not proved here. The dualizing content is proved and is unconditional given hloc: supp_relativeDualizingModule_eq_setOf identifies Supp(omega_X) with the locus where that equality holds, by the lower degree bound of Tag 0A7U and the nonvanishing of the canonical module of Tag 0A7V on the stalk”.
Stacks Project, Tag 0AWN, part (3). Let
X/Awithω_X^•andω_Xbe as in [Stacks, Tag 0AWI]. ThenSupp(ω_X)is the union of the irreducible components ofXof dimensiondim(X), given the hypothesishcompthat a pointxsatisfiesdim(closure {x}) + dim(𝒪_{X,x}) = dim(X)exactly when it lies on an irreducible component ofXof dimensiondim(X).
theorem supp_relativeDualizingModule_eq_topDimensionalComponents
(hloc : HasNormalizedStalks (relativeDualizingComplex f hpush ωY).obj n)
(hcomp : ∀ x : X, topologicalKrullDim (closure ({x} : Set X)) +
ringKrullDim (X.presheaf.stalk x) = (n : WithBot ℕ∞) ↔
x ∈ ⋃₀ {C ∈ irreducibleComponents X | topologicalKrullDim C = (n : WithBot ℕ∞)}) :
_root_.SheafOfModules.supp (relativeDualizingModule f hpush ωY) =
⋃₀ {C ∈ irreducibleComponents X | topologicalKrullDim C = (n : WithBot ℕ∞)}
Tag 0AWP, a lemma
Tag 0AWP in the Stacks Project.
Stacks.Duality.dualizingModuleRepresentableBy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Curves/VanishingResults/DualizingModuleRepresentabilityLocalBase.lean, line 994. The attribute's comment: “the whole lemma, in the setting of Example 0AWI with omega_X^bullet the twisted inverse image of omega_S^bullet (the relative dualizing complex of the 0AWI definition) and omega_A = H^{-dim A}(omega_A^bullet); the functor is represented on all quasi-coherent modules, which contain the coherent ones, and d may be any upper bound for dim(X_s) with dim(X) = d + dim(A)”.
[Stacks, Tag 0AWP]. Let
(A, 𝔪, κ)be a Noetherian local ring and letω_S^•be an object ofD_QCoh(𝒪_{Spec A})corresponding to a normalized dualizing complexω_A^•. Letf : X ⟶ Spec Abe proper,ω_X^• = f^×ω_S^•andω_X = H^{-dim(X)}(ω_X^•), as in Example [Stacks, Tag 0AWI]. Letdbound the dimension of the closed fibreX_sand supposedim(X) = d + dim(A). Thenω_Xrepresents the functor
ℱ ↦ Hom_A(H^d(X, ℱ), ω_A),ω_A = H^{-dim(A)}(ω_A^•),on the quasi-coherent
𝒪_X-modules — so in particular on the coherent ones.The represented functor is
ℱ ↦ Hom_A(H^d(X, ℱ), ω_A)withH^d(X, ℱ)the classical sheaf cohomology with itsA-module structure, and the representation isStacks.Duality.dualizingModuleHomAddEquiv, natural byStacks.Duality.dualizingModuleHomAddEquiv_naturality. Nothing is carried: part (1) of [Stacks, Tag 0AWN], the vanishing ofH^i(ω_X^•)below-dim(X)that the source's first equality needs, isStacks.Duality.isGE_relativeDualizingComplex_of_closedFibre_dim_le.
def dualizingModuleRepresentableBy :
(((SheafOfModules.isQuasicoherent X.ringCatSheaf).ι ⋙
Stacks.LocalCohomology.cohomologyOverBaseFunctor.{u, u} A f d).op ⋙
yoneda.obj ((DerivedCategory.homologyFunctor (ModuleCat.{u} A) (-(e : ℤ))).obj
((derivedGlobalSectionsQuasicoherent (CommRingCat.of A)).obj ωS))).RepresentableBy
(⟨relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f) ωS,
isQuasicoherent_relativeDualizingModule f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f) ωS⟩ :
(SheafOfModules.isQuasicoherent X.ringCatSheaf).FullSubcategory)
Sources
Section48.23 Cohen-Macaulay schemes#
Section 48.23 of the Stacks Project, Tag 0AWQ. 4 tags here are carried by 13 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AWT, a lemma
Tag 0AWT in the Stacks Project.
Stacks.Duality.sheafIsCohenMacaulay_homology_of_concentrated, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayDualizingModule.lean, line 161. The attribute's comment: “the dualizing module is Cohen--Macaulay, at an arbitrary degree of concentration”.
Stacks Project, Tag 0AWT, the Cohen--Macaulayness of the dualizing module. If the cohomology of a dualizing complex on a locally Noetherian scheme is concentrated in the single degree
n, thenH^nof it is a Cohen--Macaulay𝒪_X-module in the sense of [Stacks, Tag 0343].
public theorem sheafIsCohenMacaulay_homology_of_concentrated {X : Scheme.{u}}
[IsLocallyNoetherian X] [HasDerivedCategory.{w} X.Modules]
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K) (n : ℤ)
(hn : ∀ i : ℤ, i ≠ n → IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj K)) :
AlgebraicGeometry.SheafIsCohenMacaulay X
((DerivedCategory.homologyFunctor X.Modules n).obj K)
Stacks.Duality.exists_coherent_cohenMacaulay_iso_single_of_connected, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayDualizingModule.lean, line 193. The attribute's comment: “the final assertion, in full”.
Stacks Project, Tag 0AWT, the final assertion, in full. If
Xis connected and Cohen--Macaulay then there is an integernand a coherent Cohen--Macaulay𝒪_X-moduleω_X = H^n(ω_X^•)withω_X^• = ω_X[-n].This is
Stacks.Duality.exists_coherent_iso_single_of_connectedtogether with the Cohen--Macaulayness clause of the source, which that statement omits.
public theorem exists_coherent_cohenMacaulay_iso_single_of_connected {X : Scheme.{u}}
[IsLocallyNoetherian X] [ConnectedSpace X] [HasDerivedCategory.{w} X.Modules]
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K)
(hX : AlgebraicGeometry.IsCohenMacaulay X) :
∃ n : ℤ, _root_.SheafOfModules.IsCoherent
((DerivedCategory.homologyFunctor X.Modules n).obj K) ∧
AlgebraicGeometry.SheafIsCohenMacaulay X
((DerivedCategory.homologyFunctor X.Modules n).obj K) ∧
Nonempty (K ≅ (DerivedCategory.singleFunctor X.Modules n).obj
((DerivedCategory.homologyFunctor X.Modules n).obj K))
Stacks.Duality.isOpen_setOf_isCohenMacaulayLocalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayLocus.lean, line 380. The attribute's comment: “clause (3), the Cohen--Macaulay locus is open”.
Stacks Project, Tag 0AWT, clause (3), openness. On a locally Noetherian scheme carrying a dualizing complex, the set of points whose local ring is Cohen–Macaulay is open.
public theorem isOpen_setOf_isCohenMacaulayLocalRing {X : Scheme.{u}} [IsLocallyNoetherian X]
[HasDerivedCategory.{w} X.Modules] (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) :
IsOpen {x : X | IsCohenMacaulayLocalRing (X.presheaf.stalk x)}
Stacks.Duality.isCohenMacaulay_cohenMacaulayLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayLocus.lean, line 426. The attribute's comment: “clause (3), the Cohen--Macaulay locus is Cohen--Macaulay”.
Stacks Project, Tag 0AWT, clause (3), the locus is Cohen–Macaulay. The open subscheme of points with Cohen–Macaulay local ring is a Cohen–Macaulay scheme.
public theorem isCohenMacaulay_cohenMacaulayLocus {X : Scheme.{u}} [IsLocallyNoetherian X]
[HasDerivedCategory.{w} X.Modules] (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) :
AlgebraicGeometry.IsCohenMacaulay (cohenMacaulayLocus K hK).toScheme
Stacks.Duality.isCohenMacaulayLocalRing_stalk_iff_concentrated, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayLocus.lean, line 571. The attribute's comment: “clause (2), the stalkwise criterion”.
Stacks Project, Tag 0AWT, clause (2). On a locally Noetherian scheme carrying a dualizing complex
K, the local ring atxis Cohen–Macaulay exactly when the derived stalkK_xhas a single nonzero cohomology module.
public theorem isCohenMacaulayLocalRing_stalk_iff_concentrated {X : Scheme.{u}}
[IsLocallyNoetherian X] [HasDerivedCategory.{w} X.Modules]
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K) (x : X)
[HasDerivedCategory.{w} (ModuleCat.{u} (X.presheaf.stalk x))] :
IsCohenMacaulayLocalRing (X.presheaf.stalk x) ↔
∃ n : ℤ, ∀ i : ℤ, i ≠ n → Limits.IsZero ((DerivedCategory.homologyFunctor
(ModuleCat.{u} (X.presheaf.stalk x)) i).obj
((AlgebraicGeometry.derivedStalkFunctor x).obj K))
Stacks.Duality.isCohenMacaulay_iff_locally_unique_homology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulayLocus.lean, line 701. The attribute's comment: “clause (1), locally a single nonzero cohomology sheaf, read stalkwise”.
Stacks Project, Tag 0AWT, clause (1). A locally Noetherian scheme carrying a dualizing complex
Kis Cohen–Macaulay exactly whenKlocally has a single nonzero cohomology sheaf: every point has an open neighbourhood on which, for all but one degree, the cohomology sheaves ofKhave vanishing stalks.Vanishing of all the stalks over an open is vanishing of the restricted sheaf there, by [Stacks, Tag 01AG] (
AlgebraicGeometry.SheafOfModules.isZero_iff_forall_isZero_stalkFunctor_obj), so this is the source's "ω_X^•locally has a unique nonzero cohomology sheaf".
public theorem isCohenMacaulay_iff_locally_unique_homology {X : Scheme.{u}}
[IsLocallyNoetherian X] [HasDerivedCategory.{w} X.Modules]
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K) :
AlgebraicGeometry.IsCohenMacaulay X ↔
∀ x : X, ∃ V : X.Opens, x ∈ V ∧ ∃ n : ℤ, ∀ i : ℤ, i ≠ n → ∀ y ∈ V,
Subsingleton
(((DerivedCategory.homologyFunctor X.Modules i).obj K).presheaf.stalk y)
Tag 0AWU, a lemma
Tag 0AWU in the Stacks Project.
Stacks.Duality.isCohenMacaulay_of_exists_coherent_dualizingModule, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CohenMacaulaySchemeOfDualizingModule.lean, line 158.
Let
Xbe a locally Noetherian scheme. If there exists a coherent sheafω_Xsuch thatω_X[0]is a dualizing complex onX, thenXis a Cohen–Macaulay scheme.
theorem isCohenMacaulay_of_exists_coherent_dualizingModule
(h : ∃ omegaX : X.Modules, _root_.SheafOfModules.IsCoherent omegaX ∧
IsDualizingComplex ((DerivedCategory.singleFunctor X.Modules 0).obj omegaX)) :
AlgebraicGeometry.IsCohenMacaulay X
Tag 0C0Z, a lemma
Tag 0C0Z in the Stacks Project.
Stacks.Duality.isCohenMacaulayAt_iff_exists_unique_nonzero_homology_upperShriek, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekChartConsequences.lean, line 87.
Let
Sbe Noetherian,f : X ⟶ Ya flat morphism ofFTS Sandx ∈ X. Thenfis Cohen–Macaulay atxif and only iff^!𝒪_Yhas a unique nonzero cohomology sheaf in a neighbourhood ofx.
theorem isCohenMacaulayAt_iff_exists_unique_nonzero_homology_upperShriek [Flat f.left]
(x : X.left) :
f.left.IsCohenMacaulayAt (isLocallyNoetherian_fiber_left f) x ↔
∃ W : X.left.Opens, x ∈ W ∧ ∃ n : ℤ,
¬ IsZero ((Scheme.Modules.restrictFunctor W.ι).obj
((DerivedCategory.homologyFunctor X.left.Modules n).obj
(relativeDualizingComplexObj f j))) ∧
∀ i : ℤ, i ≠ n → IsZero ((Scheme.Modules.restrictFunctor W.ι).obj
((DerivedCategory.homologyFunctor X.left.Modules i).obj
(relativeDualizingComplexObj f j)))
Tag 0C10, a remark
Tag 0C10 in the Stacks Project.
Stacks.Duality.NormalizedOnOpens.nonempty_iso_pullback_tensor_shift_nagata, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/NormalizedCohenMacaulayTwistNagata.lean, line 56. The attribute's comment: “Similar results hold for X and Y of finite type over S, not necessarily separated, with complexes normalized relative to omega_S: omega_X = Lf^* omega_Y (x) omega_{X/Y}[d]”.
[Stacks, Tag 0C10], last sentence, the complexes. Let
Sbe Noetherian with a dualizing complexω_S^•andf : X ⟶ Ya separated Cohen–Macaulay morphism of relative dimensiondbetween schemes of finite type overS, not necessarily separated overS. For dualizing complexesω_X^•,ω_Y^•normalized relative toω_S^•andω_{X/Y} = H^{-d}(f^! 𝒪_Y),ω_X^• ≅ Lf^* ω_Y^• ⊗ᴸ ω_{X/Y}[d].
theorem nonempty_iso_pullback_tensor_shift_nagata
(hωS : haveI := hp.base_noetherian; IsDualizingComplex ωS.obj.obj) (hf : IsShriekable f)
(𝒦X : NormalizedOnOpens UpperShriek.nagata hp ωS)
(𝒦Y : NormalizedOnOpens UpperShriek.nagata hq ωS)
(hCM : haveI := hf.target_noetherian
(ftsHomOf f hf.separatedFiniteType (isSeparatedFiniteType_id Y)
(Category.comp_id f)).left.IsCohenMacaulay (isLocallyNoetherian_fiber_left _))
(d : ℕ) (hd : ∀ x : X, topologicalKrullDimAt (f.fiber (f x)) (f.asFiber x) =
(d : WithBot ℕ∞)) :
haveI := hf.target_noetherian
Nonempty (𝒦X.complex.obj ≅ ((quasiCoherentDerivedTensor X).obj
((quasiCoherentDerivedPullback' f).obj 𝒦Y.complex.obj)).obj
(relativeDualizingSheafShift (ftsHomOf f hf.separatedFiniteType
(isSeparatedFiniteType_id Y) (Category.comp_id f)) (nagataCompactification f hf)
hCM d hd))
Stacks.Duality.NormalizedOnOpens.exists_homology_iso_pullback_tensor_nagata, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/TwistedInverseImageFTS/NormalizedCohenMacaulayTwistNagata.lean, line 82. The attribute's comment: “Similar results hold for X and Y of finite type over S, not necessarily separated, with complexes normalized relative to omega_S: omega_X = f^* omega_Y (x) omega_{X/Y} for connected Cohen-Macaulay schemes”.
[Stacks, Tag 0C10], last sentence, the dualizing modules. In the situation of
nonempty_iso_pullback_tensor_shift_nagata, if moreoverYis connected and Cohen–Macaulay, the normalized complexesω_Y^•andω_X^•are concentrated in single degreesmandm - d, and their cohomology sheavesω_Y,ω_Xthere satisfyω_X ≅ f^* ω_Y ⊗ ω_{X/Y}.
theorem exists_homology_iso_pullback_tensor_nagata
(hωS : haveI := hp.base_noetherian; IsDualizingComplex ωS.obj.obj) (hf : IsShriekable f)
(𝒦X : NormalizedOnOpens UpperShriek.nagata hp ωS)
(𝒦Y : NormalizedOnOpens UpperShriek.nagata hq ωS)
(hCM : haveI := hf.target_noetherian
(ftsHomOf f hf.separatedFiniteType (isSeparatedFiniteType_id Y)
(Category.comp_id f)).left.IsCohenMacaulay (isLocallyNoetherian_fiber_left _))
(d : ℕ) (hd : ∀ x : X, topologicalKrullDimAt (f.fiber (f x)) (f.asFiber x) =
(d : WithBot ℕ∞))
[ConnectedSpace Y] (hY : AlgebraicGeometry.IsCohenMacaulay Y) :
haveI := hf.target_noetherian
∃ m : ℤ,
(∀ i : ℤ, i ≠ m → IsZero ((DerivedCategory.homologyFunctor Y.Modules i).obj
𝒦Y.complex.obj.obj)) ∧
(∀ i : ℤ, i ≠ m - d → IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj
𝒦X.complex.obj.obj)) ∧
Nonempty ((DerivedCategory.homologyFunctor X.Modules (m - d)).obj 𝒦X.complex.obj.obj ≅
((Stacks.SheafOfModules.Tensor.sheafTensor X.sheaf).obj
((Scheme.Modules.pullback f).obj
((DerivedCategory.homologyFunctor Y.Modules m).obj 𝒦Y.complex.obj.obj))).obj
(relativeDualizingSheaf (ftsHomOf f hf.separatedFiniteType
(isSeparatedFiniteType_id Y) (Category.comp_id f)) (nagataCompactification f hf)
d))
Stacks.Duality.nonempty_upperShriek_iso_pullback_tensor_shift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekCohenMacaulayTwistIso.lean, line 58. The attribute's comment: “f^!K = Lf^*K (x) omega_{X/Y}[d] for K in D^+_QCoh”.
Stacks Project, Tag 0C10, the canonical isomorphism. For a Cohen–Macaulay morphism
f : X ⟶ YofFTS Sof relative dimensiondandK ∈ D⁺_QCoh(𝒪_Y),f^!K ≅ Lf^*K ⊗ᴸ ω_{X/Y}[d], throughμ_{f,K}of Tag 0B6U.
theorem nonempty_upperShriek_iso_pullback_tensor_shift
(hCM : f.left.IsCohenMacaulay (isLocallyNoetherian_fiber_left f)) (d : ℕ)
(hd : ∀ x : X.left,
topologicalKrullDimAt (f.left.fiber (f.left x)) (f.left.asFiber x) = (d : WithBot ℕ∞))
(K : quasiCoherentDerivedCategory Y.left) (hK : DerivedCategoryB.IsBoundedBelow K.obj) :
Nonempty ((upperShriek f j).obj K ≅
((quasiCoherentDerivedTensor X.left).obj
((quasiCoherentDerivedPullback' f.left).obj K)).obj
(relativeDualizingSheafShift f j hCM d hd))
Stacks.Duality.nonempty_upperShriek_comp_iso_pullback_tensor_shift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekCohenMacaulayTwistIso.lean, line 74. The attribute's comment: “omega_X = Lf^* omega_Y (x) omega_{X/Y}[d]”.
Stacks Project, Tag 0C10, "in particular". For
πY : Y ⟶ T,πX = f ≫ πYandω_T ∈ D⁺_QCoh(𝒪_T)(for instance a dualizing complex), withω_Y = πY^!ω_Tandω_X = πX^!ω_T:ω_X ≅ Lf^*ω_Y ⊗ᴸ ω_{X/Y}[d].
theorem nonempty_upperShriek_comp_iso_pullback_tensor_shift
(hCM : f.left.IsCohenMacaulay (isLocallyNoetherian_fiber_left f)) (d : ℕ)
(hd : ∀ x : X.left,
topologicalKrullDimAt (f.left.fiber (f.left x)) (f.left.asFiber x) = (d : WithBot ℕ∞))
{T : FTS S} (πY : Y ⟶ T) (πX : X ⟶ T) (hπ : f ≫ πY = πX)
(jY : CompactificationOf (Over.mk πY.left)) (jX : CompactificationOf (Over.mk πX.left))
(ωT : quasiCoherentDerivedCategory T.left) (hωT : DerivedCategoryB.IsBoundedBelow ωT.obj) :
Nonempty ((upperShriek πX jX).obj ωT ≅
((quasiCoherentDerivedTensor X.left).obj
((quasiCoherentDerivedPullback' f.left).obj ((upperShriek πY jY).obj ωT))).obj
(relativeDualizingSheafShift f j hCM d hd))
Stacks.Duality.exists_homology_upperShriek_comp_iso_pullback_tensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekCohenMacaulayTwistIso.lean, line 94. The attribute's comment: “omega_X = f^* omega_Y (x) omega_{X/Y} for connected Cohen-Macaulay schemes”.
Stacks Project, Tag 0C10, the dualizing modules. If moreover
ω_Tis a dualizing complex andYis connected and Cohen–Macaulay, thenω_Y^•andω_X^•are concentrated in single degreesmandm - d, and their cohomology sheavesω_Y,ω_Xthere satisfyω_X ≅ f^*ω_Y ⊗ ω_{X/Y}. (Connectedness and Cohen–Macaulayness ofXare not needed.)
theorem exists_homology_upperShriek_comp_iso_pullback_tensor
(hCM : f.left.IsCohenMacaulay (isLocallyNoetherian_fiber_left f)) (d : ℕ)
(hd : ∀ x : X.left,
topologicalKrullDimAt (f.left.fiber (f.left x)) (f.left.asFiber x) = (d : WithBot ℕ∞))
{T : FTS S} (πY : Y ⟶ T) (πX : X ⟶ T) (hπ : f ≫ πY = πX)
(jY : CompactificationOf (Over.mk πY.left)) (jX : CompactificationOf (Over.mk πX.left))
(ωT : quasiCoherentDerivedCategory T.left) (hωT : IsDualizingComplex ωT.obj)
[ConnectedSpace Y.left] (hY : AlgebraicGeometry.IsCohenMacaulay Y.left) :
∃ m : ℤ,
(∀ i : ℤ, i ≠ m → IsZero ((DerivedCategory.homologyFunctor Y.left.Modules i).obj
((upperShriek πY jY).obj ωT).obj)) ∧
(∀ i : ℤ, i ≠ m - d → IsZero ((DerivedCategory.homologyFunctor X.left.Modules i).obj
((upperShriek πX jX).obj ωT).obj)) ∧
Nonempty ((DerivedCategory.homologyFunctor X.left.Modules (m - d)).obj
((upperShriek πX jX).obj ωT).obj ≅
((Stacks.SheafOfModules.Tensor.sheafTensor X.left.sheaf).obj
((Scheme.Modules.pullback f.left).obj
((DerivedCategory.homologyFunctor Y.left.Modules m).obj
((upperShriek πY jY).obj ωT).obj))).obj (relativeDualizingSheaf f j d))
Sources
Section48.24 Gorenstein schemes#
Section 48.24 of the Stacks Project, Tag 0AWV. 7 tags here are carried by 14 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AWV, the section
Tag 0AWV in the Stacks Project.
AlgebraicGeometry.isGorenstein_Spec_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/AffineCharacterization.lean, line 60. The attribute's comment: “the definition makes sense: for a Noetherian ring R, Spec R is a Gorenstein scheme if and only if R is a Gorenstein ring”.
The definition of a Gorenstein scheme agrees with that of a Gorenstein ring (Section 0AWV). For a Noetherian ring
R, the schemeSpec Ris Gorenstein if and only ifRis a Gorenstein ring, i.e. all of its local rings are Gorenstein.
theorem isGorenstein_Spec_iff (R : CommRingCat.{u}) [IsNoetherianRing R] :
IsGorenstein (Spec R) ↔ Dualizing.IsGorensteinRing R
Declarations registered for the tag:
AlgebraicGeometry.IsGorenstein, declared in the repository, registered withadd_to_stacksin StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/AffineCharacterization.lean, line 43 (StacksFrontier): “the definition of the section: a scheme is Gorenstein if it is locally Noetherian and all of its local rings are Gorenstein”.
Tag 0AWW, a definition
Tag 0AWW in the Stacks Project.
AlgebraicGeometry.IsGorenstein, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/Basic.lean, line 43.
A scheme is Gorenstein if it is locally Noetherian and all of its local rings are Gorenstein.
public class IsGorenstein (X : Scheme.{u}) : Prop extends IsLocallyNoetherian X
Tag 0C00, a lemma
Tag 0C00 in the Stacks Project.
AlgebraicGeometry.isCohenMacaulay_of_isGorenstein, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/CohenMacaulay.lean, line 37.
Stacks Project, Tag 0C00. Every Gorenstein scheme is Cohen–Macaulay.
public theorem isCohenMacaulay_of_isGorenstein (X : Scheme.{u}) [IsGorenstein X] :
IsCohenMacaulay X
Tag 0DWG, a lemma
Tag 0DWG in the Stacks Project.
AlgebraicGeometry.isGorenstein_of_isRegular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/Regular.lean, line 36.
Stacks Project, Tag 0DWG. Every regular scheme is Gorenstein.
public theorem isGorenstein_of_isRegular (X : Scheme.{u}) (hX : IsRegular X) :
IsGorenstein X
Tag 0BFQ, a lemma
Tag 0BFQ in the Stacks Project.
Stacks.Duality.isGorenstein_iff_isInvertible_dualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/DualizingInvertible.lean, line 214. The attribute's comment: “(1)(a): X is Gorenstein iff its dualizing complex is invertible in D(O_X)”.
Stacks Project, Tag 0BFQ, clause (1)(a). A locally Noetherian scheme
Xcarrying a dualizing complexω_X^•is Gorenstein if and only ifω_X^•is an invertible object ofD(𝒪_X).
public theorem isGorenstein_iff_isInvertible_dualizingComplex [IsLocallyNoetherian X]
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K) :
AlgebraicGeometry.IsGorenstein X ↔
letI := Scheme.Modules.derivedMonoidal X
MonoidalCategory.IsInvertible K
Stacks.Duality.isGorenstein_iff_hasInvertibleDualizingModelOn, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/InvertibleDualizing.lean, line 140. The attribute's comment: “(1)(a): Gorenstein iff the dualizing complex is locally a shift of the structure ring, read at the affine-local models”.
A locally Noetherian scheme carrying a dualizing complex is Gorenstein exactly when, at every affine open, that complex is the associated sheaf of a dualizing complex over the ring of sections which is locally a shifted unit — an invertible module in a single degree, locally on the affine open.
By [Stacks, Tag 0FNT] the condition on the model says that it is an invertible object of
D(Γ(X, U)); seeStacks.Duality.isGorenstein_iff_isInvertible_dualizingModel.
public theorem isGorenstein_iff_hasInvertibleDualizingModelOn (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) :
AlgebraicGeometry.IsGorenstein X ↔
∀ (U : X.Opens) (hU : IsAffineOpen U), HasInvertibleDualizingModelOn K U hU
Stacks.Duality.isGorenstein_iff_isInvertible_dualizingModel, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/InvertibleDualizing.lean, line 175. The attribute's comment: “(1)(a): Gorenstein iff the dualizing complex is an invertible object, read at the affine-local models”.
A locally Noetherian scheme carrying a dualizing complex is Gorenstein exactly when, at every affine open, that complex is the associated sheaf of a dualizing complex over the ring of sections which is an invertible object of its derived category, for the canonical derived tensor product of [Stacks, Tag 0FNQ].
This is
Stacks.Duality.isGorenstein_iff_hasInvertibleDualizingModelOnrewritten through [Stacks, Tag 0FNT].
public theorem isGorenstein_iff_isInvertible_dualizingModel (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) :
AlgebraicGeometry.IsGorenstein X ↔
∀ (U : X.Opens) (hU : IsAffineOpen U),
letI : IsNoetherianRing Γ(X, U) := IsLocallyNoetherian.component_noetherian ⟨U, hU⟩
letI := HasDerivedCategory.standard U.toScheme.Modules
letI := HasDerivedCategory.standard (ModuleCat.{u} Γ(X, U))
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, U)).choose
∃ ω : DerivedCategory (ModuleCat.{u} Γ(X, U)),
Dualizing.IsDualizingComplex ω ∧
MonoidalCategory.IsInvertible ω ∧
Nonempty ((Scheme.Modules.restrictFunctor U.ι).mapDerivedCategory.obj K ≅
(tilde.functor Γ(X, U) ⋙
Scheme.Modules.restrictFunctor hU.isoSpec.hom).mapDerivedCategory.obj ω)
Stacks.Duality.exists_isOpen_isGorenstein, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/Locus.lean, line 140. The attribute's comment: “(1)(c): the Gorenstein locus is an open Gorenstein subscheme”.
Stacks Project, Tag 0BFQ, clause (1)(c). On a locally Noetherian scheme carrying a dualizing complex,
U = {x ∈ X | 𝒪_{X,x} is Gorenstein}is open and, as an open subscheme, is a Gorenstein scheme.
public theorem exists_isOpen_isGorenstein (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) :
∃ hU : IsOpen {x : X | Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x)},
AlgebraicGeometry.IsGorenstein (Scheme.Opens.toScheme (X := X) ⟨_, hU⟩)
Stacks.Duality.isGorensteinLocalRing_stalk_iff_isInvertible_localizedDualizing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/StalkInvertibleDualizing.lean, line 88. The attribute's comment: “(1)(b): the local ring at a point is Gorenstein iff the dualizing complex localized at that point is invertible, read at the affine-local models”.
Let
Xbe a locally Noetherian scheme,Uan affine open andxa point ofU. For every dualizing complexωoverΓ(X, U), the local ring ofXatxis Gorenstein exactly when the derived localization ofωat the primexdefines is an invertible object of the derived category of that localization.
public theorem isGorensteinLocalRing_stalk_iff_isInvertible_localizedDualizing
{U : X.Opens} (hU : IsAffineOpen U) (x : U) :
letI : IsNoetherianRing Γ(X, U) := IsLocallyNoetherian.component_noetherian ⟨U, hU⟩
letI := HasDerivedCategory.standard (ModuleCat.{u} Γ(X, U))
letI : (hU.primeIdealOf x).asIdeal.IsPrime := (hU.primeIdealOf x).isPrime
letI := HasDerivedCategory.standard
(ModuleCat.{u} (Localization.AtPrime (hU.primeIdealOf x).asIdeal))
letI := Dualizing.derivedCategoryMonoidal.{u, u}
(Localization.AtPrime (hU.primeIdealOf x).asIdeal)
∀ ω : DerivedCategory (ModuleCat.{u} Γ(X, U)), Dualizing.IsDualizingComplex ω →
(Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x.1) ↔
MonoidalCategory.IsInvertible
((StacksDraft.PseudoCoherence.derivedExtensionScalars
(algebraMap Γ(X, U)
(Localization.AtPrime (hU.primeIdealOf x).asIdeal))).obj ω))
Stacks.Duality.isGorensteinLocalRing_stalk_iff_isInvertible_localizedDualizingModel, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/StalkInvertibleDualizing.lean, line 130. The attribute's comment: “(1)(b): the local ring at a point is Gorenstein iff the dualizing complex of the scheme, localized at that point, is invertible, read at the affine-local models”.
Let
Kbe a dualizing complex on a locally Noetherian schemeX, andxa point of an affine openU. The local ring ofXatxis Gorenstein exactly whenKhas a dualizing model onUwhose derived localization at the prime ofxis invertible.
public theorem isGorensteinLocalRing_stalk_iff_isInvertible_localizedDualizingModel
(K : DerivedCategory X.Modules) (hK : IsDualizingComplex K)
{U : X.Opens} (hU : IsAffineOpen U) (x : U) :
letI : IsNoetherianRing Γ(X, U) := IsLocallyNoetherian.component_noetherian ⟨U, hU⟩
letI := HasDerivedCategory.standard U.toScheme.Modules
letI := HasDerivedCategory.standard (ModuleCat.{u} Γ(X, U))
letI : (hU.primeIdealOf x).asIdeal.IsPrime := (hU.primeIdealOf x).isPrime
letI := HasDerivedCategory.standard
(ModuleCat.{u} (Localization.AtPrime (hU.primeIdealOf x).asIdeal))
letI := Dualizing.derivedCategoryMonoidal.{u, u}
(Localization.AtPrime (hU.primeIdealOf x).asIdeal)
Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x.1) ↔
∃ ω : DerivedCategory (ModuleCat.{u} Γ(X, U)),
Dualizing.IsDualizingComplex ω ∧
Nonempty ((Scheme.Modules.restrictFunctor U.ι).mapDerivedCategory.obj K ≅
(tilde.functor Γ(X, U) ⋙
Scheme.Modules.restrictFunctor hU.isoSpec.hom).mapDerivedCategory.obj ω) ∧
MonoidalCategory.IsInvertible
((StacksDraft.PseudoCoherence.derivedExtensionScalars
(algebraMap Γ(X, U)
(Localization.AtPrime (hU.primeIdealOf x).asIdeal))).obj ω)
Stacks.Duality.isGorensteinLocalRing_stalk_iff_isInvertible_derivedStalk, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/StalkwiseInvertible.lean, line 185. The attribute's comment: “(1)(b): the local ring at a point is Gorenstein iff the derived stalk of the dualizing complex is invertible”.
On a locally Noetherian scheme carrying a dualizing complex
K, the local ring atxis Gorenstein exactly when the derived stalkK_xis an invertible object ofD(𝒪_{X,x}).
public theorem isGorensteinLocalRing_stalk_iff_isInvertible_derivedStalk
[HasDerivedCategory.{u + 1} X.Modules] (K : DerivedCategory X.Modules)
(hK : IsDualizingComplex K) (x : X) :
letI := HasDerivedCategory.standard (ModuleCat.{u} (X.presheaf.stalk x))
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
(X.presheaf.stalk x)).choose
Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x) ↔
MonoidalCategory.IsInvertible ((AlgebraicGeometry.derivedStalkFunctor x).obj K)
Stacks.Duality.exists_isDualizingComplex_iff_unit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/StructureSheafDualizing.lean, line 84. The attribute's comment: “(2): a Gorenstein scheme has a dualizing complex iff its structure sheaf is one”.
A Gorenstein scheme has a dualizing complex if and only if its structure sheaf, placed in degree zero, is a dualizing complex.
public theorem exists_isDualizingComplex_iff_unit [AlgebraicGeometry.IsGorenstein X]
[HasDerivedCategory.{w} X.Modules] :
(∃ K : DerivedCategory X.Modules, IsDualizingComplex K) ↔
IsDualizingComplex ((DerivedCategory.singleFunctor X.Modules 0).obj
(SheafOfModules.unit X.ringCatSheaf))
Tag 0BVA, a lemma
Tag 0BVA in the Stacks Project.
AlgebraicGeometry.isGorenstein_of_isLocalCompleteIntersectionMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/LocalCompleteIntersection.lean, line 118.
A local complete intersection morphism whose target is a Gorenstein scheme has Gorenstein source.
public theorem isGorenstein_of_isLocalCompleteIntersectionMorphism {X Y : Scheme.{u}} (f : Y ⟶ X)
(hf : IsLocalCompleteIntersectionMorphism f) (hX : IsGorenstein X) : IsGorenstein Y
Tag 0C01, a lemma
Tag 0C01 in the Stacks Project.
AlgebraicGeometry.isGorenstein_isLocal_syntomic, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Descent/LocalProperties/Gorenstein.lean, line 71.
Stacks Project, Tag 0C01. Being Gorenstein is local for syntomic coverings.
instance isGorenstein_isLocal_syntomic :
ObjectProperty.IsLocal (fun X : Scheme.{u} => IsGorenstein X)
(Scheme.precoverage @Syntomic)
Sources
Section48.25 Gorenstein morphisms#
Section 48.25 of the Stacks Project, Tag 0C02. 12 tags here are carried by 29 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0C03, a lemma
Tag 0C03 in the Stacks Project.
AlgebraicGeometry.isGorensteinLocalRing_stalk_iff_of_essFiniteType_fieldExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/FieldExtension.lean, line 306. The attribute's comment: “finitely generated field extension”.
Stacks Project, Tag 0C03. Gorensteinness of local rings is unchanged after a finitely generated extension of the ground field of a locally Noetherian scheme.
public theorem isGorensteinLocalRing_stalk_iff_of_essFiniteType_fieldExtension
(k K : Type u) [Field k] [Field K] [Algebra k K] [Algebra.EssFiniteType k K]
(X : Scheme.{u}) (f : X ⟶ Spec (.of k)) [IsLocallyNoetherian X] (x : X)
(x' : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hx' : (pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K)))).base x' = x) :
letI : IsLocallyNoetherian
(pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}) :=
(AlgebraicGeometry.isLocallyNoetherian_baseChange_iff k K X f).mp inferInstance
Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x) ↔
Dualizing.IsGorensteinLocalRing
((pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk
x')
AlgebraicGeometry.isGorensteinLocalRing_stalk_iff_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinSchemes/FieldExtension.lean, line 389. The attribute's comment: “arbitrary field extension for a locally finite type scheme”.
Stacks Project, Tag 0C03. Gorensteinness of local rings is unchanged after an arbitrary extension of the ground field when the scheme is locally of finite type over that field.
public theorem isGorensteinLocalRing_stalk_iff_of_locallyOfFiniteType
(k K : Type u) [Field k] [Field K] [Algebra k K]
(X : Scheme.{u}) (f : X ⟶ Spec (.of k)) [LocallyOfFiniteType f] (x : X)
(x' : (pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}))
(hx' : (pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K)))).base x' = x) :
letI : IsLocallyNoetherian X := LocallyOfFiniteType.isLocallyNoetherian f
Dualizing.IsGorensteinLocalRing (X.presheaf.stalk x) ↔
Dualizing.IsGorensteinLocalRing
((pullback f (Spec.map (CommRingCat.ofHom (algebraMap k K))) : Scheme.{u}).presheaf.stalk
x')
Tag 0C04, a definition
Tag 0C04 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsGorensteinAt, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Basic.lean, line 38. The attribute's comment: “part (1)”.
A scheme morphism with locally Noetherian fibres is Gorenstein at
xif it is flat atxand the local ring of the fibre overf xis Gorenstein.
public abbrev IsGorensteinAt {X Y : Scheme.{u}} (f : X ⟶ Y)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (x : X) : Prop
AlgebraicGeometry.Scheme.Hom.IsGorenstein, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Basic.lean, line 48. The attribute's comment: “part (2)”.
A scheme morphism with locally Noetherian fibres is Gorenstein when it is Gorenstein at every point of the source.
public abbrev IsGorenstein {X Y : Scheme.{u}} (f : X ⟶ Y)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) : Prop
Tag 0C05, a lemma
Tag 0C05 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isGorenstein_iff_flat_and_isGorenstein_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Fibres.lean, line 70.
A morphism of schemes with locally Noetherian fibres is Gorenstein if and only if it is flat and all of its fibres are Gorenstein schemes.
public theorem isGorenstein_iff_flat_and_isGorenstein_fiber
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) :
IsGorenstein f hf ↔ Flat f ∧ ∀ y : Y, AlgebraicGeometry.IsGorenstein (f.fiber y)
Tag 0C06, a lemma
Tag 0C06 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isCohenMacaulay_of_isGorenstein, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/CohenMacaulay.lean, line 46.
Stacks Project, Tag 0C06. A Gorenstein morphism is Cohen--Macaulay.
public theorem isCohenMacaulay_of_isGorenstein
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (h : IsGorenstein f hf) :
IsCohenMacaulay f hf
Tag 0C15, a lemma
Tag 0C15 in the Stacks Project.
AlgebraicGeometry.isGorenstein_of_syntomic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Syntomic.lean, line 110. The attribute's comment: “a syntomic morphism is Gorenstein”.
Stacks 0C15. A syntomic morphism of schemes is a Gorenstein morphism.
public theorem isGorenstein_of_syntomic {X S : Scheme.{u}} (f : X ⟶ S) (hf : Syntomic f) :
f.IsGorenstein (isLocallyNoetherian_fiber_of_syntomic hf)
AlgebraicGeometry.isGorenstein_of_flat_of_isLocalCompleteIntersectionMorphism, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Syntomic.lean, line 120. The attribute's comment: “a flat local complete intersection morphism is Gorenstein”.
Stacks 0C15. A flat local complete intersection morphism of schemes is a Gorenstein morphism; this is the second formulation of the lemma, equivalent to the first by Stacks 069K.
public theorem isGorenstein_of_flat_of_isLocalCompleteIntersectionMorphism {X S : Scheme.{u}}
(f : X ⟶ S) (hflat : Flat f) (hlci : IsLocalCompleteIntersectionMorphism f) :
f.IsGorenstein (isLocallyNoetherian_fiber_of_syntomic
(syntomic_of_flat_of_isLocalCompleteIntersectionMorphism hflat hlci))
AlgebraicGeometry.syntomic_le_gorensteinWithLocallyNoetherianFibers, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/SyntomicMorphismProperty.lean, line 62. The attribute's comment: “a syntomic morphism is Gorenstein, as an inclusion of morphism properties”.
Stacks 0C15. A syntomic morphism of schemes is a Gorenstein morphism: the syntomic morphisms are contained in the morphism property of having locally Noetherian fibres and being Gorenstein.
public theorem syntomic_le_gorensteinWithLocallyNoetherianFibers :
(@Syntomic : MorphismProperty Scheme.{u}) ≤ gorensteinWithLocallyNoetherianFibers
AlgebraicGeometry.flat_inf_lci_le_gorensteinWithLocallyNoetherianFibers, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/SyntomicMorphismProperty.lean, line 71. The attribute's comment: “a flat lci morphism is Gorenstein, as an inclusion of morphism properties”.
Stacks 0C15. A flat local complete intersection morphism of schemes is a Gorenstein morphism: the meet of flatness and being a local complete intersection morphism is contained in the morphism property of having locally Noetherian fibres and being Gorenstein. This is the second formulation of the lemma, equivalent to the first by Stacks 069K.
public theorem flat_inf_lci_le_gorensteinWithLocallyNoetherianFibers :
(@Flat ⊓ @IsLocalCompleteIntersectionMorphism : MorphismProperty Scheme.{u}) ≤
gorensteinWithLocallyNoetherianFibers
Tag 0C11, a lemma
Tag 0C11 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 208. The attribute's comment: “part (1)”.
Gorensteinness at a point is preserved by composition.
public theorem isGorensteinAt_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z)) (x : X)
(hfx : IsGorensteinAt f hf x) (hgy : IsGorensteinAt g hg (f x)) :
IsGorensteinAt (f ≫ g) hfg x
AlgebraicGeometry.Scheme.Hom.isGorenstein_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 218. The attribute's comment: “part (2)”.
The composite of Gorenstein morphisms is Gorenstein.
public theorem isGorenstein_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z))
(hF : IsGorenstein f hf) (hG : IsGorenstein g hg) :
IsGorenstein (f ≫ g) hfg
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_left_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 229. The attribute's comment: “part (3), first morphism”.
If a composite is Gorenstein at a point and the first map is flat there, then the first map is Gorenstein at that point.
public theorem isGorensteinAt_left_of_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z)) (x : X)
(hcomp : IsGorensteinAt (f ≫ g) hfg x)
(hflat : IsFlatAt f.toLRSHom.toShHom x) :
IsGorensteinAt f hf x
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_right_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 241. The attribute's comment: “part (3), second morphism”.
If a composite is Gorenstein at a point and the first map is flat there, then the second map is Gorenstein at the image point.
public theorem isGorensteinAt_right_of_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z)) (x : X)
(hcomp : IsGorensteinAt (f ≫ g) hfg x)
(hflat : IsFlatAt f.toLRSHom.toShHom x) :
IsGorensteinAt g hg (f x)
AlgebraicGeometry.Scheme.Hom.isGorenstein_left_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 252. The attribute's comment: “part (4), first morphism”.
If the composite is Gorenstein and the first map is flat, the first map is Gorenstein.
public theorem isGorenstein_left_of_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z))
(hcomp : IsGorenstein (f ≫ g) hfg) (hflat : Flat f) :
IsGorenstein f hf
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_image_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Composition.lean, line 263. The attribute's comment: “part (4), second morphism on the image”.
If the composite is Gorenstein and the first map is flat, the second map is Gorenstein at each point in the image of the first.
public theorem isGorensteinAt_image_of_comp {X Y Z : Scheme.{u}} (f : X ⟶ Y) (g : Y ⟶ Z)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hg : ∀ z : Z, IsLocallyNoetherian (g.fiber z))
(hfg : ∀ z : Z, IsLocallyNoetherian ((f ≫ g).fiber z))
(hcomp : IsGorenstein (f ≫ g) hfg) (hflat : Flat f) (x : X) :
IsGorensteinAt g hg (f x)
Tag 0C12, a lemma
Tag 0C12 in the Stacks Project.
Stacks.Duality.isGorensteinLocalRing_stalk_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/Dualizing.lean, line 135. The attribute's comment: “Gorenstein local rings of the base”.
Stacks Project, Tag 0C12. The local ring of the base at any point in the image of a flat morphism of locally Noetherian schemes with Gorenstein source is Gorenstein.
The map of local rings
𝒪_{Y, f x} → 𝒪_{X, x}induced by a flat morphism is a flat local homomorphism of Noetherian local rings, soisGorensteinLocalRing_of_flatapplies.
theorem isGorensteinLocalRing_stalk_of_flat {X Y : Scheme.{u}} (f : X ⟶ Y)
[AlgebraicGeometry.IsGorenstein X] [IsLocallyNoetherian Y] [Flat f] (x : X) :
Dualizing.IsGorensteinLocalRing (Y.presheaf.stalk (f x))
Stacks.Duality.isGorenstein_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphismOfFlat.lean, line 85. The attribute's comment: “Gorenstein morphism”.
Stacks Project, Tag 0C12. A flat morphism of locally Noetherian schemes with Gorenstein source is a Gorenstein morphism.
The local Noetherianity of the fibres that
Scheme.Hom.IsGorensteinrequires is supplied here rather than assumed: it follows from local Noetherianity of the source.
theorem isGorenstein_of_flat {X Y : Scheme.{u}} (f : X ⟶ Y)
[AlgebraicGeometry.IsGorenstein X] [IsLocallyNoetherian Y] [Flat f] :
∃ hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y),
AlgebraicGeometry.Scheme.Hom.IsGorenstein f hf
Tag 0C07, a lemma
Tag 0C07 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/BaseChange.lean, line 298. The attribute's comment: “part (1)”.
Stacks Project, Tag 0C07 (1). Gorensteinness at a point is preserved under a base change locally of finite type.
public theorem isGorensteinAt_pullback {X Y Y' : Scheme.{u}}
(f : X ⟶ Y) (g : Y' ⟶ Y) [LocallyOfFiniteType g]
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (x' : (pullback f g : Scheme.{u}))
(h : IsGorensteinAt f hf ((pullback.fst f g).base x')) :
IsGorensteinAt (pullback.snd f g)
(fun y' => isLocallyNoetherian_fiber_pullback f g hf y') x'
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_of_pullback_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/BaseChange.lean, line 320. The attribute's comment: “part (2)”.
Stacks Project, Tag 0C07 (2). Gorensteinness descends from a base change locally of finite type when the original morphism is flat at the point in question.
public theorem isGorensteinAt_of_pullback_of_flat {X Y Y' : Scheme.{u}}
(f : X ⟶ Y) (g : Y' ⟶ Y) [LocallyOfFiniteType g]
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (x' : (pullback f g : Scheme.{u}))
(hflat : IsFlatAt f.toLRSHom.toShHom ((pullback.fst f g).base x'))
(h : IsGorensteinAt (pullback.snd f g)
(fun y' => isLocallyNoetherian_fiber_pullback f g hf y') x') :
IsGorensteinAt f hf ((pullback.fst f g).base x')
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_of_pullback_of_flat_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/BaseChange.lean, line 342. The attribute's comment: “part (3)”.
Stacks Project, Tag 0C07 (3). Gorensteinness descends from a base change locally of finite type that is flat at the image of the point in the new base.
public theorem isGorensteinAt_of_pullback_of_flat_base {X Y Y' : Scheme.{u}}
(f : X ⟶ Y) (g : Y' ⟶ Y) [LocallyOfFiniteType g]
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (x' : (pullback f g : Scheme.{u}))
(hflat : IsFlatAt g.toLRSHom.toShHom ((pullback.snd f g).base x'))
(h : IsGorensteinAt (pullback.snd f g)
(fun y' => isLocallyNoetherian_fiber_pullback f g hf y') x') :
IsGorensteinAt f hf ((pullback.fst f g).base x')
Tag 0E0Q, a lemma
Tag 0E0Q in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.setOf_isGorensteinAt_pullback_eq_preimage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/BaseChange.lean, line 457.
Stacks Project, Tag 0E0Q. Let
f : X ⟶ Ybe flat and locally of finite type, and letg : Y' ⟶ Ybe an arbitrary morphism. Then the set of points ofX ×_Y Y'at which the base change offalonggis Gorenstein is the inverse image, under the projection toX, of the set of points ofXat whichfis Gorenstein; that is, formation of the Gorenstein locus offcommutes with arbitrary base change.
public theorem setOf_isGorensteinAt_pullback_eq_preimage {X Y Y' : Scheme.{u}}
(f : X ⟶ Y) (g : Y' ⟶ Y) [Flat f] [LocallyOfFiniteType f]
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y))
(hf' : ∀ y' : Y', IsLocallyNoetherian ((pullback.snd f g).fiber y')) :
{x' : (pullback f g : Scheme.{u}) | IsGorensteinAt (pullback.snd f g) hf' x'} =
(pullback.fst f g).base ⁻¹' {x : X | IsGorensteinAt f hf x}
AlgebraicGeometry.Scheme.Hom.setOf_isGorensteinAt_pullback_eq_preimage_of_locallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/BaseChangeLocus.lean, line 55.
Let
f : X ⟶ Ybe flat and locally of finite type and letg : Y' ⟶ Ybe an arbitrary morphism of schemes. Then the set of points ofX ×_Y Y'at which the base change offalonggis Gorenstein is the inverse image, under the projection toX, of the set of points ofXat whichfis Gorenstein: formation of the Gorenstein locus offcommutes with arbitrary base change. The locally Noetherian fibres that the Gorenstein-at-a-point predicate needs as data are theorems here, so nothing is assumed beyond flatness offand its being locally of finite type.
public theorem setOf_isGorensteinAt_pullback_eq_preimage_of_locallyOfFiniteType
{X Y Y' : Scheme.{u}} (f : X ⟶ Y) (g : Y' ⟶ Y) [Flat f] [LocallyOfFiniteType f] :
{x' : (pullback f g : Scheme.{u}) |
IsGorensteinAt (pullback.snd f g)
(fun y' => LocallyOfFiniteType.isLocallyNoetherian
((pullback.snd f g).fiberToSpecResidueField y')) x'} =
(pullback.fst f g).base ⁻¹'
{x : X |
IsGorensteinAt f
(fun y => LocallyOfFiniteType.isLocallyNoetherian
(f.fiberToSpecResidueField y)) x}
Tag 0C08, a lemma
Tag 0C08 in the Stacks Project.
Stacks.Duality.isGorensteinAt_iff_isGorensteinFiberStalkAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/FibreStalkCriterion.lean, line 52. The attribute's comment: “proof chain (1) ↔ (2); (2)↔…↔(6) needs 0A9Y, 0BZZ, 0BFQ invertibility”.
Stacks Project, Tag 0C08, the first equivalence of its proof. A flat morphism with locally Noetherian fibres is Gorenstein at a point exactly when the local ring of its fibre through that point is Gorenstein.
theorem isGorensteinAt_iff_isGorensteinFiberStalkAt (f : X ⟶ Y)
(hf : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) [Flat f] (x : X) :
f.IsGorensteinAt hf x ↔ IsGorensteinFiberStalkAt f hf x
Stacks.Duality.isGorensteinAt_iff_exists_isInvertible_upperShriek, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekChartConsequences.lean, line 54.
Let
Sbe Noetherian,f : X ⟶ Ya flat morphism ofFTS Sandx ∈ X. Thenfis Gorenstein atxif and only iff^!𝒪_Yis isomorphic to an invertible object in a neighbourhood ofx. In particular the set of points wherefis Gorenstein is open inX. Heref^!is computed at any compactificationj.
theorem isGorensteinAt_iff_exists_isInvertible_upperShriek [Flat f.left] :
(∀ x : X.left, f.left.IsGorensteinAt (isLocallyNoetherian_fiber_left f) x ↔
∃ W : X.left.Opens, x ∈ W ∧
letI := Scheme.Modules.derivedMonoidal W.toScheme
MonoidalCategory.IsInvertible
((Scheme.Modules.restrictFunctor W.ι).mapDerivedCategory.obj
(relativeDualizingComplexObj f j))) ∧
IsOpen {x : X.left | f.left.IsGorensteinAt (isLocallyNoetherian_fiber_left f) x}
Tag 0C09, a lemma
Tag 0C09 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isGorensteinAt_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/AffineSpace.lean, line 72. The attribute's comment: “the equivalence of (1), (2), (3) and (4)”.
Stacks Project, Tag 0C09. Let
f : X ⟶ Sbe flat and locally of finite presentation, letx ∈ Xand letd = dim_x(X_{f x}). The following are equivalent: 1.fis Gorenstein atx; 2. there are an open neighbourhoodUofxand a locally quasi-finite morphismU ⟶ 𝔸ᵈ_SoverSwhich is Gorenstein atx; 3. there are an open neighbourhoodUofxand a locally quasi-finite Gorenstein morphismU ⟶ 𝔸ᵈ_SoverS; 4. everyS-morphismg : U ⟶ 𝔸ᵈ_Sfrom an open neighbourhoodUofxwhich is quasi-finite atxis Gorenstein atx.
theorem isGorensteinAt_tfae {X S : Scheme.{u}} (f : X ⟶ S) [Flat f]
[LocallyOfFinitePresentation f] (x : X) (d : ℕ)
(hd : topologicalKrullDimAt (f.fiber (f x)) (f.asFiber x) = (d : WithBot ℕ∞)) :
List.TFAE [
f.IsGorensteinAt (isLocallyNoetherian_fiber_of_locallyOfFinitePresentation f) x,
∃ (U : X.Opens) (hx : x ∈ U) (g : U.toScheme ⟶ AffineSpace (ULift.{u} (Fin d)) S)
(hg : g ≫ (AffineSpace (ULift.{u} (Fin d)) S ↘ S) = U.ι ≫ f),
(LocallyOfFiniteType g ∧ LocallyQuasiFinite g) ∧
g.IsGorensteinAt (isLocallyNoetherian_fiber_of_comp_eq hg) ⟨x, hx⟩,
∃ (U : X.Opens) (_ : x ∈ U) (g : U.toScheme ⟶ AffineSpace (ULift.{u} (Fin d)) S)
(hg : g ≫ (AffineSpace (ULift.{u} (Fin d)) S ↘ S) = U.ι ≫ f),
(LocallyOfFiniteType g ∧ LocallyQuasiFinite g) ∧
g.IsGorenstein (isLocallyNoetherian_fiber_of_comp_eq hg),
∀ (U : X.Opens) (hx : x ∈ U) (g : U.toScheme ⟶ AffineSpace (ULift.{u} (Fin d)) S)
(hg : g ≫ (AffineSpace (ULift.{u} (Fin d)) S ↘ S) = U.ι ≫ f),
AlgebraicGeometry.quasiFiniteAt g ⟨x, hx⟩ →
g.IsGorensteinAt (isLocallyNoetherian_fiber_of_comp_eq hg) ⟨x, hx⟩]
AlgebraicGeometry.Scheme.Hom.isOpen_setOf_isGorensteinAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/OpenLocus.lean, line 279. The attribute's comment: “the set of points where f is Gorenstein is open in X”.
Stacks Project, Tag 0C09, last assertion. For a flat morphism of schemes
f : X ⟶ Slocally of finite presentation, the set of points ofXat whichfis Gorenstein is open.
theorem isOpen_setOf_isGorensteinAt {X S : Scheme.{u}} (f : X ⟶ S) [Flat f]
[LocallyOfFinitePresentation f] :
IsOpen {x : X | IsGorensteinAt f
(isLocallyNoetherian_fiber_of_locallyOfFinitePresentation f) x}
Tag 0C0A, a lemma
Tag 0C0A in the Stacks Project.
AlgebraicGeometry.gorensteinWithLocallyNoetherianFibers_isLocalAtTarget_fppf, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Locality.lean, line 130. The attribute's comment: “local in the fppf topology on the target”.
Stacks Project, Tag 0C0A. Having locally Noetherian fibres and being Gorenstein is local on the target for the fppf topology.
public instance gorensteinWithLocallyNoetherianFibers_isLocalAtTarget_fppf :
(gorensteinWithLocallyNoetherianFibers : MorphismProperty Scheme.{u}).IsLocalAtTarget
Scheme.fppfPrecoverage
AlgebraicGeometry.gorensteinWithLocallyNoetherianFibers_isLocalAtSource_syntomic, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/GorensteinMorphisms/Locality.lean, line 188. The attribute's comment: “local in the syntomic topology on the source”.
Stacks Project, Tag 0C0A. Having locally Noetherian fibres and being Gorenstein is local on the source for the syntomic topology.
public instance gorensteinWithLocallyNoetherianFibers_isLocalAtSource_syntomic :
(gorensteinWithLocallyNoetherianFibers : MorphismProperty Scheme.{u}).IsLocalAtSource
(Scheme.precoverage (@Syntomic : MorphismProperty Scheme.{u}))
Sources
Section48.26 More on dualizing complexes#
Section 48.26 of the Stacks Project, Tag 0E4M. 1 tag here is carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E4N, a lemma
Tag 0E4N in the Stacks Project.
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_syntomic_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexPullbackCriterion.lean, line 103. The attribute's comment: “case (1): f syntomic and surjective”.
Stacks Project, Tag 0E4N, case (1). Let
f : X ⟶ Ybe a syntomic surjective morphism of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.
theorem isDualizingComplex_iff_derivedPullback_of_syntomic_of_surjective [IsLocallyNoetherian X]
[IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] (hf : Syntomic f)
(K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback
f.toLRSHom.toShHom).obj K)
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_flat_lci_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexPullbackCriterion.lean, line 123. The attribute's comment: “case (2): f a surjective flat local complete intersection morphism”.
Stacks Project, Tag 0E4N, case (2). Let
f : X ⟶ Ybe a surjective flat local complete intersection morphism of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.A flat local complete intersection morphism is syntomic ([Stacks, Tag 069K]), so this is case (1).
theorem isDualizingComplex_iff_derivedPullback_of_flat_lci_of_surjective [IsLocallyNoetherian X]
[IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] [Flat f]
(hlci : IsLocalCompleteIntersectionMorphism f) (K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback
f.toLRSHom.toShHom).obj K)
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_isGorenstein_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexPullbackCriterion.lean, line 142. The attribute's comment: “case (3): f a surjective Gorenstein morphism of finite type”.
Stacks Project, Tag 0E4N, case (3). Let
f : X ⟶ Ybe a surjective Gorenstein morphism of finite type of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.At an affine pair
V ⊆ f⁻¹(U)on whichfis still surjective,f.appLE U Vis faithfully flat of finite type with Gorenstein fibre rings (Scheme.Hom.isGorensteinRing_fiber_appLE), and the ring-level statement is [Stacks, Tag 0E4D] case (3).
theorem isDualizingComplex_iff_derivedPullback_of_isGorenstein_of_surjective
[IsLocallyNoetherian X] [IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] [QuasiCompact f]
[LocallyOfFiniteType f]
(hGor : Scheme.Hom.IsGorenstein f (isLocallyNoetherian_fiber_of_locallyOfFiniteType f))
(K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback
f.toLRSHom.toShHom).obj K)
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_syntomic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexSyntomicDescent.lean, line 501. The attribute's comment: “variant: case (1) with a polynomial presentation p, the invertibility hInv and the tensor formula hTensor at each affine pair as explicit parameters; the tag is Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_syntomic_of_surjective”.
Stacks Project, Tag 0E4N, case (1). Let
f : X ⟶ Ybe a syntomic surjection of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.Over an affine open
U ⊆ Yand an affine openV ⊆ f⁻¹(U)on whichfis still surjective the condition becomes the ring-level statement [Stacks, Tag 0E4D] forf.appLE U V, which is syntomic and surjective on spectra; the two sides are compared by the affine comparison square of [Stacks, Tag 08DW] and the globalisation is [Stacks, Tag 0A86].
theorem isDualizingComplex_iff_derivedPullback_of_syntomic [IsLocallyNoetherian X]
[IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] (hf : Syntomic f)
(p : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1),
Dualizing.PolynomialPresentation (f.appLE U.1 V.1 hVU).hom)
(hInv : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1),
letI : IsNoetherianRing Γ(Y, U.1) := IsLocallyNoetherian.component_noetherian U
letI : IsNoetherianRing Γ(X, V.1) := IsLocallyNoetherian.component_noetherian V
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, V.1)).choose
MonoidalCategory.IsInvertible (Dualizing.relativeDualizingUnit (p U V hVU)))
(hTensor : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1)
(M : DerivedCategory (ModuleCat.{u} Γ(Y, U.1))),
letI : IsNoetherianRing Γ(Y, U.1) := IsLocallyNoetherian.component_noetherian U
letI : IsNoetherianRing Γ(X, V.1) := IsLocallyNoetherian.component_noetherian V
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, V.1)).choose
Nonempty ((p U V hVU).upperShriekFunctor.{u, u}.obj M ≅
((derivedExtensionScalarsGeneral.{u, u, u}
(f.appLE U.1 V.1 hVU).hom).functor.obj M) ⊗
Dualizing.relativeDualizingUnit (p U V hVU)))
(K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex ((derivedPullback f.toLRSHom.toShHom).obj K)
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_flat_lci, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexSyntomicDescent.lean, line 549. The attribute's comment: “variant: case (2) with a polynomial presentation p, the invertibility hInv and the tensor formula hTensor at each affine pair as explicit parameters; the tag is Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_flat_lci_of_surjective”.
Stacks Project, Tag 0E4N, case (2). Let
f : X ⟶ Ybe a surjective flat local complete intersection morphism of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.A flat local complete intersection morphism is syntomic by [Stacks, Tag 069K], so this is case (1).
theorem isDualizingComplex_iff_derivedPullback_of_flat_lci [IsLocallyNoetherian X]
[IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] [Flat f]
(hlci : IsLocalCompleteIntersectionMorphism f)
(p : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1),
Dualizing.PolynomialPresentation (f.appLE U.1 V.1 hVU).hom)
(hInv : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1),
letI : IsNoetherianRing Γ(Y, U.1) := IsLocallyNoetherian.component_noetherian U
letI : IsNoetherianRing Γ(X, V.1) := IsLocallyNoetherian.component_noetherian V
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, V.1)).choose
MonoidalCategory.IsInvertible (Dualizing.relativeDualizingUnit (p U V hVU)))
(hTensor : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1)
(M : DerivedCategory (ModuleCat.{u} Γ(Y, U.1))),
letI : IsNoetherianRing Γ(Y, U.1) := IsLocallyNoetherian.component_noetherian U
letI : IsNoetherianRing Γ(X, V.1) := IsLocallyNoetherian.component_noetherian V
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, V.1)).choose
Nonempty ((p U V hVU).upperShriekFunctor.{u, u}.obj M ≅
((derivedExtensionScalarsGeneral.{u, u, u}
(f.appLE U.1 V.1 hVU).hom).functor.obj M) ⊗
Dualizing.relativeDualizingUnit (p U V hVU)))
(K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex ((derivedPullback f.toLRSHom.toShHom).obj K)
Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_gorenstein, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizing/DualizingComplexSyntomicDescent.lean, line 589. The attribute's comment: “variant: case (3) with a polynomial presentation p, the fibre-ring Gorenstein property hGorRing and the tensor formula hTensor at each affine pair as explicit parameters; the tag is Stacks.Duality.isDualizingComplex_iff_derivedPullback_of_isGorenstein_of_surjective”.
Stacks Project, Tag 0E4N, case (3). Let
f : X ⟶ Ybe a surjective Gorenstein morphism of finite type of locally Noetherian schemes and letKbe an object ofD_QCoh(𝒪_Y). ThenKis a dualizing complex onYif and only ifLf^*Kis a dualizing complex onX.A Gorenstein morphism is flat, and of finite type over a locally Noetherian target it is of finite presentation, so the reduction to affine pairs of case (1) applies verbatim; at an affine pair the ring-level statement is [Stacks, Tag 0E4D] case (3).
theorem isDualizingComplex_iff_derivedPullback_of_gorenstein [IsLocallyNoetherian X]
[IsLocallyNoetherian Y] (f : X ⟶ Y) [Surjective f] [QuasiCompact f] [LocallyOfFiniteType f]
(hF : ∀ y : Y, IsLocallyNoetherian (f.fiber y)) (hGor : Scheme.Hom.IsGorenstein f hF)
(p : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1),
letI : Algebra Γ(Y, U.1) Γ(X, V.1) := (f.appLE U.1 V.1 hVU).hom.toAlgebra
Dualizing.PolynomialPresentation (algebraMap Γ(Y, U.1) Γ(X, V.1)))
(hGorRing : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1)
(q : Ideal Γ(Y, U.1)) [q.IsPrime],
letI : Algebra Γ(Y, U.1) Γ(X, V.1) := (f.appLE U.1 V.1 hVU).hom.toAlgebra
letI := Dualizing.isNoetherianRing_baseChange q.ResidueField (p U V hVU)
Dualizing.IsGorensteinRing (q.Fiber Γ(X, V.1)))
(hTensor : ∀ (U : Y.affineOpens) (V : X.affineOpens) (hVU : V.1 ≤ f ⁻¹ᵁ U.1)
(M : DerivedCategory (ModuleCat.{u} Γ(Y, U.1))),
letI : IsNoetherianRing Γ(Y, U.1) := IsLocallyNoetherian.component_noetherian U
letI : IsNoetherianRing Γ(X, V.1) := IsLocallyNoetherian.component_noetherian V
letI : Algebra Γ(Y, U.1) Γ(X, V.1) := (f.appLE U.1 V.1 hVU).hom.toAlgebra
letI := (DerivedCategory.Invertible.derivedCategory_symmetricMonoidalCategory
Γ(X, V.1)).choose
Nonempty ((p U V hVU).upperShriekFunctor.{u, u}.obj M ≅
((derivedExtensionScalarsGeneral.{u, u, u}
(algebraMap Γ(Y, U.1) Γ(X, V.1))).functor.obj M) ⊗
Dualizing.relativeDualizingUnit (p U V hVU)))
(K : DerivedCategory Y.Modules)
(hK : ∀ i : ℤ, ((DerivedCategory.homologyFunctor Y.Modules i).obj K).IsQuasicoherent) :
IsDualizingComplex K ↔
IsDualizingComplex ((derivedPullback f.toLRSHom.toShHom).obj K)
Sources
Section48.27 Duality for proper schemes over fields#
Section 48.27 of the Stacks Project, Tag 0FVU. 7 tags here are carried by 36 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FVV, a lemma
Tag 0FVV in the Stacks Project.
Stacks.Duality.dualityEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/Duality.lean, line 364. The attribute's comment: “part (5): the isomorphisms Ext^i_X(K, ω_X) = Hom_k(H^{-i}(X, K), k)”.
The duality isomorphisms. Let
Xbe a proper scheme over a fieldkandω_X^• = a(𝒪_{Spec k})its relative dualizing complex. ForKinD_QCoh(𝒪_X)and everyithere is ak-linear isomorphismExt^i_X(K, ω_X^•) ≅ Hom_k(H^{-i}(X, K), k), sendingαtot ∘ H^{-i}(X, α)witht : H⁰(X, ω_X^•) ⟶ kthe trace (Stacks.Duality.traceOverField); it is natural inK(Stacks.Duality.dualityEquiv_comp) and compatible with shifts and distinguished triangles (Stacks.Duality.dualityEquiv_shiftedHomComp,Stacks.Duality.dualityEquiv_triangle).
def dualityEquiv (K : quasiCoherentDerivedCategory X) (i : ℤ) :
letI := Scheme.linearOver f
DerivedCategory.Ext K.obj (ωX).obj i ≃ₗ[k]
((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj K.obj) →ₗ[k] k)
Stacks.Duality.dualityEquiv_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/Duality.lean, line 386. The attribute's comment: “part (5): the isomorphisms are functorial in K”.
Part (5) of [Stacks, Tag 0FVV], functoriality. The duality isomorphisms are natural in
K: forg : K ⟶ LinD(𝒪_X)andα ∈ Ext^i_X(L, ω_X^•), the linear form attached tog ≫ αis the one attached toαprecomposed withH^{-i}(X, g).
theorem dualityEquiv_comp (K L : quasiCoherentDerivedCategory X) (i : ℤ) (g : K.obj ⟶ L.obj)
(α : DerivedCategory.Ext L.obj (ωX).obj i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj K.obj)) :
letI := Scheme.linearOver f
dualityEquiv f K i (g ≫ α) x =
dualityEquiv f L i α
((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).map
((derivedGlobalSectionsOver f).map g) x)
Stacks.Duality.dualityEquiv_shiftedHomComp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/Duality.lean, line 406. The attribute's comment: “part (5): compatibility with shifts and distinguished triangles”.
Part (5) of [Stacks, Tag 0FVV], compatibility with shifted morphisms. For
β ∈ Ext^j_X(L, K)andα ∈ Ext^i_X(K, ω_X^•), the linear form onH^{-(i+j)}(X, L)attached to the productβ.comp α ∈ Ext^{i+j}_X(L, ω_X^•)is the one attached toαprecomposed with the mapH^{-(i+j)}(X, L) ⟶ H^{-i}(X, K)induced byβ. Taking forβthe identity ofK⟦n⟧gives compatibility with shifts (Stacks.Duality.dualityLinearMap_shift), and taking forβthe third morphism of a distinguished triangle gives compatibility with its connecting maps (Stacks.Duality.dualityLinearMap_triangle).
theorem dualityEquiv_shiftedHomComp (K L : quasiCoherentDerivedCategory X) {i j c : ℤ}
(β : DerivedCategory.Ext L.obj K.obj j) (α : DerivedCategory.Ext K.obj (ωX).obj i)
(h : i + j = c)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-c)).obj
((derivedGlobalSectionsOver f).obj L.obj)) :
letI := Scheme.linearOver f
dualityEquiv f L c (β.comp α h) x =
dualityEquiv f K i α ((HX).shiftMap β (-c) (-i) (by omega) x)
Stacks.Duality.dualityLinearMap_shift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/Duality.lean, line 423. The attribute's comment: “part (5): compatibility with shifts”.
Compatibility of the duality map with shifts. Under
Ext^\{i+n}\_X(K⟦n⟧, ω\_X^•) = Ext^i\_X(K, ω\_X^•)(composition with the identity ofK⟦n⟧, an element ofExt^n\_X(K⟦n⟧, K)) and the canonical isomorphismH^{-(i+n)}(X, K⟦n⟧) ≅ H^{-i}(X, K), the duality maps ofK⟦n⟧and ofKagree.
theorem dualityLinearMap_shift (K : DerivedCategory X.Modules) (i n : ℤ)
(α : DerivedCategory.Ext K (ωX).obj i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-(i + n))).obj
((derivedGlobalSectionsOver f).obj (K⟦n⟧))) :
letI := Scheme.linearOver f
dualityLinearMap f (K⟦n⟧) (i + n)
(ShiftedHom.comp (𝟙 (K⟦n⟧)) α rfl) x =
dualityLinearMap f K i α
(((HX).shiftIso n (-(i + n)) (-i) (by omega)).hom.app K x)
Stacks.Duality.dualityLinearMap_triangle, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/Duality.lean, line 441. The attribute's comment: “part (5): compatibility with distinguished triangles”.
Compatibility of the duality map with distinguished triangles. For a triangle
K ⟶ L ⟶ M ⟶ K⟦1⟧ofD(𝒪_X), the duality maps intertwine composition with its third morphism,Ext^i_X(K, ω_X^•) ⟶ Ext^{i+1}_X(M, ω_X^•), and the connecting morphismH^{-(i+1)}(X, M) ⟶ H^{-i}(X, K)of the long exact cohomology sequence.
theorem dualityLinearMap_triangle (T : Pretriangulated.Triangle (DerivedCategory X.Modules))
(i : ℤ) (α : DerivedCategory.Ext T.obj₁ (ωX).obj i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-(i + 1))).obj
((derivedGlobalSectionsOver f).obj T.obj₃)) :
letI := Scheme.linearOver f
dualityLinearMap f T.obj₃ (i + 1)
(ShiftedHom.comp (T.mor₃ : DerivedCategory.Ext T.obj₃ T.obj₁ 1) α rfl) x =
dualityLinearMap f T.obj₁ i α
((HX).homologySequenceδ T (-(i + 1)) (-i) (by omega) x)
Stacks.Duality.isDualizingComplex_relativeDualizingComplex_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 75. The attribute's comment: “existence: ω_X^• = a(O_{Spec k}) is a dualizing complex”.
[Stacks, Tag 0FVV], existence. For
Xproper over a fieldk, the complexω_X^• = a(𝒪_{Spec k})is a dualizing complex onX.
theorem isDualizingComplex_relativeDualizingComplex_of_isProper :
letI := LocallyOfFiniteType.isLocallyNoetherian f
IsDualizingComplex (relativeDualizingComplex f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj
Stacks.Duality.le_zero_and_le_dim_of_not_isZero_homology_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 85. The attribute's comment: “part (1): H^i(ω_X^•) is nonzero only for i ∈ [-dim X, 0]”.
[Stacks, Tag 0FVV], part (1).
H^i(ω_X^•)is nonzero only fori ∈ [-dim X, 0].
theorem le_zero_and_le_dim_of_not_isZero_homology_of_isProper (i : ℤ)
(hi : ¬ Limits.IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj)) :
i ≤ 0 ∧ (((-i).toNat : ℕ) : WithBot ℕ∞) ≤ topologicalKrullDim X
Stacks.Duality.relativeDualizingModule_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 97. The attribute's comment: “part (2): ω_X is a coherent (S₂)-module supported on the components of dimension dim X”.
[Stacks, Tag 0FVV], part (2).
ω_X = H^{-dim X}(ω_X^•)is a coherent module with property(S₂)whose support is the union of the irreducible components of dimensiondim X.
theorem relativeDualizingModule_of_isProper :
(relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).IsCoherent ∧
SheafHasPropertySk X (relativeDualizingModule f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))) 2 ∧
_root_.SheafOfModules.supp (relativeDualizingModule f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))) =
⋃₀ {C ∈ irreducibleComponents X | topologicalKrullDim C = topologicalKrullDim X}
Stacks.Duality.topologicalKrullDim_supp_homology_le_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 113. The attribute's comment: “part (3): dim Supp H^i(ω_X^•) ≤ -i”.
[Stacks, Tag 0FVV], part (3). The support of
H^i(ω_X^•)has dimension at most-i(and is empty fori > 0).
theorem topologicalKrullDim_supp_homology_le_of_isProper (i : ℤ) :
topologicalKrullDim (_root_.SheafOfModules.supp
((DerivedCategory.homologyFunctor X.Modules i).obj
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj)) ≤
if i ≤ 0 then (((-i).toNat : ℕ) : WithBot ℕ∞) else ⊥
Stacks.Duality.exists_nontrivial_stalk_homology_iff_depth_le_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 126. The attribute's comment: “part (4): H^i(ω_{X,x}^•) ⊕ … ⊕ H^0(ω_{X,x}^•) ≠ 0 iff depth(O_{X,x}) ≤ -i, at closed points”.
[Stacks, Tag 0FVV], part (4). For
x ∈ Xclosed, one ofH^i(ω_{X,x}^•), …,H^0(ω_{X,x}^•)is nonzero if and only ifdepth(𝒪_{X,x}) ≤ -i.
theorem exists_nontrivial_stalk_homology_iff_depth_le_of_isProper {x : X}
(hx : IsClosed ({x} : Set X)) (i : ℤ) :
(∃ j : ℤ, i ≤ j ∧ j ≤ 0 ∧ Nontrivial (moduleStalkAtPoint
((DerivedCategory.homologyFunctor X.Modules j).obj
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj) x)) ↔
i ≤ 0 ∧ Module.depth (X.presheaf.stalk x) (IsLocalRing.maximalIdeal (X.presheaf.stalk x))
(X.presheaf.stalk x) ≤ ((-i).toNat : ℕ∞)
Stacks.Duality.dualizingModuleHomEquivOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 150. The attribute's comment: “part (6): Hom(F, ω_X) = Hom_k(H^{dim X}(X, F), k) for F quasi-coherent”.
[Stacks, Tag 0FVV], part (6). For
Fquasi-coherent onXthere is ak-linear isomorphismHom_X(F, ω_X) ≅ Hom_k(H^{dim X}(X, F), k), natural inF(Stacks.Duality.dualizingModuleHomEquivOfIsProper_comp).
def dualizingModuleHomEquivOfIsProper (F : X.Modules) [F.IsQuasicoherent] :
letI := Scheme.linearOver f
(F ⟶ relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (CommRingCat.of k)))) ≃ₗ[k]
(cohomologyOverField k f F (ENat.toNat ((topologicalKrullDim X).getD 0)) →ₗ[k] k)
Stacks.Duality.dualizingModuleHomEquivOfIsProper_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplex.lean, line 160. The attribute's comment: “part (6): the isomorphisms are functorial in F”.
[Stacks, Tag 0FVV], part (6), functoriality. The isomorphisms of part (6) are natural in the quasi-coherent module
F.
theorem dualizingModuleHomEquivOfIsProper_comp {F G : X.Modules} [F.IsQuasicoherent]
[G.IsQuasicoherent] (φ : F ⟶ G)
(v : G ⟶ relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (CommRingCat.of k))))
(x : cohomologyOverField k f F (ENat.toNat ((topologicalKrullDim X).getD 0))) :
letI := Scheme.linearOver f
dualizingModuleHomEquivOfIsProper f F (φ ≫ v) x =
dualizingModuleHomEquivOfIsProper f G v
((cohomologyOverFieldFunctor k f (ENat.toNat ((topologicalKrullDim X).getD 0))).map
φ x)
Stacks.Duality.boundedCoherent_relativeDualizingComplex_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplexCharacterization.lean, line 57. The attribute's comment: “footnote to part (5): ω_X^• is in D^b_Coh(O_X)”.
[Stacks, Tag 0FVV], footnote to part (5):
ω_X^•lies inD^b_Coh(𝒪_X). Its cohomology sheaves are coherent ([Stacks, Tag 0A89]) and vanish outside[-dim X, 0](part (1)).
theorem boundedCoherent_relativeDualizingComplex_of_isProper :
DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X)
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj
Stacks.Duality.existsUnique_iso_relativeDualizingComplex_of_quasiCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplexCharacterization.lean, line 127. The attribute's comment: “footnote to part (5): the isomorphisms characterize ω_X^• in D_QCoh(O_X) up to unique isomorphism”.
[Stacks, Tag 0FVV], footnote to part (5): the duality isomorphisms characterize
ω_X^•inD_QCoh(𝒪_X)up to unique isomorphism. Ifω ∈ D_QCoh(𝒪_X)has bijectionsHom(K, ω) ≃ Hom_k(H⁰(X, K), k)natural inK ∈ D_QCoh(𝒪_X), then exactly one isomorphismω ≅ ω_X^•carries them to the duality isomorphisms ofω_X^•(degree zero of part (5)).
theorem existsUnique_iso_relativeDualizingComplex_of_quasiCoherent
(ω : quasiCoherentDerivedCategory X)
(φ : ∀ K : quasiCoherentDerivedCategory X, (K.obj ⟶ ω.obj) ≃
((DerivedCategory.homologyFunctor (ModuleCat k) 0).obj
((derivedGlobalSectionsOver f).obj K.obj) ⟶ ModuleCat.of k k))
(hφ : ∀ {K L : quasiCoherentDerivedCategory X} (g : K.obj ⟶ L.obj) (α : L.obj ⟶ ω.obj),
φ K (g ≫ α) =
(DerivedCategory.homologyFunctor (ModuleCat k) 0).map
((derivedGlobalSectionsOver f).map g) ≫ φ L α) :
∃! e : ω.obj ≅ (relativeDualizingComplex f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj,
∀ (K : quasiCoherentDerivedCategory X) (α : K.obj ⟶ ω.obj),
(DerivedCategory.homologyFunctor (ModuleCat k) 0).map
((derivedGlobalSectionsOver f).map (α ≫ e.hom)) ≫ traceOverField f = φ K α
Stacks.Duality.existsUnique_iso_relativeDualizingComplex_of_boundedCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/DualizingComplexCharacterization.lean, line 156. The attribute's comment: “footnote to part (5): ω_X^• is characterized by the isomorphisms for K in D^b_Coh(O_X)”.
[Stacks, Tag 0FVV], footnote to part (5): it suffices to consider
K ∈ D^b_Coh(𝒪_X). Ifω ∈ D^b_Coh(𝒪_X)has bijectionsHom(K, ω) ≃ Hom_k(H⁰(X, K), k)natural inK ∈ D^b_Coh(𝒪_X), then exactly one isomorphismω ≅ ω_X^•carries them to the duality isomorphisms ofω_X^•; this uses thatω_X^•lies inD^b_Coh(𝒪_X)(Stacks.Duality.boundedCoherent_relativeDualizingComplex_of_isProper).
theorem existsUnique_iso_relativeDualizingComplex_of_boundedCoherent
(ω : DerivedCategory X.Modules)
(hω : DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X) ω)
(φ : ∀ K : DerivedCategory X.Modules,
DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X) K →
((K ⟶ ω) ≃ ((DerivedCategory.homologyFunctor (ModuleCat k) 0).obj
((derivedGlobalSectionsOver f).obj K) ⟶ ModuleCat.of k k)))
(hφ : ∀ {K L : DerivedCategory X.Modules}
(hK : DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X) K)
(hL : DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X) L)
(g : K ⟶ L) (α : L ⟶ ω),
φ K hK (g ≫ α) =
(DerivedCategory.homologyFunctor (ModuleCat k) 0).map
((derivedGlobalSectionsOver f).map g) ≫ φ L hL α) :
∃! e : ω ≅ (relativeDualizingComplex f
(isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj,
∀ (K : DerivedCategory X.Modules)
(hK : DerivedCategoryB.derivedCategoryBBounded (A := X.Modules) (isCoherentSheaf X) K)
(α : K ⟶ ω),
(DerivedCategory.homologyFunctor (ModuleCat k) 0).map
((derivedGlobalSectionsOver f).map (α ≫ e.hom)) ≫ traceOverField f = φ K hK α
Stacks.Duality.nonempty_relativeDualizingComplex_iso_and_relativeDualizingModule_iso_of_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/SmoothDualizingModule.lean, line 81. The attribute's comment: “part (7): for X smooth of relative dimension d over k, ω_X^• ≅ ∧^d Ω_{X/k}[d] and ω_X ≅ ∧^d Ω_{X/k}”.
[Stacks, Tag 0FVV], part (7). Let
Xbe proper over a fieldk, withω_X^• = a(𝒪_{Spec k}). IfX ⟶ Spec kis smooth of relative dimensiond, thenω_X^• ≅ ∧^d Ω_{X/k}[d]andω_X ≅ ∧^d Ω_{X/k}.
theorem nonempty_relativeDualizingComplex_iso_and_relativeDualizingModule_iso_of_smooth
{k : Type u} [Field k] {X : Scheme.{u}} (f : X ⟶ Spec (.of k)) [IsProper f] (d : ℕ)
[SmoothOfRelativeDimension d f] :
haveI : CompactSpace X := QuasiCompact.compactSpace_of_compactSpace f
haveI : QuasiSeparatedSpace X := quasiSeparatedSpace_of_quasiSeparated f
Nonempty ((relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))).obj ≅
(DerivedCategory.singleFunctor X.Modules (-d)).obj
(Scheme.Modules.exteriorPower (Scheme.Hom.relativeDifferentials f) d)) ∧
Nonempty (relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k))) ≅
Scheme.Modules.exteriorPower (Scheme.Hom.relativeDifferentials f) d)
Tag 0FVW, a remark
Tag 0FVW in the Stacks Project.
Stacks.Duality.dualityEquiv_id_eq_traceOverField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 190. The attribute's comment: “the identity of ω_X^• corresponds via 0FVV (5) to the trace t : H^0(X, ω_X^•) → k”.
The identity of
ω_X^•corresponds to the trace. Under the isomorphism of part (5) of [Stacks, Tag 0FVV] in degree zero,Hom(ω_X^•, ω_X^•) ≅ Hom_k(H⁰(X, ω_X^•), k), the identity ofω_X^•is sent to the tracet : H⁰(X, ω_X^•) ⟶ k.
theorem dualityEquiv_id_eq_traceOverField :
letI := Scheme.linearOver f
dualityEquiv f ωX 0 (ShiftedHom.mk₀ (0 : ℤ) rfl (𝟙 (ωX).obj)) = (traceOverField f).hom
Stacks.Duality.dualityEquiv_mk₀_apply, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 202. The attribute's comment: “the degree-zero pairing Hom_X(K, ω_X^•) × H^0(X, K) → k, (α, β) ↦ t(α(β))”.
The degree-zero pairing. For
KinD_QCoh(𝒪_X), the identificationHom(K, ω_X^•) ≅ H⁰(X, K)^∨of part (5) of [Stacks, Tag 0FVV] is the pairing(α, β) ↦ t(α(β)), whereα(β)is the image ofβ ∈ H⁰(X, K)under the mapH⁰(X, K) ⟶ H⁰(X, ω_X^•)induced byα.
theorem dualityEquiv_mk₀_apply (K : quasiCoherentDerivedCategory X) (α : K.obj ⟶ (ωX).obj)
(β : (H⁰).obj ((derivedGlobalSectionsOver f).obj K.obj)) :
letI := Scheme.linearOver f
dualityEquiv f K 0 (ShiftedHom.mk₀ (0 : ℤ) rfl α) β =
(traceOverField f).hom (((H⁰).map ((derivedGlobalSectionsOver f).map α)).hom β)
Stacks.Duality.dualityEquiv_apply_eq_traceOverField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 217. The attribute's comment: “the pairing Ext^i_X(K, ω_X^•) × H^{-i}(X, K) → k, (α, β) ↦ t(α(β)), with α a morphism K[-i] → ω_X^• and β in H^0(X, K[-i])”.
The pairing in degree
i. ForKinD_QCoh(𝒪_X)andi ∈ ℤ, the identificationExt^i_X(K, ω_X^•) ≅ H^{-i}(X, K)^∨of part (5) of [Stacks, Tag 0FVV] is the pairing(α, β) ↦ t(α(β)): hereαis regarded as a morphismK⟦-i⟧ ⟶ ω_X^•(extShiftHom),βas an element ofH⁰(X, K⟦-i⟧) ≅ H^{-i}(X, K), andα(β) ∈ H⁰(X, ω_X^•)is the image ofβunder the map thatαinduces onH⁰(X, -).
theorem dualityEquiv_apply_eq_traceOverField (K : quasiCoherentDerivedCategory X) (i : ℤ)
(α : DerivedCategory.Ext K.obj (ωX).obj i)
(β : (DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj K.obj)) :
letI := Scheme.linearOver f
dualityEquiv f K i α β =
(traceOverField f).hom (((H⁰).map ((derivedGlobalSectionsOver f).map (extShiftHom α))).hom
((((HX).shiftIso (-i) 0 (-i) (add_zero _)).inv.app K.obj).hom β))
Stacks.Duality.bijective_dualityLinearMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 247. The attribute's comment: “the pairing identifies Ext^i_X(K, ω_X^•) with the k-linear dual of H^{-i}(X, K)”.
The pairing is nondegenerate on one side. For
KinD_QCoh(𝒪_X)and everyi, the pairing(α, β) ↦ t(α(β))ofExt^i_X(K, ω_X^•)withH^{-i}(X, K)identifiesExt^i_X(K, ω_X^•)with thek-linear dual ofH^{-i}(X, K).
theorem bijective_dualityLinearMap (K : quasiCoherentDerivedCategory X) (i : ℤ) :
letI := Scheme.linearOver f
Function.Bijective (dualityLinearMap f K.obj i)
Stacks.Duality.exists_not_bijective_dualityLinearMap_flip, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 282. The attribute's comment: “the 'not vice versa' clause: on X = Spec k some K in D_QCoh has H^0(X, K) → Hom_X(K, ω_X^•)^∨ not bijective”.
The pairing is in general not nondegenerate on the other side (the clause "but in general not vice versa" of [Stacks, Tag 0FVW]). For every field
k, on the proper schemeX = Spec kthere is an objectKofD_QCoh(𝒪_X)for which the other-side mapH⁰(X, K) ⟶ Hom_X(K, ω_X^•)^∨,β ↦ (α ↦ t(α(β))), is not bijective: take forKthe object withRΓ(X, K) = k^{(ℕ)}[0]([Stacks, Tag 06Z0]), whoseH⁰(X, K) = k^{(ℕ)}is infinite dimensional, so that the evaluation map into its double dual is not surjective.
theorem exists_not_bijective_dualityLinearMap_flip (k : Type u) [Field k] :
∃ K : quasiCoherentDerivedCategory (Spec (.of k)),
letI := Scheme.linearOver (𝟙 (Spec (.of k)))
¬ Function.Bijective (dualityLinearMap (𝟙 (Spec (.of k))) K.obj 0).flip
Stacks.Duality.finiteDimensional_and_isPerfPair_of_coherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/TracePairing.lean, line 315. The attribute's comment: “K in D^b_Coh: Hom_X(K, ω_X^•), Ext^i_X(K, ω_X^•), H^i(X, K) are finite dimensional and the pairings are perfect”.
The coherent case. For
KinD^b_Coh(𝒪_X), thek-vector spacesHom_X(K, ω_X^•),Ext^i_X(K, ω_X^•)andH^n(X, K)are finite dimensional, and for everyithe pairingExt^i_X(K, ω_X^•) × H^{-i}(X, K) ⟶ k,(α, β) ↦ t(α(β)), is perfect.
theorem finiteDimensional_and_isPerfPair_of_coherent (K : DerivedCategory X.Modules)
(hK : DerivedCategoryB.derivedCategoryBBounded (fun M : X.Modules => M.IsCoherent) K) :
letI := Scheme.linearOver f
FiniteDimensional k (K ⟶ (ωX).obj) ∧
(∀ i : ℤ, FiniteDimensional k (DerivedCategory.Ext K (ωX).obj i)) ∧
(∀ n : ℤ, FiniteDimensional k ((DerivedCategory.homologyFunctor (ModuleCat k) n).obj
((derivedGlobalSectionsOver f).obj K))) ∧
∀ i : ℤ, (dualityLinearMap f K i).IsPerfPair
Tag 0FVX, a remark
Tag 0FVX in the Stacks Project.
Stacks.Duality.coherentTracePairing_isPerfPair_and_dualMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CoherentTracePairing.lean, line 114.
[Stacks, Tag 0FVX]. Let
Xbe a proper scheme over a fieldk,ω_X^•andt : H⁰(X, ω_X^•) ⟶ kas in [Stacks, Tag 0FVW], andi ∈ ℤ. 1. For a coherent𝒪_X-moduleℱ,Ext^i_X(ℱ, ω_X^•)andH^{-i}(X, ℱ)are finite dimensional and the pairing⟨α, β⟩ = t(α(β))between them (αregarded as a morphismℱ[-i] ⟶ ω_X^•,βas an element ofH⁰(X, ℱ[-i])) is perfect. 2. For a homomorphismφ : ℱ ⟶ 𝒢of coherent𝒪_X-modules,⟨α ∘ φ, β⟩ = ⟨α, φ(β)⟩forα ∈ Ext^i_X(𝒢, ω_X^•)andβ ∈ H^{-i}(X, ℱ). 3. For a homomorphismφ : ℱ ⟶ 𝒢of quasi-coherent𝒪_X-modules, the mapExt^i_X(𝒢, ω_X^•) ⟶ Ext^i_X(ℱ, ω_X^•)induced byφis, via the identifications ofExt^i_X(-, ω_X^•)withH^{-i}(X, -)^∨given by the pairings, thek-linear dual of the mapH^{-i}(X, ℱ) ⟶ H^{-i}(X, 𝒢)induced byφ.
theorem coherentTracePairing_isPerfPair_and_dualMap (i : ℤ) :
letI := Scheme.linearOver f
(∀ F : X.Modules, F.IsCoherent →
FiniteDimensional k (DerivedCategory.Ext ((single₀).obj F) (ωX).obj i) ∧
FiniteDimensional k ((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj ((single₀).obj F))) ∧
(dualityLinearMap f ((single₀).obj F) i).IsPerfPair ∧
∀ (α : DerivedCategory.Ext ((single₀).obj F) (ωX).obj i)
(β : (DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj ((single₀).obj F))),
dualityLinearMap f ((single₀).obj F) i α β =
(traceOverField f).hom
(((H⁰).map ((derivedGlobalSectionsOver f).map (extShiftHom α))).hom
((((HX).shiftIso (-i) 0 (-i) (add_zero _)).inv.app ((single₀).obj F)).hom β))) ∧
(∀ (F G : X.Modules) (φ : F ⟶ G), F.IsCoherent → G.IsCoherent →
∀ (α : DerivedCategory.Ext ((single₀).obj G) (ωX).obj i)
(β : (DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj ((single₀).obj F))),
dualityLinearMap f ((single₀).obj F) i ((single₀).map φ ≫ α) β =
dualityLinearMap f ((single₀).obj G) i α
(((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).map
((derivedGlobalSectionsOver f).map ((single₀).map φ))).hom β)) ∧
∀ (F G : X.Modules) (φ : F ⟶ G) (hF : F.IsQuasicoherent) (hG : G.IsQuasicoherent),
(dualityEquiv f (singleQuasiCoherent F hF 0) i).toLinearMap ∘ₗ
extPrecompLinearMap f ((single₀).map φ) i =
((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).map
((derivedGlobalSectionsOver f).map ((single₀).map φ))).hom.dualMap ∘ₗ
(dualityEquiv f (singleQuasiCoherent G hG 0) i).toLinearMap
Tag 0FVY, a lemma
Tag 0FVY in the Stacks Project.
Stacks.Duality.isPerfPair_dualityCupPairing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/PerfectPairing.lean, line 324. References: SGA 4½ Fonctions L (3.7), “special case”.
[Stacks, Tag 0FVY]. Let
Xbe a proper scheme over a fieldk, with structure morphismf : X ⟶ Spec k, letω_X^•be its dualizing complex of [Stacks, Tag 0FVV] andt : H⁰(X, ω_X^•) ⟶ kthe trace of [Stacks, Tag 0FVW]. LetE ∈ D(𝒪_X)be perfect. Then for everyithe pairing
Hⁱ(X, ω_X^• ⊗^𝐋 E^∨) × H⁻ⁱ(X, E) ⟶ k,(ξ, η) ↦ t((1 ⊗ ε)(ξ ∪ η))is perfect: both spaces are finite-dimensional
k-vector spaces and the pairing is a perfect pairing (LinearMap.IsPerfPair: each side is identified with thek-linear dual of the other). Here∪is the cup product of Cohomology, Section 0FKU (cupPairingat the canonical global cup product),E^∨ = R𝓗om(E, 𝒪_X)andε : E^∨ ⊗^𝐋 E ⟶ 𝒪_Xis the evaluation of Cohomology, Example 0FPC, and1 ⊗ ε : (ω_X^• ⊗^𝐋 E^∨) ⊗^𝐋 E ⟶ ω_X^•is followed by the unit constraint (dualityCupPairing). The cohomology groups are theΓ(X, 𝒪_X)-modules of hypercohomology with the scalars restricted alongk ⟶ Γ(X, 𝒪_X), andtisStacks.Duality.traceOverFieldread on them (traceStd).
theorem isPerfPair_dualityCupPairing
(hE : Stacks.Cohomology.PerfectComplexes.IsPerfect (X := X.toRingedSpace) E) (i : ℤ) :
FiniteDimensional k ((ModuleCat.restrictScalars.{u} (globalRingHom f)).obj
(cohomologyModule (tensorDual X.toRingedSpace (dualizingComplexStd f) E) i)) ∧
FiniteDimensional k
((ModuleCat.restrictScalars.{u} (globalRingHom f)).obj (cohomologyModule E (-i))) ∧
(dualityCupPairing f E i).IsPerfPair
Tag 0FVZ, a lemma
Tag 0FVZ in the Stacks Project.
Stacks.Duality.isDualizingModuleOf_relativeDualizingModule_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 184. The attribute's comment: “part (1): ω_X is a dualizing module on X (Section 0AWH)”.
[Stacks, Tag 0FVZ], part (1). Let
Xbe a proper scheme over a fieldkwhich is Cohen--Macaulay and equidimensional of dimensiond. The moduleω_Xof [Stacks, Tag 0FVV] is a dualizing module onXin the sense of [Stacks, Section 0AWH]:ω_X^•is a dualizing complex,-dis the least degree in which it has nonzero cohomology, andω_X = H^{-d}(ω_X^•).
theorem isDualizingModuleOf_relativeDualizingModule_of_isProper
(hCM : AlgebraicGeometry.IsCohenMacaulay X) (hequi : TopologicalSpace.Equidimensional X)
(d : ℕ) (hd : topologicalKrullDim X = d) :
letI := LocallyOfFiniteType.isLocallyNoetherian f
IsDualizingModuleOf ωM (ωX).obj (-(d : ℤ))
Stacks.Duality.relativeDualizingModule_isCoherent_cohenMacaulay_supp_of_isProper, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 218. The attribute's comment: “part (2): ω_X is a coherent Cohen-Macaulay module whose support is X”.
[Stacks, Tag 0FVZ], part (2). Let
Xbe a proper scheme over a fieldkwhich is Cohen--Macaulay and equidimensional of dimensiond. The moduleω_Xof [Stacks, Tag 0FVV] is a coherent Cohen--Macaulay𝒪_X-module whose support isX.
theorem relativeDualizingModule_isCoherent_cohenMacaulay_supp_of_isProper
(hCM : AlgebraicGeometry.IsCohenMacaulay X) (hequi : TopologicalSpace.Equidimensional X)
(d : ℕ) (hd : topologicalKrullDim X = d) :
(ωM).IsCoherent ∧ AlgebraicGeometry.SheafIsCohenMacaulay X ωM ∧
_root_.SheafOfModules.supp ωM = Set.univ
Stacks.Duality.dualityEquivShiftOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 246. The attribute's comment: “part (3): the isomorphisms Ext^i_X(K, ω_X[d]) = Hom_k(H^{-i}(X, K), k)”.
[Stacks, Tag 0FVZ], part (3), the isomorphisms. Let
Xbe a proper scheme over a fieldkwhich is Cohen--Macaulay and equidimensional of dimensiond. ForKinD_QCoh(𝒪_X)and everyithere is ak-linear isomorphismExt^i_X(K, ω_X[d]) ≅ Hom_k(H^{-i}(X, K), k). It is part (5) of [Stacks, Tag 0FVV] (Stacks.Duality.dualityEquiv) read throughω_X^• ≅ ω_X[d](Stacks.Duality.relativeDualizingComplexIsoShiftOfIsProper); it is natural inK(Stacks.Duality.dualityEquivShiftOfIsProper_comp) and compatible with shifts and distinguished triangles (Stacks.Duality.dualityEquivShiftOfIsProper_shiftedHomComp,Stacks.Duality.dualityEquivShiftOfIsProper_shift,Stacks.Duality.dualityEquivShiftOfIsProper_triangle).
def dualityEquivShiftOfIsProper (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(K : quasiCoherentDerivedCategory X) (i : ℤ) :
letI := Scheme.linearOver f
DerivedCategory.Ext K.obj (((DerivedCategory.singleFunctor X.Modules 0).obj ωM)⟦(d : ℤ)⟧) i
≃ₗ[k] ((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj K.obj) →ₗ[k] k)
Stacks.Duality.dualityEquivShiftOfIsProper_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 277. The attribute's comment: “part (3): the isomorphisms are functorial in K”.
[Stacks, Tag 0FVZ], part (3), functoriality. The isomorphisms of part (3) are natural in
K: forg : K ⟶ Landα ∈ Ext^i_X(L, ω_X[d]), the linear form attached tog ≫ αis the one attached toαprecomposed withH^{-i}(X, g).
theorem dualityEquivShiftOfIsProper_comp (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(K L : quasiCoherentDerivedCategory X) (i : ℤ) (g : K.obj ⟶ L.obj)
(α : DerivedCategory.Ext L.obj
(((DerivedCategory.singleFunctor X.Modules 0).obj ωM)⟦(d : ℤ)⟧) i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-i)).obj
((derivedGlobalSectionsOver f).obj K.obj)) :
letI := Scheme.linearOver f
dualityEquivShiftOfIsProper f hCM hequi d hd K i (g ≫ α) x =
dualityEquivShiftOfIsProper f hCM hequi d hd L i α
((DerivedCategory.homologyFunctor (ModuleCat k) (-i)).map
((derivedGlobalSectionsOver f).map g) x)
Stacks.Duality.dualityEquivShiftOfIsProper_shiftedHomComp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 308. The attribute's comment: “part (3): compatibility with shifts and distinguished triangles”.
[Stacks, Tag 0FVZ], part (3), compatibility with shifted morphisms. For
β ∈ Ext^j_X(L, K)andα ∈ Ext^i_X(K, ω_X[d]), the linear form onH^{-(i+j)}(X, L)attached toβ.comp α ∈ Ext^{i+j}_X(L, ω_X[d])is the one attached toαprecomposed with the mapH^{-(i+j)}(X, L) ⟶ H^{-i}(X, K)induced byβ. This contains the compatibility with shifts (Stacks.Duality.dualityEquivShiftOfIsProper_shift) and with distinguished triangles (Stacks.Duality.dualityEquivShiftOfIsProper_triangle).
theorem dualityEquivShiftOfIsProper_shiftedHomComp (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(K L : quasiCoherentDerivedCategory X) {i j c : ℤ}
(β : DerivedCategory.Ext L.obj K.obj j)
(α : DerivedCategory.Ext K.obj
(((DerivedCategory.singleFunctor X.Modules 0).obj ωM)⟦(d : ℤ)⟧) i)
(h : i + j = c)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-c)).obj
((derivedGlobalSectionsOver f).obj L.obj)) :
letI := Scheme.linearOver f
dualityEquivShiftOfIsProper f hCM hequi d hd L c (β.comp α h) x =
dualityEquivShiftOfIsProper f hCM hequi d hd K i α
((HX).shiftMap β (-c) (-i) (by omega) x)
Stacks.Duality.dualityEquivShiftOfIsProper_shift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 328. The attribute's comment: “part (3): compatibility with shifts”.
[Stacks, Tag 0FVZ], part (3), compatibility with shifts. Under
Ext^{i+n}_X(K⟦n⟧, ω_X[d]) = Ext^i_X(K, ω_X[d])(composition with the identity ofK⟦n⟧) andH^{-(i+n)}(X, K⟦n⟧) ≅ H^{-i}(X, K), the isomorphisms ofK⟦n⟧and ofKagree.
theorem dualityEquivShiftOfIsProper_shift (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(K : quasiCoherentDerivedCategory X) (i n : ℤ)
(α : DerivedCategory.Ext K.obj
(((DerivedCategory.singleFunctor X.Modules 0).obj ωM)⟦(d : ℤ)⟧) i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-(i + n))).obj
((derivedGlobalSectionsOver f).obj (K.obj⟦n⟧))) :
letI := Scheme.linearOver f
dualityEquivShiftOfIsProper f hCM hequi d hd
⟨K.obj⟦n⟧, ObjectProperty.le_shift _ n K.obj K.property⟩ (i + n)
(ShiftedHom.comp (𝟙 (K.obj⟦n⟧)) α rfl) x =
dualityEquivShiftOfIsProper f hCM hequi d hd K i α
(((HX).shiftIso n (-(i + n)) (-i) (by omega)).hom.app K.obj x)
Stacks.Duality.dualityEquivShiftOfIsProper_triangle, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 349. The attribute's comment: “part (3): compatibility with distinguished triangles”.
[Stacks, Tag 0FVZ], part (3), compatibility with distinguished triangles. For a triangle
K ⟶ L ⟶ M ⟶ K⟦1⟧inD_QCoh(𝒪_X), the isomorphisms intertwine composition with its third morphism,Ext^i_X(K, ω_X[d]) ⟶ Ext^{i+1}_X(M, ω_X[d]), and the connecting morphismH^{-(i+1)}(X, M) ⟶ H^{-i}(X, K)of the long exact cohomology sequence.
theorem dualityEquivShiftOfIsProper_triangle (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(T : Pretriangulated.Triangle (DerivedCategory X.Modules))
(h₁ : DerivedCategoryB.derivedCategoryB (A := X.Modules)
(SheafOfModules.isQuasicoherent X.ringCatSheaf) T.obj₁)
(h₃ : DerivedCategoryB.derivedCategoryB (A := X.Modules)
(SheafOfModules.isQuasicoherent X.ringCatSheaf) T.obj₃)
(i : ℤ)
(α : DerivedCategory.Ext T.obj₁
(((DerivedCategory.singleFunctor X.Modules 0).obj ωM)⟦(d : ℤ)⟧) i)
(x : (DerivedCategory.homologyFunctor (ModuleCat k) (-(i + 1))).obj
((derivedGlobalSectionsOver f).obj T.obj₃)) :
letI := Scheme.linearOver f
dualityEquivShiftOfIsProper f hCM hequi d hd ⟨T.obj₃, h₃⟩ (i + 1)
(ShiftedHom.comp (T.mor₃ : DerivedCategory.Ext T.obj₃ T.obj₁ 1) α rfl) x =
dualityEquivShiftOfIsProper f hCM hequi d hd ⟨T.obj₁, h₁⟩ i α
((HX).homologySequenceδ T (-(i + 1)) (-i) (by omega) x)
Stacks.Duality.dualizingModuleExtEquivOfIsProper, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 379. The attribute's comment: “part (4): Ext^{d-i}(F, ω_X) = Hom_k(H^i(X, F), k) for F quasi-coherent”.
[Stacks, Tag 0FVZ], part (4). Let
Xbe a proper scheme over a fieldkwhich is Cohen--Macaulay and equidimensional of dimensiond. ForFa quasi-coherent𝒪_X-module there arek-linear isomorphismsExt^{d-i}_X(F, ω_X) ≅ Hom_k(H^i(X, F), k), natural inF(Stacks.Duality.dualizingModuleExtEquivOfIsProper_comp). It is part (3) forK = F[0]in degree-i, throughExt^{d-i}(F[0], ω_X[0]) = Ext^{-i}(F[0], ω_X[d])andH^{-(-i)}(X, F[0]) = H^i(X, F).
def dualizingModuleExtEquivOfIsProper (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(F : X.Modules) [F.IsQuasicoherent] (i : ℕ) :
letI := Scheme.linearOver f
Abelian.zExt F ωM ((d : ℤ) - i) ≃ₗ[k] (cohomologyOverField k f F i →ₗ[k] k)
Stacks.Duality.dualizingModuleExtEquivOfIsProper_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/CohenMacaulay.lean, line 396. The attribute's comment: “part (4): the isomorphisms are functorial in F”.
[Stacks, Tag 0FVZ], part (4), functoriality. The isomorphisms of part (4) are natural in the quasi-coherent module
F: forφ : F ⟶ Gandα ∈ Ext^{d-i}_X(G, ω_X), the linear form attached toφ ≫ αis the one attached toαprecomposed withH^i(X, φ).
theorem dualizingModuleExtEquivOfIsProper_comp (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
{F G : X.Modules} [F.IsQuasicoherent] [G.IsQuasicoherent] (φ : F ⟶ G) (i : ℕ)
(α : Abelian.zExt G ωM ((d : ℤ) - i)) (x : cohomologyOverField k f F i) :
letI := Scheme.linearOver f
dualizingModuleExtEquivOfIsProper f hCM hequi d hd F i
((DerivedCategory.singleFunctor X.Modules 0).map φ ≫ α) x =
dualizingModuleExtEquivOfIsProper f hCM hequi d hd G i α
((cohomologyOverFieldFunctor k f i).map φ x)
Tag 0FW0, a remark
Tag 0FW0 in the Stacks Project.
Stacks.Duality.serrePairing_isPerfPair, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/SerreDualityLocallyFree.lean, line 599.
[Stacks, Tag 0FW0]. Let
Xbe a proper Cohen--Macaulay scheme over a fieldkwhich is equidimensional of dimensiond, letω_X^•andω_Xbe as in [Stacks, Tag 0FVV], so thatω_X^• = ω_X[d]by [Stacks, Tag 0FVZ], and lett : Hᵈ(X, ω_X) ⟶ kbe the trace of [Stacks, Tag 0FVW] (Stacks.Duality.topTrace). Letℰbe a finite locally free𝒪_X-module with dualℰ^∨. Then for alli + j = dthe pairing
Hⁱ(X, ω_X ⊗_{𝒪_X} ℰ^∨) × Hʲ(X, ℰ) ⟶ k, (ξ, η) ↦ t((1 ⊗ ε)(ξ ∪ η))(
Stacks.Duality.serrePairing) is perfect, where∪is the cup product of Cohomology, Section 0FKU andε : ℰ^∨ ⊗_{𝒪_X} ℰ ⟶ 𝒪_Xis the evaluation map.
theorem serrePairing_isPerfPair (hCM : AlgebraicGeometry.IsCohenMacaulay X)
(hequi : TopologicalSpace.Equidimensional X) (d : ℕ) (hd : topologicalKrullDim X = d)
(E : X.Modules) (hE : AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFree.{u, u, u} E)
(i j : ℤ) (hij : i + j = d) :
(serrePairing f hCM hequi d hd E i j hij).IsPerfPair
Tag 0FW1, a lemma
Tag 0FW1 in the Stacks Project.
Stacks.Duality.nonempty_iso_relativeDualizing_of_factorization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/ChangeOfField.lean, line 293. The attribute's comment: “(1): ω_X^• and ω_X are as in 0FVV for a factorization X → Spec k' → Spec k”.
Let
Xbe proper over a fieldkwith structure morphismf, and supposeffactors asf' ≫ gwithf' : X ⟶ Spec k'for a fieldk'. Thenω_X^•andω_Xof [Stacks, Tag 0FVV] forfare isomorphic to those constructed forf'.
theorem nonempty_iso_relativeDualizing_of_factorization {k' : Type u} [Field k']
(f' : X ⟶ Spec (.of k')) (g : Spec (.of k') ⟶ Spec (.of k)) (h : f' ≫ g = f) :
haveI : IsProper f' := haveI : IsProper (f' ≫ g) := h ▸ ‹IsProper f›; IsProper.of_comp f' g
Nonempty (relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k))) ≅
relativeDualizingComplex f' (isQuasicoherent_homology_derivedPushforward_of_qcqs f')
(DerivedPushforward.derivedStructureSheaf (Spec (.of k')))) ∧
Nonempty (relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k))) ≅
relativeDualizingModule f' (isQuasicoherent_homology_derivedPushforward_of_qcqs f')
(DerivedPushforward.derivedStructureSheaf (Spec (.of k'))))
Stacks.Duality.nonempty_iso_relativeDualizing_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ProperOverField/ChangeOfField.lean, line 312. The attribute's comment: “(2): the pullbacks of ω_X^• and ω_X to X_K are as in 0FVV for X_K → Spec K”.
Let
Xbe proper over a fieldkwith structure morphismf, letK/kbe a field extension andX_K = X ×_{Spec k} Spec K, with projectionsg' : X_K ⟶ Xandf_K : X_K ⟶ Spec K. Then the pullbacksL(g')^* ω_X^•and(g')^* ω_Xare isomorphic to the dualizing complex and module of [Stacks, Tag 0FVV] constructed forf_K.
theorem nonempty_iso_relativeDualizing_baseChange (K : Type u) [Field K] [Algebra k K] :
Nonempty ((quasiCoherentDerivedPullback'
(pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K))))).obj
(relativeDualizingComplex f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))) ≅
relativeDualizingComplex (pullback.snd f (Spec.map (CommRingCat.ofHom (algebraMap k K))))
(isQuasicoherent_homology_derivedPushforward_of_qcqs _)
(DerivedPushforward.derivedStructureSheaf (Spec (.of K)))) ∧
Nonempty ((Scheme.Modules.pullback
(pullback.fst f (Spec.map (CommRingCat.ofHom (algebraMap k K))))).obj
(relativeDualizingModule f (isQuasicoherent_homology_derivedPushforward_of_qcqs f)
(DerivedPushforward.derivedStructureSheaf (Spec (.of k)))) ≅
relativeDualizingModule (pullback.snd f (Spec.map (CommRingCat.ofHom (algebraMap k K))))
(isQuasicoherent_homology_derivedPushforward_of_qcqs _)
(DerivedPushforward.derivedStructureSheaf (Spec (.of K))))
Sources
Section48.28 Relative dualizing complexes#
Section 48.28 of the Stacks Project, Tag 0E2S. 10 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E2T, a definition
Tag 0E2T in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplex.lean, line 149.
Stacks 0E2T. A relative dualizing complex for a flat, locally finitely presented morphism
f : X ⟶ S, relative to an openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersionΔ : X ⟶ W: a pair(K, ξ)consisting of an objectKofD(𝒪_X)and a mapξ : Δ_*𝒪_X ⟶ L pr₁^*K|_WinD(𝒪_W)such thatKisS-perfect andξdefines an isomorphism ofΔ_*𝒪_XwithR SheafHom_{𝒪_W}(Δ_*𝒪_X, L pr₁^*K|_W).The derived tensor product over the inverse-image ringed space is the family of certificates
Dten, as in the definition of relative perfectness.
structure IsRelativeDualizingComplex [Flat f] [LocallyOfFinitePresentation f]
(Dten : ∀ U : TopologicalSpace.Opens
(RingedSpace.inverseImage S.toRingedSpace f.base).carrier,
RingedSpace.CertifiedDerivedSheafTensoring.{d', u}
((RingedSpace.inverseImage S.toRingedSpace f.base).restrict U.isOpenEmbedding))
(D : DiagonalOpen f) (K : DerivedCategory (OXMod.{u, u} X.toRingedSpace))
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K) : Prop
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingPair, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingPair.lean, line 101.
Stacks 0E2T. A relative dualizing complex for a flat, locally finitely presented morphism
f : X ⟶ S, relative to an openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersionΔ : X ⟶ W: a pair(K, ξ)consisting of an objectKofD(𝒪_X)and a mapξ : Δ_*𝒪_X ⟶ L pr₁^*K|_WinD(𝒪_W)such thatKisS-perfect (Stacks 0DI0) andξdefines an isomorphism ofΔ_*𝒪_XwithR SheafHom_{𝒪_W}(Δ_*𝒪_X, L pr₁^*K|_W).
structure IsRelativeDualizingPair [Flat f] [LocallyOfFinitePresentation f]
(D : DiagonalOpen f) (K : DerivedCategory (OXMod.{u, u} X.toRingedSpace))
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K) : Prop
Tag 0E2U, a lemma
Tag 0E2U in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.isRelativeDualizingComplex_derivedSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexAffineRestriction.lean, line 172. The attribute's comment: “variant: for an arbitrary family of certified tensorings, given the Tor-dimension clause of Tag 0DI2 at every object and an affine diagonal comparison datum; the tag is AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.isRelativeDualizingComplex_derivedSections”.
Stacks 0E2U. Let
f : X ⟶ Sbe flat and locally of finite presentation and let(K, ξ)be a relative dualizing complex forfrelative to an openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersion. LetU ⊆ Xbe an affine open lying over an affine openV ⊆ S, and putR = Γ(S, V)andA = Γ(X, U), anR-algebra throughf. ThenRΓ(U, K), the object ofD(A)corresponding toK|_Uunder Stacks 06Z0, is a relative dualizing complex forR → Ain the sense of Stacks 0E2C.Two cited inputs are carried.
hToris the Tor-dimension clause of Stacks 0DI2, at every object ofD(𝒪_X): the affine comparison of Stacks 0DHY part (2) together with the affine-locality assembly that the Tor-dimension half of Stacks 0DI2 still lacks.cmpis the affine comparison ofΔ_*𝒪_X,L pr₁^*andR SheafHom_{𝒪_W}at a chart ofWoverA ⊗_R A, that is Stacks 08DW part (2) and Stacks 0A6H (3)(a). The pseudo-coherence clause and the condition onξare proved. The statement at the source's hypotheses, at the derived tensor product of Stacks 06YU, isisRelativeDualizingComplex_derivedSectionsin the namespaceAlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.
theorem isRelativeDualizingComplex_derivedSections [Flat f] [LocallyOfFinitePresentation f]
(Dten : ∀ U : TopologicalSpace.Opens
(RingedSpace.inverseImage S.toRingedSpace f.base).carrier,
RingedSpace.CertifiedDerivedSheafTensoring.{d', u}
((RingedSpace.inverseImage S.toRingedSpace f.base).restrict U.isOpenEmbedding))
(D : DiagonalOpen f) (K : DerivedCategory X.Modules)
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K)
(hK : IsRelativeDualizingComplex f Dten D K ξ)
{U : X.Opens} (hU : IsAffineOpen U) {V : S.Opens} (hV : IsAffineOpen V)
(hUV : U ≤ f ⁻¹ᵁ V)
[Algebra ↑Γ(S, V) ↑Γ(X, U)] [Module.Flat ↑Γ(S, V) ↑Γ(X, U)]
[Algebra.FinitePresentation ↑Γ(S, V) ↑Γ(X, U)]
(_halg : algebraMap ↑Γ(S, V) ↑Γ(X, U) = (f.appLE V U hUV).hom)
(hTor : ∀ E : DerivedCategory X.Modules,
RingedSpace.LocallyHasFiniteTorDimension
(RingedSpace.inverseImage S.toRingedSpace f.base) Dten
((derivedScalarRestriction f).obj E) →
StacksDraft.TorAmplitude.HasFiniteTorDimension
(CochainComplex.DerivedTensor.canonicalDerivedTensorProduct ↑Γ(S, V)).tensor
(StacksDraft.TorAmplitude.canonicalTensorComparison ↑Γ(S, V))
(StacksDraft.TorAmplitude.canonicalTensorIsLeftDerived ↑Γ(S, V))
((ModuleCat.restrictScalars (algebraMap ↑Γ(S, V) ↑Γ(X, U))).mapDerivedCategory.obj
((derivedSectionsUnbounded X U).obj E)))
(cmp : D.AffineDiagonalComparison U ↑Γ(S, V)) :
Dualizing.IsRelativeDualizingComplex ↑Γ(S, V) ↑Γ(X, U)
((derivedSectionsUnbounded X U).obj K)
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.isRelativeDualizingComplex_derivedSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexAffineSections.lean, line 267.
Stacks 0E2U. Let
f : X ⟶ Sbe flat and locally of finite presentation and let(K, ξ)be a relative dualizing complex forf(Stacks 0E2T), relative to an openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersion. LetU ⊆ Xbe an affine open lying over an affine openV ⊆ S, and putR = Γ(S, V)andA = Γ(X, U), anR-algebra throughf. ThenRΓ(U, K), the object ofD(A)corresponding toK|_Uunder Stacks 06Z0, is a relative dualizing complex forR → Ain the sense of Stacks 0E2C.
S-perfectness is read at the derived tensor product of Stacks 06YU on the open subspaces of(X, f⁻¹𝒪_S), as in Stacks 0DI2.
theorem isRelativeDualizingComplex_derivedSections {D : DiagonalOpen f}
{K : DerivedCategory X.Modules} {ξ : D.diagonalObject ⟶ D.derivedPullbackProj K}
(hK : IsRelativeDualizingComplex f
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ)
{U : X.Opens} (hU : IsAffineOpen U) {V : S.Opens} (hV : IsAffineOpen V)
(hUV : U ≤ f ⁻¹ᵁ V) :
letI : Algebra Γ(S, V) Γ(X, U) := (f.appLE V U hUV).hom.toAlgebra
letI : Module.Flat Γ(S, V) Γ(X, U) := moduleFlat_appLE f hV hU hUV rfl
letI : Algebra.FinitePresentation Γ(S, V) Γ(X, U) :=
algebraFinitePresentation_appLE f hV hU hUV rfl
Dualizing.IsRelativeDualizingComplex Γ(S, V) Γ(X, U)
((derivedSectionsUnbounded X U).obj K)
Tag 0E2V, a lemma
Tag 0E2V in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.isIso_derivedSheafHomothety, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexEndomorphisms.lean, line 208.
Stacks 0E2V. Let
f : X ⟶ Sbe flat and locally of finite presentation and let(K, ξ)be a relative dualizing complex forf(Stacks 0E2T), relative to an openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersion. Then the homothety𝒪_X ⟶ R𝓗om_{𝒪_X}(K, K)is an isomorphism.
S-perfectness is read at the derived tensor product of Stacks 06YU on the open subspaces of(X, f⁻¹𝒪_S), as in Stacks 0DI2 and Stacks 0E2U. The proof is the source's: on every compatible pair of affine opensRΓ(U, K)is a relative dualizing complex forΓ(S, V) → Γ(X, U)by Stacks 0E2U, and the algebraic case is Stacks 0E2G.
theorem isIso_derivedSheafHomothety {D : DiagonalOpen f}
{K : DerivedCategory X.Modules} {ξ : D.diagonalObject ⟶ D.derivedPullbackProj K}
(hK : IsRelativeDualizingComplex f
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ) :
IsIso (Stacks.SheafOfModules.derivedSheafHomothety X.sheaf K)
Tag 0E2W, a lemma
Tag 0E2W in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.existsUnique_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexUniqueIso.lean, line 48.
Stacks 0E2W. Let
f : X ⟶ Sbe flat and locally of finite presentation, and letWbe an open ofX ×_S Xthrough which the relative diagonal factors as a closed immersionΔ : X ⟶ W. If(K, ξ)and(L, η)are relative dualizing complexes onX/Srelative toW(Stacks 0E2T), then there is a unique isomorphismα : K ≅ Lsendingξtoη, that is withξ ≫ L pr₁^*α|_W = η.
theorem existsUnique_iso {D : DiagonalOpen f}
{K L : DerivedCategory (OXMod.{u, u} X.toRingedSpace)}
{ξ : D.diagonalObject ⟶ D.derivedPullbackProj K}
{η : D.diagonalObject ⟶ D.derivedPullbackProj L}
(hK : IsRelativeDualizingComplex f
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ)
(hL : IsRelativeDualizingComplex f
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D L η) :
∃! α : K ≅ L, ξ ≫ D.derivedPullbackProjMap α.hom = η
Tag 0E2X, a lemma
Tag 0E2X in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.exists_isRelativeDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexExistence.lean, line 1025.
Stacks 0E2X. Let
f : X ⟶ Sbe flat and locally of finite presentation. There exists a relative dualizing complex(K, ξ)(Stacks 0E2T), relative to any openW ⊆ X ×_S Xthrough which the relative diagonal factors as a closed immersion:K ∈ D(𝒪_X)isS-perfect andξ : Δ_*𝒪_X ⟶ L pr₁^*K|_Wdefines an isomorphismΔ_*𝒪_X ≅ R SheafHom_{𝒪_W}(Δ_*𝒪_X, L pr₁^*K|_W).
S-perfectness is read at a familyDtenof derived tensor products on the open subspaces of(X, f⁻¹𝒪_S)whose underived tensor products are those of sheaves of modules, so that it is Stacks 0DI0 (AlgebraicGeometry.Scheme.Hom.isPerfectRelativeTo_iff_isRelativelyPerfect).The derived categories of the inverse-image ringed spaces
(X, f⁻¹𝒪_S)|_Uare those ofCategoryTheory.HasDerivedCategory.standard, the model at which the chart step (Stacks 0E2F read through Stacks 0E2U,exists_isRelativeDualizingComplex_chart), the restriction of relative dualizing complexes and Stacks 0E2W are stated. They cannot be left arbitrary: the Tor clause ofS-perfectness is read on(derivedScalarRestriction f).obj Kin the chosen model ofD(f⁻¹𝒪_S), and carrying it from one model to another needs the comparison of the two models of the derived category, which the library does not provide.
theorem exists_isRelativeDualizingComplex [Flat f] [LocallyOfFinitePresentation f]
(Dten : ∀ U : TopologicalSpace.Opens
(RingedSpace.inverseImage S.toRingedSpace f.base).carrier,
RingedSpace.CertifiedDerivedSheafTensoring
((RingedSpace.inverseImage S.toRingedSpace f.base).restrict U.isOpenEmbedding))
(hD : IsGenuineRelativeTensorFamily f Dten) (D : DiagonalOpen f) :
∃ (K : DerivedCategory (OXMod.{u, u} X.toRingedSpace))
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K),
IsRelativeDualizingComplex f Dten D K ξ
Tag 0E2Y, a lemma
Tag 0E2Y in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexBaseChangeTheorem.lean, line 154. The attribute's comment: “As in the source's proof, W' is any diagonal open of f' with (g' × g')(W') ⊆ W, and w : W' ⟶ W is the induced morphism.”.
Stacks 0E2Y: base change of a relative dualizing complex. Let
X' = X ×_S S'with projectionsg' : X' ⟶ Xandf' : X' ⟶ S',fflat and locally of finite presentation, and let(K, ξ)be a relative dualizing complex forfrelative to a diagonal openW. For a diagonal openW'off'with(g' × g')(W') ⊆ Wandw : W' ⟶ Wthe induced morphism, setK' = L(g')^*Kand letξ'be the derived base change ofξ:Lw^*ξread throughLw^*Δ_*𝒪_X = Δ'_*𝒪_{X'}(the base change ofΔ_*across the Tor independent diagonal square) and transitivity of derived pullback. Then(K', ξ')is a relative dualizing complex forf'relative toW'.
theorem baseChange (hpb : IsPullback g' f' f g) {D : DiagonalOpen f}
{K : DerivedCategory X.Modules} {ξ : D.diagonalObject ⟶ D.derivedPullbackProj K}
(hK : IsRelativeDualizingComplex f
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ)
(D' : DiagonalOpen f') (w : D'.W ⟶ D.W)
(hw : w ≫ D.ι = D'.ι ≫ pullbackMapOfIsPullback hpb) :
haveI : Flat f' := MorphismProperty.of_isPullback (P := @Flat) hpb (inferInstance : Flat f)
haveI : LocallyOfFinitePresentation f' :=
MorphismProperty.of_isPullback (P := @LocallyOfFinitePresentation) hpb
(inferInstance : LocallyOfFinitePresentation f)
IsRelativeDualizingComplex f'
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S'.toRingedSpace f'.base)) D'
(DiagonalOpen.baseChangeComplex g' K)
(D.baseChangeDiagonalMap D' g' w (DiagonalOpen.proj_baseChange hpb D D' w hw)
(DiagonalOpen.baseChangeDiagonalIso hpb D D' w hw) K ξ)
Tag 0E2Z, a lemma
Tag 0E2Z in the Stacks Project.
Stacks.Duality.isRelativeDualizingComplex_relativeDualizingComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexOfProperFlat.lean, line 61.
Stacks Project, Tag 0E2Z. Let
Sbe a quasi-compact and quasi-separated scheme and letf : X ⟶ Sbe a proper, flat morphism of finite presentation. The relative dualizing complexω_{X/S}^• = a(𝒪_S)of [Stacks, Remark 0B6S] (Stacks.Duality.StandardModel.relativeDualizingComplex) together with the mapξ : Δ_*𝒪_X ⟶ L pr₁^*ω_{X/S}^•coming from the isomorphism𝒪_X ≅ c(L pr₁^*ω_{X/S}^•)of [Stacks, Tag 0E2Q] (Stacks.Duality.relativeDualizingComplexDiagonalMap) is a relative dualizing complex in the sense of [Stacks, Definition 0E2T], for the openW = X ×_S X(the morphism being separated) and the derived tensor product of sheaves of modules.Of finite presentation is
LocallyOfFinitePresentation ftogether with the quasi-compactness and quasi-separatedness that properness includes.
theorem isRelativeDualizingComplex_relativeDualizingComplex {X S : Scheme.{u}} (f : X ⟶ S)
[CompactSpace S] [QuasiSeparatedSpace S] [IsProper f] [Flat f]
[LocallyOfFinitePresentation f] :
haveI : CompactSpace X := QuasiCompact.compactSpace_of_compactSpace f
haveI : QuasiSeparatedSpace X := quasiSeparatedSpace_of_quasiSeparated f
haveI : CompactSpace (pullback f f : Scheme.{u}) :=
QuasiCompact.compactSpace_of_compactSpace (pullback.fst f f)
haveI : QuasiSeparatedSpace (pullback f f : Scheme.{u}) :=
quasiSeparatedSpace_of_quasiSeparated (pullback.fst f f)
@Scheme.Hom.IsRelativeDualizingComplex X S f (HasDerivedCategory.standard _)
(fun _ => HasDerivedCategory.standard _) _ _
(@RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base) (fun _ => HasDerivedCategory.standard _))
(Scheme.Hom.DiagonalOpen.ofIsSeparated f) (StandardModel.relativeDualizingComplex f).obj
(relativeDualizingComplexDiagonalMap f)
Tag 0E4P, a remark
Tag 0E4P in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.relativeDualizingComplex_baseChange_twistedInverseImage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexProperFlatBaseChange.lean, line 193.
Relative dualizing complexes and base change. Let
f : X ⟶ Sbe flat, proper and of finite presentation, and letWbe a diagonal open off. There is a relative dualizing complex(ω_{X/S}^•, ξ)forfrelative toW(Stacks 0E2X), and for every such pair, every morphismg : S' ⟶ SwithS'quasi-compact and quasi-separated, with base changef' : X' ⟶ S'and projectiong' : X' ⟶ X, and every diagonal openW'off'mapped intoWbyg' × g', there is a unique isomorphismω_{X'/S'}^• = a'(𝒪_{S'}) ≅ L(g')^*ω_{X/S}^•compatible with the map of Equation 0E2Q (restricted toW') and the derived base changeL(g')^*ξof Stacks 0E2Y.
theorem relativeDualizingComplex_baseChange_twistedInverseImage {X S : Scheme.{u}} (f : X ⟶ S)
[IsProper f] [Flat f] [LocallyOfFinitePresentation f] (D : DiagonalOpen f) :
(∃ (K : DerivedCategory (OXMod.{u, u} X.toRingedSpace))
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K),
IsRelativeDualizingComplex f (RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ) ∧
∀ (K : DerivedCategory (OXMod.{u, u} X.toRingedSpace))
(ξ : D.diagonalObject ⟶ D.derivedPullbackProj K),
IsRelativeDualizingComplex f (RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily
(RingedSpace.inverseImage S.toRingedSpace f.base)) D K ξ →
∀ {X' S' : Scheme.{u}} [CompactSpace S'] [QuasiSeparatedSpace S'] {g : S' ⟶ S}
{g' : X' ⟶ X} {f' : X' ⟶ S'} (hpb : IsPullback g' f' f g)
(D' : DiagonalOpen f') (w : D'.W ⟶ D.W)
(hw : w ≫ D.ι = D'.ι ≫ pullbackMapOfIsPullback hpb),
haveI : IsProper f' := MorphismProperty.of_isPullback (P := @IsProper) hpb inferInstance
haveI : Flat f' := MorphismProperty.of_isPullback (P := @Flat) hpb inferInstance
haveI : LocallyOfFinitePresentation f' :=
MorphismProperty.of_isPullback (P := @LocallyOfFinitePresentation) hpb inferInstance
haveI : CompactSpace X' := QuasiCompact.compactSpace_of_compactSpace f'
haveI : QuasiSeparatedSpace X' := quasiSeparatedSpace_of_quasiSeparated f'
haveI : CompactSpace (pullback f' f' : Scheme.{u}) :=
QuasiCompact.compactSpace_of_compactSpace (pullback.fst f' f')
haveI : QuasiSeparatedSpace (pullback f' f' : Scheme.{u}) :=
quasiSeparatedSpace_of_quasiSeparated (pullback.fst f' f')
∃! φ : (Stacks.Duality.StandardModel.relativeDualizingComplex f').obj ≅
DiagonalOpen.baseChangeComplex g' K,
(DiagonalOpen.ofIsSeparated f').restrictDiagonalMap D' D'.ι
(DiagonalOpen.comp_ι_ofIsSeparated f' D')
(Stacks.Duality.StandardModel.relativeDualizingComplex f').obj
(Stacks.Duality.relativeDualizingComplexDiagonalMap f') ≫
D'.derivedPullbackProjMap φ.hom =
D.baseChangeDiagonalMap D' g' w (DiagonalOpen.proj_baseChange hpb D D' w hw)
(DiagonalOpen.baseChangeDiagonalIso hpb D D' w hw) K ξ
Tag 0E9W, a lemma
Tag 0E9W in the Stacks Project.
Stacks.Duality.exists_isRelativeDualizingComplex_upperShriek, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekRelativeDualizing.lean, line 269.
Stacks Project, Tag 0E9W. In Situation 48.16.1 (
SNoetherian), letf : X ⟶ Ybe a flat morphism ofFTS S, withf^!computed at any compactificationj. Thenf^!𝒪_Yis the first component of a relative dualizing complex forXoverY(Definition 0E2T): for every openW ⊆ X ×_Y Xthrough which the diagonal factors as a closed immersionΔ : X ⟶ Wthere isξ : Δ_*𝒪_X ⟶ L pr₁^* f^!𝒪_Y|_Wmaking(f^!𝒪_Y, ξ)a relative dualizing complex.
theorem exists_isRelativeDualizingComplex_upperShriek (D : f.left.DiagonalOpen) :
letI := locallyOfFinitePresentation_left f
∃ ξ : D.diagonalObject ⟶ D.derivedPullbackProj (relativeDualizingComplexObj f j),
Scheme.Hom.IsRelativeDualizingComplex.{u + 1, u} f.left
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily _) D
(relativeDualizingComplexObj f j) ξ
Tag 0E30, a lemma
Tag 0E30 in the Stacks Project.
AlgebraicGeometry.Scheme.Hom.IsRelativeDualizingComplex.comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/RelativeDualizingComplexComposite.lean, line 97.
Stacks 0E30. Let
f : Y ⟶ Xandg : X ⟶ Sbe flat and locally of finite presentation, and let(K, ξ)and(M, η)be relative dualizing complexes forgandf. Then(M ⊗ᴸ Lf^*K, ζ)is a relative dualizing complex forf ≫ g, for a suitableζ, on the diagonal openW' = Dg.comp Dfof the source's proof.The source's proof applies Stacks 0E2N with tensor factor
Lq^*Mover𝒪_{Y ×_S Y}, which needs Tor amplitude ofLq^*Mover𝒪_{Y ×_S Y}; this fails forX = S = Spec k,Y = Spec B,BArtinian non-Gorenstein,M = ω_B. The proof here uses instead the Tor amplitude ofLq^*Mrelative tof × f, as the algebraic version 0E2H does overA ⊗_R A.
theorem IsRelativeDualizingComplex.comp {X Y S : Scheme.{u}} (g : X ⟶ S) (f : Y ⟶ X)
[Flat g] [LocallyOfFinitePresentation g] [Flat f] [LocallyOfFinitePresentation f]
{Dg : DiagonalOpen g} {K : DerivedCategory X.Modules}
{ξ : Dg.diagonalObject ⟶ Dg.derivedPullbackProj K}
(hK : IsRelativeDualizingComplex g (RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily _)
Dg K ξ)
{Df : DiagonalOpen f} {M : DerivedCategory Y.Modules}
{η : Df.diagonalObject ⟶ Df.derivedPullbackProj M}
(hM : IsRelativeDualizingComplex f (RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily _)
Df M η) :
∃ ζ, IsRelativeDualizingComplex (f ≫ g)
(RingedSpace.canonicalCertifiedDerivedSheafTensoringFamily _) (Dg.comp Df)
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor
Y.toRingedSpace.sheaf).obj M).obj
((derivedPullback f.toLRSHom.toShHom).obj K)) ζ
Sources
Section48.29 The fundamental class of an lci morphism#
Section 48.29 of the Stacks Project, Tag 0E9X. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0E9Y, a lemma
Tag 0E9Y in the Stacks Project.
Stacks.Duality.isIso_stalkMap_locallyRingedSpaceDeterminantMap_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/FundamentalClassDeterminantSource.lean, line 617.
[Stacks, Tag 0E9Y]. Let
Xbe a locally ringed space andE₁ --α--> E₀ --π--> F ⟶ 0an exact sequence ofO_X-modules withE₁andE₀finite locally free of ranksr₁andr₀. The canonical map⋀^{r₀ - r₁} F ⟶ ⋀^{r₁}(E₁^∨) ⊗ ⋀^{r₀} E₀is an isomorphism on the stalk atxif and only ifFis locally free of rankr₀ - r₁on an open neighbourhood ofx: that is,r₀ - r₁is a natural number andFis free of that rank on some openU ∋ x.
theorem isIso_stalkMap_locallyRingedSpaceDeterminantMap_iff [Epi π]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E₁ r₁]
[AlgebraicGeometry.SheafOfModules.IsFiniteLocallyFreeOfRank.{u, u, u} E₀ r₀]
(x : ↥Y.toRingedSpace.carrier) :
IsIso (AlgebraicGeometry.SheafOfModules.stalkMap
(toRingCat (Opens.grothendieckTopology ↥Y.toRingedSpace.carrier) Y.toRingedSpace.sheaf) x
(locallyRingedSpaceDeterminantMap Y α π hαπ hS r₁ r₀)) ↔
r₁ ≤ r₀ ∧ ∃ U : Opens ↥Y.toRingedSpace.carrier, x ∈ U ∧
∃ t : LocallyFreeRank.Trivialization Y.toRingedSpace.carrier
(LocallyFreeRank.toRingSheaf Y.toRingedSpace.carrier Y.toRingedSpace.sheaf) F U,
Nonempty (t.ι ≃ Fin (r₀ - r₁))
Tag 0E9Z, a lemma
Tag 0E9Z in the Stacks Project.
Stacks.Duality.ClosedOpenProperFactorization.exists_fundamentalClass_of_isLocalCompleteIntersection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekLocalCompleteIntersection/Decomposition.lean, line 258.
Let
Sbe Noetherian andf : X ⟶ Ya local complete intersection morphism ofFTS Swhich factors as an immersionι : X ⟶ Pfollowed by a proper smooth morphismg : P ⟶ Y; letf^!be computed at any compactificationjoff. Then there is a locally constant functionronXsuch thatω_{X/Y} = H^{-r}(f^!𝒪_Y)is the only nonzero cohomology sheaf off^!𝒪_Y(the stalk ofH^k(f^!𝒪_Y)atxis nonzero exactly fork = -r(x)), and a map∧^r Ω_{X/Y} ⟶ ω_{X/Y}whose stalk atxis an isomorphism exactly whenfis smooth atx.As
ris only locally constant, the map is given on each piece of a decomposition ofXinto pairwise disjoint open and closed subschemes coveringXon whichris constant.
theorem exists_fundamentalClass_of_isLocalCompleteIntersection
(hlci : IsLocalCompleteIntersectionMorphism f.left) (j : CompactificationOf (Over.mk f.left)) :
∃ r : X.left → ℤ, IsLocallyConstant r ∧
(∀ (x : X.left) (k : ℤ),
Nontrivial ↑((upperShriekHomology f j k).presheaf.stalk x) ↔ k = -r x) ∧
∃ (A : Type) (V : A → X.left.Opens) (n : A → ℤ),
(∀ a, IsClosed (V a : Set X.left)) ∧ Pairwise (Function.onFun Disjoint V) ∧ (⨆ a, V a) = ⊤ ∧
(∀ a, ∀ x ∈ V a, r x = n a) ∧
∀ a, ∃ φ : (Scheme.Modules.restrictFunctor (V a).ι).obj
(Scheme.Modules.exteriorPower (Scheme.Hom.relativeDifferentials f.left) (n a)) ⟶
(Scheme.Modules.restrictFunctor (V a).ι).obj (upperShriekHomology f j (-n a)),
∀ x : (V a).toScheme, IsIso (AlgebraicGeometry.SheafOfModules.stalkMap
(CategoryTheory.Sheaf.toRingCat (Opens.grothendieckTopology
↥(V a).toScheme.toLocallyRingedSpace.toRingedSpace.carrier)
(V a).toScheme.toLocallyRingedSpace.toRingedSpace.sheaf) x φ) ↔
InfinitesimalLifting.SmoothAt f.left ((V a).ι x)
Tag 0EA0, a lemma
Tag 0EA0 in the Stacks Project.
Stacks.Duality.SmoothLocus.exists_map_exteriorPower_isIso_of_smoothAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/UpperShriekLocalCompleteIntersection/SmoothLocus.lean, line 409.
Stacks Project, Tag 0EA0. Let
Sbe Noetherian,f : X ⟶ Ya morphism ofFTS Sandr ≥ 0. Assume 1.Yis Cohen–Macaulay, 2.ffactors as an immersionι : X ⟶ Pfollowed by a smooth properg : P ⟶ Y, 3.fis Koszul at everyx ∈ Xwithdim 𝒪_{X,x} ≤ 1, and 4.trdeg_{κ(f(ξ))} κ(ξ) = rat every generic pointξof an irreducible component ofX.Then, with
ω_{X/Y} = H^{-r}(f^!𝒪_Y)(f^!at any compactificationj), there is a map∧^r Ω_{X/Y} ⟶ ω_{X/Y}which is an isomorphism at every point wherefis smooth.Two steps of the source's proof are corrected. The locally constant function of [Stacks, Tag 0E9Z] on the local complete intersection locus
Uisronly on the pieces where it equalsr(in general it isr - dim 𝒪_{Y,f(ξ)}at generic pointsξ); every smooth point lies on such a piece, and on the othersω_{X/Y}vanishes and the map is taken to be zero. The extension acrossX ∖ Uby [Stacks, Tag 0E9I] needsdepth(ω_{X/Y,x}) ≥ 2there; the(S₂)property of [Stacks, Tag 0E9V] does not give this alone, and it is proved asmin(2, dim 𝒪_{X,x}) ≤ depth(ω_{X/Y,x})(Stacks.Duality.min_two_ringKrullDim_le_moduleDepth_modulesStalk_homology_upperShriek).
theorem exists_map_exteriorPower_isIso_of_smoothAt {S : Scheme.{u}} [IsNoetherian S]
{X Y : FTS S} (f : X ⟶ Y) (r : ℕ) (hY : AlgebraicGeometry.IsCohenMacaulay Y.left)
{P : Scheme.{u}} (ι : X.left ⟶ P) [IsImmersion ι] (g : P ⟶ Y.left) [Smooth g] [IsProper g]
(hfac : ι ≫ g = f.left)
(hK : ∀ x : X.left, ringKrullDim (X.left.presheaf.stalk x) ≤ 1 → KoszulAt f.left x)
(htr : ∀ ξ : X.left, closure {ξ} ∈ irreducibleComponents X.left →
Stacks.Chow.residueTrdeg f.left ξ = (r : Cardinal))
(j : CompactificationOf (Over.mk f.left)) :
∃ φ : Scheme.Modules.exteriorPower (Scheme.Hom.relativeDifferentials f.left) (r : ℤ) ⟶
upperShriekHomology f j (-(r : ℤ)),
∀ x : X.left, InfinitesimalLifting.SmoothAt f.left x →
IsIso (AlgebraicGeometry.SheafOfModules.stalkMap
(Sheaf.toRingCat (Opens.grothendieckTopology
↥X.left.toLocallyRingedSpace.toRingedSpace.carrier)
X.left.toLocallyRingedSpace.toRingedSpace.sheaf) x φ)
Sources
Section48.30 Extension by zero for coherent modules#
Section 48.30 of the Stacks Project, Tag 0G2G. 10 tags here are carried by 22 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G2H, a lemma
Tag 0G2H in the Stacks Project.
AlgebraicGeometry.DeligneSystem.isIso_restrictionNatTrans, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemCoreCoherent.lean, line 124.
Stacks Project, Tag 0G2H. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and let(K_n)be a Deligne system with valueKonU. Then the canonical restriction transformation
colim_n Mor_X(K_n, -) ⟶ Mor_U(K, (-)|_U)is an isomorphism:
colim_n Hom_X(K_n, L) = Hom_U(K, L|_U)for everyLinD^b_{Coh}(𝒪_X).This is
AlgebraicGeometry.DeligneSystem.isIso_restrictionNatTrans_of_corewith its hypothesishcoresupplied byAlgebraicGeometry.DeligneSystem.restrictionLifting_truncGELE.
public theorem isIso_restrictionNatTrans (K : BoundedCoherentDerived U)
(e : D.system ⋙ restrictBoundedCoherent j ≅
(Functor.const ℕᵒᵖ).obj ((boundedCoherentDerived U).ι.obj K)) :
IsIso (D.restrictionNatTrans K e)
Tag 0G4K, a lemma
Tag 0G4K in the Stacks Project.
AlgebraicGeometry.DeligneSystem.nonempty_isColimit_restrictionHomCocone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemRestrictionLifting.lean, line 257.
Stacks Project, Tag 0G4K. The result of [Stacks, Tag 0G2H] holds even for
LinD^+_{Coh}(𝒪_X). Letj : U ⟶ Xbe an open immersion of Noetherian schemes, let(K_n)be a Deligne system, identified onUbyewith the constant system atK, and letLbe an object ofD(𝒪_X)that is cohomologically bounded below with coherent cohomology sheaves. Then
colim_n Hom_X(K_n, L) = Hom_U(K, L|_U),the map being the canonical one: the cocone of
CategoryTheory.restrictionHomCocone, which sendsg : K_n ⟶ LtoK ≅ K_n|_U ⟶ L|_U, is a colimit cocone.This is
AlgebraicGeometry.DeligneSystem.restrictionLifting_of_derivedCategoryBPlusread throughCategoryTheory.RestrictionLifting.isColimitRestrictionHomCocone. Nothing is assumed.
public theorem nonempty_isColimit_restrictionHomCocone (K : BoundedCoherentDerived U)
(e : D.system ⋙ restrictBoundedCoherent j ≅
(Functor.const ℕᵒᵖ).obj ((boundedCoherentDerived U).ι.obj K))
(L : DerivedCategory X.Modules)
(hL : DerivedCategoryB.derivedCategoryBPlus (fun M : X.Modules => M.IsCoherent) L) :
Nonempty (IsColimit (restrictionHomCocone (D.system ⋙ (boundedCoherentDerived X).ι)
(Scheme.Modules.restrictFunctor j).mapDerivedCategory L
((boundedCoherentDerived U).ι.obj K) e))
Tag 0G4L, a lemma
Tag 0G4L in the Stacks Project.
AlgebraicGeometry.DeligneSystem.exists_restrictIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemExistence.lean, line 88. The attribute's comment: “(2)”.
Stacks Project, Tag 0G4L (2). Let
j : U ⟶ Xbe an open immersion of Noetherian schemes. GivenKinD^b_{Coh}(𝒪_U), there exists a Deligne system(K_n)such that(K_n|_U)is constant with valueK.As in the source,
Kis the restriction of a bounded complex𝓕^•of coherent𝒪_X-modules (AlgebraicGeometry.exists_bounded_isCoherent_complex_restrict_Q_iso, which rests on Stacks 0G48 and Stacks 0FDB), the ideal sheaf is that of the reduced closed complement ofU, and the Deligne system is(𝓘^n𝓕^•),AlgebraicGeometry.DeligneTriangle.deligneSystemOfComplex.
public theorem exists_restrictIso (j : U ⟶ X) [IsOpenImmersion j] [IsNoetherian X]
(K : BoundedCoherentDerived U) :
∃ D : DeligneSystem j, Nonempty (D.system ⋙ restrictBoundedCoherent j ≅
(Functor.const ℕᵒᵖ).obj ((boundedCoherentDerived U).ι.obj K))
AlgebraicGeometry.DeligneSystem.Value.proHomEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemHom.lean, line 394. The attribute's comment: “lift_morphisms; the identification of 0G2H supplied as data”.
Stacks Project, Tag 0G4L(1). Let
j : U ⟶ Xbe an open immersion of Noetherian schemes, let(K_n)and(L_m)be Deligne systems and letKandLbe the values of the constant systems(K_n|_U)and(L_m|_U). Then every morphismα : K ⟶ LonUis the restriction of a unique morphism of pro-systems(K_n) ⟶ (L_m)inD^b_{Coh}(𝒪_X).This is the argument of the source: morphisms of pro-systems are the morphisms of the pro-objects they determine (Stacks 0G2X, which is
CategoryTheory.ProSeq.ofHomEquiv), that islim_m colim_n Hom_X(K_n, L_m); by Stacks 0G2H each term of the limit isHom_U(K, L_m|_U), and(L_m|_U)is the constant system atL, so the limit is over a constant diagram on a connected index category and equalsHom_U(K, L).
public def proHomEquiv :
(D.proObject ⟶ E.proObject) ≃
((boundedCoherentDerived U).ι.obj V.obj ⟶
(boundedCoherentDerived U).ι.obj W.obj)
AlgebraicGeometry.DeligneSystem.existsUnique_proHom_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemProMorphisms.lean, line 252. The attribute's comment: “(1)”.
Stacks Project, Tag 0G4L (1). Let
j : U ⟶ Xbe an open immersion of Noetherian schemes, let(K_n)and(L_m)be Deligne systems and letKandLbe the values of the constant systems(K_n|_U)and(L_m|_U), through the identificationseDandeE. Given a morphismα : K ⟶ LofD(𝒪_U), there is a unique morphism of pro-systemsξ : (K_n) ⟶ (L_m)ofD^b_{Coh}(𝒪_X)whose restriction toUisα: for everym, and every representativeg : K_n ⟶ L_mof them-th component ofξincolim_n Hom_X(K_n, L_m), the restrictionK ≅ K_n|_U ⟶ L_m|_UofgisK ⟶ L ≅ L_m|_U.Morphisms of pro-systems are transformations of the functors they corepresent (Stacks 0G2X), which by Stacks 0G2H are
Hom_U(L, (-)|_U)andHom_U(K, (-)|_U).
public theorem existsUnique_proHom_restrict (α : K ⟶ L) :
∃! ξ : D.proObject ⟶ E.proObject,
∀ (m n : ℕ) (g : D.system.obj (op n) ⟶ E.system.obj (op m)),
proHomComponent ξ m = Pro.seqStage D.system g →
eD.inv.app (op n) ≫ (restrictBoundedCoherent j).map g = α ≫ eE.inv.app (op m)
AlgebraicGeometry.DeligneSystem.existsUnique_proIso_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemProMorphisms.lean, line 303. The attribute's comment: “(3)”.
Stacks Project, Tag 0G4L (3). Let
j : U ⟶ Xbe an open immersion of Noetherian schemes. The pro-object of a Deligne system with valueK(part (2)) is unique up to unique isomorphism as a pro-object: for Deligne systems(K_n)and(K'_n)whose restrictions toUare identified, byeDandeE, with the constant system atK, there is a unique isomorphism of pro-objects(K_n) ≅ (K'_n)whose restriction toUis the identity ofK: for everym, and every representativeg : K_n ⟶ K'_mof them-th component of its forward morphism, the restrictionK ≅ K_n|_U ⟶ K'_m|_UofgisK ≅ K'_m|_U.This follows from part (1): the morphisms restricting to the identity in the two directions compose to morphisms restricting to the identity, which are the identities.
public theorem existsUnique_proIso_restrict
(eD : D.system ⋙ restrictBoundedCoherent j ≅ (Functor.const ℕᵒᵖ).obj K)
(eE : E.system ⋙ restrictBoundedCoherent j ≅ (Functor.const ℕᵒᵖ).obj K) :
∃! i : D.proObject ≅ E.proObject,
∀ (m n : ℕ) (g : D.system.obj (op n) ⟶ E.system.obj (op m)),
proHomComponent i.hom m = Pro.seqStage D.system g →
eD.inv.app (op n) ≫ (restrictBoundedCoherent j).map g = eE.inv.app (op m)
Tag 0G4M, a lemma
Tag 0G4M in the Stacks Project.
AlgebraicGeometry.DeligneTriangle.exists_deligneSystem_distTriang_boundedCoherent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemTriangleExtensionCoherent.lean, line 475.
Stacks Project, Tag 0G4M. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and let
K ⟶ L ⟶ M ⟶ K[1]be a distinguished triangle of
D^b_{Coh}(𝒪_U). Then there is an inverse system of distinguished triangles
K_n ⟶ L_n ⟶ M_n ⟶ K_n[1]in
D^b_{Coh}(𝒪_X)such that(K_n),(L_n)and(M_n)are Deligne systems and such that the restriction of these distinguished triangles toUis isomorphic to the distinguished triangle one started with.The system is the one of
AlgebraicGeometry.DeligneTriangle.exists_deligneSystem_distTriang_derived, the cone triangles of a coherent complex model ofK ⟶ L, lifted toD^b_{Coh}(𝒪_X)byAlgebraicGeometry.DeligneTriangle.exists_triangleFunctor_lift; the identifications of its vertex systems and of its restriction toUare transported back along the fully faithful inclusions ofD^b_{Coh}.
public theorem exists_deligneSystem_distTriang_boundedCoherent (j : U ⟶ X) [IsOpenImmersion j]
[IsNoetherian X]
(T : Triangle (BoundedCoherentDerived U)) (hT : T ∈ distTriang (BoundedCoherentDerived U)) :
∃ (DK DL DM : DeligneSystem j) (TX : ℕᵒᵖ ⥤ Triangle (BoundedCoherentDerived X)),
(∀ n : ℕᵒᵖ, TX.obj n ∈ distTriang (BoundedCoherentDerived X)) ∧
Nonempty (TX ⋙ Triangle.π₁ ≅ DK.system) ∧
Nonempty (TX ⋙ Triangle.π₂ ≅ DL.system) ∧
Nonempty (TX ⋙ Triangle.π₃ ≅ DM.system) ∧
Nonempty (TX ⋙ (restrictBoundedCoherentLift j).mapTriangle ≅
(Functor.const ℕᵒᵖ).obj T)
Tag 0G4N, a remark
Tag 0G4N in the Stacks Project.
CategoryTheory.extensionByZero, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroFunctor.lean, line 80. The attribute's comment: “the functor Rj_!, for a Deligne-system assignment supplied as data”.
Stacks Project, Tag 0G4N. Sending an object
Kof𝒞to the pro-object of the inverse sequence assigned to it determines a functorRj_! : 𝒞 ⥤ Pro-𝒟. Its functor of points atKisL ↦ Mor_𝒞(K, j^* L).
public def extensionByZero : 𝒞 ⥤ ProSeq 𝒟
CategoryTheory.extensionByZeroHomEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroFunctor.lean, line 99. The attribute's comment: “the left adjointness of Rj_! to j^*”.
Stacks Project, Tag 0G4N, the left adjointness of
Rj_!toj^*: morphisms of pro-objects fromRj_! Kto the constant pro-object atLare the morphismsK ⟶ j^* L.
public def extensionByZeroHomEquiv (K : 𝒞) (L : 𝒟) :
((extensionByZero jstar A).obj K ⟶ ProSeq.const.obj L) ≃ (K ⟶ jstar.obj L)
AlgebraicGeometry.extensionByZeroOpenImmersion, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenImmersion.lean, line 275. The attribute's comment: “the functor Rj_!”.
The extension by zero
Rj_! : D^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_X)along an open immersionjof Noetherian schemes, [Stacks, Tag 0G4N]: it sendsKto the pro-object of a Deligne system with valueK, the one of the assignmentAlgebraicGeometry.DeligneSystem.values. Its functor of points atKisL ↦ Hom_U(K, L|_U). The value atKis the pro-object of any Deligne system with valueK, byAlgebraicGeometry.DeligneSystem.Value.extensionByZeroIso, and on morphisms it is computed on any morphism of inverse systems restricting to the given one, byCategoryTheory.extensionByZero_map_comp_comparison.
public def extensionByZeroOpenImmersion :
BoundedCoherentDerived U ⥤ ProSeq (BoundedCoherentDerived X)
AlgebraicGeometry.DeligneSystem.Value.extensionByZeroIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenImmersion.lean, line 389. The attribute's comment: “Rj_! K is the pro-object of any Deligne system with value K”.
Rj_! Kis the pro-object of any Deligne system with valueK. Both have the functor of pointsL ↦ Hom_U(K, L|_U), by [Stacks, Tag 0G2H]; the identification is the restriction map.
public def extensionByZeroIso : D.proObject ≅ (extensionByZeroOpenImmersion j).obj V.obj
AlgebraicGeometry.extensionByZeroOpenImmersionHomIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenImmersion.lean, line 425. The attribute's comment: “Rj_! is left adjoint to j^*”.
Stacks Project, Tag 0G4N, adjointness.
Rj_!is "left adjoint" toj^* : D^b_{Coh}(𝒪_X) ⥤ D^b_{Coh}(𝒪_U): morphisms of pro-objects fromRj_! Kto the constant pro-object atLare the morphismsK ⟶ L|_U,
Hom_{Pro}(Rj_! K, L) = Hom_U(K, L|_U),naturally in
Kand inL. Both sides are the functor of points ofRj_! KatL, which iscolim_n Hom_X(K_n, L)for a Deligne system(K_n)with restrictionK, and the identification withHom_U(K, L|_U)is Stacks 0G2H.
public def extensionByZeroOpenImmersionHomIso :
(extensionByZeroOpenImmersion j).op ⋙ coyoneda ⋙
(Functor.whiskeringLeft _ _ _).obj ProSeq.const ≅
coyoneda ⋙ (Functor.whiskeringLeft _ _ _).obj (restrictBoundedCoherentLift j)
AlgebraicGeometry.extensionByZeroOpenImmersion_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenImmersion.lean, line 463. The attribute's comment: “Rj_! is exact”.
Stacks Project, Tag 0G4N, exactness. Let
K ⟶ L ⟶ M ⟶ K[1]be a distinguished triangleTofD^b_{Coh}(𝒪_U). Then there is an inverse system of distinguished trianglesK_n ⟶ L_n ⟶ M_n ⟶ K_n[1]ofD^b_{Coh}(𝒪_X), with an identificationeof its restriction toUwith the constant system atT, whose vertex systems(K_n),(L_n),(M_n)are Deligne systems, and such thatRj_!sendsTto its pro-system: the comparison maps
Rj_! K ⟶ (K_n),Rj_! L ⟶ (L_n),Rj_! M ⟶ (M_n),Rj_!(K[1]) ⟶ (K_n[1])induced by
eare isomorphisms of pro-objects, and they carryRj_!of the three maps ofTto the morphisms of pro-systems induced by the three maps of the triangles.The system is the one of Stacks 0G4M; the comparison maps are isomorphisms by Stacks 0G2H, which holds for the vertex systems because they are Deligne systems, and for
(K_n[1])because it holds for(K_n).
public theorem extensionByZeroOpenImmersion_exact (T : Triangle (BoundedCoherentDerived U))
(hT : T ∈ distTriang (BoundedCoherentDerived U)) :
∃ (TX : ℕᵒᵖ ⥤ Triangle (BoundedCoherentDerived X))
(e : TX ⋙ (restrictBoundedCoherentLift j).mapTriangle ≅ (Functor.const ℕᵒᵖ).obj T),
(∀ n, TX.obj n ∈ distTriang (BoundedCoherentDerived X)) ∧
(∃ D : DeligneSystem j, Nonempty (TX ⋙ Triangle.π₁ ≅ D.system)) ∧
(∃ D : DeligneSystem j, Nonempty (TX ⋙ Triangle.π₂ ≅ D.system)) ∧
(∃ D : DeligneSystem j, Nonempty (TX ⋙ Triangle.π₃ ≅ D.system)) ∧
IsIso (extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₁ _ e)) ∧
IsIso (extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₂ _ e)) ∧
IsIso (extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₃ _ e)) ∧
IsIso (extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoShiftπ₁ _ e)) ∧
(extensionByZeroOpenImmersion j).map T.mor₁ ≫
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₂ _ e) =
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₁ _ e) ≫
ProSeq.ofMap (Functor.whiskerLeft TX Triangle.π₁Toπ₂) ∧
(extensionByZeroOpenImmersion j).map T.mor₂ ≫
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₃ _ e) =
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₂ _ e) ≫
ProSeq.ofMap (Functor.whiskerLeft TX Triangle.π₂Toπ₃) ∧
(extensionByZeroOpenImmersion j).map T.mor₃ ≫
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoShiftπ₁ _ e) =
extensionByZeroComparison _ (DeligneSystem.values j).toAssignment
(mapTriangleConstIsoπ₃ _ e) ≫
ProSeq.ofMap (Functor.whiskerLeft TX Triangle.π₃Toπ₁)
Tag 0G4Q, a lemma
Tag 0G4Q in the Stacks Project.
CategoryTheory.DeligneSystemValues.proIsoDeligne_π₂, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemTriangles.lean, line 583. The attribute's comment: “for a Deligne-system assignment supplied as data, including the colimit identification of Stacks 0G2H as its isColimit field”.
Let
j^* : 𝒟 ⥤ 𝒞be a triangulated functor with a Deligne system assignment, and letK_n ⟶ L_n ⟶ M_n ⟶ K_n[1]be an inverse system of distinguished triangles in𝒟. If(K_n)and(M_n)are pro-isomorphic to Deligne systems, then so is(L_n).
public theorem DeligneSystemValues.proIsoDeligne_π₂ {jstar : 𝒟 ⥤ 𝒞} [jstar.Additive]
[jstar.CommShift ℤ] [jstar.IsTriangulated] (A : DeligneSystemValues jstar)
(T : ℕᵒᵖ ⥤ Triangle 𝒟) (hT : ∀ n, T.obj n ∈ distTriang 𝒟)
(hK : A.ProIsoDeligne (T ⋙ Triangle.π₁)) (hM : A.ProIsoDeligne (T ⋙ Triangle.π₃)) :
A.ProIsoDeligne (T ⋙ Triangle.π₂)
AlgebraicGeometry.DeligneSystem.proIsoDeligneSystem_π₂, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemTrianglesCoherent.lean, line 45.
Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and letK_n ⟶ L_n ⟶ M_n ⟶ K_n[1]be an inverse system of distinguished triangles inD^b_{Coh}(𝒪_X). If(K_n)and(M_n)are pro-isomorphic to Deligne systems, then so is(L_n).
public theorem proIsoDeligneSystem_π₂ (T : ℕᵒᵖ ⥤ Triangle (BoundedCoherentDerived X))
(hT : ∀ n, T.obj n ∈ distTriang (BoundedCoherentDerived X))
(hK : ProIsoDeligneSystem j (T ⋙ Triangle.π₁))
(hM : ProIsoDeligneSystem j (T ⋙ Triangle.π₃)) :
ProIsoDeligneSystem j (T ⋙ Triangle.π₂)
Tag 0G4R, a lemma
Tag 0G4R in the Stacks Project.
AlgebraicGeometry.idealPowerComplexSystem, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/IdealPowerComplex.lean, line 146. The attribute's comment: “transition maps only. This supplies the canonical maps … → H^p(I³F) → H^p(I²F) → H^p(IF) → H^p(F) of the statement, for an arbitrary scheme and an arbitrary complex of module sheaves. The Artin-Rees part of the tag — the constant c > 0, the inclusion of the image of H^p(I^nF) → H^p(F) in I^(n-c)H^p(F), the maps back, and the resulting pro-isomorphism — is not proved here and needs Noetherianness and coherence.”.
Stacks Project, Tag 0G4R (transition maps). The ideal-power subcomplexes
I^n Fexist and carry their canonical compatible inclusions. Taking cohomology in any degree gives the maps⋯ → H^p(I³F) → H^p(I²F) → H^p(IF) → H^p(F).
public noncomputable def idealPowerComplexSystem {X : Scheme.{u}}
(I : X.IdealSheafData) (F : CochainComplex X.Modules ℤ) :
IdealPowerComplexSystem I F
Stacks.Duality.cohomologyIdealPowersProIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/IdealPowerCohomologyProIso.lean, line 166. The attribute's comment: “the pro-isomorphism, packaged as a ProIso of the two inverse sequences n ↦ H^p(I^n F^•) and n ↦ I^n H^p(F^•); the underlying data and its equations are Stacks.Duality.cohomologyIdealPowers_proIsomorphic.”.
[Stacks, Tag 0G4R] as a
ProIso. LetXbe a Noetherian scheme,𝓘 ⊆ 𝒪_Xa quasi-coherent sheaf of ideals and𝓕^•a complex of coherent𝒪_X-modules. The inverse sequencen ↦ H^p(𝓘^n𝓕^•)and the inverse sequencen ↦ 𝓘^n H^p(𝓕^•)are pro-isomorphic, in the explicit "up to refinement" formProIso: withcthe Artin-Rees constant ofStacks.Duality.cohomologyIdealPowers_proIsomorphic, both reindexings arem ↦ m + c, the forward maps are the factorizationsH^p(𝓘^{m+c}𝓕^•) ⟶ 𝓘^m H^p(𝓕^•)and the backward maps are the comparisons𝓘^{m+c} H^p(𝓕^•) ⟶ H^p(𝓘^m𝓕^•).This is the form a pro-isomorphism is consumed in by
CategoryTheory.RestrictionLifting.of_proIso, which is how the core case of [Stacks, Tag 0G2H] is transported from the ideal powers of the cohomology to the cohomology of the ideal powers.
theorem cohomologyIdealPowersProIso [IsNoetherian X] (hF : TermsCoherent F)
(S : IdealPowerComplexSystem I F) :
Nonempty (ProIso (cohomologySystem S p) (idealPowerSystem I (F.homology p)))
Stacks.Duality.cohomologyIdealPowers_proIsomorphic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/IdealPowerCohomologyProIsomorphism.lean, line 844. The attribute's comment: “the pro-isomorphism half, for schemes, with no boundedness assumed on the complex: the constant c > 0, the factorization of H^p(𝓘^n𝓕^•) → H^p(𝓕^•) through 𝓘^(n-c)H^p(𝓕^•) (the image containment), the canonical map 𝓘^nH^p(𝓕^•) → H^p(𝓘^(n-c)𝓕^•), the two composites, and the resulting explicit isomorphism of pro-objects via the shift n ↦ n + c. The canonical maps … → H^p(𝓘^2𝓕^•) → H^p(𝓘𝓕^•) → H^p(𝓕^•) that the tag asserts first are the ones carried by AlgebraicGeometry.IdealPowerComplexSystem, constructed unconditionally by AlgebraicGeometry.idealPowerComplexSystem.”.
Stacks 0G4R, pro-isomorphism half. Let
Xbe a Noetherian scheme,𝓘 ⊆ 𝒪_Xa quasi-coherent sheaf of ideals and𝓕^•a complex of coherent𝒪_X-modules. Write𝓗 = H^p(𝓕^•)and𝓗_n = H^p(𝓘^n𝓕^•). There is ac > 0such that forn ≥ cthe map𝓗_n → 𝓗factors through𝓘^(n-c)𝓗, there is a canonical𝓘^n𝓗 → 𝓗_(n-c), and the two composites are the canonical maps; consequently(𝓗_n)and(𝓘^n𝓗)are isomorphic as pro-objects, by the explicit cofinal shiftn ↦ n + c.
theorem cohomologyIdealPowers_proIsomorphic [IsNoetherian X]
(hF : ∀ i : ℤ, _root_.SheafOfModules.IsCoherent (F.X i))
(S : IdealPowerComplexSystem I F) :
∃ (τ : ∀ m n : ℕ, n ≤ m → (S.cohomology m p ⟶ S.cohomology n p)),
(∀ n : ℕ, τ n n le_rfl = 𝟙 (S.cohomology n p)) ∧
(∀ (k m n : ℕ) (hkm : m ≤ k) (hmn : n ≤ m),
τ k m hkm ≫ τ m n hmn = τ k n (hmn.trans hkm)) ∧
(∀ n : ℕ, τ (n + 1) n (Nat.le_succ n) = S.cohomologyTransition n p) ∧
(∀ (m n : ℕ) (hmn : n ≤ m),
τ m n hmn ≫ S.cohomologyToOriginal n p = S.cohomologyToOriginal m p) ∧
∃ c : ℕ, 0 < c ∧
∃ (ρ : ∀ n : ℕ, c ≤ n → (S.cohomology n p ⟶
((Stacks.Algebraization.idealPowerMultiple I (n - c)
(F.homology p)).toSheafOfModules : X.Modules)))
(ψ : ∀ n : ℕ, c ≤ n →
(((Stacks.Algebraization.idealPowerMultiple I n
(F.homology p)).toSheafOfModules : X.Modules) ⟶ S.cohomology (n - c) p)),
(∀ (n : ℕ) (hn : c ≤ n), ρ n hn ≫
subι (Stacks.Algebraization.idealPowerMultiple I (n - c) (F.homology p)) =
S.cohomologyToOriginal n p) ∧
(∀ (n : ℕ) (hn : c ≤ n), ψ n hn ≫ S.cohomologyToOriginal (n - c) p =
subι (Stacks.Algebraization.idealPowerMultiple I n (F.homology p))) ∧
(∀ (m n : ℕ) (hmn : n ≤ m) (hm : c ≤ m) (hn : c ≤ n),
τ m n hmn ≫ ρ n hn = ρ m hm ≫
subHom (idealPowerMultiple_antitone I (F.homology p)
(Nat.sub_le_sub_right hmn c))) ∧
(∀ (m n : ℕ) (hmn : n ≤ m) (hm : c ≤ m) (hn : c ≤ n),
subHom (idealPowerMultiple_antitone I (F.homology p) hmn) ≫ ψ n hn =
ψ m hm ≫ τ (m - c) (n - c) (Nat.sub_le_sub_right hmn c)) ∧
(∀ (n : ℕ) (hn : 2 * c ≤ n),
ρ n (by omega) ≫ ψ (n - c) (by omega) = τ n (n - c - c) (by omega)) ∧
(∀ (n : ℕ) (hn : 2 * c ≤ n),
ψ n (by omega) ≫ ρ (n - c) (by omega) =
subHom (idealPowerMultiple_antitone I (F.homology p)
(show n - c - c ≤ n by omega))) ∧
∃ (forward : ∀ m : ℕ, (S.cohomology (m + c) p ⟶
((Stacks.Algebraization.idealPowerMultiple I m
(F.homology p)).toSheafOfModules : X.Modules)))
(backward : ∀ m : ℕ,
(((Stacks.Algebraization.idealPowerMultiple I (m + c)
(F.homology p)).toSheafOfModules : X.Modules) ⟶ S.cohomology m p)),
(∀ m : ℕ, forward m ≫
subι (Stacks.Algebraization.idealPowerMultiple I m (F.homology p)) =
S.cohomologyToOriginal (m + c) p) ∧
(∀ m : ℕ, backward m ≫ S.cohomologyToOriginal m p =
subι (Stacks.Algebraization.idealPowerMultiple I (m + c) (F.homology p))) ∧
(∀ (m m' : ℕ) (h : m ≤ m'),
τ (m' + c) (m + c) (Nat.add_le_add_right h c) ≫ forward m =
forward m' ≫ subHom (idealPowerMultiple_antitone I (F.homology p) h)) ∧
(∀ (m m' : ℕ) (h : m ≤ m'),
subHom (idealPowerMultiple_antitone I (F.homology p)
(Nat.add_le_add_right h c)) ≫ backward m = backward m' ≫ τ m' m h) ∧
(∀ m : ℕ, forward (m + c) ≫ backward m =
τ (m + c + c) m (by omega)) ∧
(∀ m : ℕ, backward (m + c) ≫ forward m =
subHom (idealPowerMultiple_antitone I (F.homology p)
(show m ≤ m + c + c by omega)))
Tag 0G4S, a lemma
Tag 0G4S in the Stacks Project.
AlgebraicGeometry.DeligneSystem.proIsoDeligneSystem_iff_homology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemCohomology.lean, line 203.
Stacks Project, Tag 0G4S. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and𝓘 ⊆ 𝒪_Xa quasi-coherent sheaf of ideals withV(𝓘) = X ∖ U. Leta ≤ bbe integers and(K_n)an inverse system ofD^b_{Coh}(𝒪_X)such thatH^i(K_n) = 0fori ∉ [a, b]. The following are equivalent:
(K_n)is pro-isomorphic to a Deligne system;- for every
p ∈ ℤthere exists a coherent𝒪_X-module𝓕such that the pro-systems(H^p(K_n))and(𝓘^n𝓕)are pro-isomorphic.(1) ⇒ (2) is
AlgebraicGeometry.DeligneSystem.exists_proIso_homology_of_proIso, from [Stacks, Tag 0G4R]; (2) ⇒ (1) isAlgebraicGeometry.DeligneSystem.proIsoDeligneSystem_of_homology, from [Stacks, Tag 0G4Q]. The ideal𝓘of (2) is any one cutting outX ∖ U.
public theorem proIsoDeligneSystem_iff_homology (I : X.IdealSheafData)
(hI : (I.support : Set X) = (Set.range j.base)ᶜ) {a b : ℤ}
(hab : a ≤ b) (K : ℕᵒᵖ ⥤ BoundedCoherentDerived X)
(hK : ∀ (n : ℕ) (i : ℤ), i < a ∨ b < i →
IsZero ((DerivedCategory.homologyFunctor X.Modules i).obj
((boundedCoherentDerived X).ι.obj (K.obj (op n))))) :
ProIsoDeligneSystem j K ↔
∀ p : ℤ, ∃ F : X.Modules, F.IsCoherent ∧
Nonempty (ProSeq.of ((K ⋙ (boundedCoherentDerived X).ι) ⋙
DerivedCategory.homologyFunctor X.Modules p) ≅
ProSeq.of (Stacks.Duality.idealPowerSystem I F))
CategoryTheory.DeligneSystemValues.proIsoDeligne_of_truncGELE, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemTruncation.lean, line 201. The attribute's comment: “(2) implies (1) only, and with (2) in the equivalent form that each one-degree truncation system (τ^{≥p}τ^{≤p}K_n) is pro-isomorphic to a Deligne system, for a Deligne-system assignment and a t-structure supplied as data. (1) implies (2) is not proved: it is Stacks 0G4R, whose Artin-Rees content the library does not have.”.
Stacks Project, Tag 0G4S, the implication (2) ⇒ (1). Let
j^* : 𝒟 ⥤ 𝒞be a triangulated functor with a Deligne system assignment,tat-structure on𝒟, and(K_n)an inverse sequence of𝒟whose terms lie in the degree range[a, b]. If each one-degree truncationτ^{≥p}τ^{≤p}K_n, fora ≤ p ≤ b, is pro-isomorphic to a Deligne system, then(K_n)is.
public theorem DeligneSystemValues.proIsoDeligne_of_truncGELE {jstar : 𝒟 ⥤ 𝒞} [jstar.Additive]
[jstar.CommShift ℤ] [jstar.IsTriangulated] (A : DeligneSystemValues jstar)
(t : TStructure 𝒟) {a b : ℤ} (hab : a ≤ b) (K : ℕᵒᵖ ⥤ 𝒟)
(hGE : ∀ n, t.IsGE (K.obj n) a) (hLE : ∀ n, t.IsLE (K.obj n) b)
(H : ∀ p : ℤ, a ≤ p → p ≤ b → A.ProIsoDeligne (K ⋙ t.truncGELE p p)) :
A.ProIsoDeligne K
Tag 0G4T, a lemma
Tag 0G4T in the Stacks Project.
AlgebraicGeometry.proIsoDeligneSystem_iff_forall_restrict, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DeligneSystemCovering.lean, line 271.
Stacks Project, Tag 0G4T. Let
j : U → Xbe an open immersion of Noetherian schemes, let(K_n)be an inverse system inD^b_{Coh}(𝒪_X)and letX = W_1 ∪ … ∪ W_rbe a finite open covering. Then(K_n)is pro-isomorphic to a Deligne system if and only if, for eachi, the restriction(K_n|_{W_i})is pro-isomorphic to a Deligne system with respect to the open immersionU ∩ W_i → W_i.The covering is any family
W : ι → X.Opensindexed by a finite type, with⨆ i, W i = ⊤; the open immersionU ∩ W_i → W_iis the restrictionj ∣_ W iofj.
public theorem proIsoDeligneSystem_iff_forall_restrict (j : U ⟶ X) [IsOpenImmersion j]
[IsNoetherian X] (F : ℕᵒᵖ ⥤ BoundedCoherentDerived X) {ι : Type*} [Finite ι]
(W : ι → X.Opens) (hW : ⨆ i, W i = ⊤) :
ProIsoDeligneSystem j F ↔
∀ i, ProIsoDeligneSystem (j ∣_ W i) (F ⋙ restrictBoundedCoherentLift (W i).ι)
Tag 0G4U, a lemma
Tag 0G4U in the Stacks Project.
AlgebraicGeometry.exists_deligneSystem_proIso_derivedTensorIdealPowerSystem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/DerivedTensorIdealPowerDeligne.lean, line 159.
Stacks Project, Tag 0G4U. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes, let𝓘 ⊆ 𝒪_Xbe a quasi-coherent sheaf of ideals withV(𝓘) = X ∖ U, and letKbe inD^b_{Coh}(𝒪_X). Then the inverse system(K ⊗^L_{𝒪_X} 𝓘^n)_nis pro-isomorphic to a Deligne system whose restriction toUis constant with valueK|_U.The derived tensor product is that of [Stacks, Tag 06YU] (
AlgebraicGeometry.derivedTensorIdealPowerSystem), and the pro-isomorphism is one of pro-objects ofD(𝒪_X): the termsK ⊗^L 𝓘^nare not inD^b_{Coh}(𝒪_X)in general. The Deligne system produced is(𝓘^n 𝓕^•)for a bounded complex𝓕^•of coherent modules representingK, with the given ideal sheaf𝓘.
public theorem exists_deligneSystem_proIso_derivedTensorIdealPowerSystem (j : U ⟶ X)
[IsOpenImmersion j] [IsNoetherian X] (I : X.IdealSheafData)
(hI : (I.support : Set X) = (Set.range j.base)ᶜ) (K : BoundedCoherentDerived X) :
∃ D : DeligneSystem j,
Nonempty (D.system ⋙ restrictBoundedCoherent j ≅
(Functor.const ℕᵒᵖ).obj ((restrictBoundedCoherent j).obj K)) ∧
Nonempty (ProSeq.of (derivedTensorIdealPowerSystem I K.obj) ≅
ProSeq.of (D.system ⋙ (boundedCoherentDerived X).ι))
Sources
Section48.31 Preliminaries to compactly supported cohomology#
Section 48.31 of the Stacks Project, Tag 0G4V. 3 tags here are carried by 16 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G4W, a lemma
Tag 0G4W in the Stacks Project.
CategoryTheory.baseChangeShriek, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CompactlySupportedCohomology/BaseChangeShriek.lean, line 111. The attribute's comment: “the Deligne system assignments, the adjunctions Rg_ ⊣ g^! and Rf_ ⊣ f^!, and the compatibility (j')^ ∘ g^! ≅ f^! ∘ j^ coming from Tags 0ATX and 0AU0, supplied as data”.
Stacks Project, Tag 0G4W. Let
f : X ⟶ Ybe a proper morphism of Noetherian schemes, letV ⊆ Ybe open and letU = f^{-1}(V), withj : U ⟶ X,j' : V ⟶ Ythe open immersions andg : U ⟶ Vthe induced morphism. There is a canonical isomorphism
Rj'_! ∘ Rg_* ≅ Rf_* ∘ Rj_!of functors
D^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_Y).The isomorphism is constructed, not merely asserted: on functors of points it is the chain of adjunctions
CategoryTheory.baseChangeShriekPoints, which is the source's second proof.
public def baseChangeShriek :
gstar ⋙ extensionByZero jV A' ≅ extensionByZero jU A ⋙ ProSeq.pushforward adjf
AlgebraicGeometry.extensionByZeroProperBaseChangeIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CompactlySupportedCohomology/BaseChangeShriekProper.lean, line 66.
Stacks Project, Tag 0G4W. Let
f : X ⟶ Ybe a proper morphism of Noetherian schemes, letV ⊆ Ybe open and letU = f⁻¹(V), withj : U ⟶ X,j' : V ⟶ Ythe open immersions andg : U ⟶ Vthe restriction off. There is a canonical isomorphism
Rj'_! ∘ Rg_* ≅ Rf_* ∘ Rj_!of functors
D^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_Y), whereRj_!,Rj'_!are the extensions by zero of [Stacks, Tag 0G4N] andRf_*acts on pro-objects termwise.This is the source's first proof: for a Deligne system
(K_n)with valueKthe system(Rf_* K_n)is pro-isomorphic to a Deligne system (AlgebraicGeometry.proIsoDeligneSystem_properPushforward), and its restriction toVis constant with valueRg_* Kby flat base change, so by the uniqueness of Deligne systems (Stacks 0G2H) it representsRj'_! Rg_* K; this identification is natural inK(CategoryTheory.baseChangeShriekOfLifting).
public def extensionByZeroProperBaseChangeIso {X Y : Scheme.{u}} (f : X ⟶ Y) [IsProper f]
[IsNoetherian X] [IsNoetherian Y] (V : Y.Opens) :
properPushforwardBoundedCoherent (f ∣_ V) ⋙ extensionByZeroOpenImmersion V.ι ≅
extensionByZeroOpenImmersion (f ⁻¹ᵁ V).ι ⋙
ProSeq.map (properPushforwardBoundedCoherent f)
Tag 0G4X, a lemma
Tag 0G4X in the Stacks Project.
CategoryTheory.compactificationShriek, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CompactlySupportedCohomology/BaseChangeShriek.lean, line 133. The attribute's comment: “the Deligne system assignments, the adjunction Rf_ ⊣ f^!, and the compatibility j^ ≅ f^! ∘ (j')^* coming from Tags 0ATX and 0AU0, supplied as data”.
Stacks Project, Tag 0G4X. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and letj' : U ⟶ X'be a compactification ofUoverX, with structure morphismf : X' ⟶ X. There is a canonical isomorphism
Rj_! ≅ Rf_* ∘ R(j')_!of functors
D^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_X).This is
CategoryTheory.baseChangeShriekfor the openj(U) ⊆ Xand the identityU ⟶ U: the compatibility it needs becomesj^* ≅ f^! ⋙ (j')^*, which holds for a compactification becausef^!is local on the source andf ∘ j' = jis an open immersion.
public def compactificationShriek {jX' : 𝒟 ⥤ 𝒞} (A₁ : DeligneSystemAssignment jX')
{jX : 𝒟' ⥤ 𝒞} (A₂ : DeligneSystemAssignment jX)
(κ' : jX ≅ fshriek ⋙ jX') :
extensionByZero jX A₂ ≅ extensionByZero jX' A₁ ⋙ ProSeq.pushforward adjf
AlgebraicGeometry.extensionByZeroCompactificationIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/CompactlySupportedCohomology/CompactificationShriek.lean, line 291.
Stacks Project, Tag 0G4X. Let
j : U ⟶ Xbe an open immersion of Noetherian schemes and letj' : U ⟶ X'be a compactification ofUoverX, with structure morphismf : X' ⟶ X(fproper,j'an open immersion andj = f ∘ j'). Then there is a canonical isomorphism
Rj_! ≅ Rf_* ∘ R(j')_!of functors
D^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_X), whereRj_!andR(j')_!are the extensions by zero of [Stacks, Tag 0G4N] andRf_*acts on pro-objects termwise.The proof is the source's. Let
X'' ⊆ X'be the scheme-theoretic closure ofj', withj'' : U ⟶ X''andf' : X'' ⟶ X'(AlgebraicGeometry.CompactificationOf.closure). AsUis dense inX'', [Stacks, Tag 0ATU] (c) givesj''(U) = f'⁻¹(j'(U)) = (f ∘ f')⁻¹(j(U)), so the caseAlgebraicGeometry.compactificationShriekOfPreimageof [Stacks, Tag 0G4W] givesRf'_* ∘ Rj''_! ≅ Rj'_!andR(f ∘ f')_* ∘ Rj''_! ≅ Rj_!; andR(f ∘ f')_* ≅ Rf_* ∘ Rf'_*(AlgebraicGeometry.properPushforwardBoundedCoherentCompIso).
public def extensionByZeroCompactificationIso :
extensionByZeroOpenImmersion j ≅
extensionByZeroOpenImmersion c.immersion ⋙
ProSeq.map (properPushforwardBoundedCoherent c.toBase)
Tag 0G4Y, a remark
Tag 0G4Y in the Stacks Project.
CategoryTheory.restrictionHomNatTrans, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroCovariance.lean, line 105. The attribute's comment: “the restriction map Hom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'}) of the display, as a transformation functorial in L”.
The displayed arrow of [Stacks, Tag 0G4Y]: the restriction map
Hom_U(K, L|_U) ⟶ Hom_{U'}(K|_{U'}, L|_{U'}),sending
αtoi^* αfollowed by the identificatione : j^* ⋙ i^* ≅ j'^*, read as a transformation of the functorsL ↦ Hom_𝒞(K, j^* L)andL ↦ Hom_{𝒞'}(i^* K, j'^* L). Its naturality inLis the functoriality inLthat the source uses to pin the canonical map down.
public def restrictionHomNatTrans (K : 𝒞) :
jstar ⋙ coyoneda.obj (op K) ⟶ jstar' ⋙ coyoneda.obj (op (istar.obj K))
CategoryTheory.extensionByZeroCovariance, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroCovariance.lean, line 147. The attribute's comment: “the canonical map Rj'_!(K|_{U'}) ⟶ Rj_! K, with the functoriality in K as its naturality; the Deligne-system assignments on both sides supplied as data”.
Stacks Project, Tag 0G4Y. Let
X ⊃ U ⊃ U'be open subschemes of a Noetherian scheme, letj : U ⟶ X,j' : U' ⟶ Xandi : U' ⟶ Ube the inclusions. There is a canonical map
Rj'_!(K|_{U'}) ⟶ Rj_! Kin
Pro-D^b_{Coh}(𝒪_X), functorial forKinD^b_{Coh}(𝒪_U). Here it is produced as a transformationi^* ⋙ Rj'_! ⟶ Rj_!of functors𝒞 ⥤ Pro-𝒟, so that the functoriality inKis its naturality.A morphism of pro-objects is a transformation of their functors of points in the opposite direction, which is the appeal to [Stacks, Tag 0G2X] in the source; the transformation used is the restriction map
CategoryTheory.restrictionHomNatTrans, whose naturality inLis the functoriality inLof the display.
public def extensionByZeroCovariance :
istar ⋙ extensionByZero jstar' A' ⟶ extensionByZero jstar A
CategoryTheory.extensionByZeroHomEquiv_covariance, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroCovariance.lean, line 183. The attribute's comment: “the display: composing with the canonical map is the restriction map Hom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'})”.
The characterising property of the canonical map of [Stacks, Tag 0G4Y]. Under the adjointness bijections of [Stacks, Tag 0G4N], composing a morphism
Rj_! K ⟶ Lwith the canonical mapRj'_!(K|_{U'}) ⟶ Rj_! Kis the restriction map of the display:
Hom_{Pro}(Rj_! K, L) = Hom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'}) = Hom_{Pro}(Rj'_!(K|_{U'}), L)This is the equality the source asks the canonical map to satisfy; by
CategoryTheory.extensionByZeroCovariance_app_eqit determines the map.
public lemma extensionByZeroHomEquiv_covariance (K : 𝒞) (L : 𝒟)
(f : (extensionByZero jstar A).obj K ⟶ ProSeq.const.obj L) :
extensionByZeroHomEquiv jstar' A' (istar.obj K) L
((extensionByZeroCovariance jstar jstar' istar e A A').app K ≫ f) =
istar.map (extensionByZeroHomEquiv jstar A K L f) ≫ e.hom.app L
CategoryTheory.extensionByZeroCovariance_app_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroCovariance.lean, line 210. The attribute's comment: “the canonical map is the only one inducing the restriction map on morphisms into constant pro-objects, which is the appeal to Tag 0G2X”.
The canonical map of [Stacks, Tag 0G4Y] is the unique map with its characterising property. This is what the appeal to [Stacks, Tag 0G2X] in the source provides: a morphism of pro-objects
Rj'_!(K|_{U'}) ⟶ Rj_! Kis determined by the induced mapHom_{Pro}(Rj_! K, L) → Hom_{Pro}(Rj'_!(K|_{U'}), L), functorially inL, so requiring that map to be the restriction map of the display leaves exactly one choice.
public lemma extensionByZeroCovariance_app_eq (K : 𝒞)
(g : (extensionByZero jstar' A').obj (istar.obj K) ⟶ (extensionByZero jstar A).obj K)
(hg : ∀ (L : 𝒟) (f : (extensionByZero jstar A).obj K ⟶ ProSeq.const.obj L),
extensionByZeroHomEquiv jstar' A' (istar.obj K) L (g ≫ f) =
istar.map (extensionByZeroHomEquiv jstar A K L f) ≫ e.hom.app L) :
g = (extensionByZeroCovariance jstar jstar' istar e A A').app K
AlgebraicGeometry.extensionByZeroOpenCovariance, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenCovariance.lean, line 113. The attribute's comment: “the canonical map Rj'_!(K|_{U'}) ⟶ Rj_! K, functorial in K”.
Stacks Project, Tag 0G4Y. Let
X ⊃ U ⊃ U'be open subschemes of a Noetherian schemeXand letj : U ⟶ X,j' : U' ⟶ Xbe the inclusions. There is a canonical map
Rj'_!(K|_{U'}) ⟶ Rj_! Kin
Pro-D^b_{Coh}(𝒪_X), functorial forKinD^b_{Coh}(𝒪_U): a transformationi^* ⋙ Rj'_! ⟶ Rj_!of functorsD^b_{Coh}(𝒪_U) ⥤ Pro-D^b_{Coh}(𝒪_X), wherei : U' ⟶ Uis the inclusion andRj_!,Rj'_!are the functorsAlgebraicGeometry.extensionByZeroOpenImmersion.It induces, on morphisms into a constant pro-object
L, the restriction mapHom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'})(AlgebraicGeometry.extensionByZeroOpenHomEquiv_covariance), it is the only map doing so (AlgebraicGeometry.extensionByZeroOpenCovariance_app_eq), and it is given by the inclusions(𝓘')^n 𝓕^• ⊆ 𝓘^n 𝓕^•(AlgebraicGeometry.extensionByZeroOpenCovariance_conj_eq_ofMap).
public def extensionByZeroOpenCovariance :
restrictBoundedCoherentLift (X.homOfLE h) ⋙ extensionByZeroOpenImmersion U'.ι ⟶
extensionByZeroOpenImmersion U.ι
AlgebraicGeometry.extensionByZeroOpenHomEquiv_covariance, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenCovariance.lean, line 137. The attribute's comment: “the display: composing with the canonical map is the restriction map Hom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'})”.
The display of [Stacks, Tag 0G4Y]. Under the identifications
Hom_{Pro}(Rj_! K, L) = Hom_U(K, L|_U)of [Stacks, Tag 0G2H], composing with the canonical mapRj'_!(K|_{U'}) ⟶ Rj_! Kis the restriction mapHom_U(K, L|_U) → Hom_{U'}(K|_{U'}, L|_{U'}).
public lemma extensionByZeroOpenHomEquiv_covariance
(K : BoundedCoherentDerived U.toScheme) (L : BoundedCoherentDerived X)
(f : (extensionByZeroOpenImmersion U.ι).obj K ⟶ ProSeq.const.obj L) :
extensionByZeroHomEquiv _ (DeligneSystem.values U'.ι).toAssignment
((restrictBoundedCoherentLift (X.homOfLE h)).obj K) L
((extensionByZeroOpenCovariance h).app K ≫ f) =
(restrictBoundedCoherentLift (X.homOfLE h)).map
(extensionByZeroHomEquiv _ (DeligneSystem.values U.ι).toAssignment K L f) ≫
(restrictBoundedCoherentLiftHomOfLEIso h).hom.app L
AlgebraicGeometry.extensionByZeroOpenCovariance_app_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenCovariance.lean, line 154. The attribute's comment: “the canonical map is the only one inducing the restriction map on morphisms into constant pro-objects, which is the appeal to Tag 0G2X”.
The canonical map of [Stacks, Tag 0G4Y] is the only one with the property of the display. A morphism
Rj'_!(K|_{U'}) ⟶ Rj_! Kof pro-objects which induces the restriction map on morphisms into every constant pro-object is the canonical map; this is the appeal to [Stacks, Tag 0G2X] in the source.
public lemma extensionByZeroOpenCovariance_app_eq
(K : BoundedCoherentDerived U.toScheme)
(g : (extensionByZeroOpenImmersion U'.ι).obj
((restrictBoundedCoherentLift (X.homOfLE h)).obj K) ⟶
(extensionByZeroOpenImmersion U.ι).obj K)
(hg : ∀ (L : BoundedCoherentDerived X)
(f : (extensionByZeroOpenImmersion U.ι).obj K ⟶ ProSeq.const.obj L),
extensionByZeroHomEquiv _ (DeligneSystem.values U'.ι).toAssignment
((restrictBoundedCoherentLift (X.homOfLE h)).obj K) L (g ≫ f) =
(restrictBoundedCoherentLift (X.homOfLE h)).map
(extensionByZeroHomEquiv _ (DeligneSystem.values U.ι).toAssignment K L f) ≫
(restrictBoundedCoherentLiftHomOfLEIso h).hom.app L) :
g = (extensionByZeroOpenCovariance h).app K
AlgebraicGeometry.extensionByZeroOpenCovariance_conj_eq_ofMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/ExtensionByZeroOpenCovariance.lean, line 353. The attribute's comment: “the explicit construction: the canonical map is given by the maps K'_n = (𝓘')^n 𝓕^• ⟶ 𝓘^n 𝓕^• = K_n coming from the inclusions (𝓘')^n ⊆ 𝓘^n”.
The explicit construction of [Stacks, Tag 0G4Y]. Let
𝓕^•be a bounded complex of coherent𝒪_X-modules whose restriction toUrepresentsK, and let𝓘' ⊆ 𝓘be quasi-coherent sheaves of ideals withV(𝓘) = X ∖ UandV(𝓘') = X ∖ U'. ThenRj_! KandRj'_!(K|_{U'})are represented by the inverse systemsK_n = 𝓘^n 𝓕^•andK'_n = (𝓘')^n 𝓕^•(AlgebraicGeometry.DeligneSystem.Value.extensionByZeroIso), and under these identifications the canonical mapRj'_!(K|_{U'}) ⟶ Rj_! Kis given by the mapsK'_n ⟶ K_ncoming from the inclusions(𝓘')^n ⊆ 𝓘^n.The reduction to
𝓘' ⊆ 𝓘isStacks.AlgebraicGeometry.IdealPower.support_sup_eq_left, and such complexes exist byAlgebraicGeometry.exists_bounded_isCoherent_complex_restrict_Q_iso; such ideals exist, e.g. the vanishing ideals of the closed complements.
public theorem extensionByZeroOpenCovariance_conj_eq_ofMap :
(DeligneSystem.ofComplexValue (j := U'.ι) I' hI' F hFge hFle hFcoh _
(restrictValueIsoOfLE h F K φ)).extensionByZeroIso.hom ≫
(extensionByZeroOpenCovariance h).app K ≫
(DeligneSystem.ofComplexValue (j := U.ι) I hI F hFge hFle hFcoh K
φ).extensionByZeroIso.inv =
ProSeq.ofMap (idealPowerSystemCompare F hFge hFle hFcoh hI hI' hle)
Stacks.AlgebraicGeometry.IdealPower.support_sup_eq_left, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/IdealPowerComplexComparison.lean, line 79. The attribute's comment: “the reduction to 𝓘' ⊆ 𝓘 of the explicit construction: replacing 𝓘 by 𝓘 + 𝓘' leaves the vanishing locus unchanged”.
Replacing a quasi-coherent sheaf of ideals by its sum with one whose vanishing locus is larger does not change the vanishing locus. In [Stacks, Tag 0G4Y] this is the step that lets one assume
𝓘' ⊆ 𝓘: thereV(𝓘) = X ∖ UandV(𝓘') = X ∖ U'withU' ⊆ U, soV(𝓘 + 𝓘') = V(𝓘), while𝓘' ≤ 𝓘 + 𝓘'.
public lemma support_sup_eq_left {I I' : X.IdealSheafData} (h : I.support ≤ I'.support) :
(I ⊔ I').support = I.support
AlgebraicGeometry.IdealPowerComplexSystem.compareHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/IdealPowerComplexComparison.lean, line 177. The attribute's comment: “the maps K'_n = (𝓘')^n 𝓕^• ⟶ 𝓘^n 𝓕^• = K_n of the explicit construction, induced by the inclusions (𝓘')^n ⊆ 𝓘^n”.
The maps
K'_n ⟶ K_nof the explicit construction in [Stacks, Tag 0G4Y]. For𝓘' ≤ 𝓘the inclusions(𝓘')^n • 𝓕^i ⊆ 𝓘^n • 𝓕^iassemble into a map of complexes
(𝓘')^n 𝓕^• ⟶ 𝓘^n 𝓕^•.The source writes
K'_n = (𝓘')^n 𝓕^•andK_n = 𝓘^n 𝓕^•and describes its canonical mapRj'_!(K|_{U'}) ⟶ Rj_! Kas being given by these maps.
public def compareHom (S' : IdealPowerComplexSystem I F) (S : IdealPowerComplexSystem J F)
(h : I ≤ J) (n : ℕ) : S'.complex n ⟶ S.complex n
AlgebraicGeometry.IdealPowerComplexSystem.compareHom_comp_inclusion, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/IdealPowerComplexComparison.lean, line 203. The attribute's comment: “the maps K'_n ⟶ K_n of the explicit construction are the inclusions read inside 𝓕^•, which is what pins them down”.
The comparison map of [Stacks, Tag 0G4Y] is the inclusion, read inside
𝓕^•. ComposingK'_n ⟶ K_nwith the inclusion ofK_ninto𝓕^•gives the inclusion ofK'_n. Since the inclusions are termwise monomorphisms, this characterises the comparison map.
public lemma compareHom_comp_inclusion (S' : IdealPowerComplexSystem I F)
(S : IdealPowerComplexSystem J F) (h : I ≤ J) (n : ℕ) :
S'.compareHom S h n ≫ S.inclusion n = S'.inclusion n
AlgebraicGeometry.IdealPowerComplexSystem.compareHom_comp_transition, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/ExtensionZeroCoherent/IdealPowerComplexComparison.lean, line 213. The attribute's comment: “the maps K'_n ⟶ K_n of the explicit construction commute with the transitions, so they are a map of the inverse systems (K'_n) ⟶ (K_n)”.
The comparison maps of [Stacks, Tag 0G4Y] form a map of inverse systems. They commute with the transitions
K'_{n+1} ⟶ K'_nandK_{n+1} ⟶ K_nof the two ideal-power filtrations.
public lemma compareHom_comp_transition (S' : IdealPowerComplexSystem I F)
(S : IdealPowerComplexSystem J F) (h : I ≤ J) (n : ℕ) :
S'.transition n ≫ S'.compareHom S h n = S'.compareHom S h (n + 1) ≫ S.transition n
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.