20.22 Cohomology on spectral… to 20.33 Unbounded Mayer-Vietoris
Section20.22 Cohomology on spectral spaces#
Section 20.22 of the Stacks Project, Tag 0A3C. 4 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0A3D, a lemma
Tag 0A3D in the Stacks Project.
Stacks.Topology.isIso_cohomologyOfGeneralizationsMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CompactSubset/GeneralizationsOfCohomology.lean, line 534. The attribute's comment: “cohomology_of_neighbourhoods”.
Let
Xbe a spectral space, letFbe an abelian sheaf onX, letE ⊆ Xbe quasi-compact and letWbe the set of points ofXwhich specialize to a point ofE. Then for everypthe canonical map
colim_{E ⊆ U quasi-compact open} H^p(U, F) ⟶ H^p(W, F|_W)is an isomorphism.
theorem isIso_cohomologyOfGeneralizationsMap (hE : IsCompact E)
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) (p : ℕ) :
IsIso (cohomologyOfGeneralizationsMap E F p)
Stacks.Topology.isIso_cohomologyOfComplementGeneralizationsMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CompactSubset/GeneralizationsOfComplementCohomology.lean, line 340. The attribute's comment: “cohomology_of_complements”.
[Stacks, Tag 0A3D] (2). Let
Xbe a spectral space, letFbe an abelian sheaf onX, letE ⊆ Xbe quasi-compact and constructible and letWbe the set of points ofXwhich specialize to a point ofE. Then for everypthe canonical map
colim_{E ⊆ U quasi-compact open} H^p(U \ E, F|_{U \ E}) ⟶ H^p(W \ E, F|_{W \ E})is an isomorphism.
theorem isIso_cohomologyOfComplementGeneralizationsMap (hE : Topology.IsConstructible E)
(hEc : IsCompact E) (F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) (p : ℕ) :
IsIso (cohomologyOfComplementGeneralizationsMap E F p)
Tag 0A3E, a lemma
Tag 0A3E in the Stacks Project.
Stacks.Topology.higherDirectImageStalkIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CompactSubset/HigherDirectImageStalk.lean, line 369.
Let
f : X ⟶ Ybe a spectral map of spectral spaces, letybe a point ofY, letEbe the set of points ofYspecializing toyand letFbe a sheaf of abelian groups onX. Then for everypthe stalk atyof thep-th higher direct image ofFis thep-th cohomology of the restriction ofFtof⁻¹(E):
(R^p f_* F)_y = H^p(f⁻¹(E), F|_{f⁻¹(E)}).Here
f⁻¹(E)isStacks.Topology.specializationFiber f y, the set of points ofXwhose image specializes toy, and cohomology is the right derived functor of global sections.
def higherDirectImageStalkIso (hf : IsSpectralMap f) (p : ℕ)
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) :
((pushforwardSheafFunctor f).rightDerived p ⋙ sheafStalkFunctor y).obj F ≅
((sectionsFunctor (TopCat.of (specializationFiber f y))).rightDerived p).obj
((restrictionFunctor X (specializationFiber f y)).obj F)
Tag 0A3F, a lemma
Tag 0A3F in the Stacks Project.
Stacks.CohomologyVanishing.cohomology_subsingleton_of_isProfiniteStacks, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/AboveTheDimension.lean, line 352. The attribute's comment: “sheaf cohomology as Ext out of the constant sheaf”.
Stacks 0A3F. On a profinite space every positive-degree sheaf cohomology group of every abelian sheaf vanishes.
Global sections is exact on a profinite space, because local lifts along a cover may be refined to lifts along a disjoint finite clopen cover (Stacks 08ZZ) and those glue with no compatibility to check. Sheaf cohomology is
Extout of the constant sheafℤ, and the constant-sheaf functor is left adjoint to global sections, so exactness of global sections makes that constant sheaf projective and everyExtout of it vanishes in positive degree.This is the
Sheaf.H(that is,Ext) formulation; the right-derived-functor formulation isStacks.CohomologyVanishing.isZero_abelianSheafCohomology_of_isProfiniteStacks.
theorem cohomology_subsingleton_of_isProfiniteStacks
[HasSheafify (Opens.grothendieckTopology X) AddCommGrpCat.{w}]
[HasExt.{w'} (Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{w})]
(hX : IsProfiniteStacks X)
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{w})
(q : ℕ) (hq : 0 < q) : Subsingleton (Sheaf.H.{w', w, u, u} F q)
Stacks.CohomologyVanishing.isZero_abelianSheafCohomology_of_isProfiniteStacks, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/ProfiniteSpaces.lean, line 184.
Stacks 0A3F. If
Xis profinite, then every positive-degree cohomology group of every abelian sheaf onXis zero.
theorem isZero_abelianSheafCohomology_of_isProfiniteStacks
[(Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{w}]
(hX : IsProfiniteStacks X)
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{w})
(q : ℕ) (hq : 0 < q) :
IsZero (abelianSheafCohomology q F)
Tag 0A3G, a proposition
Tag 0A3G in the Stacks Project.
Stacks.CohomologyVanishing.cohomology_subsingleton_of_topologicalKrullDim_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/AboveTheDimension.lean, line 767. The attribute's comment: “clause (1) for dimension zero”.
Stacks 0A3G, clause (1) in dimension zero. Let
Xbe a spectral space of Krull dimension0and letFbe an abelian sheaf onX. ThenH^q(X, F) = 0for everyq > 0.This is the base case of the induction on the dimension in Stacks 0A3G: a zero-dimensional spectral space is profinite (
isProfiniteStacks_of_topologicalKrullDim_eq_zero), and on a profinite space positive-degree cohomology vanishes (cohomology_subsingleton_of_isProfiniteStacks).The hypotheses are satisfiable:
X = Spec Rfor a zero-dimensional ring such as a field, a finite product of fields, orZMod 4, hastopologicalKrullDim X = 0, and the conclusion is then a genuine statement about every abelian sheaf on a nontrivial space.
theorem cohomology_subsingleton_of_topologicalKrullDim_eq_zero
[HasSheafify (Opens.grothendieckTopology X) AddCommGrpCat.{w}]
[HasExt.{w'} (Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{w})]
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{w})
(q : ℕ) (hX : topologicalKrullDim X = ((0 : ℕ) : WithBot ℕ∞)) (hq : 0 < q) :
Subsingleton (Sheaf.H.{w', w, u, u} F q)
Stacks.CohomologyVanishing.subsingleton_sheafH_of_topologicalKrullDim_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/SpectralSpaces.lean, line 203. The attribute's comment: “clause (1): on a spectral space, sheaf cohomology vanishes above the dimension”.
Let
Ybe a spectral space of Krull dimension at mostdand letGbe an abelian sheaf onY. ThenH^q(Y, G) = 0for everyq > d.
theorem subsingleton_sheafH_of_topologicalKrullDim_le :
∀ (d : ℕ) (Y : Type u) [TopologicalSpace Y] [SpectralSpace Y]
(_hs : HasSheafify (Opens.grothendieckTopology Y) AddCommGrpCat.{u})
(_he : HasExt.{u} (Sheaf (Opens.grothendieckTopology Y) AddCommGrpCat.{u}))
(G : Sheaf (Opens.grothendieckTopology Y) AddCommGrpCat.{u}) (q : ℕ),
topologicalKrullDim Y ≤ (d : WithBot ℕ∞) → d < q →
Subsingleton (Sheaf.H.{u, u, u, u} G q)
Stacks.CohomologyVanishing.subsingleton_sheafH_above_topologicalKrullDim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/SpectralSpaces.lean, line 242. The attribute's comment: “clause (1): on a spectral space of Krull dimension at most d, sheaf cohomology vanishes in every degree above d. The same statement as the induction carrier subsingleton_sheafH_of_topologicalKrullDim_le, whose explicit HasSheafify and HasExt arguments are instance arguments here”.
Let
Ybe a spectral space of Krull dimension at mostdand letGbe an abelian sheaf onY. ThenH^q(Y, G) = 0for everyq > d.
theorem subsingleton_sheafH_above_topologicalKrullDim {Y : Type u} [TopologicalSpace Y]
[SpectralSpace Y]
[HasSheafify (Opens.grothendieckTopology Y) AddCommGrpCat.{u}]
[HasExt.{u} (Sheaf (Opens.grothendieckTopology Y) AddCommGrpCat.{u})]
(G : Sheaf (Opens.grothendieckTopology Y) AddCommGrpCat.{u}) (d q : ℕ)
(hdim : topologicalKrullDim Y ≤ (d : WithBot ℕ∞)) (hq : d < q) :
Subsingleton (Sheaf.H.{u, u, u, u} G q)
Stacks.CohomologyVanishing.surjective_cohomologyPresheaf_map_top_of_topologicalKrullDim_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/SpectralSpaces.lean, line 310. The attribute's comment: “clause (2): surjectivity of the restriction H^d(X,F) → H^d(U,F) for U quasi-compact open”.
Let
Xbe a spectral space of Krull dimension at mostdand letFbe an abelian sheaf onX. Then the restrictionH^d(X, F) → H^d(U, F)is surjective for every quasi-compact openU ⊆ X.
theorem surjective_cohomologyPresheaf_map_top_of_topologicalKrullDim_le
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) (d : ℕ)
(hdim : topologicalKrullDim X ≤ (d : WithBot ℕ∞)) (U : Opens X)
(hU : IsCompact (U : Set X)) :
Function.Surjective
((F.cohomologyPresheaf d).map (homOfLE (show U ≤ ⊤ from le_top)).op)
Stacks.CohomologyVanishing.subsingleton_sheafH_and_surjective_and_subsingleton_supported_of_topologicalKrullDim_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/SpectralSpacesFullStatement.lean, line 91. The attribute's comment: “the whole proposition: (1) sheaf cohomology on a spectral space of Krull dimension d vanishes above degree d, (2) restriction to a quasi-compact open is surjective in degree d, and (3) cohomology with support in a constructible closed subset vanishes above degree d”.
[Stacks, Tag 0A3G]. Let
Xbe a spectral space of Krull dimensiondand letFbe an abelian sheaf onX. Then
H^q(X, F) = 0forq > d;H^d(X, F) ⟶ H^d(U, F)is surjective for every quasi-compact openU ⊆ X;H^q_Z(X, F) = 0forq > dand every constructible closed subsetZ ⊆ X.Cohomology is Mathlib's
CategoryTheory.Sheaf.H, theExt-groups out of the constant abelian sheafℤon the site of opens; cohomology over an open is the value ofCategoryTheory.Sheaf.cohomologyPresheaf, so that clause (2) is a statement about the restriction map of that presheaf; and cohomology with support inZis the right derived functor of the sections overXof the subsheaf of sections supported onZ.Each clause is proved in the file named beside it below, where it is proved under the weaker hypothesis that
dbounds the dimension rather than equalling it. Here they are put together under the source's hypothesis.
theorem subsingleton_sheafH_and_surjective_and_subsingleton_supported_of_topologicalKrullDim_eq
{X : TopCat.{u}} [SpectralSpace X]
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) (d : ℕ)
(hdim : topologicalKrullDim X = (d : WithBot ℕ∞)) :
(∀ q : ℕ, d < q → Subsingleton (Sheaf.H.{u, u, u, u} F q)) ∧
(∀ U : Opens X, IsCompact (U : Set X) → Function.Surjective
((F.cohomologyPresheaf d).map (homOfLE (show U ≤ ⊤ from le_top)).op)) ∧
(∀ Z : Set X, IsClosed Z → IsConstructible Z → ∀ q : ℕ, d < q →
Subsingleton (((supportedSectionsEvaluation Z ⊤).rightDerived q).obj F))
Stacks.CohomologyVanishing.subsingleton_rightDerived_supportedSections_of_topologicalKrullDim_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Vanishing/SpectralSupportVanishing.lean, line 130. The attribute's comment: “clause (3): cohomology with support in a constructible closed subset vanishes above the dimension”.
[Stacks, Tag 0A3G], clause (3). Let
Xbe a spectral space of Krull dimension at mostd, letFbe an abelian sheaf onXand letZbe a constructible closed subset ofX. Then the cohomology ofFwith support inZvanishes in every degreeq > d.Cohomology with support in
Zis the right derived functor of the sections overXof the subsheaf of sections supported onZ. The proof is the source's: the long exact sequence of the pair(X, X ∖ Z), built on an injective resolution, together with clause (1) forH^q(X, F)and clause (2) for the surjectivity ofH^{q-1}(X, F) → H^{q-1}(X ∖ Z, F), the complement of a constructible closed set being a quasi-compact open.
theorem subsingleton_rightDerived_supportedSections_of_topologicalKrullDim_le
[SpectralSpace X]
(F : Sheaf (Opens.grothendieckTopology X) AddCommGrpCat.{u}) (d q : ℕ)
(hdim : topologicalKrullDim X ≤ (d : WithBot ℕ∞)) (Z : Set X) (hZ : IsClosed Z)
(hZc : IsConstructible Z) (hq : d < q) :
Subsingleton (((supportedSectionsEvaluation Z ⊤).rightDerived q).obj F)
Sources
Section20.23 The alternating Čech complex#
Section 20.23 of the Stacks Project, Tag 01FG. 7 tags here are carried by 27 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01FG, the section
Tag 01FG in the Stacks Project.
CechCochains.alternatingSubgroup, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingCochainGroups.lean, line 193. The attribute's comment: “the group Č_alt^p(𝒰, ℱ) of alternating cochains”.
The alternating cochains form a subgroup
Č_alt^p ⊆ Č^p.
def alternatingSubgroup (p : ℕ) : AddSubgroup (Cochain U ℱ p)
CechCochains.cechD_mem_alternating, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingCochainGroups.lean, line 687. The attribute's comment: “d maps Č_alt^p into Č_alt^{p+1}, the verification the source omits”.
The differential
cechDpreserves the alternating subgroup, so the latter is a subcomplex of the full Čech complex.
theorem cechD_mem_alternating (p : ℕ) (s : Cochain U ℱ p) (hs : IsAlternating U ℱ s) :
IsAlternating U ℱ (cechD U ℱ p s)
Tag 01FH, a definition
Tag 01FH in the Stacks Project.
Stacks.Cech.alternatingCechComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingComplex.lean, line 129. References: EGA 0 (12.1.2), “alternating Čech complex”.
Stacks 01FH. The alternating Čech complex associated to an abelian presheaf and an indexed family of open subsets.
noncomputable def alternatingCechComplex : CochainComplex Ab ℕ
Stacks.Cech.alternatingCechInclusion, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingComplex.lean, line 153. The attribute's comment: “the canonical inclusion”.
Stacks 01FH. The canonical inclusion of the alternating Čech complex into the usual Čech complex: in each degree it is the inclusion of the subgroup of alternating cochains.
noncomputable def alternatingCechInclusion :
alternatingCechComplex U ℱ ⟶ cechComplex U ℱ
Tag 01FI, a definition
Tag 01FI in the Stacks Project.
Stacks.Cech.orderedCechComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/OrderedComplex.lean, line 57.
The ordered Čech cochain complex of an abelian presheaf with respect to a linearly ordered family of open subsets.
noncomputable def orderedCechComplex (U : I → Opens X)
(ℱ : TopCat.Presheaf AddCommGrpCat.{w} X) :
CochainComplex AddCommGrpCat.{max v w} ℕ
Tag 01FJ, a lemma
Tag 01FJ in the Stacks Project.
CechCochains.cAddEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingCochainGroups.lean, line 498. The attribute's comment: “the degreewise isomorphism”.
(3) [Stacks, Tag 01FJ], the degreewise clause. In every degree,
ccorestricted to the alternating subgroup is an isomorphism of abelian groupsČ_ord^p ≃+ Č_alt^p, with inverse the projectionπ.This is the degreewise statement only: it says nothing about the differentials. That
ccommutes with them isc_chainMap, and the two clauses are assembled into the isomorphism of cochain complexes the source asserts byStacks.Cech.orderedIsoAlternatingCechComplex.
noncomputable def cAddEquiv (p : ℕ) : OrdCochain U ℱ p ≃+ alternatingSubgroup U ℱ p
CechCochains.c_chainMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingCochainGroups.lean, line 803. The attribute's comment: “c is a morphism of complexes”.
(1) [Stacks, Tag 01FJ], the chain-map clause.
cis a chain map:c ∘ d = d ∘ c.This is the first half of what the source asserts about
c; the degreewise bijectivity iscAddEquiv, andStacks.Cech.orderedIsoAlternatingCechComplexassembles the two into the isomorphism of cochain complexesČ_ord^• → Č_alt^•.
theorem c_chainMap (p : ℕ) (s : OrdCochain U ℱ p) :
c U ℱ (p + 1) (ordD U ℱ p s) = cechD U ℱ p (c U ℱ p s)
Stacks.Cech.orderedIsoAlternatingCechComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/OrderedAlternatingComparison.lean, line 91. The attribute's comment: “the induced isomorphism of complexes”.
The ordered Čech complex is the alternating Čech complex. The degreewise comparison of Stacks 01FJ is an isomorphism of cochain complexes, because
CechCochains.cis a chain map.This is the second assertion of the source: the degreewise isomorphism
CechCochains.cAddEquivand the chain-map propertyCechCochains.c_chainMaptogether induce an isomorphism of the complexes themselves.
def orderedIsoAlternatingCechComplex :
orderedCechComplex U ℱ ≅ alternatingCechComplex U ℱ
Tag 01FK, a lemma
Tag 01FK in the Stacks Project.
Stacks.CategoryTheory.CechComplex.Alternating.cechProj_comp_cechDiff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternating.lean, line 579. The attribute's comment: “(1)”.
The projection
π : C^• → C^•_ordis a morphism of complexes: it commutes with the differentials,π ∘ d = d ∘ π.
theorem cechProj_comp_cechDiff (P : Cᵒᵖ ⥤ AddCommGrpCat.{w'}) (U : ι → C) (p : ℕ) :
(Alternating.cechProj P U (p+1)).comp (Alternating.cechDiff P U p)
= (Alternating.cechDiffOrd P U p).comp (Alternating.cechProj P U p)
Stacks.CategoryTheory.CechComplex.Alternating.cechProj_comp_cechComp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternating.lean, line 587. The attribute's comment: “(3)”.
πis a left inverse to the comparison mapc:π ∘ c = idon the ordered cochains.
theorem cechProj_comp_cechComp (P : Cᵒᵖ ⥤ AddCommGrpCat.{w'}) (U : ι → C) (p : ℕ) :
(Alternating.cechProj P U p).comp (Alternating.cechComp P U p) =
AddMonoidHom.id (Alternating.CechCochainOrd P U p)
Stacks.CategoryTheory.CechComplex.Alternating.cechProjAltEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternating.lean, line 626. The attribute's comment: “(2)”.
The restriction of the projection to the alternating cochains,
π : C^•_alt → C^•_ord, is an isomorphism of abelian groups in each degree, with inverse the comparison mapc.
noncomputable def cechProjAltEquiv (P : Cᵒᵖ ⥤ AddCommGrpCat.{w'}) (U : ι → C) (p : ℕ) :
Alternating.CechCochainAlt P U p ≃+ Alternating.CechCochainOrd P U p
Stacks.CategoryTheory.CechComplex.Alternating.cechProjAlt_comp_cechDiffAlt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternating.lean, line 639. The attribute's comment: “(2)”.
The isomorphism
π : C^•_alt → C^•_ordcommutes with the differentials, hence is an isomorphism of complexes. Equivalently, the comparison mapc : C^•_ord → C^•_altis a morphism of complexes (c ∘ d_ord = d_alt ∘ c), exhibitingcas the inverse morphism of complexes.
theorem cechProjAlt_comp_cechDiffAlt (P : Cᵒᵖ ⥤ AddCommGrpCat.{w'}) (U : ι → C)
(hU : ∀ i, IsSubterminal (U i)) (p : ℕ) :
(Alternating.cechProjAlt P U (p+1)).comp (Alternating.cechDiffAlt P U hU p)
= (Alternating.cechDiffOrd P U p).comp (Alternating.cechProjAlt P U p)
Stacks.CategoryTheory.CechComplex.Alternating.cechProjAltComplexIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternatingHomotopy.lean, line 826. The attribute's comment: “(2) as an isomorphism of complexes”.
[Stacks, Tag 01FK] (2) as an isomorphism of complexes. The projection
πfrom the alternating to the ordered Čech cochains is an isomorphism of complexes.
def cechProjAltComplexIso (hU : ∀ i, IsSubterminal (U i)) :
cechCochainComplexAlt P U hU ≅ cechCochainComplexOrd P U
cechProj_comp_cechDiff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingProjection.lean, line 665. The attribute's comment: “(1)”.
Statement 1. The projection
π : C^• → C^•_ordis a morphism of complexes: eachπin degreepis a homomorphism of abelian groups (built intocechProj) and it commutes with the differentials,π ∘ d = d ∘ π.
theorem cechProj_comp_cechDiff (F : AbelianPresheaf X) (U : I → Opens X) (p : ℕ) :
(cechProj F U (p+1)).comp (cechDiff F U p)
= (cechDiffOrd F U p).comp (cechProj F U p)
cechProj_comp_cechComp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingProjection.lean, line 675. The attribute's comment: “(3)”.
Statement 3 (left inverse).
πis a left inverse to the comparison mapc:π ∘ c = idon the ordered complex. (For a strictly increasing tuple the sorting permutation is the identity, soc(s)agrees withsthere.)
theorem cechProj_comp_cechComp (F : AbelianPresheaf X) (U : I → Opens X) (p : ℕ) :
(cechProj F U p).comp (cechComp F U p) = AddMonoidHom.id (CechCochainOrd F U p)
cechProjAltEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingProjection.lean, line 716. The attribute's comment: “(2)”.
Statement 2. The restriction of the projection to the alternating subcomplex,
π : C^•_alt → C^•_ord, is an isomorphism of abelian groups in each degree, with inverse the comparison mapc. (Together with Statement 2 below — that this isomorphism commutes with the differentials — this is the asserted isomorphism of complexes.)
noncomputable def cechProjAltEquiv (F : AbelianPresheaf X) (U : I → Opens X) (p : ℕ) :
CechCochainAlt F U p ≃+ CechCochainOrd F U p
cechProjAlt_comp_cechDiffAlt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingProjection.lean, line 729. The attribute's comment: “(2)”.
Statement 2 (isomorphism of complexes). The isomorphism
π : C^•_alt → C^•_ordcommutes with the differentials, hence is an isomorphism of complexes. Equivalently, the comparison mapc : C^•_ord → C^•_altis a morphism of complexes (c ∘ d_ord = d_alt ∘ c), exhibitingcas the inverse morphism of complexes.
theorem cechProjAlt_comp_cechDiffAlt (F : AbelianPresheaf X) (U : I → Opens X) (p : ℕ) :
(cechProjAlt F U (p+1)).comp (cechDiffAlt F U p)
= (cechDiffOrd F U p).comp (cechProjAlt F U p)
Tag 01FM, a lemma
Tag 01FM in the Stacks Project.
Crystalline.GlobalCrystallineSituation.SmallSite.CrystallineThickening.restrictCechAltInclusionHomotopyEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Crystalline/SmallSite/OrdCechRestrictCover.lean, line 221. The attribute's comment: “for a restriction cover of an object of the small crystalline site”.
[Stacks, Tag 01FM] for a restriction cover of an object of
Cris(X/S). The canonical inclusion of the alternating Čech cochain complex of the cover into the full Čech cochain complex is a homotopy equivalence; signed sorting is a homotopy inverse.The family of opens is arbitrary: it need not cover the ambient scheme, exactly as at the space level. The hypothesis of the lifted theory is discharged by
isSubterminal_ambientOpenand nothing is assumed here.
def restrictCechAltInclusionHomotopyEquiv :
HomotopyEquiv (restrictCechComplexAlt A V F) (restrictCechComplex A V F)
Crystalline.GlobalCrystallineSituation.SmallSite.CrystallineThickening.restrictCechAltInclusion_homotopyEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Crystalline/SmallSite/OrdCechRestrictCover.lean, line 229. The attribute's comment: “a restriction cover's alternating inclusion lies in homotopyEquivalences”.
[Stacks, Tag 01FM] for a restriction cover of an object of
Cris(X/S), in thehomotopyEquivalencesmorphism-property spelling.
theorem restrictCechAltInclusion_homotopyEquivalence :
(HomologicalComplex.homotopyEquivalences AddCommGrpCat.{max w w'} (ComplexShape.up ℕ))
(restrictCechAltInclusion A V F)
Stacks.CategoryTheory.CechComplex.Alternating.cechAltHomotopyEquivCechComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternatingComparison.lean, line 160. The attribute's comment: “in the cechComplexFunctor model”.
[Stacks, Tag 01FM] in the
cechComplexFunctormodel. The alternating Čech cochain complex of a family of subterminal objects is homotopy equivalent to the Čech complex of the family.
def cechAltHomotopyEquivCechComplex (hU : ∀ i, IsSubterminal (U i)) :
HomotopyEquiv (cechCochainComplexAlt P U hU) ((cechComplexFunctor U).obj P)
Stacks.CategoryTheory.CechComplex.Alternating.cechComparisonProjectionHomotopy, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternatingHomotopy.lean, line 725. The attribute's comment: “c after projection is homotopic to the identity”.
[Stacks, Tag 01FM] for a family in an arbitrary category, chain-level form. An explicit homotopy from the endomorphism
c ∘ πto the identity of the full Čech cochain complex. Its component from degreej + 1to degreejiscochainHomotopy.
def cechComparisonProjectionHomotopy (hU : ∀ i, IsSubterminal (U i)) :
Homotopy (cechComparisonProjection P U hU) (𝟙 (cechCochainComplex P U))
Stacks.CategoryTheory.CechComplex.Alternating.cechAltInclusionHomotopyEquiv, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternatingHomotopy.lean, line 756. The attribute's comment: “the canonical inclusion is a homotopy equivalence”. References: EGA 0 (11.8.7), “more general”.
[Stacks, Tag 01FM] for a family in an arbitrary category. The canonical inclusion of the alternating Čech cochain complex into the full Čech cochain complex is a homotopy equivalence; signed sorting
c ∘ π, corestricted to the alternating cochains, is a homotopy inverse. The family need not cover anything.
def cechAltInclusionHomotopyEquiv (hU : ∀ i, IsSubterminal (U i)) :
HomotopyEquiv (cechCochainComplexAlt P U hU) (cechCochainComplex P U)
Stacks.CategoryTheory.CechComplex.Alternating.cechAltInclusion_homotopyEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechComplexAlternatingHomotopy.lean, line 790. The attribute's comment: “the canonical inclusion lies in homotopyEquivalences”.
[Stacks, Tag 01FM] for a family in an arbitrary category, in the
homotopyEquivalencesmorphism-property spelling.
theorem cechAltInclusion_homotopyEquivalence (hU : ∀ i, IsSubterminal (U i)) :
(HomologicalComplex.homotopyEquivalences AddCommGrpCat.{max w w'} (ComplexShape.up ℕ))
(cechAltInclusion P U hU)
Stacks.Cech.cechComparisonProjection_homotopic_id, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingHomotopyEquivalence.lean, line 110. The attribute's comment: “c after projection is homotopic to the identity”.
The endomorphism
c ∘ πis homotopic to the identity on the usual Čech complex.
theorem cechComparisonProjection_homotopic_id :
Nonempty (Homotopy (cechComparisonProjection U F)
(𝟙 (cechComplex U F)))
Stacks.Cech.alternatingCechInclusion_homotopyEquivalence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AlternatingHomotopyEquivalence.lean, line 143. The attribute's comment: “the canonical inclusion is a homotopy equivalence”.
The canonical inclusion of alternating Čech cochains into the usual Čech complex is a homotopy equivalence: the signed-sorting projection is a homotopy inverse.
theorem alternatingCechInclusion_homotopyEquivalence
(G : TopCat.Presheaf Ab.{max v w} X) :
(HomologicalComplex.homotopyEquivalences AddCommGrpCat (ComplexShape.up ℕ))
(alternatingCechInclusion U G)
Tag 0G6T, a lemma
Tag 0G6T in the Stacks Project.
Stacks.Cech.alternatingCechComplex_augment_homotopyEquiv_zero_of_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AugmentationContractible.lean, line 652. The attribute's comment: “alternating complex”.
If a family of opens contained in
UcontainsU, its extended alternating Čech complex is homotopy equivalent to zero.
lemma alternatingCechComplex_augment_homotopyEquiv_zero_of_eq
(X : TopCat.{u}) (F : TopCat.Presheaf Ab.{w} X)
{I : Type v} {U : Opens X} (V : I → Opens X) (hV : ∀ i, V i ≤ U)
(i : I) (hi : V i = U) :
∃ (w : alternatingCechAugmentation X F V hV ≫
(alternatingCechComplex V F).d 0 1 = 0),
Nonempty (HomotopyEquiv
((alternatingCechComplex V F).augment
(alternatingCechAugmentation X F V hV) w)
(HomologicalComplex.zero : CochainComplex Ab.{max v w} ℕ))
Stacks.Cech.orderedCechComplex_augment_homotopyEquiv_zero_of_eq, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/AugmentationContractible.lean, line 681. The attribute's comment: “ordered complex”.
For any ordering, if a family of opens contained in
UcontainsU, its extended ordered Čech complex is homotopy equivalent to zero.
lemma orderedCechComplex_augment_homotopyEquiv_zero_of_eq
(X : TopCat.{u}) (F : TopCat.Presheaf Ab.{w} X)
{I : Type v} [LinearOrder I] {U : Opens X} (V : I → Opens X) (hV : ∀ i, V i ≤ U)
(i : I) (hi : V i = U) :
∃ (w : orderedCechAugmentation X F V hV ≫
(orderedCechComplex V F).d 0 1 = 0),
Nonempty (HomotopyEquiv
((orderedCechComplex V F).augment
(orderedCechAugmentation X F V hV) w)
(HomologicalComplex.zero : CochainComplex Ab.{max v w} ℕ))
Sources
Section20.24 Alternative view of the Čech complex#
Section 20.24 of the Stacks Project, Tag 02FR. 3 tags here are carried by 4 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02FU, a lemma
Tag 02FU in the Stacks Project.
Stacks.AlgebraicGeometry.CoveringResolutionQuasiIso.exists_coveringResolution, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/CoveringResolutionQuasiIso/Main.lean, line 153.
Stacks Project, Tag 02FU. Every open covering of a ringed space gives a canonical augmented Čech resolution, functorial in the module sheaf: the complex, its augmentation, the product coordinates of its terms with Equation 01EE for the differential, the existence of homology, and the quasi-isomorphism.
theorem exists_coveringResolution (hU : ⨆ i, U i = ⊤) :
Nonempty (CoveringResolution.{u, v, w, t} X R U)
Tag 02FS, a definition
Tag 02FS in the Stacks Project.
Declarations registered for the tag:
LocallyFiniteregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch20.lean, line 41 (StacksFrontier): “more general: any family of subsets; Mathlib asks for a neighbourhood of x, equivalently an open one”. References: EGA IV (3.1.6), “more general”; EGA IV (21.10.1), “partial”.
Tag 02FT, a remark
Tag 02FT in the Stacks Project.
Stacks.LocallyFiniteCover.isColimitCofanProduct, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/LocallyFiniteCoproductSections.lean, line 393. The attribute's comment: “(second displayed formula: ⨁ (j_i)_ F_i = ∏ (j_i)_ F_i)”.
Stacks Project, Tag 02FT, second displayed formula. Let
X = ⋃ i, U ibe a locally finite open covering of a topological space, letj i : U i → Xbe the inclusions and letF ibe an abelian sheaf onU i. Then the product of the(j i)_* (F i), equipped with the canonical injectionsdeltaInj, is a coproduct of the(j i)_* (F i): that is⨁ i, (j i)_* (F i) = ∏ i, (j i)_* (F i).
noncomputable def isColimitCofanProduct (_hcov : IsOpenCover U)
(hlf : LocallyFinite fun i => (U i : Set X)) : IsColimit (productCofan U F)
Stacks.LocallyFiniteCover.isIso_coproductToProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/LocallyFiniteCoproductSections.lean, line 431. The attribute's comment: “(second displayed formula, as an isomorphism from ∐ to ∏)”.
Stacks Project, Tag 02FT, second displayed formula. For a locally finite open covering the canonical map from the direct sum of the
(j i)_* (F i)to their direct product is an isomorphism.
theorem isIso_coproductToProduct (hcov : IsOpenCover U)
(hlf : LocallyFinite fun i => (U i : Set X)) : IsIso (coproductToProduct U F)
Stacks.LocallyFiniteCover.isIso_sectionsComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/LocallyFiniteCoproductSections.lean, line 456. The attribute's comment: “(first displayed formula: Γ(V, 𝒢) = ∏ F_i(V ∩ U_i))”.
Stacks Project, Tag 02FT, first displayed formula. With
X = ⋃ i, U ia locally finite open covering and𝒢 = ⨁ i, (j i)_* (F i), for every openVofXthe canonical comparison fromΓ (V, 𝒢)to∏ i, (F i) (V ∩ U i)is an isomorphism: the sections of the direct sum overVare the product of the groups(F i) (V ∩ U i).The comparison is the sections over
Vof the canonical map from the direct sum to the product, followed by the canonical comparison from the sections of a product of sheaves to the product of their sections. Thei-th factor of the target is(sectionsFunctor V).obj (pushforwardOpen U F i), which is(F i) (V ∩ U i)byStacks.LocallyFiniteCover.sectionsFunctor_obj_pushforwardOpen.
theorem isIso_sectionsComparison (hcov : IsOpenCover U)
(hlf : LocallyFinite fun i => (U i : Set X)) (V : Opens X) :
IsIso ((sectionsFunctor V).map (coproductToProduct U F) ≫
piComparison (sectionsFunctor V) (fun i => pushforwardOpen U F i))
Sources
Section20.25 Čech cohomology of complexes#
Section 20.25 of the Stacks Project, Tag 01FP. 7 tags here are carried by 19 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07M9, an equation
Tag 07M9 in the Stacks Project.
Stacks.Cech.Linear.sectionsToTotalCech, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/ModuleValuedTotalComplex.lean, line 111. The attribute's comment: “the augmentation, with module coefficients”.
Restriction of a section over
Uinto Čech degree zero, followed by the inclusion of that summand of the total complex: the mapΓ(U, K^•) ⟶ Tot(Č^•(Ui, K^•))of complexes ofO_X(U)-modules, natural inK^•.
def sectionsToTotalCech :
sectionsComplexFunctor X O U ⟶ totalCechComplexFunctor X O U Ui hU
Stacks.Cech.globalSectionsToCech, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RecoveryA/GlobalSectionsToCech.lean, line 250.
Stacks Project, Tag 07M9. Restriction into Čech degree zero, followed by inclusion into the total complex.
noncomputable def globalSectionsToCech :
globalSectionsComplexFunctor X ⟶ cechTotalComplexFunctor U
Tag 08BM, an equation
Tag 08BM in the Stacks Project.
Stacks.Cech.cechTotalComplexRefinement, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/Cech/TotalComplexRefinement.lean, line 148. References: EGA III (6.6.7), “partial”.
Stacks 08BM. A refinement
t : V ⟶ Uinduces, naturally in a complex of presheaves, the restriction mapTot(Č^•(U, F^•)) ⟶ Tot(Č^•(V, F^•)).
noncomputable def cechTotalComplexRefinement {I J : Type w} (U : I → C) (V : J → C)
(t : FormalCoproduct.mk J V ⟶ FormalCoproduct.mk I U) :
CechRefinementTransformation U V t
Tag 08BN, a lemma
Tag 08BN in the Stacks Project.
Stacks.Cech.exists_cechToDerivedComparison_and_cechSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechSpectralSequence/BoundedBelowComplexFullStatement.lean, line 86. The attribute's comment: “the whole lemma: the canonical map Tot(Č(U, F)) ⟶ RΓ(X, F), functorial in F and compatible with the augmentation of (20.25.0.1) = Tag 07M9 and the refinement map of (20.25.0.2) = Tag 08BM, together with the spectral sequence E_2^{p,q} = H^p(Tot(Č(U, H^q(F)))) abutting to H^{p+q}(X, F) -- for a ringed space, an open covering of X and a bounded below complex of O_X-modules, which are the lemma's three inputs and all of them”.
Tag 08BN. Let
(X, O_X)be a ringed space, letU : X = ⋃_{i ∈ I} U_ibe an open covering and letF^•be a bounded below complex ofO_X-modules. Then
- there is a canonical map
Tot(Č^•(U, F^•)) ⟶ RΓ(X, F^•), functorial inF^•-- it is a morphism of functors on bounded below complexes -- and compatible both with the augmentation of equation (20.25.0.1) ([Stacks, Tag 07M9]) and with the refinement map of equation (20.25.0.2) ([Stacks, Tag 08BM]); and- there is a cohomological spectral sequence with
E_2^{p,q} = H^p(Tot(Č^•(U, H^q(F^•))))abutting toH^{p+q}(X, F^•), whereH^q(F^•)is the complexn ↦ R^q i(F^n)of cohomology presheaves of [Stacks, Tag 01ER].Both halves are read off the library's wider statements: the comparison from the system of comparisons for all coverings at once,
cechToDerivedGlobalSections, and the spectral sequence fromexists_cechSpectralSequence.
theorem exists_cechToDerivedComparison_and_cechSpectralSequence
{I : Type u} (U : I → Opens X) (hU : ⊤ = iSup U)
(K : CochainComplex.Plus (SheafOfModules.{u} R)) :
((globalSectionsToCechDerived X R U).app K ≫
((cechToDerivedGlobalSections X R).map U hU).app K =
globalSectionsToDerived X R K ∧
∀ (J : Type u) (V : J → Opens X) (hV : ⊤ = iSup V)
(t : FormalCoproduct.mk J V ⟶ FormalCoproduct.mk I U),
cechRefinementDerived X R U V t ≫ (cechToDerivedGlobalSections X R).map V hV =
(cechToDerivedGlobalSections X R).map U hU) ∧
∃ E : CohomologicalSpectralSequence AddCommGrpCat.{u} 2,
(∀ p q : ℤ,
Nonempty ((E.page 2).X (p, q) ≅
((cechTotalComplexFunctor U).obj
((((underlyingPresheafFunctor X R).rightDerivedPlus q).mapHomologicalComplex
(up ℤ)).obj K.1)).homology p)) ∧
SpectralSequence.AbutsTo E (fun n =>
(DerivedCategory.homologyFunctor AddCommGrpCat.{u} n).obj
((derivedGlobalSectionsFunctor X R).obj K))
Stacks.Cech.exists_cechSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechSpectralSequence/BoundedBelowComplexSpectralSequence.lean, line 210. The attribute's comment: “the tag's spectral sequence: E_2^{p,q} = H^p(Tot(Č(U, H^q(F)))), both coordinates ranging over ℤ, abutting to H^{p+q}(X, F), for a ringed space, an open covering of X and a bounded below complex of O_X-modules. The tag's comparison map Tot(Č(U, F)) ⟶ RΓ(X, F), with its Tag 07M9 and Tag 08BM compatibilities, is Stacks.Cech.cechToDerivedGlobalSections, and the two halves are asserted together at the lemma's own three inputs by Stacks.Cech.exists_cechToDerivedComparison_and_cechSpectralSequence”.
For a ringed space
(X, O_X), an open coveringU : I → Opens XofXand a bounded below complexF^•ofO_X-modules there is a cohomological spectral sequence, starting on page two, withE_2^{p,q} = H^p(Tot(Č^•(U, H^q(F^•))))where
H^q(F^•)is the complexn ↦ R^q i(F^n)of cohomology presheaves, abutting toH^{p+q}(X, F^•).
theorem exists_cechSpectralSequence {I : Type u} (U : I → Opens X) (hU : ⊤ = iSup U)
(K : CochainComplex.Plus (SheafOfModules.{u} R)) :
∃ E : CohomologicalSpectralSequence AddCommGrpCat.{u} 2,
(∀ p q : ℤ,
Nonempty ((E.page 2).X (p, q) ≅
((cechTotalComplexFunctor U).obj
((((underlyingPresheafFunctor X R).rightDerivedPlus q).mapHomologicalComplex
(up ℤ)).obj K.1)).homology p)) ∧
SpectralSequence.AbutsTo E (fun n =>
(DerivedCategory.homologyFunctor AddCommGrpCat.{u} n).obj
((derivedGlobalSectionsFunctor X R).obj K))
Stacks.Cech.cechToDerivedGlobalSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/DerivedGlobalSections.lean, line 537. The attribute's comment: “the tag's comparison map: the total Čech complex of a bounded below complex of O_X-modules maps canonically to its derived global sections, functorially in the complex -- the map is a morphism of functors on bounded below complexes -- and compatibly both with the Tag 07M9 augmentation and with the Tag 08BM refinement map, simultaneously for every open covering of X. The tag's spectral sequence E_2^{p,q} = H^p(Tot(Č(U, H^q(F)))) abutting to H^{p+q}(X, F) is Stacks.Cech.exists_cechSpectralSequence, and the two halves are asserted together at the lemma's own three inputs by Stacks.Cech.exists_cechToDerivedComparison_and_cechSpectralSequence”.
Tag 08BN, the comparison map. For a ringed space
(X, O_X)the total Čech complex of a bounded below complex ofO_X-modules has a canonical map to its derived global sections, functorial in the complex, compatible with the augmentation of Tag 07M9 — hence independent of the covering — and compatible with the refinement map of Tag 08BM.
noncomputable def cechToDerivedGlobalSections
(R : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) :
CechToDerivedGlobalSectionsSystem X R
Stacks.Cech.Linear.cechToDerivedSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/ModuleValuedDerivedSections.lean, line 440. The attribute's comment: “the tag's comparison map, generalised to module coefficients over an arbitrary open: for a ringed space (X, O_X) and an open U, the total Čech complex of a bounded below complex of O_X-modules maps canonically to its derived sections in D(O_X(U)), functorially in the complex and compatibly with the Tag 07M9 augmentation, simultaneously for every open covering of U. The tag's own statement -- the comparison over X, compatible with both the Tag 07M9 and the Tag 08BM maps, together with the tag's spectral sequence -- is Stacks.Cech.cechToDerivedGlobalSections and Stacks.Cech.exists_cechSpectralSequence, conjoined at the lemma's three inputs by Stacks.Cech.exists_cechToDerivedComparison_and_cechSpectralSequence”.
Stacks 08BN, the comparison map with module coefficients. For a ringed space
(X, O_X)and an open subsetUthe total Čech complex of a bounded below complex ofO_X-modules has a canonical map to its derived sections overU, a morphism ofD(O_X(U))functorial in the complex and compatible with the augmentation of [Stacks, Tag 07M9] -- hence independent of the covering.
def cechToDerivedSections : CechToDerivedSectionsSystem X O U
Tag 0FLH, a lemma
Tag 0FLH in the Stacks Project.
Stacks.Cech.isIso_cechToDerivedGlobalSections_app, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/AcyclicCoveringComputesDerivedSections.lean, line 447. The attribute's comment: “the vanishing condition is the one of Tag 01ET: the higher right derived functors of sections over each intersection vanish on each term of the complex”.
[Stacks, Tag 0FLH] Let
(X, O_X)be a ringed space, letU : I → Opens Xbe an open covering ofXand letK^•be a bounded below complex ofO_X-modules withH^i(U_{i_0 … i_p}, K^q) = 0for alli > 0, all tuplesi_0, …, i_pof members of the covering, and all degreesq. Then the comparison mapTot(Č^•(U, K^•)) ⟶ RΓ(X, K^•)of Tag 08BN is an isomorphism.
theorem isIso_cechToDerivedGlobalSections_app
(R : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (hU : ⊤ = iSup U)
(K : CochainComplex.Plus (SheafOfModules.{u} R))
(hacyclic : ∀ (n : ℕ) (s : Fin (n + 1) → I) (q : ℤ) (i : ℕ), 0 < i →
IsZero (((SheafOfModules.evaluation.{u} R
(op (⨅ k, U (s k)))).rightDerived i).obj (K.1.X q))) :
IsIso (((cechToDerivedGlobalSections X R).map U hU).app K)
Tag 07MB, an equation
Tag 07MB in the Stacks Project.
Stacks.Cech.LinearCupProduct.cechCupProduct, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/LinearCupProduct.lean, line 1109. The attribute's comment: “at module coefficients over a base ring, relative to a coefficient pairing”.
The Čech cup product at coefficients in presheaves of modules over a base ring
R: the signed Alexander--Whitney map
Tot(Tot(Č(W,K)) ⊗_R Tot(Č(W,L))) ⟶ Tot(Č(W,M))attached to a pairing
Dof the coefficient complexes. On the summand on which the first factor has total degreen, the target has Čech degreep, and the front face has Čech degreer, its coefficient iscupProductSign n p r = (-1)^((p+r)n+rp+r).The source tensors over
R; the pairingDis where the coefficients are tensored, and it is not required to be a tensor product overR.
noncomputable def cechCupProduct (D : ComplexPairing R K L M) :
HomologicalComplex.mapBifunctor ((totalCechComplexFunctor W R).obj K)
((totalCechComplexFunctor W R).obj L) (tensorModules R) (up ℤ) ⟶
(totalCechComplexFunctor W R).obj M
Stacks.Cech.LinearCupProduct.cechCupProduct_ι, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/LinearCupProduct.lean, line 1122. The attribute's comment: “the signed Alexander--Whitney formula at module coefficients over a base ring”.
On homogeneous summands the cup product is the front/back restriction formula with the sign
(-1)^((p+r)n+rp+r), the restrictions being paired byD.
theorem cechCupProduct_ι (D : ComplexPairing R K L M) (r s : ℕ) (a b : ℤ) :
tensorModulesMap R (ιTotalCech W R K r a) (ιTotalCech W R L s b) ≫
HomologicalComplex.ιMapBifunctor ((totalCechComplexFunctor W R).obj K)
((totalCechComplexFunctor W R).obj L) (tensorModules R) (up ℤ)
((r : ℤ) + a) ((s : ℤ) + b) (((r : ℤ) + a) + ((s : ℤ) + b)) rfl ≫
(cechCupProduct W R D).f (((r : ℤ) + a) + ((s : ℤ) + b)) =
cupProductSign ((r : ℤ) + a) ((r : ℤ) + (s : ℤ)) (r : ℤ) •
(cechAlexanderWhitney W R (D.μ a b (a + b) rfl) r s ≫
ιTotalCech W R M (r + s) (a + b) ≫
eqToHom (congrArg (((totalCechComplexFunctor W R).obj M).X) (by push_cast; ring)))
Stacks.Cech.ModuleCupProduct.cechCupProductA, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/ModuleCupProduct.lean, line 140. The attribute's comment: “at 𝒪_X-module coefficients over the ring of sections”.
The Čech cup product at
𝒪_X-module coefficients. The signed Alexander--Whitney cup-product map
Tot(Tot(Č(U,K)) ⊗_A Tot(Č(U,L))) ⟶ Tot(Č(U,M))for
A = 𝒪_X(V), attached to a pairingDof the coefficient sections presheaves into those ofM. On a homogeneous summand it is the front/back restriction formula with the Alexander--Whitney signcupProductSign n p r = (-1)^((p+r)n+rp+r).
noncomputable abbrev cechCupProductA
(D : ComplexPairing (CoeffRing O V) ((sectionsComplexFunctor O V).obj K)
((sectionsComplexFunctor O V).obj L) ((sectionsComplexFunctor O V).obj M))
Stacks.Cech.SheafTensorPairing.cechCupProductSheafTensor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/SheafTensorPairing.lean, line 360. The attribute's comment: “the sheaf-tensor instantiation: source over the section ring, coefficients over the structure sheaf”.
The Čech cup product at sheaf-tensor coefficients: the signed Alexander--Whitney cup-product map
Tot(Tot(Č(𝒰,𝒦)) ⊗_A Tot(Č(𝒰,ℳ))) ⟶ Tot(Č(𝒰, Tot(𝒦 ⊗_{𝒪_X} ℳ)))for a covering
𝒰ofVandA = 𝒪_X(V). This is the left-hand column of the diagram of Stacks Tag 0FKV: the source tensors the two total Čech complexes over the ringAof sections onV, while in the target the coefficients are tensored over the structure sheaf, the coefficient pairing beingsheafTensorComplexPairing.Its value on a homogeneous summand is the front/back restriction formula with the Alexander--Whitney sign
cupProductSign n p r = (-1)^((p+r)n+rp+r): seeStacks.Cech.LinearCupProduct.cechCupProduct_ι, which applies byStacks.Cech.ModuleCupProduct.cechCupProductA_eq.
noncomputable def cechCupProductSheafTensor :
HomologicalComplex.mapBifunctor ((totalCechComplexFunctorA O V U hU).obj K)
((totalCechComplexFunctorA O V U hU).obj L) (tensorModules (CoeffRing O V)) (up ℤ) ⟶
(totalCechComplexFunctorA O V U hU).obj
(HomologicalComplex.mapBifunctor K L (sheafTensor O) (up ℤ))
Stacks.Cech.CupProduct.cechCupProduct, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RecoveryC/CechCupProduct/CupProductMap.lean, line 810.
The signed Alexander--Whitney cup-product map
Tot(Tot(Č(U,F)) ⊗_ℤ Tot(Č(U,G))) ⟶ Tot(Č(U,Tot(F ⊗_ℤ G))).On the summand on which
αhas total degreen, the target has Čech degreep, and the front face ofαhas Čech degreer, its coefficient iscupProductSign n p r = (-1)^((p+r)n+rp+r).
noncomputable def cechCupProduct
(F : CochainComplex (ZPresheaf.{u, max u v w} X) ℤ)
(G : CochainComplex (ZPresheaf.{u, max u v w'} X) ℤ) :
HomologicalComplex.mapBifunctor ((totalCechComplexFunctor.{u, v, max u w} X U).obj F)
((totalCechComplexFunctor.{u, v, max u w'} X U).obj G)
(tensorModules.{max u v w, max u v w'} ℤ) (up ℤ) ⟶
(totalCechComplexFunctor.{u, v, max u w w'} X U).obj
(tensorSheafComplex.{u, max v w, max v w'} X F G)
Stacks.Cech.CupProduct.cechCupProduct_ι, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RecoveryC/CechCupProduct/CupProductMap.lean, line 826. The attribute's comment: “the signed Alexander--Whitney formula”.
On homogeneous summands the cup product is the front/back restriction formula with the sign
(-1)^((p+r)n+rp+r).
theorem cechCupProduct_ι (F : CochainComplex (ZPresheaf.{u, max u v w} X) ℤ)
(G : CochainComplex (ZPresheaf.{u, max u v w'} X) ℤ) (r s : ℕ) (a b : ℤ) :
tensorModulesMap ℤ (ιTotalCech.{u, v, max u w} X U F r a)
(ιTotalCech.{u, v, max u w'} X U G s b) ≫
HomologicalComplex.ιMapBifunctor ((totalCechComplexFunctor.{u, v, max u w} X U).obj F)
((totalCechComplexFunctor.{u, v, max u w'} X U).obj G)
(tensorModules.{max u v w, max u v w'} ℤ)
(up ℤ) (r + a) (s + b) ((r + a) + (s + b)) rfl ≫
(cechCupProduct.{u, v, w, w'} X U F G).f ((r + a) + (s + b)) =
cupProductSign (r + a) (r + s) r •
(cechAlexanderWhitney.{u, v, max u w, max u w'} X U (F.X a) (G.X b) r s ≫
cechCochainsMap.{u, v, max u w w'} X U
(ιTensorSheafComplex.{u, max v w, max v w'} X F G a b) (r + s) ≫
ιTotalCech.{u, v, max u w w'} X U
(tensorSheafComplex.{u, max v w, max v w'} X F G) (r + s) (a + b) ≫
eqToHom (congrArg
(((totalCechComplexFunctor.{u, v, max u w w'} X U).obj
(tensorSheafComplex.{u, max v w, max v w'} X F G)).X)
(by push_cast; ring)))
Tag 07MC, a lemma
Tag 07MC in the Stacks Project.
Stacks.Cech.Hypercohomology.cup_boundary, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/HypercohomologyCupBoundaryTensor.lean, line 199. The attribute's comment: “for complexes of modules over an arbitrary sheaf of commutative rings 𝒪_X and ⊗_{𝒪_X}; the source's abelian sheaves and ⊗_𝐙 are the case 𝒪_X = 𝐙_X, whose modules are the abelian sheaves (Stacks.Cech.Hypercohomology.isEquivalence_toSheaf_integerRingSheaf) and whose tensor product is ⊗_𝐙. cup is the cup product of Čech cocycles on a common covering and boundary the connecting map of the long exact cohomology sequence”.
[Stacks, Tag 07MC]. Let
0 ⟶ F₁ ⟶ F₂ ⟶ F₃ ⟶ 0(the short complexS) and0 ⟶ G₃ ⟶ G₂ ⟶ G₁ ⟶ 0(the short complexT) be short exact sequences of bounded below complexes of𝒪_X-modules,Ha bounded below complex andγᵢ : Tot(Fᵢ ⊗_{𝒪_X} Gᵢ) ⟶ Hmaps of complexes such that the squares
γ₁ ∘ Tot(1 ⊗ (G₂ → G₁)) = γ₂ ∘ Tot((F₁ → F₂) ⊗ 1)andγ₂ ∘ Tot(1 ⊗ (G₃ → G₂)) = γ₃ ∘ Tot((F₂ → F₃) ⊗ 1)commute. If Čech cohomology agrees with cohomology for the sheaves
FᵢᵖandGⱼ^q, then fora₃ ∈ Hⁿ(X, F₃)andb₁ ∈ Hᵐ(X, G₁)
γ₁(∂a₃ ∪ b₁) = (-1)^{n+1} γ₃(a₃ ∪ ∂b₁)inH^{n+m+1}(X, H).The source states this for complexes of abelian sheaves and
⊗_𝐙. That is the case where𝒪_Xis the constant sheaf of rings𝐙_X: sheaves of𝐙_X-modules are the abelian sheaves (Stacks.Cech.Hypercohomology.isEquivalence_toSheaf_integerRingSheaf), and⊗_{𝐙_X}is⊗_𝐙, since both are the sheafification of presheaves whose stalks areFₓ ⊗_𝐙 Gₓ.
theorem cup_boundary
(S : ShortComplex (CochainComplex.Plus (SheafOfModules.{u} (ringSheaf O))))
(hS : (toSC S).ShortExact)
(T : ShortComplex (CochainComplex.Plus (SheafOfModules.{u} (ringSheaf O))))
(hT : (toSC T).ShortExact) (H : CochainComplex.Plus (SheafOfModules.{u} (ringSheaf O)))
(γ₁ : letI : (Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{u} :=
inferInstance
HomologicalComplex.mapBifunctor S.X₁.obj T.X₃.obj (sheafTensor O) (up ℤ) ⟶ H.obj)
(γ₂ : letI : (Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{u} :=
inferInstance
HomologicalComplex.mapBifunctor S.X₂.obj T.X₂.obj (sheafTensor O) (up ℤ) ⟶ H.obj)
(γ₃ : letI : (Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{u} :=
inferInstance
HomologicalComplex.mapBifunctor S.X₃.obj T.X₁.obj (sheafTensor O) (up ℤ) ⟶ H.obj)
(h₁ : letI : (Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{u} :=
inferInstance
HomologicalComplex.mapBifunctorMap (𝟙 S.X₁.obj) T.g.hom (sheafTensor O) (up ℤ) ≫ γ₁ =
HomologicalComplex.mapBifunctorMap S.f.hom (𝟙 T.X₂.obj) (sheafTensor O) (up ℤ) ≫ γ₂)
(h₂ : letI : (Opens.grothendieckTopology X).WEqualsLocallyBijective AddCommGrpCat.{u} :=
inferInstance
HomologicalComplex.mapBifunctorMap (𝟙 S.X₂.obj) T.f.hom (sheafTensor O) (up ℤ) ≫ γ₂ =
HomologicalComplex.mapBifunctorMap S.g.hom (𝟙 T.X₁.obj) (sheafTensor O) (up ℤ) ≫ γ₃)
(hF₁ : ∀ p, CechComputesSheaf O (S.X₁.obj.X p)) (hF₂ : ∀ p, CechComputesSheaf O (S.X₂.obj.X p))
(hF₃ : ∀ p, CechComputesSheaf O (S.X₃.obj.X p)) (hG₁ : ∀ q, CechComputesSheaf O (T.X₃.obj.X q))
(hG₂ : ∀ q, CechComputesSheaf O (T.X₂.obj.X q)) (hG₃ : ∀ q, CechComputesSheaf O (T.X₁.obj.X q))
(n m : ℤ) (a₃ : hypercohomology O S.X₃ n) (b₁ : hypercohomology O T.X₃ m) :
cup O (cechComputes_of_terms O _ hF₁) (cechComputes_of_terms O _ hG₁) (tensorPairing O γ₁)
(n + 1) m (n + m + 1) (by omega) (boundary O S hS n (n + 1) rfl a₃) b₁ =
((n + 1).negOnePow : ℤ) •
cup O (cechComputes_of_terms O _ hF₃) (cechComputes_of_terms O _ hG₃) (tensorPairing O γ₃)
n (m + 1) (n + m + 1) (by omega) a₃ (boundary O T hT m (m + 1) rfl b₁)
Tag 0B8S, a lemma
Tag 0B8S in the Stacks Project.
Stacks.Cohomology.SquareZeroBoundary.SquareZeroKernel.moduleCohomology, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SquareZeroExtensionBoundaryDerivation.lean, line 770. The attribute's comment: “the H⁰(X, O)-module structure on H¹(X, I)”.
Stacks 0B8S, first clause:
M = H¹(X, I)is a module overR = H⁰(X, O). The kernel is a sheaf ofO-modules (Stacks.Cohomology.SquareZeroBoundary.SquareZeroKernel.incl_smul), and a global section ofOacts onMthrough the endomorphism of the kernel it induces.
noncomputable def moduleCohomology :
Module (ToType (O.obj (op (⊤ : Opens X)))) (cohomologyOne I)
Stacks.Cohomology.SquareZeroBoundary.SquareZeroKernel.boundary, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SquareZeroExtensionBoundaryDerivation.lean, line 874. The attribute's comment: “the boundary map, in the Čech description of Stacks 02AP”.
The boundary map
∂ : H⁰(X, O) → H¹(X, I)of the short exact sequence0 → I → O' → O → 0, in the Čech description of Stacks 02AP: the class of the cocycle of differences of local lifts, transported toH¹(X, I)by the comparison of Stacks 01EQ.
noncomputable def boundary (f : ToType (O.obj (op (⊤ : Opens X)))) : cohomologyOne I
Stacks.Cohomology.SquareZeroBoundary.SquareZeroKernel.boundary_leibniz, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SquareZeroExtensionBoundaryDerivation.lean, line 1012. The attribute's comment: “the Leibniz rule for the boundary map”.
Stacks 0B8S, the Leibniz rule. On a covering over which both
fandglift, the cocycle attached tof * gisα g + f β, whereαandβare the cocycles attached tofand togand the products are taken for theO-module structure on the kernel.
theorem boundary_leibniz (f g : ToType (O.obj (op (⊤ : Opens X)))) :
E.boundary (f * g) =
E.smulCohomology f (E.boundary g) + E.smulCohomology g (E.boundary f)
Stacks.Cohomology.SquareZeroBoundary.SquareZeroKernel.boundaryDerivation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SquareZeroExtensionBoundaryDerivation.lean, line 1080. The attribute's comment: “the boundary map of the square-zero extension is a derivation”.
Stacks 0B8S. Let
Xbe a topological space andπ : O' ⟶ Oa surjection of sheaves of commutative rings whose kernelIhas square zero. ThenM = H¹(X, I)is a module overR = H⁰(X, O), and the boundary map∂ : R → Mof the short exact sequence0 → I → O' → O → 0is a derivation.
noncomputable def boundaryDerivation :
letI := E.moduleCohomology
Derivation ℤ (ToType (O.obj (op (⊤ : Opens X)))) (cohomologyOne I)
Sources
Section20.26 Flat resolutions#
Section 20.26 of the Stacks Project, Tag 06Y7. 17 tags here are carried by 16 declarations of the repository (all in StacksFrontier) and 8 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 06Y8, a lemma
Tag 06Y8 in the Stacks Project.
main_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Homology/TensorComplex/ExactFunctor/IsTriangulated.lean, line 39. References: SGA 4 XVII (7.3.3), “special case”.
Statement 1. For a fixed complex
G, the functorTleft G : F ↦ Tot(G ⊗ F)onK(Mod(O_X))can be equipped with a functorial isomorphismξ(aCommShift ℤdatum) making it an exact functor of triangulated categories (Stacks Tag 06Y8, left version).Here
ξis the canonical comparison isomorphismTot(G ⊗ F[1]) ≅ Tot(G ⊗ F)[1]of Stacks Tag 0FNG, andFunctor.IsTriangulatedpackages exactly the requirement of Definition 3: theCommShiftnatural isomorphism together with preservation of distinguished triangles.Note the descent of the functor to
K(Mod(O_X))is asserted as content (viaTleft, which is built fromTleftCochain_preservesHomotopyRel), not assumed as a hypothesis.
theorem main_left (G : CochainComplex C ℤ) :
∃ e : (Tleft G).CommShift ℤ,
@Functor.IsTriangulated _ _ _ _ _ _ (Tleft G) e _ _ _ _ _ _ _ _
main_right, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Homology/TensorComplex/ExactFunctor/IsTriangulated.lean, line 52. References: SGA 4 XVII (7.3.3), “special case”.
Statement 2. For a fixed complex
G, the functorTright G : F ↦ Tot(F ⊗ G)onK(Mod(O_X))can be equipped with a functorial isomorphismξmaking it an exact functor of triangulated categories (Stacks Tag 06Y8, right version). This is genuinely distinct frommain_left(the two differ by the commutativity isomorphism with its sign(-1)^{pq}).
theorem main_right (G : CochainComplex C ℤ) :
∃ e : (Tright G).CommShift ℤ,
@Functor.IsTriangulated _ _ _ _ _ _ (Tright G) e _ _ _ _ _ _ _ _
Tag 06Y9, a definition
Tag 06Y9 in the Stacks Project.
Stacks.SheafOfModules.IsKFlat, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/Defs.lean, line 66.
A cochain complex
Kof sheaves ofR-modules is K-flat ifTot(F ⊗_R K)is acyclic for every acyclic cochain complexF.
abbrev IsKFlat
(K : CochainComplex (SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ) : Prop
Tag 06YA, a lemma
Tag 06YA in the Stacks Project.
Stacks.SheafOfModules.IsKFlat.quasiIso_le_inverseImage, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Cohomology/KFlat/TensorPreservesQuasiIso.lean, line 100. The attribute's comment: “on the homotopy category, as the tag states it”.
[Stacks, Tag 06YA]. For a K-flat complex
Kof𝒪-modules, the exact functorF ↦ Tot(F ⊗_𝒪 K)ofK(Mod(𝒪))carries quasi-isomorphisms to quasi-isomorphisms.
theorem IsKFlat.quasiIso_le_inverseImage
(K : CochainComplex (SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ)
(hK : IsKFlat R K) :
HomotopyCategory.quasiIso
(SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) (ComplexShape.up ℤ) ≤
(HomotopyCategory.quasiIso
(SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R))
(ComplexShape.up ℤ)).inverseImage
(Stacks.SheafOfModules.Tensor.Reduction.bifunctorPhiR
(Stacks.SheafOfModules.Tensor.sheafTensor R) K)
Stacks.SheafOfModules.IsKFlat.quasiIso_rightTensorComplex_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Cohomology/KFlat/TensorPreservesQuasiIso.lean, line 124. The attribute's comment: “at the level of complexes rather than of the homotopy category”.
[Stacks, Tag 06YA] at the level of complexes. For a K-flat complex
Kof𝒪-modules and a quasi-isomorphismf : F₁ ⟶ F₂of complexes of𝒪-modules, the induced morphismTot(F₁ ⊗_𝒪 K) ⟶ Tot(F₂ ⊗_𝒪 K)is a quasi-isomorphism.The hypothesis is explicit rather than an instance: with the tensor-total functor applied to a consumer's own factorization, an instance argument is synthesized at a different spelling of the same type.
theorem IsKFlat.quasiIso_rightTensorComplex_map
(K : CochainComplex (SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ)
(hK : IsKFlat R K)
{F₁ F₂ : CochainComplex (SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ}
(f : F₁ ⟶ F₂) (hf : QuasiIso f) :
QuasiIso ((Stacks.SheafOfModules.Tensor.rightTensorComplex R K).map f)
Tag 06YB, a lemma
Tag 06YB in the Stacks Project.
Stacks.SheafOfModules.KFlatStalkCriterion.kFlat_iff_stalkwise, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/StalkCriterion.lean, line 567.
Stacks 06YB. A complex of sheaves of modules on a ringed space is K-flat if and only if its complex of stalks at every point is K-flat over the stalk of the structure sheaf.
theorem kFlat_iff_stalkwise
(K : CochainComplex (SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} R)) ℤ)
:
letI := fun (left : SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf R)) =>
Stacks.SheafOfModules.Tensor.sheafTensor_obj_additive.{u, u, u, u, u} R left
letI : ∀ (left right : CochainComplex
(SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ),
HomologicalComplex.HasMapBifunctor left right
(Stacks.SheafOfModules.Tensor.sheafTensor.{u, u, u, u, u} R) (ComplexShape.up ℤ) :=
fun left right => Stacks.SheafOfModules.Tensor.hasMapBifunctor_sheafTensor R left right
Stacks.SheafOfModules.KFlat.KFlat.{u, u, u} R K ↔ KFlatStalkwise R K
Tag 079R, a lemma
Tag 079R in the Stacks Project.
Stacks.SheafOfModules.kFlat_tensorComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/TensorProduct.lean, line 513.
Stacks 079R. The total tensor product of two K-flat complexes of sheaves of modules is K-flat.
theorem kFlat_tensorComplex
{K L : CochainComplex (SheafOfModules.{w} (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ}
(hK : Stacks.SheafOfModules.IsKFlat R K) (hL : Stacks.SheafOfModules.IsKFlat R L) :
Stacks.SheafOfModules.IsKFlat R (((Stacks.SheafOfModules.Tensor.tensorComplex R).obj K).obj L)
Tag 079S, a lemma
Tag 079S in the Stacks Project.
Declarations registered for the tag:
Stacks.SheafOfModules.kFlat_of_second_third, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/TwoOutOfThree.lean, line 52 (StacksFrontier): “ringed space case of the ringed site statement, first vertex”.Stacks.SheafOfModules.kFlat_of_first_third, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/TwoOutOfThree.lean, line 55 (StacksFrontier): “ringed space case of the ringed site statement, second vertex”.Stacks.SheafOfModules.kFlat_of_first_second, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/TwoOutOfThree.lean, line 58 (StacksFrontier): “ringed space case of the ringed site statement, third vertex”.
Tag 0G6U, a lemma
Tag 0G6U in the Stacks Project.
Declarations registered for the tag:
Stacks.SheafOfModules.isKFlat_two_out_of_three, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/TwoOutOfThree.lean, line 61 (StacksFrontier): “ringed space case of the ringed site statement”.
Tag 06YC, a lemma
Tag 06YC in the Stacks Project.
Stacks.SheafOfModules.KFlatPullback.kFlat_pullback_unconditional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/PullbackFromTheStalkCriterion.lean, line 61.
Stacks 06YC. The degreewise pullback of a K-flat complex of
𝒪_Y-modules along a morphism of ringed spaces is a K-flat complex of𝒪_X-modules.
theorem kFlat_pullback_unconditional {X Y : AlgebraicGeometry.RingedSpace.{u, u}} (f : X ⟶ Y)
(K : CochainComplex (SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf Y.sheaf)) ℤ)
(hK : Stacks.SheafOfModules.IsKFlat Y.sheaf K) :
Stacks.SheafOfModules.IsKFlat X.sheaf
(((RingedSpaceModuleAdjunction.modulePullback f).mapHomologicalComplex
(ComplexShape.up ℤ)).obj K)
Tag 06YD, a lemma
Tag 06YD in the Stacks Project.
Declarations registered for the tag:
Stacks.SheafOfModules.kFlat_of_boundedAbove_of_flat, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/BoundedAboveFlatComplexes.lean, line 46 (StacksFrontier): “ringed space case of the ringed site statement”.
Tag 06YE, a lemma
Tag 06YE in the Stacks Project.
Stacks.SheafOfModules.kFlat_colimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/SequentialColimits.lean, line 85.
A sequential colimit of K-flat complexes of sheaves of modules is K-flat.
theorem kFlat_colimit
(K : ℕ ⥤ CochainComplex (SheafOfModules (Stacks.SheafOfModules.Tensor.ringSheaf R)) ℤ)
(hK : ∀ n : ℕ, IsKFlat R (K.obj n)) :
IsKFlat R (colimit K)
Tag 079T, a lemma
Tag 079T in the Stacks Project.
Stacks.Cohomology.SpaceResolutionByExtensionsByZero.exists_resolutionByDirectSumsExtensionsByZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RecoveryA/SpaceResolutionByExtensionsByZero.lean, line 354.
Every cochain complex
GofO-modules on a ringed space admits a compatible system of bounded-above resolutions of its canonical truncationsτ_{≤ n+1} Gwhose terms and successive cokernels are direct sums of extensions by zeroj_{U!} O_U, and whose colimit maps quasi-isomorphically toG.
theorem exists_resolutionByDirectSumsExtensionsByZero
(G : CochainComplex (SheafOfModules.{u} O) ℤ) :
Nonempty (ResolutionByDirectSumsExtensionsByZero O G)
Tag 06YF, a lemma
Tag 06YF in the Stacks Project.
AlgebraicGeometry.RingedSpace.exists_isKFlat_isFlat_quasiIso_epi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/RingedSpace/FlatKFlatResolution.lean, line 64.
Stacks 06YF. Every cochain complex
Gof𝒪_X-modules on a ringed space receives a termwise surjective quasi-isomorphism from a K-flat complex whose terms are flat𝒪_X-modules.A ringed space is a ringed site, and this is the resolution built there ([Stacks, Tag 06YS]).
public theorem exists_isKFlat_isFlat_quasiIso_epi
(G : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) :
∃ (K : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ)
(s : K ⟶ G),
Stacks.SheafOfModules.IsKFlat X.sheaf K ∧
(∀ i : ℤ, AlgebraicGeometry.SheafOfModules.IsFlat.{u, u, u, u} (O := X.sheaf) (K.X i)) ∧
QuasiIso s ∧ ∀ i : ℤ, Epi (s.f i)
Tag 06YG, a lemma
Tag 06YG in the Stacks Project.
Declarations registered for the tag:
Stacks.SheafOfModules.quasiIso_mapBifunctorMap_id_of_kFlat_right, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/QuasiIsoOfKFlatComplexes.lean, line 45 (StacksFrontier): “ringed space case of the ringed site statement”.Stacks.SheafOfModules.quasiIso_tensorComplex_obj_map_of_kFlat, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/KFlat/QuasiIsoOfKFlatComplexes.lean, line 48 (StacksFrontier): “ringed space case, tensorComplex spelling”.
Tag 06YH, a definition
Tag 06YH in the Stacks Project.
Declarations registered for the tag:
Stacks.Cohomology.TorAmplitude.derTensor, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/OnARingedSpace.lean, line 40 (StacksFrontier): “the derived tensor product on a ringed space, with its exactness”.
Tag 08BP, a definition
Tag 08BP in the Stacks Project.
Stacks.Cohomology.tor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/Tor.lean, line 83. References: SGA 4½ Etat 0 (6.2), “Tor_i, ringed space”; SGA 4 XVII (4.1.8), “modules, not complexes”.
Tag 08BP. The
O_X-moduleTor_p^{O_X}(F, G) = H^{-p}(F ⊗_{O_X}^{L} G).
def tor (p : ℤ) (F G : OXMod.{u} X) : OXMod.{u} X
Tag 08BQ, a lemma
Tag 08BQ in the Stacks Project.
Stacks.Cohomology.flat_iff_forall_isZero_tor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/TorFlatness.lean, line 373. The attribute's comment: “(1) ⟺ (2) for a ringed space, with clause (2) stated in the source's own terms: the vanishing of the sheaf Tor_1^{O_X}(F, G) = H^{-1}(F ⊗^L_{O_X} G) of Tag 08BP, for every O_X-module G, and clause (1) sheaf-level flatness of Tag 05ND.”.
Tag 08BQ: Tor measures the deviation of flatness. Let
(X, 𝒪_X)be a ringed space andℱan𝒪_X-module. The following are equivalent:
ℱis a flat𝒪_X-module, andTor_1^{𝒪_X}(ℱ, 𝒢) = 0for every𝒪_X-module𝒢.Clause (1) is
OXModule.Flat, Definition Tag 05ND: the genuine sheaf tensor endofunctor- ⊗_{𝒪_X} ℱpreserves monomorphisms, hence is exact. Clause (2) is the source's ownTor_1, the sheafStacks.Cohomology.tor X 1 ℱ 𝒢of Tag 08BP, which isH^{-1}(ℱ ⊗^{L}_{𝒪_X} 𝒢)— not a stalkwise substitute for it.Proof. Tag 05NE (
OXModule.flat_iff_flat_stalk) replaces clause (1) by flatness of every stalk, andAlgebraicGeometry.SheafOfModules.flat_stalk_ringCat_iff_commRingCatreads that over the stalk ring the derived tensor product is formed relative to. Over that ringOXModule.module_flat_iff_tor1turns flatness of a stalk into the vanishing of the module-theoreticTor_1against every module over it, every such module being a stalk byAlgebraicGeometry.SheafOfModules.stalkFunctor_essSurj; andisZero_derivedTensorHomology_iff_forall_isZero_torturns the vanishing of those stalkwiseTor_1into the vanishing of the sheafTor_1, which is clause (2).No intermediate statement of stalkwise flatness over the
RingCat-valued stalk ring is written down, and that is deliberate: writingModule.Flat Λ Mfor that ring forces theSemiring Λinside theModuleinstance to be the one derived fromStacksDraft.StalkTensor.commRing_stalk, while theModuleCat ΛthatMlives in carries the one derived fromRingCat's ownRing. The two are definitionally equal but not syntactically, so instance synthesis fails on the resultingModule Λ Mgoal. Going throughOXModule.module_flat_iff_tor1, whoseModuleCatis formed from its ownCommRingbinder, keeps the instances internally consistent.
theorem flat_iff_forall_isZero_tor (F : OXMod.{u, u} X) :
OXModule.Flat F ↔ ∀ G : OXMod.{u, u} X, IsZero (tor X 1 F G)
OXModule.flat_iff_tor1_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/FlatModuleSheavesAndStalks/FlatIffTorOne.lean, line 506. The attribute's comment: “(1) ⟺ (2) with clause (2) read stalkwise: Tor_1 here is the module-theoretic Tor_1^{O_{X,x}}(F_x, G_x) at every point, not the sheaf Tor_1 of Tag 08BP. The tag's clause (2) in the source's own terms — the vanishing of Stacks.Cohomology.tor X 1 F G — is Stacks.Cohomology.flat_iff_forall_isZero_tor in StacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/TorFlatness.lean, and the two readings are identified there by isZero_derivedTensorHomology_iff_forall_isZero_tor.”. References: SGA 6 I (5.1.1), “special case”.
Theorem (Stacks Tag 08BQ — "Tor measures the deviation of flatness"). Let
(X, O_X)be a ringed space andFanO_X-module. ThenFis flat (Definition 2: the genuine tensor endofunctor- ⊗_{O_X} Fis exact) if and only ifTor_1^{O_X}(F, G)is the zeroO_X-module for everyO_X-moduleG.The tensor product (Definition 1) is formalized directly as the sheafification of the presheaf tensor product, and
Flatis the genuine sheaf-level exactness of this tensor, so the left-hand side is the source's own notion (Tag 05ND).The right-hand side is the stalk-level reading:
Tor1IsZero F Gsays that the classical module-theoreticTor_1^{O_{X,x}}(F_x, G_x)vanishes at everyx. It is not the expressionStacks.Cohomology.tor X 1 F G(Tag 08BP), the genuineH^{-1}(F ⊗^{L}_{O_X} G), which is what the tag's clause (2) is about; andtor1IsZero_iff_stalkisIff.rfl, so it supplies no part of the comparison.The two readings are nevertheless the same statement, and that is now a theorem rather than a gap:
Stacks.Cohomology.flat_iff_forall_isZero_torinStacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/TorFlatness.leanstates Tag 08BQ with clause (2) in the source's own terms, andStacks.SheafOfModules.DerivedTensorStalk.isZero_derivedTensorHomology_iff_forall_isZero_torthere is the identification itself: the sheafTor_pof Tag 08BP vanishes exactly when the stalkwise module-theoreticTor_pvanishes at every point. Its four ingredients areAlgebraicGeometry.SheafOfModules.isZero_iff_forall_isZero_stalkFunctor_obj(vanishing is stalkwise, Tag 01AG),CategoryTheory.Functor.mapDerivedCategoryHomologyIso(the exact stalk functor commutes withH^{-1}),Stacks.SheafOfModules.DerivedTensorStalk.derivedTensorStalkIso(the derived form of Tag 01CB) — all three of which already existed — andStacks.DerivedTensor.homologyIsoTor(StacksFrontier/Homology/Tor/DerivedTensorTor.lean), the identification ofH^{-p}of a derived tensor product of two modules over a commutative ring with theirTor_p, which is the one that had to be supplied.So this declaration is the stalk-level half of the tag, kept because the rest of this file is written in the stalkwise vocabulary; the tag's own statement is the one in
StacksFrontier/Topology/Sheaves/Cohomology/DerivedTensor/TorFlatness.lean.Proof. By
flat_iff_flat_stalk(Tag 05NE) sheaf flatness is equivalent to stalk-wise flatnessF.FlatStalkwise, and byflatStalkwise_iff_forall_tor1the latter is equivalent to the vanishing of all stalk-wiseTor₁.
theorem flat_iff_tor1_eq_zero (F : OXModule X) :
F.Flat ↔ ∀ G : OXModule X, F.Tor1IsZero G
Tag 0G6V, a lemma
Tag 0G6V in the Stacks Project.
Stacks.SheafOfModules.exists_isKFlat_factorization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/Factorization.lean, line 117. The attribute's comment: “the K-flat factorization”.
Tag 0G6V. A map
a : K^• ⟶ L^•of complexes ofO-modules withK^•K-flat factors, up to homotopy, through a K-flat complexN^•which maps toL^•by a quasi-isomorphism.
theorem exists_isKFlat_factorization
{K L : CochainComplex
(SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} X.O)) ℤ}
(a : K ⟶ L) (hK : IsKFlat X.O K) :
∃ (N : CochainComplex
(SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} X.O)) ℤ)
(b : K ⟶ N) (c : N ⟶ L),
IsKFlat X.O N ∧ QuasiIso c ∧ Nonempty (Homotopy a (b ≫ c))
Stacks.SheafOfModules.exists_isKFlat_isFlat_factorization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/KFlat/Factorization.lean, line 132. The attribute's comment: “the factorization with flat terms”.
Tag 0G6V, second half. If in addition the terms of
K^•are flatO-modules, then the intermediate complex of the factorization can be chosen with flat terms as well.
theorem exists_isKFlat_isFlat_factorization
{K L : CochainComplex
(SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} X.O)) ℤ}
(a : K ⟶ L) (hK : IsKFlat X.O K)
(hKflat : ∀ i : ℤ,
AlgebraicGeometry.SheafOfModules.IsFlat.{u, u, u, u} (O := X.O) (K.X i)) :
∃ (N : CochainComplex
(SheafOfModules.{u} (Stacks.SheafOfModules.Tensor.ringSheaf.{u, u, u} X.O)) ℤ)
(b : K ⟶ N) (c : N ⟶ L),
IsKFlat X.O N ∧
(∀ i : ℤ,
AlgebraicGeometry.SheafOfModules.IsFlat.{u, u, u, u} (O := X.O) (N.X i)) ∧
QuasiIso c ∧ Nonempty (Homotopy a (b ≫ c))
Sources
Section20.27 Derived pullback#
Section 20.27 of the Stacks Project, Tag 06YI. 5 tags here are carried by 8 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 06YJ, a lemma
Tag 06YJ in the Stacks Project.
Stacks.Cohomology.KFlatDerivedPullback.derivedPullback_commShift, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/Triangulated.lean, line 146. The attribute's comment: “compatibility with shifts”.
The derived pullback commutes with the shift.
Lf^*is the total left derived functor of degreewise pullback alongQh; degreewise pullback andQhboth commute with the shift, and the quasi-isomorphisms ofK(𝒪_Y)are stable under it, so the derived functor does too.
instance derivedPullback_commShift :
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback f).CommShift ℤ
Stacks.Cohomology.KFlatDerivedPullback.derivedPullback_isTriangulated, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/Triangulated.lean, line 192. The attribute's comment: “exactness”.
The derived pullback is exact:
Lf^* : D(𝒪_Y) ⥤ D(𝒪_X)carries distinguished triangles to distinguished triangles.Every morphism of
D(𝒪_Y)is, up to isomorphism of arrows, the image of a morphism between K-flat complexes: the K-flat objects resolve every object, so their inclusion is a localized equivalence and the induced functor is essentially surjective on arrows. Completing such a morphism to a distinguished triangle ofK(𝒪_Y)leaves all three vertices K-flat, the third byisKFlat_obj₃_of_distTriang, and the comparison ofLf^*is invertible at each of them. That is exactly the input ofCategoryTheory.Functor.isTriangulated_of_rightExtension.
instance derivedPullback_isTriangulated :
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback f).IsTriangulated
Stacks.Cohomology.KFlatDerivedPullback.isIso_derivedPullbackComparison_app_of_kFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/Unconditional.lean, line 98. The attribute's comment: “computation on K-flat complexes”.
A K-flat complex computes the derived pullback: on it the canonical comparison
Lf^* K ⟶ f^* Kis invertible. This is the clause of Tag 06YJ that says the construction agrees with degreewise pullback where degreewise pullback is already derived, and it holds for an arbitrary morphism of ringed spaces: the K-flat complexes are a resolving datum forf^*, and the comparison of a left derived functor is invertible on its resolving class.The two models of the derived categories are binders rather than the file's pinned
HasDerivedCategory.standard: every ingredient of the proof is model-free.
theorem isIso_derivedPullbackComparison_app_of_kFlat
[HasDerivedCategory.{w₁} (SheafOfModules.{u} (structureSheafRing X))]
[HasDerivedCategory.{w₂} (SheafOfModules.{u} (structureSheafRing Y))]
(K : CochainComplex (SheafOfModules.{u} (structureSheafRing Y)) ℤ) (hK : KFlatComplex Y K) :
IsIso ((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullbackComparison f).app
((HomotopyCategory.quotient (SheafOfModules.{u} (structureSheafRing Y))
(ComplexShape.up ℤ)).obj K))
Declarations registered for the tag:
Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/Unconditional.lean, line 123 (StacksFrontier): “the derived pullback functor”.Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullbackComparison, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/Unconditional.lean, line 126 (StacksFrontier): “canonical comparison”.
Tag 0D5S, a lemma
Tag 0D5S in the Stacks Project.
Stacks.DerivedPullback.Composition.isIso_derivedPullbackCompComparisonCanonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/CompositionUnconditional.lean, line 152.
Stacks 0D5S. The canonical comparison from the composite of the derived pullbacks along
gandfto the derived pullback alongf ≫ gis an isomorphism, for arbitrary composable morphisms of ringed spaces.Every hypothesis of
isIso_derivedPullbackCompComparisonis met at the K-flat classes onZand onY.
theorem isIso_derivedPullbackCompComparisonCanonical :
IsIso (derivedPullbackCompComparisonCanonical f g)
Tag 079U, a lemma
Tag 079U in the Stacks Project.
Stacks.Cohomology.DerivedPullbackTensor.derivedPullbackTensorIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/PullbackTensorComparison.lean, line 532.
Stacks 079U: derived pullback is monoidal. For a morphism of ringed spaces
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)there is a canonical isomorphism
Lf^*(K ⊗^L_{𝒪_Y} L) ≅ Lf^*K ⊗^L_{𝒪_X} Lf^*L,bifunctorial in
K, L ∈ D(𝒪_Y).It is constructed the way the source constructs it. On K-flat representatives both sides are computed by ordinary total tensor complexes — the K-flat comparison of Stacks 06YU and the fact that a K-flat complex computes
Lf^*— and there the comparison is the degreewise isomorphismf^*(K^p ⊗_{𝒪_Y} L^q) ≅ f^*K^p ⊗_{𝒪_X} f^*L^qof Stacks 01CD assembled on total complexes. SinceD(𝒪_Y)is the localization of the K-flat objects of the homotopy category at the quasi-isomorphisms (Stacks 06YS), the product of two copies of that localization descends the comparison from K-flat representatives to all ofD(𝒪_Y) × D(𝒪_Y), which is what makes the statement bifunctorial.
def derivedPullbackTensorIso : pullbackOfTensor f ≅ tensorOfPullbacks f
Tag 08DE, a lemma
Tag 08DE in the Stacks Project.
Stacks.Cohomology.MixedDerivedTensorOnARingedSpace.spaceDerivedLinearMixedTensorIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/MixedDerivedTensorOnARingedSpace.lean, line 374. The attribute's comment: “the canonical bifunctorial isomorphism in D(O_X): the tensor product over the smaller sheaf of rings f⁻¹O_Y is an O_X-module through its first factor”.
Stacks 08DE,
O_X-linearly. The canonical bifunctorial isomorphism
F ⊗^L_{O_X} Lf^*G ≅ F ⊗^L_{f⁻¹O_Y} f⁻¹Gin
D(O_X), for a morphismf : (X, O_X) ⟶ (Y, O_Y)of ringed spaces,FinD(O_X)andGinD(O_Y). Both sides are objects ofD(O_X): the tensor product over the smaller sheaf of ringsf⁻¹O_Yinherits theO_X-action fromF, and the mixed tensor product realising it isStacks.MixedTensor.sheafMixedTensorRight, whose sections areF(U) ⊗_{f⁻¹O_Y(U)} f⁻¹G(U).
derivedMixedTensorIsoabove is the comparison read after restriction of scalars toD(f⁻¹O_Y).
def spaceDerivedLinearMixedTensorIso :
spaceLinearDerivedTensorPullback f ≅ spaceLinearDerivedMixedTensor f
Stacks.Cohomology.MixedDerivedTensorOnARingedSpace.derivedLinearMixedTensorIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/MixedDerivedTensorOnARingedSpace.lean, line 402. The attribute's comment: “the canonical bifunctorial isomorphism, in D(O_X)”.
Stacks 08DE, through the one-sided K-flat descent of the mixed tensor product. The canonical bifunctorial isomorphism
F ⊗^L_{O_X} Lf^*G ≅ F ⊗^L_{f⁻¹O_Y} f⁻¹Gin
D(O_X), for a morphismf : (X, O_X) ⟶ (Y, O_Y)of ringed spaces,FinD(O_X)andGinD(O_Y). The right-hand side is the derived tensor product overf⁻¹O_YofFandf⁻¹G, an object ofD(O_X)throughF. It is stated between the two uncurried bifunctors onD(O_X) × D(O_Y), so that bifunctoriality is part of its type, and the left-hand one is written with the ringed-space derived pullback of Tag 06YJ.
def derivedLinearMixedTensorIso :
spaceLinearDerivedTensorPullback f ≅ spaceDerivedMixedTensorInverseImage f
Tag 0FP0, a lemma
Tag 0FP0 in the Stacks Project.
Stacks.Cohomology.DerivedPullbackTensor.derivedPullbackTensorIso_toTensor_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPullback/TensorPullCompatibility.lean, line 192.
Stacks 0FP0. Let
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)be a morphism of ringed spaces and letK, Mbe complexes of𝒪_Y-modules. The diagramLf^*(K ⊗^L_{𝒪_Y} M) ⟶ Lf^*Tot(K ⊗_{𝒪_Y} M) | | v v Lf^*K ⊗^L_{𝒪_X} Lf^*M f^*Tot(K ⊗_{𝒪_Y} M) | | v v f^*K ⊗^L_{𝒪_X} f^*M ⟶ Tot(f^*K ⊗_{𝒪_X} f^*M)commutes: the left hand column — Stacks 079U, then the comparison
Lf^*(QN) ⟶ Q(f^*N)in each tensor factor — followed by the canonical map to the ordinary total tensor complex onXequals the top row — the derived pullback of the canonical map to the ordinary total tensor complex onY— followed by the right hand column, the comparisonLf^*(QN) ⟶ Q(f^*N)atTot(K ⊗_{𝒪_Y} M)and then the comparison of total complexes of Stacks 01CD.This is
derivedPullbackTensorIso_hom_app_comp_rightComparison_of_complexeswith the right comparison written out: postcomposing with the comparison of total complexes cancels the inverse that the right comparison ends with, leaving the six arrows of the source's diagram.
theorem derivedPullbackTensorIso_toTensor_comm
(K L : CochainComplex (AlgebraicGeometry.RingedSpace.KFlatDerivedPullback.Modules Y) ℤ) :
(derivedPullbackTensorIso f).hom.app
(DerivedCategory.Q.obj K, DerivedCategory.Q.obj L) ≫
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf)).map
((derivedPullbackNatTrans f).app K ×ₘ (derivedPullbackNatTrans f).app L) ≫
(derivedToTensorNatTrans X).app
((pullbackComplex f).obj K, (pullbackComplex f).obj L) =
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback f).map
((derivedToTensorNatTrans Y).app (K, L)) ≫
(derivedPullbackNatTrans f).app
((totalComplexPair (Stacks.SheafOfModules.Tensor.sheafTensor Y.sheaf)).obj (K, L)) ≫
DerivedCategory.Q.map ((pullbackTensorComplexNatIso f).hom.app (K, L))
Sources
Section20.28 Cohomology of unbounded complexes#
Section 20.28 of the Stacks Project, Tag 079V. 7 tags here are carried by 12 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 079W, a lemma
Tag 079W in the Stacks Project.
Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/AdjunctionUnconditional.lean, line 255. The attribute's comment: “derived adjunction”. References: SGA 4 XVII (2.3.7), “ringed spaces case”.
The adjunction
Lf^* ⊣ Rf_*on the unbounded derived categories of sheaves of modules over ringed spaces, for an arbitrary morphism of ringed spaces.
def derivedAdjunction : derivedPullback f ⊣ derivedPushforward f
Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction_unit_fac, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/AdjunctionUnconditional.lean, line 263. The attribute's comment: “canonical unit”.
The derived unit agrees with the ordinary unit after applying the canonical comparison maps.
theorem derivedAdjunction_unit_fac
(M : HomotopyCategory (SheafOfModules.{u} (structureSheafRing Y)) (ComplexShape.up ℤ)) :
(derivedAdjunction f).unit.app (DerivedCategory.Qh.obj M) ≫
(derivedPushforward f).map ((derivedPullbackComparison f).app M) =
DerivedCategory.Qh.map ((homotopyPullbackPushforwardAdjunction f).unit.app M) ≫
(derivedPushforwardUnit f).app
(((modulePullback f).mapHomotopyCategory (ComplexShape.up ℤ)).obj M)
Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction_counit_fac, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/AdjunctionUnconditional.lean, line 278. The attribute's comment: “canonical counit”.
The derived counit agrees with the ordinary counit after applying the canonical comparison maps.
theorem derivedAdjunction_counit_fac
(K : HomotopyCategory (SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)) :
(derivedPullback f).map ((derivedPushforwardUnit f).app K) ≫
(derivedAdjunction f).counit.app (DerivedCategory.Qh.obj K) =
(derivedPullbackComparison f).app
(((modulePushforward f).mapHomotopyCategory (ComplexShape.up ℤ)).obj K) ≫
DerivedCategory.Qh.map
((homotopyPullbackPushforwardAdjunction f).counit.app K)
Tag 0D5T, a lemma
Tag 0D5T in the Stacks Project.
Stacks.Cohomology.DerivedPushforwardComposition.isIso_derivedPushforwardComparison_unconditional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CompositionUnconditional.lean, line 473.
Stacks 0D5T. For composable morphisms
f : X ⟶ Yandg : Y ⟶ Zof ringed spaces, the canonical comparison from a right derived pushforward alongf ≫ gto the composite of right derived pushforwards alongfandgis an isomorphism.No hypothesis beyond the two morphisms and the three derived functors: the condition
PushforwardComputesDerived, whichisIso_derivedPushforwardComparison_iffshows to be equivalent to this statement, is discharged bypushforwardComputesDerived.
theorem isIso_derivedPushforwardComparison_unconditional
[Rf.IsRightDerivedFunctor αf
(HomotopyCategory.quasiIso (ModuleSheaves.{u} X) (ComplexShape.up ℤ))]
[Rg.IsRightDerivedFunctor αg
(HomotopyCategory.quasiIso (ModuleSheaves.{u} Y) (ComplexShape.up ℤ))]
[Rgf.IsRightDerivedFunctor αgf
(HomotopyCategory.quasiIso (ModuleSheaves.{u} X) (ComplexShape.up ℤ))] :
IsIso (derivedPushforwardComparison f g Rf Rg Rgf αf αg αgf)
Tag 08HY, a remark
Tag 08HY in the Stacks Project.
Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/BaseChangeMap.lean, line 286. The attribute's comment: “derived_base_change_map”. References: SGA 4 XVII (4.1.5), “ringed spaces”; SGA 4 XVII (4.1.4), “ringed spaces case”.
The derived base change map
Lg^* (Rf_* K) ⟶ Rf'_* (Lg'^* K)of a commutative square of ringed spaces, at an object of the unbounded derived category. It is adjoint to the derived pullback alongg'of the derived counitLf^* (Rf_* K) ⟶ K, after identifying the two iterated derived pullbacks.
def derivedBaseChangeMap (K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K) ⟶
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f').obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g').obj K)
Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap_adjoint, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/BaseChangeMap.lean, line 299. The attribute's comment: “adjoint characterization of the canonical map”.
Under the derived adjunction
Lf'^* ⊣ Rf'_*, the base change map is the derived pullback of the counit, transported across the two composition isomorphisms.
theorem derivedBaseChangeMap_adjoint
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction f').homEquiv
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K))
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g').obj K)).symm
(derivedBaseChangeMap g' f' f g sq K) =
(derivedPullbackCompIsoLeft g' f' f g sq).hom.app
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K) ≫
(derivedPullbackCompIsoCanonical g' f).inv.app
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K) ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g').map
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction f).counit.app K)
Tag 0ATL, a remark
Tag 0ATL in the Stacks Project.
Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/BaseChangePasting.lean, line 590.
Tag 0ATL. Derived base change for an outer rectangle is the composite of derived base change for its two constituent squares.
For two vertically composable commutative squares of ringed spaces, the composite of the derived pullback along the lower horizontal morphism of the inverse composition isomorphism of Tag 079W, the derived base change map of the lower square, the derived pushforward along the upper square's right-hand vertical of the derived base change map of the upper square, and the composition isomorphism of Tag 079W for the rectangle's left-hand verticals, is the derived base change map of the rectangle.
theorem derivedBaseChangeMap_comp (sq₁ : k ≫ f = f' ≫ l) (sq₂ : l ≫ g = g' ≫ m)
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
(derivedPullback m).map ((derivedPushforwardCompIso f g).inv.app K) ≫
derivedBaseChangeMap l g' g m sq₂ ((derivedPushforward f).obj K) ≫
(derivedPushforward g').map (derivedBaseChangeMap k f' f l sq₁ K) ≫
(derivedPushforwardCompIso f' g').hom.app ((derivedPullback k).obj K) =
derivedBaseChangeMap k (f' ≫ g') (f ≫ g) m (comp_square k f' f l g' g m sq₁ sq₂) K
Tag 0ATM, a remark
Tag 0ATM in the Stacks Project.
Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap_comp_horizontal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/BaseChangePasting.lean, line 846.
Tag 0ATM. Derived base change for an outer rectangle is the composite of derived base change for its two constituent squares.
For two horizontally composable commutative squares of ringed spaces, the composite of the inverse composition isomorphism of Tag 0D5S for
h' ≫ h, the derived pullback alongh'of the derived base change map of the right-hand square, the derived base change map of the left-hand square, and the derived pushforward alongf''of the composition isomorphism of Tag 0D5S forg' ≫ g, is the derived base change map of the rectangle.
theorem derivedBaseChangeMap_comp_horizontal (sq₁ : g ≫ f = f' ≫ h)
(sq₂ : g' ≫ f' = f'' ≫ h')
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
(derivedPullbackCompIsoCanonical h' h).inv.app ((derivedPushforward f).obj K) ≫
(derivedPullback h').map (derivedBaseChangeMap g f' f h sq₁ K) ≫
derivedBaseChangeMap g' f'' f' h' sq₂ ((derivedPullback g).obj K) ≫
(derivedPushforward f'').map ((derivedPullbackCompIsoCanonical g' g).hom.app K) =
derivedBaseChangeMap (g' ≫ g) f'' f (h' ≫ h)
(hcomp_square g' g f'' f' f h' h sq₁ sq₂) K
Tag 0FP1, a lemma
Tag 0FP1 in the Stacks Project.
Declarations registered for the tag:
Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction_counit_fac, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/OrdinaryAndDerivedCounit.lean, line 38 (StacksFrontier): “the square of the ordinary and the derived counit commutes”.
Tag 0B68, a remark
Tag 0B68 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProduct.lean, line 173.
The relative cup product
Rf_*K ⊗^L_{𝒪_Y} Rf_*M ⟶ Rf_*(K ⊗^L_{𝒪_X} M): the adjoint transpose of the derived pullback-tensor comparison of Stacks 079U followed by the counit ofLf^* ⊣ Rf_*in both tensor factors. It is defined for arbitraryK, M ∈ D(𝒪_X).
def relativeCupProduct
(K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K)).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj M) ⟶
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf).obj K).obj M)
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_natural, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProduct.lean, line 227. The attribute's comment: “naturality in both complexes”.
The relative cup product is natural in both derived modules on the source.
theorem relativeCupProduct_natural
{K K' M M' : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))}
(k : K ⟶ K') (m : M ⟶ M') :
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf)).map
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map k ×ₘ
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map m) ≫
relativeCupProduct f K' M' =
relativeCupProduct f K M ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map
((Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf)).map
(k ×ₘ m))
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_natural_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProduct.lean, line 250. The attribute's comment: “naturality in the first complex”.
The relative cup product is natural in the first derived module.
theorem relativeCupProduct_natural_left
{K K' : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))}
(k : K ⟶ K')
(M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf).map
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map k)).app
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj M) ≫
relativeCupProduct f K' M =
relativeCupProduct f K M ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf).map k).app M)
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_natural_right, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProduct.lean, line 271. The attribute's comment: “naturality in the second complex”.
The relative cup product is natural in the second derived module.
theorem relativeCupProduct_natural_right
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)))
{M M' : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))}
(m : M ⟶ M') :
((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf).obj
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K)).map
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map m) ≫
relativeCupProduct f K M' =
relativeCupProduct f K M ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).map
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf).obj K).map m)
Sources
Section20.29 Cohomology of filtered complexes#
Section 20.29 of the Stacks Project, Tag 0FLJ. 5 tags here are carried by 13 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0BKK, a lemma
Tag 0BKK in the Stacks Project.
Stacks.Cohomology.FilteredComplex.spectralSequence_of_filteredKInjectiveResolution, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/FilteredKInjectiveResolution.lean, line 523. The attribute's comment: “computation by a supplied filtered K-injective resolution”.
The spectral sequence of a filtered complex of module sheaves, computed by a supplied filtered K-injective resolution: its pages are presented by the cycle and boundary subobjects of the filtered complex of global sections, its first page is the hypercohomology of the graded pieces, and under the boundedness hypotheses it converges to the hypercohomology of the complex.
theorem spectralSequence_of_filteredKInjectiveResolution
(hRΓ : RΓ.IsRightDerivedFunctor α
(HomotopyCategory.quasiIso (SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)))
(j : K ⟶ J)
(hj : QuasiIso j.hom)
(hjStep : ∀ p : ℤ, QuasiIso (j.natTrans.app (op p)))
(hjGraded : ∀ p : ℤ, QuasiIso ((FilteredObject.gr p).map j))
(hStepInjective : ∀ p n : ℤ, Injective ((J.filtration.obj (op p)).X n))
(hKInjective : J.X.IsKInjective)
(hStepKInjective : ∀ p : ℤ, (J.filtration.obj (op p)).IsKInjective)
(hGradedKInjective : ∀ p : ℤ, ((FilteredObject.gr p).obj J).IsKInjective) :
let E := CochainComplex.Filtered.spectralSequenceFunctor.obj
(globalSectionsFilteredComplex X J)
∃ (F : ∀ (_p n : ℤ), Subobject ((globalSectionsFilteredComplex X J).X.X n))
(Z D : ∀ (_r _p n : ℤ),
Subobject ((globalSectionsFilteredComplex X J).X.X n)),
(∀ p n : ℤ, F p n = Subobject.mk
(((globalSectionsFilteredComplex X J).filtration.ι.app (op p)).f n)) ∧
(∀ r p n : ℤ, Z r p n = F p n ⊓
(Subobject.pullback ((globalSectionsFilteredComplex X J).X.d n (n + 1))).obj
(F (p + r) (n + 1))) ∧
(∀ r p n : ℤ, D r p n = Z (r - 1) (p + 1) n ⊔
(Subobject.«exists» ((globalSectionsFilteredComplex X J).X.d (n - 1) n)).obj
(Z (r - 1) (p - r + 1) (n - 1))) ∧
(∃ e : ∀ (r p q n : ℤ) (hr : 0 ≤ r) (_ : n = p + q),
(E.page r hr).X (p, q) ≅ cokernel
(Subobject.ofLE _ _ (inf_le_right : D r p n ⊓ Z r p n ≤ Z r p n)),
∀ (r p q n : ℤ) (hr : 0 ≤ r) (hn : n = p + q),
∃ δ : (Z r p n : ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))) ⟶
(Z r (p + r) (n + 1) : ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))),
δ ≫ (Z r (p + r) (n + 1)).arrow =
(Z r p n).arrow ≫ (globalSectionsFilteredComplex X J).X.d n (n + 1) ∧
cokernel.π (Subobject.ofLE _ _
(inf_le_right : D r p n ⊓ Z r p n ≤ Z r p n)) ≫
(e r p q n hr hn).inv ≫
(E.page r hr).d (p, q) (p + r, q - r + 1) =
δ ≫ cokernel.π (Subobject.ofLE _ _
(inf_le_right : D r (p + r) (n + 1) ⊓ Z r (p + r) (n + 1) ≤
Z r (p + r) (n + 1))) ≫
(e r (p + r) (q - r + 1) (n + 1) hr (by omega)).inv) ∧
(∀ p q : ℤ, Nonempty
((E.page 1 (by omega)).X (p, q) ≅
hypercohomology X RΓ ((FilteredObject.gr p).obj K) (p + q))) ∧
((∀ n : ℤ, ∃ p₀ : ℤ, ∀ p : ℤ, p₀ ≤ p →
IsZero (hypercohomology X RΓ (K.filtration.obj (op p)) n)) →
(∀ n : ℤ, ∃ p₁ : ℤ, ∀ p : ℤ, p ≤ p₁ →
IsIso (hypercohomologyMap X RΓ (K.filtration.ι.app (op p)) n)) →
(∀ n : ℤ, {p : ℤ | ¬ IsZero ((E.page 1 (by omega)).X (p, n - p))}.Finite) ∧
∃ (F : ∀ n : ℤ, ℤ → Subobject (hypercohomology X RΓ K.X n))
(hF : ∀ n : ℤ, Antitone (F n)),
(∀ n p : ℤ, F n p = imageSubobject
(hypercohomologyMap X RΓ (K.filtration.ι.app (op p)) n)) ∧
(∀ n : ℤ, ∃ a b : ℤ, a ≤ b ∧ F n a = ⊤ ∧ F n b = ⊥) ∧
(∀ p q : ℤ, E.HasPageInfinityAt (p, q)) ∧
∀ p q : ℤ, Nonempty
(E.pageInfinity (p, q) ≅
cokernel (Subobject.ofLE (F (p + q) (p + 1)) (F (p + q) p)
(hF (p + q) (by omega)))))
Stacks.Cohomology.FilteredComplex.exists_spectralSequence_of_filteredComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/FilteredKInjectiveResolution.lean, line 598.
A filtered complex of modules on a ringed space has a cohomological spectral sequence whose first page is the hypercohomology of its graded pieces. If the hypercohomology of the filtration steps eventually vanishes on the right and maps isomorphically to that of the whole complex on the left, the spectral sequence is bounded and converges to the hypercohomology of the complex.
theorem exists_spectralSequence_of_filteredComplex :
∃ (RΓ : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))))
(α : homotopySections (structureSheafRing X) (⊤ : Opens X.carrier) ⟶ DerivedCategory.Qh ⋙ RΓ),
RΓ.IsRightDerivedFunctor α
(HomotopyCategory.quasiIso
(SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)) ∧
∃ (J : CochainComplex.Filtered (SheafOfModules.{u} (structureSheafRing X))) (j : K ⟶ J),
QuasiIso j.hom ∧
(∀ p : ℤ, QuasiIso (j.natTrans.app (op p))) ∧
(∀ p : ℤ, QuasiIso ((FilteredObject.gr p).map j)) ∧
(∀ n : ℤ, Injective (J.X.X n)) ∧
(∀ p n : ℤ, Injective ((J.filtration.obj (op p)).X n)) ∧
(∀ p n : ℤ, Injective (((FilteredObject.gr p).obj J).X n)) ∧
∃ (E : CohomologicalSpectralSequence
(ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))) 0)
(F : ∀ (_p n : ℤ), Subobject ((globalSectionsFilteredComplex X J).X.X n))
(Z D : ∀ (_r _p n : ℤ),
Subobject ((globalSectionsFilteredComplex X J).X.X n)),
(∀ p n : ℤ, F p n = Subobject.mk
(((globalSectionsFilteredComplex X J).filtration.ι.app (op p)).f n)) ∧
(∀ r p n : ℤ, Z r p n = F p n ⊓
(Subobject.pullback ((globalSectionsFilteredComplex X J).X.d n (n + 1))).obj
(F (p + r) (n + 1))) ∧
(∀ r p n : ℤ, D r p n = Z (r - 1) (p + 1) n ⊔
(Subobject.«exists» ((globalSectionsFilteredComplex X J).X.d (n - 1) n)).obj
(Z (r - 1) (p - r + 1) (n - 1))) ∧
(∃ e : ∀ (r p q n : ℤ) (hr : 0 ≤ r) (_ : n = p + q),
(E.page r hr).X (p, q) ≅ cokernel
(Subobject.ofLE _ _ (inf_le_right : D r p n ⊓ Z r p n ≤ Z r p n)),
∀ (r p q n : ℤ) (hr : 0 ≤ r) (hn : n = p + q),
∃ δ : (Z r p n : ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))) ⟶
(Z r (p + r) (n + 1) : ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))),
δ ≫ (Z r (p + r) (n + 1)).arrow =
(Z r p n).arrow ≫ (globalSectionsFilteredComplex X J).X.d n (n + 1) ∧
cokernel.π (Subobject.ofLE _ _
(inf_le_right : D r p n ⊓ Z r p n ≤ Z r p n)) ≫
(e r p q n hr hn).inv ≫
(E.page r hr).d (p, q) (p + r, q - r + 1) =
δ ≫ cokernel.π (Subobject.ofLE _ _
(inf_le_right : D r (p + r) (n + 1) ⊓ Z r (p + r) (n + 1) ≤
Z r (p + r) (n + 1))) ≫
(e r (p + r) (q - r + 1) (n + 1) hr (by omega)).inv) ∧
(∀ p q : ℤ, Nonempty
((E.page 1 (by omega)).X (p, q) ≅
hypercohomology X RΓ ((FilteredObject.gr p).obj K) (p + q))) ∧
((∀ n : ℤ, ∃ p₀ : ℤ, ∀ p : ℤ, p₀ ≤ p →
IsZero (hypercohomology X RΓ (K.filtration.obj (op p)) n)) →
(∀ n : ℤ, ∃ p₁ : ℤ, ∀ p : ℤ, p ≤ p₁ →
IsIso (hypercohomologyMap X RΓ (K.filtration.ι.app (op p)) n)) →
(∀ n : ℤ, {p : ℤ | ¬ IsZero ((E.page 1 (by omega)).X (p, n - p))}.Finite) ∧
∃ (F : ∀ n : ℤ, ℤ → Subobject (hypercohomology X RΓ K.X n))
(hF : ∀ n : ℤ, Antitone (F n)),
(∀ n p : ℤ, F n p = imageSubobject
(hypercohomologyMap X RΓ (K.filtration.ι.app (op p)) n)) ∧
(∀ n : ℤ, ∃ a b : ℤ, a ≤ b ∧ F n a = ⊤ ∧ F n b = ⊥) ∧
(∀ p q : ℤ, E.HasPageInfinityAt (p, q)) ∧
∀ p q : ℤ, Nonempty
(E.pageInfinity (p, q) ≅
cokernel (Subobject.ofLE (F (p + q) (p + 1)) (F (p + q) p)
(hF (p + q) (by omega)))))
Tag 0BKL, a remark
Tag 0BKL in the Stacks Project.
Stacks.Cohomology.FilteredComplex.exists_spectralSequence_of_boundedBelowFilteredComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 714. References: EGA 0 (13.7.3), “ringed space, bdd below”.
Stacks 0BKL. Let
(X, O_X)be a ringed space and letK^•be a filtered complex ofO_X-modules which is bounded below and whose filtration is finite in each degree. Then the spectral sequence of [Stacks, Tag 0BKK] can be built without a filtered K-injective resolution: a filtered quasi-isomorphismi : K^• ⟶ I^•as in [Stacks, Tag 05TW], withI^•bounded below, the filtration on eachI^nfinite and eachgr^pI^ninjective, gives the filtered complexΓ(X, I^•)withF^pΓ(X, I^•) = Γ(X, F^pI^•), whose spectral sequence has first pageE_1^{p, q} = H^{p + q}(X, gr^pK^•)and is bounded and converges toH^*(X, K^•)with a finite induced filtration.
theorem exists_spectralSequence_of_boundedBelowFilteredComplex (X : RingedSpace.{u, u})
(RΓ : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))))
(α : homotopySections (structureSheafRing X) (⊤ : Opens X.carrier) ⟶ DerivedCategory.Qh ⋙ RΓ)
(hRΓ : RΓ.IsRightDerivedFunctor α
(HomotopyCategory.quasiIso (SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)))
(K : CochainComplex.Filtered (SheafOfModules.{u} (structureSheafRing X))) (a : ℤ)
(hK : K.X.IsStrictlyGE a) (hKfin : K.filtration.IsDegreewiseFinite) :
∃ (I : CochainComplex.Filtered (SheafOfModules.{u} (structureSheafRing X))) (i : K ⟶ I),
I.X.IsStrictlyGE a ∧
I.filtration.IsDegreewiseFinite ∧
(∀ n : ℤ, (CochainComplex.evalFil I n).IsFilteredInjective) ∧
(∀ p : ℤ, QuasiIso ((FilteredObject.gr p).map i)) ∧
(∀ p : ℤ, QuasiIso (i.natTrans.app (op p))) ∧
QuasiIso i.hom ∧
(∀ p : ℤᵒᵖ, (globalSectionsFilteredComplex X I).filtration.obj p =
(globalSectionsComplexFunctor X).obj (I.filtration.obj p)) ∧
(∀ p q : ℤ, Nonempty
(((globalSectionsSpectralSequence X I).page 1 (by omega)).X (p, q) ≅
hypercohomology X RΓ ((FilteredObject.gr p).obj K) (p + q))) ∧
(∀ n : ℤ, {p : ℤ | ¬ IsZero
(((globalSectionsSpectralSequence X I).page 1 (by omega)).X (p, n - p))}.Finite) ∧
∃ (F : ∀ n : ℤ, ℤ → Subobject (hypercohomology X RΓ K.X n))
(hF : ∀ n : ℤ, Antitone (F n)),
(∀ n p : ℤ, F n p = imageSubobject
(hypercohomologyMap X RΓ (K.filtration.ι.app (op p)) n)) ∧
(∀ n : ℤ, ∃ b c : ℤ, b ≤ c ∧ F n b = ⊤ ∧ F n c = ⊥) ∧
(∀ p q : ℤ, (globalSectionsSpectralSequence X I).HasPageInfinityAt (p, q)) ∧
∀ p q : ℤ, Nonempty
((globalSectionsSpectralSequence X I).pageInfinity (p, q) ≅
cokernel (Subobject.ofLE (F (p + q) (p + 1)) (F (p + q) p)
(hF (p + q) (by omega))))
Tag 0BKM, an example
Tag 0BKM in the Stacks Project.
Stacks.Cohomology.FilteredComplex.exists_canonicalTruncationSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 210. The attribute's comment: “truncation_e1_page”.
Stacks 0BKM. For every complex of modules on a ringed space, the canonical truncation filtration gives a spectral sequence with
E_1^{p, q} = H^{p + q}(X, H^{-p}(K^•)[p]) = H^{2p + q}(X, H^{-p}(K^•)).
theorem exists_canonicalTruncationSpectralSequence (X : RingedSpace.{u, u})
(K : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) :
Nonempty (CanonicalTruncationSpectralSequence X K)
Stacks.Cohomology.FilteredComplex.exists_boundedBelowTruncationSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 791. The attribute's comment: “truncation_e1_page”. References: EGA 0 (11.4.3), “''E₂, T = RΓ”; EGA 0 (12.4.1), “''E2, absolute case”.
Stacks 0BKM, through Remark 0BKL. For a bounded-below complex the canonical truncation spectral sequence can also be built from a bounded-below filtered replacement whose filtration is finite in every degree and whose graded terms are injective; the first-page formula is the same.
theorem exists_boundedBelowTruncationSpectralSequence (X : RingedSpace.{u, u})
(K : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ)
(hK : ∃ a : ℤ, K.IsStrictlyGE a) :
∃ (S : CanonicalTruncationSpectralSequence X K) (a : ℤ),
S.injectiveReplacement.X.IsStrictlyGE a ∧
S.injectiveReplacement.filtration.IsDegreewiseFinite ∧
∀ p q : ℤ, Nonempty
(((globalSectionsSpectralSequence X S.injectiveReplacement).page 1
(by omega)).X (p, q) ≅
(DerivedCategory.homologyFunctor
(ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))) (2 * p + q)).obj
(S.RΓ.obj ((DerivedCategory.singleFunctor
(SheafOfModules.{u} (structureSheafRing X)) 0).obj
((DerivedCategory.homologyFunctor
(SheafOfModules.{u} (structureSheafRing X)) (-p)).obj
(DerivedCategory.Q.obj K)))))
Stacks.Cohomology.FilteredComplex.hypercohomologySpectralSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 872. The attribute's comment: “hypercohomology_e2_page”.
Stacks 0BKM. The hypercohomology spectral sequence of an object of the derived category of module sheaves on a ringed space: take a representative, filter it by its canonical truncations, apply derived global sections, and renumber the resulting spectral sequence.
def hypercohomologySpectralSequence (X : RingedSpace.{u, u})
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
HypercohomologySpectralSequence X K
Stacks.Cohomology.FilteredComplex.hypercohomologySpectralSequence_e₂, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 882. The attribute's comment: “hypercohomology_e2_page”.
Stacks 0BKM. The second page of the hypercohomology spectral sequence is the hypercohomology of the cohomology objects of
K:E_2^{i, j} = H^i(X, H^j(K)).
theorem hypercohomologySpectralSequence_e₂ (X : RingedSpace.{u, u})
(K : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) (i j : ℤ) :
Nonempty (((hypercohomologySpectralSequence X K).spectralSequence.page 2).X (i, j) ≅
(DerivedCategory.homologyFunctor
(ModuleCat.{u} ((structureSheafRing X).obj.obj (op ⊤))) i).obj
((hypercohomologySpectralSequence X K).truncation.RΓ.obj
((DerivedCategory.singleFunctor (SheafOfModules.{u} (structureSheafRing X)) 0).obj
((DerivedCategory.homologyFunctor
(SheafOfModules.{u} (structureSheafRing X)) j).obj K))))
Stacks.Cohomology.FilteredComplex.exists_boundedBelowHypercohomologySpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HypercohomologySpectralSequence.lean, line 923. The attribute's comment: “bounded below: the renumbered sequence is bounded and converges to H^{i+j}(X, K)”. References: EGA 0 (11.4.3), “T = RΓ, bounded below”; EGA III (6.2.1), “absolute case, Y=point”; EGA 0 (12.4.1), “abutment, absolute case”.
Stacks 0BKM, the closing clause. If
K^•is bounded below, the renumbered spectral sequence -- the one whose second page isH^i(X, H^j(K^•))-- is bounded, and it converges toH^{i + j}(X, K^•): some finite decreasing filtration ofH^n(X, K^•)has the termsE_∞^{i, n - i}of its infinity page as graded pieces.The spectral sequence is the one of
exists_boundedBelowTruncationSpectralSequence, i.e. the one built through Remark [Stacks, Tag 0BKL] from a bounded-below filtered replacement; boundedness and convergence of that sequence before the renumbering areboundedReplacement_convergence, which needs no hypothesis beyond degreewise finiteness of the replacement's filtration, and they are carried across the bidegree change(i, j) ↦ (-j, i + 2j)byCategoryTheory.SpectralSequence.truncationRenumber_finite_not_isZero_page_twoandCategoryTheory.SpectralSequence.AbutsTo.truncationRenumberRestrictPages. The abutment is read onK^•itself rather than on the underlying complex of the filtration byCategoryTheory.SpectralSequence.AbutsTo.of_iso.
theorem exists_boundedBelowHypercohomologySpectralSequence (X : RingedSpace.{u, u})
(K : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ)
(hK : ∃ a : ℤ, K.IsStrictlyGE a) :
∃ S : HypercohomologySpectralSequence X (DerivedCategory.Q.obj K),
IsBounded S.spectralSequence ∧
SpectralSequence.AbutsTo S.spectralSequence
(fun n => hypercohomology X S.truncation.RΓ K n)
Tag 0FLK, an example
Tag 0FLK in the Stacks Project.
Stacks.Cohomology.FilteredComplex.exists_stupidTruncationSpectralSequence_iso_cartanEilenbergFirst, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/CartanEilenbergComparison.lean, line 287. The attribute's comment: “bounded below: boundedness, convergence to H^{i + j}(X, F) and the identification with the first spectral sequence of Cartan-Eilenberg (Tag 015J) for one and the same package — the tag's three bounded-below assertions together”. References: EGA 0 (11.4.3), “'E, T = RΓ, bdd below”; EGA 0 (12.4.1), “'E abutment, absolute”; EGA 0 (12.1.7), “boundedness”.
Clause (3) of [Stacks, Tag 0FLK] in the existential shape of clauses (1) and (2). For a bounded below complex of module sheaves there is a brutal-truncation package whose spectral sequence is bounded, converges to
H^{i + j}(X, F^•), and is isomorphic to the first spectral sequence of every Cartan-Eilenberg resolution ofF^•.This is
exists_boundedBelowStupidTruncationSpectralSequencewith the comparisonnonempty_spectralSequence_iso_cartanEilenbergFirstadded for the package it produces.
theorem exists_stupidTruncationSpectralSequence_iso_cartanEilenbergFirst
(F : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) (a : ℤ)
(hF : F.IsStrictlyGE a) :
∃ S : StupidTruncationSpectralSequence X F,
IsBounded S.spectralSequence ∧
SpectralSequence.AbutsTo S.spectralSequence (fun n => hypercohomology X S.RΓ F n) ∧
∀ I : F.CartanEilenbergResolution,
Nonempty (S.spectralSequence ≅ cartanEilenbergFirstSpectralSequence X I)
Stacks.Cohomology.FilteredComplex.exists_stupidTruncationSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/StupidTruncationSpectralSequence.lean, line 268. The attribute's comment: “for every complex of module sheaves: the brutal truncation filtration gives a spectral sequence with E_1^{p, q} = H^{p + q}(X, F^p[-p]) = H^q(X, F^p). The tag's three further assertions concern F^• bounded below and are exists_boundedBelowStupidTruncationSpectralSequence and exists_stupidTruncationSpectralSequence_iso_cartanEilenbergFirst”.
Stacks 0FLK. For every complex of module sheaves on a ringed space, the brutal truncation filtration
F^pF^• = σ_{≥ p}F^•gives a spectral sequence withE_1^{p, q} = H^{p + q}(X, F^p[-p]) = H^q(X, F^p).
theorem exists_stupidTruncationSpectralSequence (X : RingedSpace.{u, u})
(F : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) :
Nonempty (StupidTruncationSpectralSequence X F)
Stacks.Cohomology.FilteredComplex.exists_boundedBelowStupidTruncationSpectralSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/StupidTruncationSpectralSequence.lean, line 293. The attribute's comment: “bounded below: the sequence is constructed via Remark 0BKL, is bounded and converges to H^{i + j}(X, F); the identification with the first spectral sequence of Cartan-Eilenberg (Tag 015J) is Stacks.Cohomology.FilteredComplex.exists_stupidTruncationSpectralSequence_iso_cartanEilenbergFirst”. References: EGA 0 (11.4.3), “'E, T = RΓ, bdd below”; EGA 0 (12.4.1), “'E abutment, absolute”.
Stacks 0FLK, the bounded below case. If
F^•is bounded below, the brutal truncation spectral sequence can be built through Remark [Stacks, Tag 0BKL], from a bounded below filtered injective replacement whose filtration is finite in every degree, with no filtered K-injective resolution; and it is bounded and converges toH^{i + j}(X, F^•).
theorem exists_boundedBelowStupidTruncationSpectralSequence (X : RingedSpace.{u, u})
(F : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) (a : ℤ)
(hF : F.IsStrictlyGE a) :
∃ S : StupidTruncationSpectralSequence X F,
S.replacement.X.IsStrictlyGE a ∧
S.replacement.filtration.IsDegreewiseFinite ∧
(∀ n : ℤ, (CochainComplex.evalFil S.replacement n).IsFilteredInjective) ∧
IsBounded S.spectralSequence ∧
SpectralSequence.AbutsTo S.spectralSequence
(fun n => hypercohomology X S.RΓ F n)
Tag 0FLL, a lemma
Tag 0FLL in the Stacks Project.
Stacks.Cohomology.FilteredComplex.relativeSpectralSequence_of_filteredKInjectiveResolution, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HigherDirectImageSpectralSequence.lean, line 552. The attribute's comment: “computation by a supplied filtered K-injective resolution”.
Stacks 0FLL, the first page and the conditional bounded convergence, for a supplied filtered K-injective resolution. The right-derived pushforward, its unit and the resolution are fixed inputs, so all of the conclusions concern these same data.
theorem relativeSpectralSequence_of_filteredKInjectiveResolution
(hRf : Rf.IsRightDerivedFunctor η
(HomotopyCategory.quasiIso (SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)))
(j : K ⟶ J)
(hj : QuasiIso j.hom)
(hjStep : ∀ p : ℤ, QuasiIso (j.natTrans.app (op p)))
(hjGraded : ∀ p : ℤ, QuasiIso ((FilteredObject.gr p).map j))
(hStepInjective : ∀ p n : ℤ, Injective ((J.filtration.obj (op p)).X n))
(hKInjective : J.X.IsKInjective)
(hStepKInjective : ∀ p : ℤ, (J.filtration.obj (op p)).IsKInjective)
(hGradedKInjective : ∀ p : ℤ, ((FilteredObject.gr p).obj J).IsKInjective) :
let E := pushforwardSpectralSequence f J
(∀ p q : ℤ, Nonempty
((E.page 1 (by omega)).X (p, q) ≅
higherDirectImage (X := X) (Y := Y) Rf ((FilteredObject.gr p).obj K) (p + q))) ∧
((∀ n : ℤ, ∃ p₀ : ℤ, ∀ p : ℤ, p₀ ≤ p →
IsZero (higherDirectImage Rf (K.filtration.obj (op p)) n)) →
(∀ n : ℤ, ∃ p₁ : ℤ, ∀ p : ℤ, p ≤ p₁ →
IsIso (higherDirectImageMap Rf (K.filtration.ι.app (op p)) n)) →
(∀ n : ℤ, {p : ℤ | ¬ IsZero ((E.page 1 (by omega)).X (p, n - p))}.Finite) ∧
∃ (F : ∀ n : ℤ, ℤ → Subobject (higherDirectImage Rf K.X n))
(hF : ∀ n : ℤ, Antitone (F n)),
(∀ n p : ℤ, F n p = imageSubobject
(higherDirectImageMap Rf (K.filtration.ι.app (op p)) n)) ∧
(∀ n : ℤ, ∃ a b : ℤ, a ≤ b ∧ F n a = ⊤ ∧ F n b = ⊥) ∧
(∀ p q : ℤ, E.HasPageInfinityAt (p, q)) ∧
∀ p q : ℤ, Nonempty
(E.pageInfinity (p, q) ≅
cokernel (Subobject.ofLE (F (p + q) (p + 1)) (F (p + q) p)
(hF (p + q) (by omega)))))
Stacks.Cohomology.FilteredComplex.exists_relativeSpectralSequence_of_filteredComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/FilteredComplexSpectralSequence/HigherDirectImageSpectralSequence.lean, line 594.
Stacks 0FLL. A filtered complex of
O_X-modules has a canonical cohomological spectral sequence ofO_Y-modules, withd_rof bidegree(r, -r + 1), whose first page isE_1^{p, q} = R^{p + q}f_*gr^pF^•. If for everynthe higher direct imageR^nf_*F^pF^•vanishes forp ≫ 0and maps isomorphically toR^nf_*F^•forp ≪ 0, the spectral sequence is bounded and converges toR^*f_*F^•.
theorem exists_relativeSpectralSequence_of_filteredComplex :
∃ (Rf : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
(η : homotopyPushforward f ⟶ DerivedCategory.Qh ⋙ Rf),
Rf.IsRightDerivedFunctor η
(HomotopyCategory.quasiIso
(SheafOfModules.{u} (structureSheafRing X)) (ComplexShape.up ℤ)) ∧
∃ (J : CochainComplex.Filtered (SheafOfModules.{u} (structureSheafRing X))) (j : K ⟶ J),
QuasiIso j.hom ∧
(∀ p : ℤ, QuasiIso (j.natTrans.app (op p))) ∧
(∀ p : ℤ, QuasiIso ((FilteredObject.gr p).map j)) ∧
(∀ n : ℤ, Injective (J.X.X n)) ∧
(∀ p n : ℤ, Injective ((J.filtration.obj (op p)).X n)) ∧
(∀ p n : ℤ, Injective (((FilteredObject.gr p).obj J).X n)) ∧
(∀ p q : ℤ, Nonempty
(((pushforwardSpectralSequence f J).page 1 (by omega)).X (p, q) ≅
higherDirectImage (X := X) (Y := Y) Rf ((FilteredObject.gr p).obj K) (p + q))) ∧
((∀ n : ℤ, ∃ p₀ : ℤ, ∀ p : ℤ, p₀ ≤ p →
IsZero (higherDirectImage Rf (K.filtration.obj (op p)) n)) →
(∀ n : ℤ, ∃ p₁ : ℤ, ∀ p : ℤ, p ≤ p₁ →
IsIso (higherDirectImageMap Rf (K.filtration.ι.app (op p)) n)) →
(∀ n : ℤ, {p : ℤ | ¬ IsZero
(((pushforwardSpectralSequence f J).page 1 (by omega)).X (p, n - p))}.Finite) ∧
∃ (F : ∀ n : ℤ, ℤ → Subobject (higherDirectImage Rf K.X n))
(hF : ∀ n : ℤ, Antitone (F n)),
(∀ n p : ℤ, F n p = imageSubobject
(higherDirectImageMap Rf (K.filtration.ι.app (op p)) n)) ∧
(∀ n : ℤ, ∃ a b : ℤ, a ≤ b ∧ F n a = ⊤ ∧ F n b = ⊥) ∧
(∀ p q : ℤ, (pushforwardSpectralSequence f J).HasPageInfinityAt (p, q)) ∧
∀ p q : ℤ, Nonempty
((pushforwardSpectralSequence f J).pageInfinity (p, q) ≅
cokernel (Subobject.ofLE (F (p + q) (p + 1)) (F (p + q) p)
(hF (p + q) (by omega)))))
Sources
Section20.30 Godement resolution#
Section 20.30 of the Stacks Project, Tag 0FKR. 2 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FKS, a lemma
Tag 0FKS in the Stacks Project.
AlgebraicGeometry.GodementResolution.isFlasque_iterate_modulePullbackPushforward, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/GodementResolution/Basic.lean, line 276. The attribute's comment: “each term f_ f^ ⋯ f_ f^ F is a flasque module”. References: SGA 4 XVII (4.2.3), “(i)”; SGA 4 XVII (4.2), “flasqueness of terms”.
Every positive iterate
(f_* f^*)^(n+1) Fof a morphism out of a discrete space is a flasque sheaf of modules: a sheaf on a discrete space is flasque, and pushforward preserves flasqueness.
theorem isFlasque_iterate_modulePullbackPushforward
{Xdisc X : RingedSpace.{u, u}} (f : Xdisc ⟶ X) [DiscreteTopology Xdisc]
(n : ℕ) (F : SheafOfModules.{u} (structureSheafRing X)) :
TopCat.Sheaf.IsFlasque ((SheafOfModules.toSheaf (structureSheafRing X)).obj
(((RingedSpaceModuleAdjunction.modulePullback f ⋙
RingedSpaceModuleAdjunction.modulePushforward f).iterate (n + 1)).obj F))
AlgebraicGeometry.GodementResolution.exists_functorial_flasque_godementComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/GodementResolution/Basic.lean, line 518. The attribute's comment: “the functorial complex of flasque terms f_ f^ ⋯ f_ f^ F”. References: SGA 4 XVII (4.2.3), “(i)”; SGA 4 XVII (4.2), “functorial flasque terms”.
Stacks 0FKS, the complex and its flasque terms. For a ringed space
(X, O_X)there is a functorGfrom sheaves ofO_X-modules to cochain complexes, with an augmentationηfrom the complex concentrated in degree0, whose term in degreenis the iterate(f_* f^*)^(n+1) Falong the morphismf : X_disc ⟶ Xfrom the points ofXwith the discrete topology, and each of whose terms is a flasqueO_X-module.
theorem exists_functorial_flasque_godementComplex (X : RingedSpace.{u, u}) :
∃ (G : SheafOfModules.{u} (structureSheafRing X) ⥤
CochainComplex
(SheafOfModules.{u} (structureSheafRing X)) ℕ)
(_η : CochainComplex.single₀
(SheafOfModules.{u} (structureSheafRing X)) ⟶ G)
(_termIso : ∀ n,
G ⋙ HomologicalComplex.eval
(SheafOfModules.{u} (structureSheafRing X))
(ComplexShape.up ℕ) n ≅
(RingedSpaceModuleAdjunction.modulePullback (fromDiscrete X) ⋙
RingedSpaceModuleAdjunction.modulePushforward (fromDiscrete X)).iterate (n + 1)),
∀ F n, TopCat.Sheaf.IsFlasque
((SheafOfModules.toSheaf (structureSheafRing X)).obj
((G.obj F).X n))
AlgebraicGeometry.GodementResolution.homotopyEquivalences_stalk_godementAugmentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/GodementResolution/StalkHomotopy.lean, line 520. The attribute's comment: “the stalkwise homotopy equivalence F_x[0] ≃ ((f_ f^ F)_x → ⋯)”. References: SGA 4 XVII (4.2.3), “(ii)”; SGA 4 XVII (4.2), “stalkwise homotopy”; SGA 4 XVII (4.2.9), “special case”.
Clause (5) of [Stacks, Tag 0FKS], at one sheaf and one point. The augmentation
F[0] ⟶ (f_* f^* F → f_* f^* f_* f^* F → ⋯)of the Godement complex, read on the stalk atx, is a homotopy equivalence of complexes of𝒪_{X,x}-modules.This is
hasNaturalStalkHomotopy_godementAugmentationevaluated atF: evaluation atFis an additive functor, so it carries the homotopy equivalence of complexes of functors to one of complexes of modules, and the compatibility clause identifies the result with the stalk of the augmentation up to the two isomorphismsiandj.
theorem homotopyEquivalences_stalk_godementAugmentation (x : X)
(F : SheafOfModules.{u} (structureSheafRing X)) :
HomologicalComplex.homotopyEquivalences (StalkModuleCat X x) (ComplexShape.up ℕ)
(((SheafOfModules.stalkFunctor (structureSheafRing X) x).mapHomologicalComplex
(ComplexShape.up ℕ)).map ((godementAugmentation X).app F))
AlgebraicGeometry.GodementResolution.quasiIso_godementAugmentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/GodementResolution/StalkHomotopy.lean, line 558. The attribute's comment: “exactness of the augmented complex 0 → F → f_ f^ F → ⋯”. References: SGA 4 XVII (4.2.3), “(ii)”; SGA 4 XVII (4.2), “augmented exactness”.
Clause (3) of [Stacks, Tag 0FKS]: the augmented Godement complex is exact. The augmentation
F[0] ⟶ G(F)is a quasi-isomorphism, so0 → F → f_* f^* F → f_* f^* f_* f^* F → ⋯is exact and the Godement complex is a flasque resolution ofF.Quasi-isomorphy is detected on stalks (
quasiIso_of_forall_stalk_quasiIso_nat), and on each stalk the augmentation is a homotopy equivalence byhomotopyEquivalences_stalk_godementAugmentation, hence a quasi-isomorphism.
theorem quasiIso_godementAugmentation (F : SheafOfModules.{u} (structureSheafRing X)) :
QuasiIso ((godementAugmentation X).app F)
Tag 0FKT, a lemma
Tag 0FKT in the Stacks Project.
AlgebraicGeometry.GodementResolution.exists_quasiIso_boundedBelow_isFlasque_isHomotopyEquiv_stalk_godement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Cohomology/GodementBoundedBelowResolution.lean, line 1223. The attribute's comment: “Godement resolution; all four clauses, including the stalkwise homotopy equivalence”.
[Stacks, Tag 0FKT], all four clauses, for the Godement resolution. For a bounded below complex
Fof𝒪_X-modules there is a quasi-isomorphismF ⟶ GwithGbounded below in the same degree, every term ofGflasque, and, for everyx ∈ X, the stalk mapF_x ⟶ G_xa homotopy equivalence of complexes of𝒪_{X,x}-modules. The map isgodementComparisonMaponto the totalisation of the Godement double complex ofF.
theorem exists_quasiIso_boundedBelow_isFlasque_isHomotopyEquiv_stalk_godement
(hF : ∃ n : ℤ, F.IsStrictlyGE n) :
∃ (G : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) (f : F ⟶ G),
QuasiIso f ∧ (∃ n : ℤ, G.IsStrictlyGE n) ∧
(∀ i : ℤ, TopCat.Sheaf.IsFlasque
((SheafOfModules.toSheaf (structureSheafRing X)).obj (G.X i))) ∧
(∀ x : X, ∃ e : HomotopyEquiv ((stalkComplexFunctor X x).obj F)
((stalkComplexFunctor X x).obj G), e.hom = (stalkComplexFunctor X x).map f)
Sources
Section20.31 Cup product#
Section 20.31 of the Stacks Project, Tag 0FKU. 9 tags here are carried by 15 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FKU, the section
Tag 0FKU in the Stacks Project.
Stacks.Cohomology.DerivedGlobalCupProduct.globalCupProduct, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProduct.lean, line 216. The attribute's comment: “the global cup product μ : RΓ(X, K) ⊗^L_A RΓ(X, M) ⟶ RΓ(X, K ⊗^L M) in D(A), the first display of the section, built as the relative cup product of Tag 0B68 for the morphism to the one-point space with ring A; the one-point comparison itself (a left adjoint of RΓ(X, -) together with its tensor comparison) is the parameter OnePointComparison”.
The global cup product
μ : RΓ(S, K) ⊗^𝐋_A RΓ(S, M) ⟶ RΓ(S, K ⊗^𝐋_{𝒪_S} M)inD(A)forA = Γ(S, 𝒪_S), as a morphism of bifunctors onD(𝒪_S) × D(𝒪_S): the relative cup product construction for the adjunctionL ⊣ RΓ(S, -)and the tensor comparison ofc.
def globalCupProduct (c : OnePointComparison S) : GlobalCupProduct S
Stacks.Cohomology.DerivedGlobalCupProduct.cupPairing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProduct.lean, line 275. The attribute's comment: “the induced pairings ∪ : H^i(X, K) × H^j(X, M) ⟶ H^{i+j}(X, K ⊗^L M), the second display of the section: the tensoring of classes of More on Algebra, Section 15.64 followed by H^{i+j}(μ); the global cup product μ is the parameter κ, which globalCupProduct produces from an OnePointComparison”.
The pairings
∪ : Hⁱ(S, K) ⊗_A Hʲ(S, M) ⟶ Hⁱ⁺ʲ(S, K ⊗^𝐋_{𝒪_S} M)induced by a global cup productκ: a classξ ∈ Hⁱ(S, K)and a classη ∈ Hʲ(S, M)are tensored to a classξ ⊗ ηinHⁱ⁺ʲ(RΓ(S, K) ⊗^𝐋_A RΓ(S, M)), andξ ∪ η = κ(ξ ⊗ η).
def cupPairing (κ : GlobalCupProduct S)
(K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing S))) (i j : ℤ) :
cohomologyModule K i ⊗ cohomologyModule M j ⟶
cohomologyModule (((derivedTensorProductFunctor S.sheaf).obj K).obj M) (i + j)
Stacks.Cohomology.DerivedGlobalCupProduct.section_cupProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProductSection.lean, line 86. The attribute's comment: “Section 20.31 IN FULL, both displays: the global cup product μ : RΓ(X, K) ⊗^L_A RΓ(X, M) ⟶ RΓ(X, K ⊗^L M) in D(A), CONSTRUCTED as the relative cup product of Tag 0B68 for the morphism to the one-point space with ring A (first conjunct), natural in both complexes jointly (second conjunct), and the pairings it induces, ∪ : H^i(X, K) × H^j(X, M) ⟶ H^{i+j}(X, K ⊗^L M), given by the source's two-step recipe ξ ∪ η = μ(ξ ⊗ η) with the tensoring step the pairing of classes of More on Algebra, Section 15.64 (third conjunct). The numbered items of the section are excluded, each having its own tag: 0FP2, 0G6W, 0FP3, 0FKV, 0FP4, 0FP5, 0FP6, 0H99. The one parameter is OnePointComparison, the identification D(pt, A) = D(A) that the source has and this repository does not”.
Cohomology, Section 0FKU in full: both displays of the section, for the global cup product built from a one-point comparison.
The conjuncts are, in the order the source states them:
- the first display,
μ : RΓ(S, K) ⊗^𝐋_A RΓ(S, M) ⟶ RΓ(S, K ⊗^𝐋_{𝒪_S} M), together with the source's definition of it — it is the relative cup product of Tag 0B68, namely the adjoint transpose of the tensor comparison followed by the counit ofL ⊣ RΓ(S, -)in both tensor factors, which is what "we define it as the relative cup product for the morphism of ringed spacesf : (S, 𝒪_S) ⟶ (pt, A)viaD(pt, A) = D(A)" says onceRf_*is read asRΓ(S, -);- that
μis natural in the two complexes jointly, so that it is a morphism of bifunctors onD(𝒪_S) × D(𝒪_S)and not a separate map for each pair;- the second display, the induced pairings
∪ : Hⁱ(S, K) ⊗_A Hʲ(S, M) ⟶ Hⁱ⁺ʲ(S, K ⊗^𝐋_{𝒪_S} M), together with the source's two-step recipeξ ∪ η = μ(ξ ⊗ η): the tensoring step is aRingTheory.TorProducts.CohomologyTensorProduct, i.e. a pairing sending the tensor of the classes of two cocycles to the class of their tensor, which is Equation 15.64.0.1 of Tag 068H and is the source's "we can first tensor them, see More on Algebra, Section 15.64"; the second step isHⁱ⁺ʲ(μ).The one-point comparison
cis the parameter discussed in the module docstring: it stands for the identificationD(pt, A) = D(A), which the source has and this repository does not. It is a hypothesis of the two definitions this theorem is about, so this statement is exactly as conditional as they are and no more.The remaining numbered items of Section 20.31 are not conjoined here because each carries its own tag: Lemma 20.31.1 is Tag 0FP2, Remark 20.31.2 is Tag 0G6W, Lemma 20.31.3 is Tag 0FP3, Lemma 20.31.4 is Tag 0FKV, and Lemmas 20.31.5 to 20.31.8 are Tags 0FP4, 0FP5, 0FP6 and 0H99. What is left to Tag 0FKU itself is the construction of the two displays, which is what this states.
theorem section_cupProduct (c : OnePointComparison S) :
(∀ K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing S)),
(globalCupProduct c).app (K, M) =
adjunctionBitensorMap c.adjunction (Functor.uncurry.obj (tensorBase S))
(Functor.uncurry.obj (derivedTensorProductFunctor S.sheaf)) c.tensorComparison K M) ∧
(∀ K K' M M' : DerivedCategory (SheafOfModules.{u} (structureSheafRing S)),
∀ (k : K ⟶ K') (m : M ⟶ M'),
(Functor.uncurry.obj (tensorBase S)).map
((baseSections S).map k ×ₘ (baseSections S).map m) ≫
(globalCupProduct c).app (K', M') =
(globalCupProduct c).app (K, M) ≫
(baseSections S).map
((Functor.uncurry.obj (derivedTensorProductFunctor S.sheaf)).map (k ×ₘ m))) ∧
(∀ (K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing S))) (i j : ℤ),
∃ p : RingTheory.TorProducts.CohomologyTensorProduct ((baseSections S).obj K)
((baseSections S).obj M) i j,
cupPairing (globalCupProduct c) K M i j =
p.map ≫ (DerivedCategory.homologyFunctor (ModuleCat.{u} (baseRing S)) (i + j)).map
((globalCupProduct c).app (K, M)))
Tag 0FP2, a lemma
Tag 0FP2 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.homEquiv_symm_relativeCupProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CupProductOfCohomologyClasses.lean, line 159. The attribute's comment: “the identification-free core, at arbitrary objects of D(𝒪_Y) in place of the source's shifted structure sheaves, and for an arbitrary morphism of ringed spaces”.
The two constructions of the cup product agree: the adjunct of the tensor product
ξ ⊗ ηof two cohomology classes followed by the relative cup product of Stacks 0B68 is the derived pullback-tensor comparison of Stacks 079U followed by the tensor productξ̃ ⊗ η̃of their adjuncts.
theorem homEquiv_symm_relativeCupProduct
{U V : DerivedCategory (SheafOfModules.{u} (structureSheafRing Y))}
{K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))}
(ξ : U ⟶ (derivedPushforward f).obj K) (η : V ⟶ (derivedPushforward f).obj M) :
((derivedAdjunction f).homEquiv _ _).symm
(((derivedTensorProductFunctor Y.sheaf).map ξ).app V ≫
((derivedTensorProductFunctor Y.sheaf).obj
((derivedPushforward f).obj K)).map η ≫
relativeCupProduct f K M) =
(pullbackTensorComparison f).app (U, V) ≫
((derivedTensorProductFunctor X.sheaf).map
(((derivedAdjunction f).homEquiv U K).symm ξ)).app
((derivedPullback f).obj V) ≫
((derivedTensorProductFunctor X.sheaf).obj K).map
(((derivedAdjunction f).homEquiv V M).symm η)
Stacks.Cohomology.DerivedRelativeCupProduct.homEquiv_symm_comp_relativeCupProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CupProductOfCohomologyClasses.lean, line 183. The attribute's comment: “stated for an arbitrary morphism of ringed spaces, with the source's identification 𝒪_Y[-i-j] = 𝒪_Y[-i] ⊗ᴸ 𝒪_Y[-j] carried as an arbitrary morphism χ”.
Let
χ : W ⟶ U ⊗^L_{𝒪_Y} V. The adjunct ofχfollowed byξ ⊗ ηand the relative cup product of Stacks 0B68 isLf^*χfollowed by the derived pullback-tensor comparison of Stacks 079U and by the tensor productξ̃ ⊗ η̃of the adjuncts.
theorem homEquiv_symm_comp_relativeCupProduct
{W U V : DerivedCategory (SheafOfModules.{u} (structureSheafRing Y))}
{K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))}
(χ : W ⟶ ((derivedTensorProductFunctor Y.sheaf).obj U).obj V)
(ξ : U ⟶ (derivedPushforward f).obj K) (η : V ⟶ (derivedPushforward f).obj M) :
((derivedAdjunction f).homEquiv _ _).symm
(χ ≫ ((derivedTensorProductFunctor Y.sheaf).map ξ).app V ≫
((derivedTensorProductFunctor Y.sheaf).obj
((derivedPushforward f).obj K)).map η ≫
relativeCupProduct f K M) =
(derivedPullback f).map χ ≫ (pullbackTensorComparison f).app (U, V) ≫
((derivedTensorProductFunctor X.sheaf).map
(((derivedAdjunction f).homEquiv U K).symm ξ)).app
((derivedPullback f).obj V) ≫
((derivedTensorProductFunctor X.sheaf).obj K).map
(((derivedAdjunction f).homEquiv V M).symm η)
Tag 0G6W, a remark
Tag 0G6W in the Stacks Project.
Stacks.Cohomology.DerivedGlobalCupProduct.cupWithClassCanonical, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProductCanonicalInstances.lean, line 106. The attribute's comment: “the construction of the map ξ ∪ - : RΓ(X, M)[-i] ⟶ RΓ(X, K ⊗^L M) attached to a class ξ ∈ H^i(X, K), the first clause of the remark, at the global cup product μ of Section 0FKU, globalCupProductCanonical, on an arbitrary ringed space”.
The map
ξ ∪ -at the canonical global cup product. For a classξ ∈ Hⁱ(X, K)it is the morphism
ξ ∪ - : RΓ(X, M)[-i] ⟶ RΓ(X, K ⊗^𝐋_{𝒪_X} M)in
D(A)forA = Γ(X, 𝒪_X), namely the composition of the identificationRΓ(X, M)[-i] = A[-i] ⊗^𝐋_A RΓ(X, M), ofξ ⊗ 1for the morphism representingξ, and of the global cup productμof Section 0FKU,globalCupProductCanonical.
def cupWithClassCanonical (K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)))
(i : ℤ) (ξ : ModuleCat.of (baseRing X) (baseRing X) ⟶ cohomologyModule K i) :
((baseSections X).obj M)⟦-i⟧ ⟶
(baseSections X).obj (((derivedTensorProductFunctor X.sheaf).obj K).obj M)
Stacks.Cohomology.DerivedGlobalCupProduct.homologyFromSingle_cupWithClassCanonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProductCanonicalInstances.lean, line 127. The attribute's comment: “the second clause of the remark: on cohomology ξ ∪ - is the cup product with ξ, for the global cup product globalCupProductCanonical. The cup product of two classes is in the composition shape of Section 0FKU and Tag 0FP2, A[-i-j] ⟶ A[-i] ⊗ᴸ A[-j] ⟶ RΓ(X, K) ⊗ᴸ RΓ(X, M) ⟶ RΓ(X, K ⊗ᴸ M), for every identification χ of A[-i-j] with A[-i] ⊗ᴸ A[-j]”.
On cohomology the map
ξ ∪ -at the canonical global cup product is the cup product withξ: forξ ∈ Hⁱ(X, K)andη ∈ Hʲ(X, M), the mapHⁱ⁺ʲ(ξ ∪ -)carries the class ofη, read inHⁱ⁺ʲ(RΓ(X, M)[-i])through the identificationsA[-i-j] = A[-i] ⊗^𝐋_A A[-j]andA[-i] ⊗^𝐋_A RΓ(X, M) = RΓ(X, M)[-i], to the class of the cup productξ ∪ ηin the composition shape of Section 0FKU and Tag 0FP2.
theorem homologyFromSingle_cupWithClassCanonical
(K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) (i j : ℤ)
(ξ : ModuleCat.of (baseRing X) (baseRing X) ⟶ cohomologyModule K i)
(η : ModuleCat.of (baseRing X) (baseRing X) ⟶ cohomologyModule M j)
(χ : baseShift X (i + j) ⟶ ((tensorBase X).obj (baseShift X i)).obj (baseShift X j)) :
DerivedCategory.homologyFromSingleLinearEquiv (ModuleCat.of (baseRing X) (baseRing X))
(((baseSections X).obj M)⟦-i⟧) (i + j) (baseRing X)
(χ ≫ ((tensorBase X).obj (baseShift X i)).map (classRepresentative M j η) ≫
(baseShiftTensorIso X i ((baseSections X).obj M)).hom) ≫
(DerivedCategory.homologyFunctor (ModuleCat.{u} (baseRing X)) (i + j)).map
(cupWithClassCanonical X K M i ξ) =
DerivedCategory.homologyFromSingleLinearEquiv (ModuleCat.of (baseRing X) (baseRing X))
((baseSections X).obj (((derivedTensorProductFunctor X.sheaf).obj K).obj M)) (i + j)
(baseRing X)
(χ ≫ ((tensorBase X).map (classRepresentative K i ξ)).app (baseShift X j) ≫
((tensorBase X).obj ((baseSections X).obj K)).map (classRepresentative M j η) ≫
(globalCupProductCanonical X).app (K, M))
Stacks.Cohomology.DerivedGlobalCupProduct.homologyFromSingle_cupWithClassCanonical_cupPairing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/GlobalCupProductCanonicalInstances.lean, line 155. The attribute's comment: “the second clause of the remark, with the cup product of two classes read against the cohomology-level pairing cupPairing of Section 0FKU at the global cup product globalCupProductCanonical: the tensoring of classes of Tag 068H followed by H^{i+j}(μ), which is how the source defines ∪. The source's identification A[-i-j] = A[-i] ⊗ᴸ A[-j] is pinnedSplitting”.
On cohomology,
Hⁱ⁺ʲ(ξ ∪ -)at the canonical global cup product carries the class ofηtoξ ∪ ηasStacks.Cohomology.DerivedGlobalCupProduct.cupPairingdefines it for the canonical global cup product, the source's identificationA[-i-j] = A[-i] ⊗^𝐋_A A[-j]beingpinnedSplitting.
theorem homologyFromSingle_cupWithClassCanonical_cupPairing
(K M : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) (i j : ℤ)
(ξ : ModuleCat.of (baseRing X) (baseRing X) ⟶ cohomologyModule K i)
(η : ModuleCat.of (baseRing X) (baseRing X) ⟶ cohomologyModule M j) :
DerivedCategory.homologyFromSingleLinearEquiv (ModuleCat.of (baseRing X) (baseRing X))
(((baseSections X).obj M)⟦-i⟧) (i + j) (baseRing X)
(pinnedSplitting X i j ≫
((tensorBase X).obj (baseShift X i)).map (classRepresentative M j η) ≫
(baseShiftTensorIso X i ((baseSections X).obj M)).hom) ≫
(DerivedCategory.homologyFunctor (ModuleCat.{u} (baseRing X)) (i + j)).map
(cupWithClassCanonical X K M i ξ) =
(λ_ (ModuleCat.of (baseRing X) (baseRing X))).inv ≫ (ξ ⊗ₘ η) ≫
cupPairing (globalCupProductCanonical X) K M i j
Tag 0FP3, a lemma
Tag 0FP3 in the Stacks Project.
Stacks.Cohomology.CupProductAndDerivedPushforwardOnRingedSpaces.naiveCupProduct_relativeCupProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CupProductAndDerivedPushforward.lean, line 400.
Stacks 0FP3. For a morphism of ringed spaces
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)and complexes𝒦^•,ℳ^•of𝒪_X-modules, the hexagonf_*𝒦^• ⊗^L_{𝒪_Y} f_*ℳ^• ─────→ Rf_*𝒦^• ⊗^L_{𝒪_Y} Rf_*ℳ^• │ │ ↓ ↓ Tot(f_*𝒦^• ⊗_{𝒪_Y} f_*ℳ^•) Rf_*(𝒦^• ⊗^L_{𝒪_X} ℳ^•) │ │ ↓ ↓ f_*Tot(𝒦^• ⊗_{𝒪_X} ℳ^•) ─────→ Rf_*Tot(𝒦^• ⊗_{𝒪_X} ℳ^•)commutes in
D(𝒪_Y). Its horizontal edges and its top right edge are the comparisonf_* ⟶ Rf_*; the top left and bottom right edges are the canonical map from the derived tensor product to the ordinary total tensor complex of Stacks 06YU; the middle left edge is the naive cup product and the middle right edge is the relative cup product of Stacks 0B68.
theorem naiveCupProduct_relativeCupProduct :
(derivedToTensorNatTrans Y).app
((pushforwardComplex f).obj K, (pushforwardComplex f).obj M) ≫
DerivedCategory.Q.map (naiveCupProduct f K M) ≫
pushforwardComparisonQ f ((totalComplexPair (sheafTensor X.sheaf)).obj (K, M)) =
(Functor.uncurry.obj (derivedTensorProductFunctor Y.sheaf)).map
(pushforwardComparisonQ f K ×ₘ pushforwardComparisonQ f M) ≫
relativeCupProduct f (DerivedCategory.Q.obj K) (DerivedCategory.Q.obj M) ≫
(derivedPushforward f).map ((derivedToTensorNatTrans X).app (K, M))
Tag 0FKV, a lemma
Tag 0FKV in the Stacks Project.
Stacks.Cech.CupProductSquare.cupProductSquareCommutes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechTotalComplex/CupProductSquareCommutes.lean, line 279.
[Stacks, Tag 0FKV]. Let
(X, 𝒪_X)be a ringed space,A = Γ(X, 𝒪_X),𝒦^•andℳ^•bounded below complexes of𝒪_X-modules and𝒰 : X = ⋃ Uᵢan open covering. The diagramTot(Č(𝒰,𝒦)) ⊗^𝐋_A Tot(Č(𝒰,ℳ)) ─────────→ RΓ(X,𝒦) ⊗^𝐋_A RΓ(X,ℳ) │ │ μ ↓ ↓ Tot(Tot(Č(𝒰,𝒦)) ⊗_A Tot(Č(𝒰,ℳ))) RΓ(X, 𝒦 ⊗^𝐋_{𝒪_X} ℳ) │ │ ↓ ↓ Tot(Č(𝒰, Tot(𝒦 ⊗_{𝒪_X} ℳ))) ─────────────→ RΓ(X, Tot(𝒦 ⊗_{𝒪_X} ℳ))commutes in
D(A): the left-hand legcechLeftLeg(the canonical map to the total tensor complex, then the Čech cup product of [Stacks, Tag 07MB], then the comparison of [Stacks, Tag 08BN]) equals the right-hand legcechRightLeg(the comparison of Tag 08BN in both factors, then the global cup productμ, thenRΓ(X, -)of the canonical map𝒦^• ⊗^𝐋 ℳ^• ⟶ Tot(𝒦^• ⊗ ℳ^•)).
theorem cupProductSquareCommutes :
cechLeftLeg S Ui hU K M = cechRightLeg S Ui hU K M
Tag 0FP4, a lemma
Tag 0FP4 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_assoc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProductAssociativity.lean, line 343. The attribute's comment: “associativity of the relative cup product, for a morphism of ringed spaces and arbitrary K, L, M in D(O_X): the associativity constraints are those of Tag 0FPB (derivedAssociator), and their compatibility with the comparison of Tag 079U is pullbackTensorComparisonAssociative”.
The relative cup product is associative. For a morphism of ringed spaces
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)and arbitraryK, L, M ∈ D(𝒪_X)the square(Rf_*K ⊗^L Rf_*L) ⊗^L Rf_*M ⟶ Rf_*(K ⊗^L L) ⊗^L Rf_*M ⟶ Rf_*((K ⊗^L L) ⊗^L M) | | | a | Rf_*a v v Rf_*K ⊗^L (Rf_*L ⊗^L Rf_*M) ⟶ Rf_*K ⊗^L Rf_*(L ⊗^L M) ⟶ Rf_*(K ⊗^L (L ⊗^L M))commutes in
D(𝒪_Y), where the four unlabelled arrows are relative cup products of Stacks 0B68 in one or the other tensor factor andais the associativity constraint of Stacks 0FPB. The compatibility of the comparison of Stacks 079U with those constraints ispullbackTensorComparisonAssociative.
theorem relativeCupProduct_assoc
(K L M : DerivedCategory (Mod X.sheaf)) :
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf)).map
(relativeCupProduct f K L ×ₘ 𝟙 ((derivedPushforward f).obj M)) ≫
relativeCupProduct f
((Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf)).obj (K, L))
M ≫
(derivedPushforward f).map (derivedAssociator X K L M) =
derivedAssociator Y ((derivedPushforward f).obj K) ((derivedPushforward f).obj L)
((derivedPushforward f).obj M) ≫
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf)).map
(𝟙 ((derivedPushforward f).obj K) ×ₘ relativeCupProduct f L M) ≫
relativeCupProduct f K
((Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf)).obj (L, M))
Tag 0FP5, a lemma
Tag 0FP5 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_braiding, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProductCommutativity.lean, line 242. The attribute's comment: “the whole tag: for a morphism of ringed spaces and arbitrary K, L in D(𝒪_X), the commutativity square of the relative cup product commutes. The commutativity constraints are derivedBraiding of Stacks 0FPB, and their compatibility with the Stacks 079U comparison is pullbackTensorComparisonBraided”.
The relative cup product is commutative. For a morphism of ringed spaces
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)and arbitraryK, L ∈ D(𝒪_X)the squareRf_*K ⊗^L Rf_*L ⟶ Rf_*(K ⊗^L L) | | ψ Rf_*ψ v v Rf_*L ⊗^L Rf_*K ⟶ Rf_*(L ⊗^L K)commutes in
D(𝒪_Y), where the horizontal arrows are the relative cup product of Stacks 0B68 andψis the commutativity constraint of Stacks 0FPB. The compatibility of the comparison of Stacks 079U with those constraints ispullbackTensorComparisonBraided.
theorem relativeCupProduct_braiding (K L : DerivedCategory (Mod X.sheaf)) :
derivedBraiding Y ((derivedPushforward f).obj K) ((derivedPushforward f).obj L) ≫
relativeCupProduct f L K =
relativeCupProduct f K L ≫ (derivedPushforward f).map (derivedBraiding X K L)
Tag 0FP6, a lemma
Tag 0FP6 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProductComposition.lean, line 228. The attribute's comment: “for the composite adjunction and the composite pullback-tensor comparison”.
The relative cup product is compatible with composition. For the composite adjunction
Lg^*Lf^* ⊣ Rf_*Rg_*and the composite derived pullback-tensor comparison, the relative cup product of Stacks 0B68 is the relative cup product forgat the pair(Rf_*K, Rf_*L)followed byRg_*of the relative cup product forf.
theorem relativeCupProduct_comp
(K L : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
adjunctionBitensorMap
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction g).comp
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction f))
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Z.sheaf))
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf))
(pullbackTensorComparisonComp f g) K L =
relativeCupProduct g
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K)
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj L) ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward g).map
(relativeCupProduct f K L)
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_comp', a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProductComposition.lean, line 275.
Stacks 0FP6: the relative cup product is compatible with composition. For composable morphisms of ringed spaces
f : (X, 𝒪_X) ⟶ (Y, 𝒪_Y)andg : (Y, 𝒪_Y) ⟶ (Z, 𝒪_Z)and arbitraryK, L ∈ D(𝒪_X)the squareRg_*Rf_*K ⊗^L Rg_*Rf_*L ⟶ R(g ∘ f)_*K ⊗^L R(g ∘ f)_*L | | | | relative cup product for f ≫ g v v Rg_*Rf_*(K ⊗^L L) ⟶ R(g ∘ f)_*(K ⊗^L L)commutes in
D(𝒪_Z), where the horizontal arrows are the composition isomorphismRf_* ⋙ Rg_* ≅ R(g ∘ f)_*of Stacks 0D5T — in each tensor factor on top and at the tensor product on the bottom — and the left vertical arrow is the relative cup product forgat(Rf_*K, Rf_*L)followed byRg_*of the relative cup product forf.This is the statement of the source, the two identifications being the composition isomorphism. It is
relativeCupProduct_comptransported byadjunctionBitensorMap_transport, whose two inputs areStacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedAdjunction_compandStacks.Cohomology.DerivedPullbackTensor.derivedPullbackTensorIso_comp.
theorem relativeCupProduct_comp'
(K L : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
(Functor.uncurry.obj
(Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Z.sheaf)).map
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforwardCompIso f
g).hom.app K ×ₘ
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforwardCompIso f
g).hom.app L) ≫
relativeCupProduct (f ≫ g) K L =
relativeCupProduct g
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj K)
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f).obj L) ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward g).map
(relativeCupProduct f K L) ≫
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforwardCompIso f
g).hom.app
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf).obj K).obj
L)
Tag 0H99, a lemma
Tag 0H99 in the Stacks Project.
Stacks.Cohomology.DerivedRelativeCupProduct.relativeCupProduct_derivedBaseChangeMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/RelativeCupProductBaseChange.lean, line 473.
Stacks 0H99: the relative cup product is compatible with a commutative square of ringed spaces.
For a commutative square
g' ≫ f = f' ≫ gof ringed spaces and arbitraryK, L ∈ D(𝒪_X), the hexagonRelativeCupProductBaseChangeSquarecommutes at the relative cup product of Stacks 0B68 forfand forf'and the derived base change map of Stacks 08HY: the derived pullback alonggof the cup product forf, followed by the base change map and byRf'_*of the comparison of Stacks 079U forg', equals the comparison of Stacks 079U forg, followed by the base change map in each tensor factor and by the cup product forf'.There is no boundedness, flatness or quasi-coherence hypothesis on
KandL, and no associator or symmetry of⊗^Lis used: the hexagon has binary tensor products only.
theorem relativeCupProduct_derivedBaseChangeMap
(K L : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
RelativeCupProductBaseChangeSquare
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f)
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPushforward f')
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g)
(Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g')
(Functor.uncurry.obj (Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y.sheaf))
(Functor.uncurry.obj (Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf))
(Functor.uncurry.obj (Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor Y'.sheaf))
(Functor.uncurry.obj (Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X'.sheaf))
(Stacks.Cohomology.DerivedProjectionFormula.pullbackTensorComparison g)
(Stacks.Cohomology.DerivedProjectionFormula.pullbackTensorComparison g') K L
(relativeCupProduct f K L)
(Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap g' f' f g sq
(((Stacks.DerivedTensor.RingedSite.derivedTensorProductFunctor X.sheaf).obj K).obj L))
(Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap g' f' f g sq K)
(Stacks.Cohomology.DerivedBaseChange.derivedBaseChangeMap g' f' f g sq L)
(relativeCupProduct f'
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g').obj K)
((Stacks.Cohomology.DerivedAdjunctionOnRingedSpaces.derivedPullback g').obj L))
Sources
Section20.32 Some properties of K-injective complexes#
Section 20.32 of the Stacks Project, Tag 0D5U. 9 tags here are carried by 21 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 08BS, a lemma
Tag 08BS in the Stacks Project.
ExtensionByZeroModules.isKInjective_jStar, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/ExtensionByZero/RestrictionOfKInjectives.lean, line 54.
Restriction to an open subspace preserves K-injective complexes of sheaves of modules.
instance isKInjective_jStar
(I : CochainComplex (SheafOfModules.{u} O) ℤ) [I.IsKInjective] :
CochainComplex.IsKInjective
(((jStar U O).mapHomologicalComplex (ComplexShape.up ℤ)).obj I)
Tag 0D5V, a lemma
Tag 0D5V in the Stacks Project.
Stacks.Cohomology.OpenSubspace.cohomologyOnOpenIsoRestriction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/CohomologyOnAnOpenSubspace.lean, line 251. The attribute's comment: “H^p(U, K) ≅ H^p(U, K|_U), natural in K in D(O_X), for every open U of a ringed space X and every degree p”.
Degree-
pcohomology over an open agrees naturally with degree-pcohomology after restriction to that open. The component atKis the isomorphismH^p(U, K) ≅ H^p(U, K|_U).
public noncomputable def cohomologyOnOpenIsoRestriction {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U : Opens X)
[HasDerivedCategory.{wX} (SheafOfModules.{u} O)]
[HasDerivedCategory.{wU} (SheafOfModules.{u} (resRing U O))]
[HasDerivedCategory.{wG} AddCommGrpCat.{u}] (p : ℤ) :
derivedSectionsOnOpen O U ⋙ DerivedCategory.homologyFunctor AddCommGrpCat.{u} p ≅
derivedRestriction O U ⋙ derivedSectionsOnOpenSubspace O U ⋙
DerivedCategory.homologyFunctor AddCommGrpCat.{u} p
Tag 0BKJ, a lemma
Tag 0BKJ in the Stacks Project.
Stacks.Cohomology.CohomologyPresheaf.cohomologyPresheafEvaluationIsoRestriction, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/CohomologyPresheafOnOpenSubspace.lean, line 41. The attribute's comment: “values on opens: the value of the presheaf on U is H^q(U, K|_U)”.
Stacks Project, Tag 0BKJ, the value on an open as cohomology of the open subspace. The value on
Uof the presheafU ↦ H^q(U, K)isH^q(U, K|_U), the degree-qcohomology of the open subspaceUwith coefficients in the derived restriction ofK, naturally inK.
public def cohomologyPresheafEvaluationIsoRestriction {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U : Opens X)
[HasDerivedCategory.{wX} (SheafOfModules.{u} O)]
[HasDerivedCategory.{wU} (SheafOfModules.{u} (resRing U O))]
[HasDerivedCategory.{wP} (PresheafOfModules.{u} O.obj)]
[HasDerivedCategory.{wG} AddCommGrpCat.{u}]
(q : ℤ) :
derivedSectionsPresheaf O ⋙
DerivedCategory.homologyFunctor (PresheafOfModules.{u} O.obj) q ⋙
PresheafOfModules.evaluation O.obj (Opposite.op U) ⋙
forget₂ (ModuleCat.{u} (O.obj.obj (Opposite.op U))) AddCommGrpCat.{u} ≅
derivedRestriction O U ⋙ derivedSectionsOnOpenSubspace O U ⋙
DerivedCategory.homologyFunctor AddCommGrpCat.{u} q
Stacks.Cohomology.CohomologyPresheaf.cohomologyPresheafEvaluationIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/CohomologyPresheafSheafification.lean, line 213. The attribute's comment: “values on opens”.
The value on
Uof the cohomology presheaf isH^q(U, K).
public def cohomologyPresheafEvaluationIso {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U : Opens X)
[HasDerivedCategory.{wX} (SheafOfModules.{u} O)]
[HasDerivedCategory.{wP} (PresheafOfModules.{u} O.obj)]
[HasDerivedCategory.{wG} AddCommGrpCat.{u}]
(q : ℤ) :
derivedSectionsPresheaf O ⋙
DerivedCategory.homologyFunctor (PresheafOfModules.{u} O.obj) q ⋙
PresheafOfModules.evaluation O.obj (Opposite.op U) ⋙
forget₂ (ModuleCat.{u} (O.obj.obj (Opposite.op U))) AddCommGrpCat.{u} ≅
Stacks.Cohomology.OpenSubspace.derivedSectionsOnOpen O U ⋙
DerivedCategory.homologyFunctor AddCommGrpCat.{u} q
Stacks.Cohomology.CohomologyPresheaf.sheafificationCohomologyPresheafIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/CohomologyPresheafSheafification.lean, line 258. The attribute's comment: “associated sheaf”.
Sheafifying the presheaf
U ↦ H^q(U, K)gives theq-th cohomology sheaf ofK, naturally in the derived objectK.
public def sheafificationCohomologyPresheafIso {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u})
[HasDerivedCategory.{wX} (SheafOfModules.{u} O)]
[HasDerivedCategory.{wP} (PresheafOfModules.{u} O.obj)]
(q : ℤ) :
derivedSectionsPresheaf O ⋙
DerivedCategory.homologyFunctor (PresheafOfModules.{u} O.obj) q ⋙
PresheafOfModules.sheafification (𝟙 O.obj) ≅
DerivedCategory.homologyFunctor (SheafOfModules.{u} O) q
Tag 08FE, a lemma
Tag 08FE in the Stacks Project.
Stacks.Duality.OpenImmersion.isIso_quasiCoherentDerivedRestrictBaseChangeSquare, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Duality/OpenImmersion/TwistedInverseImageRestrictionBaseChange.lean, line 324. The attribute's comment: “invertibility of Stacks.Duality.OpenImmersion.quasiCoherentDerivedRestrictBaseChangeSquare, the mate of Stacks.Duality.quasiCoherentDerivedPushforwardSquareIso across the two restriction adjunctions, on the quasi-coherent derived categories of a cartesian square of schemes whose vertical arrows are open immersions, at the locally small model. The isomorphism of functors itself is Stacks.Cohomology.derivedPushforwardRestrictIso, for ringed spaces; what is added here is that this particular canonical map is the invertible one”.
The comparison
(Rf_*K)|_V ⟶ Rf'_*(K|_U)of [Stacks, Tag 08FE] is invertible on the quasi-coherent derived categories. This is the slot thatStacksFrontier/AlgebraicGeometry/Duality/OpenImmersion/TwistedInverseImageRestrictionConjugate.leanleaves open; see the module documentation for the argument.
theorem isIso_quasiCoherentDerivedRestrictBaseChangeSquare (sq : IsPullback j' f' f j) :
IsIso (quasiCoherentDerivedRestrictBaseChangeSquare j' f' f j hpushj' hpushf hpushf' hpushj
(fun K i => derivedCategoryB_derivedRestrict j K.obj K.property i)
(fun K i => derivedCategoryB_derivedRestrict j' K.obj K.property i) sq.w)
AlgebraicGeometry.DerivedChow.derivedPushforwardRestrictOpenIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/MoreMorphisms/PseudoCoherentThree/DerivedChowFourierMukai.lean, line 198. The attribute's comment: “for the standard derived direct image and derived pullback of [Stacks, Tag 079W], at the inclusion of an open subscheme of the target of a morphism of schemes”.
[Stacks, Tag 08FE] at an open of the target of a morphism of schemes. Restricting the derived direct image along
qto an openVof the target is the derived direct image alongq ∣_ Vof the restriction toq ⁻¹ᵁ V: "forming the total direct image commutes with localization".
def derivedPushforwardRestrictOpenIso :
derivedPushforward (ofScheme q) ⋙ derivedPullback (ofScheme V.ι) ≅
derivedPullback (ofScheme (q ⁻¹ᵁ V).ι) ⋙ derivedPushforward (ofScheme (q ∣_ V))
AlgebraicGeometry.schemeDerivedPushforwardRestrictOpenIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Perfect/DerivedPushforwardOpenBase.lean, line 84. The attribute's comment: “for schemes, at the derived direct image of Tag 079W, with restriction to an open subscheme on the restriction edges”.
[Stacks, Tag 08FE] for schemes. For a Cartesian square of schemes
whose vertical sides are open immersions, the restriction toX' --f'--> T | | g' g v v X ---f---> STofRf_*Eis the derived direct image alongf'of the restriction ofEtoX'.Restriction along an open immersion is exact, so both restriction edges are the functors induced on derived categories and carry no derivation.
def schemeDerivedPushforwardRestrictOpenIso {X S X' T : Scheme.{u}} (f : X ⟶ S) (g : T ⟶ S)
[IsOpenImmersion g] (f' : X' ⟶ T) (g' : X' ⟶ X) (hsq : IsPullback g' f' f g)
(E : DerivedCategory X.Modules) :
letI : IsOpenImmersion g' := MorphismProperty.of_isPullback hsq.flip inferInstance
(Scheme.Modules.restrictFunctor g).mapDerivedCategory.obj
((schemeDerivedPushforward f).obj E) ≅
(schemeDerivedPushforward f').obj
((Scheme.Modules.restrictFunctor g').mapDerivedCategory.obj E)
AlgebraicGeometry.schemeDerivedPushforwardRestrictOpensIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Perfect/DerivedPushforwardOpenBase.lean, line 137. The attribute's comment: “for schemes, at the restriction of f to the preimage of an open of the base”.
[Stacks, Tag 08FE] for schemes, at an open of the base. The restriction to an open
U ⊆ SofRf_*Eis the derived direct image alongf ∣_ U : f ⁻¹ᵁ U ⟶ Uof the restriction ofEtof ⁻¹ᵁ U.This is
AlgebraicGeometry.schemeDerivedPushforwardRestrictOpenIsoat the Cartesian square ofAlgebraicGeometry.isPullback_morphismRestrict.
def schemeDerivedPushforwardRestrictOpensIso {X S : Scheme.{u}} (f : X ⟶ S) (U : S.Opens)
(E : DerivedCategory X.Modules) :
(Scheme.Modules.restrictFunctor U.ι).mapDerivedCategory.obj
((schemeDerivedPushforward f).obj E) ≅
(schemeDerivedPushforward (f ∣_ U)).obj
((Scheme.Modules.restrictFunctor (f ⁻¹ᵁ U).ι).mapDerivedCategory.obj E)
Stacks.Cohomology.derivedPushforwardRestrictIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechAndResolutions/KInjectiveRestriction.lean, line 925.
Stacks 08FE. In a Cartesian square of ringed spaces
in whichU ----g---> V | | i j | | v v X ----f---> Yiandjare open immersions, restricting the derived direct image alongjis naturally isomorphic to taking the derived direct image alonggafter restriction alongi.The four functors are arbitrary choices of right derived functors equipped with their canonical units; hence the result applies in particular to the standard choices of
Rf_*,Rg_*, and the exact restriction functors.
noncomputable def derivedPushforwardRestrictIso
{X Y U V : RingedSpace.{u, u}}
(f : X ⟶ Y) (i : U ⟶ X) (j : V ⟶ Y) (g : U ⟶ V)
[SheafedSpace.IsOpenImmersion i] [SheafedSpace.IsOpenImmersion j]
(h : IsPullback i g f j)
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing X))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing Y))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing U))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing V))]
(Rf : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
(Rg : DerivedCategory (SheafOfModules.{u} (structureSheafRing U)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing V)))
(Ri : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing U)))
(Rj : DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing V)))
(αf : (modulePushforward f).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rf)
(αg : (modulePushforward g).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rg)
(αi : (modulePullback i).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Ri)
(αj : (modulePullback j).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rj)
[Rf.IsRightDerivedFunctor αf
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Rg.IsRightDerivedFunctor αg
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Ri.IsRightDerivedFunctor αi
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Rj.IsRightDerivedFunctor αj
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))] :
Rf ⋙ Rj ≅ Ri ⋙ Rg
Stacks.Cohomology.derivedPushforwardRestrictIso_isCanonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/CechAndResolutions/KInjectiveRestriction.lean, line 1004. The attribute's comment: “canonicality”.
The isomorphism
derivedPushforwardRestrictIsois the canonical one: on a K-injective representative it is induced by the fixed adjunction matepushforwardRestrictHomotopyMapand by the four specified derived-functor units.
theorem derivedPushforwardRestrictIso_isCanonical
{X Y U V : RingedSpace.{u, u}}
(f : X ⟶ Y) (i : U ⟶ X) (j : V ⟶ Y) (g : U ⟶ V)
[SheafedSpace.IsOpenImmersion i] [SheafedSpace.IsOpenImmersion j]
(h : IsPullback i g f j)
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing X))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing Y))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing U))]
[HasDerivedCategory (SheafOfModules.{u} (structureSheafRing V))]
(Rf : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
(Rg : DerivedCategory (SheafOfModules.{u} (structureSheafRing U)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing V)))
(Ri : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing U)))
(Rj : DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing V)))
(alpha_f : (modulePushforward f).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rf)
(alpha_g : (modulePushforward g).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rg)
(alpha_i : (modulePullback i).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Ri)
(alpha_j : (modulePullback j).mapHomotopyCategory (ComplexShape.up ℤ) ⋙
DerivedCategory.Qh ⟶ DerivedCategory.Qh ⋙ Rj)
[Rf.IsRightDerivedFunctor alpha_f
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Rg.IsRightDerivedFunctor alpha_g
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Ri.IsRightDerivedFunctor alpha_i
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[Rj.IsRightDerivedFunctor alpha_j
(HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
(I : CochainComplex (SheafOfModules.{u} (structureSheafRing X)) ℤ) (_hI : I.IsKInjective) :
alpha_j.app (((modulePushforward f).mapHomotopyCategory
(ComplexShape.up ℤ)).obj ((HomotopyCategory.quotient _ _).obj I)) ≫
Rj.map (alpha_f.app ((HomotopyCategory.quotient _ _).obj I)) ≫
(derivedPushforwardRestrictIso f i j g h Rf Rg Ri Rj
alpha_f alpha_g alpha_i alpha_j).hom.app
(DerivedCategory.Qh.obj ((HomotopyCategory.quotient _ _).obj I)) =
DerivedCategory.Qh.map
((pushforwardRestrictHomotopyMap f i j g h.w).app
((HomotopyCategory.quotient _ _).obj I)) ≫
alpha_g.app (((modulePullback i).mapHomotopyCategory
(ComplexShape.up ℤ)).obj ((HomotopyCategory.quotient _ _).obj I)) ≫
Rg.map (alpha_i.app ((HomotopyCategory.quotient _ _).obj I))
Tag 0D5W, a lemma
Tag 0D5W in the Stacks Project.
Stacks.Cohomology.DerivedSectionsLeray.isIso_lerayComparison, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/LerayForDerivedSections.lean, line 428. The attribute's comment: “over an open”.
Stacks 0D5W, over an open. For a morphism
f : X ⟶ Yof ringed spaces and an openV ⊆ Y, derived sections overVafter derived pushforward alongfagree with derived sections overf⁻¹ V, as functorsD(𝒪_X) ⥤ D(Γ(V, 𝒪_Y)): the canonical Leray comparison is an isomorphism, with no hypothesis onf.
theorem isIso_lerayComparison : IsIso (lerayComparison f V)
Stacks.Cohomology.DerivedSectionsLeray.isIso_lerayComparison_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/LerayForDerivedSections.lean, line 454. The attribute's comment: “global sections”.
Stacks 0D5W, global sections.
R Γ(Y, -) ∘ Rf_*andR Γ(X, -)agree as functorsD(𝒪_X) ⥤ D(Γ(Y, 𝒪_Y)): the Leray comparison atV = ⊤is an isomorphism. Its source is derived sections overf⁻¹ ⊤ = ⊤, that is global derived sections onX, regarded as complexes ofΓ(Y, 𝒪_Y)-modules by restriction of scalars alongf^♯.
theorem isIso_lerayComparison_top : IsIso (lerayComparison f ⊤)
Stacks.Cohomology.DerivedSectionsLeray.isIso_lerayComparison_top_and_forall_open, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/LerayForDerivedSections.lean, line 464. The attribute's comment: “both statements, for a morphism of ringed spaces: RΓ(Y, -) ∘ Rf_* = RΓ(X, -), and RΓ(U, -) = RΓ(V, -) ∘ Rf_* for V ⊆ Y open and U = f⁻¹ V”.
Stacks 0D5W, the whole lemma, stated for an arbitrary morphism of ringed spaces
f : X ⟶ Ywith no further hypothesis. The canonical Leray comparisonRΓ(X, -) ⟶ RΓ(Y, -) ∘ Rf_*of functorsD(𝒪_X) ⥤ D(Γ(Y, 𝒪_Y))is an isomorphism, and more generally for every openV ⊆ YwithU = f⁻¹ Vthe comparisonRΓ(U, -) ⟶ RΓ(V, -) ∘ Rf_*of functorsD(𝒪_X) ⥤ D(Γ(V, 𝒪_Y))is an isomorphism.
theorem isIso_lerayComparison_top_and_forall_open {X₀ Y₀ : RingedSpace.{u, u}} (g : X₀ ⟶ Y₀) :
IsIso (lerayComparison g ⊤) ∧ ∀ W : Opens Y₀.carrier, IsIso (lerayComparison g W)
Tag 0D5X, a lemma
Tag 0D5X in the Stacks Project.
Stacks.Cohomology.UnboundedHigherDirectImage.preimageCohomologyIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CohomologySheavesOfADerivedPushforward.lean, line 76. The attribute's comment: “preimage formula”.
Cohomology over the inverse image
f⁻¹ Vagrees with cohomology overVafter derived pushforward:H^i(f⁻¹ V, K) = H^i(V, Rf_* K), naturally inK.
def preimageCohomologyIso (V : Opens Y.carrier) (i : ℤ) :
derivedPreimageSections f V ⋙
DerivedCategory.homologyFunctor (ModuleCat.{u} ((structureSheafRing Y).obj.obj (op V))) i ≅
derivedPushforward f ⋙ derivedSectionsOverOpen Y V ⋙
DerivedCategory.homologyFunctor (ModuleCat.{u} ((structureSheafRing Y).obj.obj (op V))) i
Stacks.Cohomology.UnboundedHigherDirectImage.preimageCohomologyEvaluationIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CohomologySheavesOfADerivedPushforward.lean, line 87. The attribute's comment: “values on opens”.
The value on an open
V ⊆ Yof the presheafderivedPreimageCohomologyPresheafis the hypercohomologyH^i(f⁻¹ V, K)ofKover the inverse image ofV, naturally inK.
def preimageCohomologyEvaluationIso (V : Opens Y.carrier) (i : ℤ) :
derivedPushforward f ⋙
Stacks.Cohomology.HypercohomologyEdge.derivedSectionsPresheaf (structureSheafRing Y) ⋙
DerivedCategory.homologyFunctor (PresheafOfModules.{u} (structureSheafRing Y).obj) i ⋙
PresheafOfModules.evaluation (structureSheafRing Y).obj (op V) ≅
derivedPreimageSections f V ⋙
DerivedCategory.homologyFunctor (ModuleCat.{u} ((structureSheafRing Y).obj.obj (op V))) i
Stacks.Cohomology.UnboundedHigherDirectImage.higherDirectImageIsoSheafifyPreimageCohomology, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/CohomologySheavesOfADerivedPushforward.lean, line 102. The attribute's comment: “associated sheaf”.
The
i-th cohomology sheaf ofRf_* Kis the sheaf associated to the presheafV ↦ H^i(f⁻¹ V, K), naturally inK.
def higherDirectImageIsoSheafifyPreimageCohomology (i : ℤ) :
derivedPushforward f ⋙
DerivedCategory.homologyFunctor (SheafOfModules.{u} (structureSheafRing Y)) i ≅
derivedPushforward f ⋙
Stacks.Cohomology.HypercohomologyEdge.derivedSectionsPresheaf (structureSheafRing Y) ⋙
DerivedCategory.homologyFunctor (PresheafOfModules.{u} (structureSheafRing Y).obj) i ⋙
PresheafOfModules.sheafification (𝟙 (structureSheafRing Y).obj)
Tag 0D5Y, a lemma
Tag 0D5Y in the Stacks Project.
Stacks.Cohomology.UnderlyingAbelianSheaf.sectionsForgetComparison_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/UnderlyingAbelianSheafCohomology.lean, line 422. The attribute's comment: “part (1)”.
Stacks 0D5Y, part (1). Unbounded derived sections of modules agree canonically and naturally with derived sections after forgetting to abelian sheaves: for every open
U ⊆ Xthe canonical mapRΓ(U, K) ⟶ RΓ(U, K_ab)is an isomorphism inD(Ab).
public theorem sectionsForgetComparison_isIso {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U : Opens X) :
IsIso (sectionsForgetComparison O U)
Stacks.Cohomology.UnderlyingAbelianPushforward.pushforwardForgetComparison_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedCategory/UnderlyingAbelianSheafPushforward.lean, line 309. The attribute's comment: “part (2)”.
Stacks 0D5Y, part (2). The unbounded derived pushforward of a complex of
𝒪_X-modules, with the module structure forgotten, agrees canonically and naturally with the unbounded derived pushforward of the underlying complex of abelian sheaves:Rf_* K ⟶ Rf_*(K_ab)is an isomorphism inD(Ab_Y).The morphism
fof ringed spaces is the only argument: there is noHasRightDerivedFunctorprecondition here, both derived pushforwards being supplied by the proved instancesabelianPushforward_hasRightDerivedFunctorandisRightDerivedFunctor_pushforwardForgetSourceabove.
theorem pushforwardForgetComparison_isIso :
IsIso (Stacks.Cohomology.UnderlyingAbelianPushforward.pushforwardForgetComparison f)
Tag 08BT, a lemma
Tag 08BT in the Stacks Project.
Stacks.ExtensionByZero.exists_derivedJShriek_restriction_adjunction, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/ExtensionByZero/DerivedAdjunction.lean, line 105.
For an open subset
Uof a ringed spaceX, extension by zero and restriction toUare exact, and the functor on unbounded derived categories induced by extension by zero is left adjoint to the functor induced by restriction toU.
theorem exists_derivedJShriek_restriction_adjunction
(X : SheafedSpace RingCat.{u}) (U : Opens X.carrier) :
∃ (h₁ : (jShriek00A7 X U).Additive)
(h₂ : PreservesFiniteLimits (jShriek00A7 X U))
(h₃ : PreservesFiniteColimits (jShriek00A7 X U))
(h₄ : (restMod X U).Additive)
(h₅ : PreservesFiniteLimits (restMod X U))
(h₆ : PreservesFiniteColimits (restMod X U)),
letI := h₁
letI := h₂
letI := h₃
letI := h₄
letI := h₅
letI := h₆
Nonempty ((jShriek00A7 X U).mapDerivedCategory ⊣ (restMod X U).mapDerivedCategory)
Tag 0D5Z, a lemma
Tag 0D5Z in the Stacks Project.
RingedSpaceModuleAdjunction.isKInjective_modulePushforward_of_isFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/DerivedPushforward/FlatPushforwardOfKInjectives.lean, line 49.
Stacks 0D5Z. If
f : X ⟶ Yis a flat morphism of ringed spaces andℐ^•is a K-injective complex of𝒪_X-modules, thenf_* ℐ^•is K-injective as a complex of𝒪_Y-modules.
theorem isKInjective_modulePushforward_of_isFlat {X Y : RingedSpace.{u, u}} (f : X ⟶ Y)
(hf : AlgebraicGeometry.IsFlat f)
(I : CochainComplex (_root_.SheafOfModules.{u} (structureSheafRing X)) ℤ)
(hI : I.IsKInjective) :
CochainComplex.IsKInjective
(((modulePushforward f).mapHomologicalComplex (ComplexShape.up ℤ)).obj I)
Sources
Section20.33 Unbounded Mayer-Vietoris#
Section 20.33 of the Stacks Project, Tag 08BR. 7 tags here are carried by 19 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 08BU, a lemma
Tag 08BU in the Stacks Project.
Stacks.ExtensionByZero.distinguished_extensionRestriction_triangle, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/ExtensionByZero/MayerVietorisTriangle.lean, line 1386. The attribute's comment: “the whole statement: the distinguished triangle, for every choice of the three derived functors R(j_!j^*) and their units — the degreewise one of Section 20.32 included — with the two maps out of the intersection term pinned by the adjunction counits, the second with the Mayer--Vietoris sign”.
Stacks 08BU. For a cover by two open subspaces, extension by zero of the restrictions to their intersection and to the two opens forms a distinguished triangle, naturally in the object of the unbounded derived category.
public theorem distinguished_extensionRestriction_triangle {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u})
(U V : Opens X) (hUV : U ⊔ V = ⊤)
(DU DV DUV : DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O))
(aU : homotopyExtensionRestriction O U ⟶ DerivedCategory.Qh ⋙ DU)
(aV : homotopyExtensionRestriction O V ⟶ DerivedCategory.Qh ⋙ DV)
(aUV : homotopyExtensionRestriction O (U ⊓ V) ⟶ DerivedCategory.Qh ⋙ DUV)
[DU.IsRightDerivedFunctor aU
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[DV.IsRightDerivedFunctor aV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[DUV.IsRightDerivedFunctor aUV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))] :
∃ (iU : DUV ⟶ DU) (iV : DUV ⟶ DV)
(δ : 𝟭 (DerivedCategory (SheafOfModules.{u} O)) ⟶
DUV ⋙ shiftFunctor (DerivedCategory (SheafOfModules.{u} O)) (1 : ℤ)),
(iU ≫ derivedExtensionRestrictionCounit O U DU aU =
derivedExtensionRestrictionCounit O (U ⊓ V) DUV aUV) ∧
(iV ≫ derivedExtensionRestrictionCounit O V DV aV =
-derivedExtensionRestrictionCounit O (U ⊓ V) DUV aUV) ∧
(∀ E, Triangle.mk (biprod.lift (iU.app E) (iV.app E))
(biprod.desc ((derivedExtensionRestrictionCounit O U DU aU).app E)
((derivedExtensionRestrictionCounit O V DV aV).app E)) (δ.app E) ∈
distTriang (DerivedCategory (SheafOfModules.{u} O)))
Stacks.ExtensionByZero.distinguished_derivedExtensionRestriction_triangle, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/ExtSequence.lean, line 383. The attribute's comment: “the whole statement at the presentation built in this file: the three clauses of distinguished_extensionRestriction_triangle for derivedExtensionRestriction, derivedExtensionRestrictionFactorsh and the instance derivedExtensionRestriction_isRightDerivedFunctor, with the maps to the identity functor the canonical derived adjunction counits of Stacks 08BT and the two maps out of the intersection term pinned by composing them with those counits, the second with the Mayer--Vietoris sign”.
Let
Xbe a ringed space which is the union of two open subspacesUandV. Then there are comparison maps out ofD(j_!)D(j^*)forU ∩ Vinto the ones forUand forV, and a connecting transformation, such that for every object ofD(𝒪_X)the resulting triangle is distinguished. The three derived functors arederivedExtensionRestriction, the maps to the identity functor are the canonical derived adjunction counitsderivedExtensionRestrictionCanonicalCounit, and the two comparison maps are determined by composing them with those counits, the second with a sign.
public theorem distinguished_derivedExtensionRestriction_triangle {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U V : Opens X)
(hUV : U ⊔ V = ⊤) :
∃ (iU : derivedExtensionRestriction O (U ⊓ V) ⟶ derivedExtensionRestriction O U)
(iV : derivedExtensionRestriction O (U ⊓ V) ⟶ derivedExtensionRestriction O V)
(δ : 𝟭 (DerivedCategory (SheafOfModules.{u} O)) ⟶
derivedExtensionRestriction O (U ⊓ V) ⋙
shiftFunctor (DerivedCategory (SheafOfModules.{u} O)) (1 : ℤ)),
(iU ≫ derivedExtensionRestrictionCanonicalCounit O U =
derivedExtensionRestrictionCanonicalCounit O (U ⊓ V)) ∧
(iV ≫ derivedExtensionRestrictionCanonicalCounit O V =
-derivedExtensionRestrictionCanonicalCounit O (U ⊓ V)) ∧
(∀ E, Triangle.mk (biprod.lift (iU.app E) (iV.app E))
(biprod.desc ((derivedExtensionRestrictionCanonicalCounit O U).app E)
((derivedExtensionRestrictionCanonicalCounit O V).app E)) (δ.app E) ∈
distTriang (DerivedCategory (SheafOfModules.{u} O)))
Tag 08BV, a lemma
Tag 08BV in the Stacks Project.
Stacks.Duality.Coherator.isMayerVietorisApex_restrictPushforward_sup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/QuasiCoherent/Coherator/UnboundedMayerVietoris.lean, line 77. The attribute's comment: “the scheme-level form: U, V opens of a scheme inside their union, with the terms Rj_{W,*}(K|_W) of D(𝒪_X) at the locally small model”.
[Stacks, Tag 08BV] for a scheme. For opens
U,Vof a schemeXand any objectKof the unbounded derived categoryD(𝒪_X)there is a distinguished triangle
Rj_{U ∪ V,*}(K|_{U ∪ V}) ⟶ Rj_{U,*}(K|_U) ⊕ Rj_{V,*}(K|_V) ⟶ Rj_{U ∩ V,*}(K|_{U ∩ V}) ⟶in
D(𝒪_X), wherej_W : W → Xare the inclusions of the open subschemes.This is
Stacks.Duality.Coherator.exists_distTriang_restrictPushforward_sup, read in the vocabulary ofStacks.Duality.Coherator.IsMayerVietorisApex.
theorem isMayerVietorisApex_restrictPushforward_sup (K : DerivedCategory X.Modules) :
IsMayerVietorisApex X U V K (restrictPushforward (U ⊔ V) K)
Stacks.Duality.Coherator.isMayerVietorisApex_self, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/QuasiCoherent/Coherator/UnboundedMayerVietoris.lean, line 90. The attribute's comment: “the scheme-level form for a cover of the whole scheme, with K itself as the first term of the triangle”.
[Stacks, Tag 08BV] for a scheme, in the form of the source. If the opens
U,Vcover the schemeX, then every objectKofD(𝒪_X)itself sits in a distinguished triangle
K ⟶ Rj_{U,*}(K|_U) ⊕ Rj_{V,*}(K|_V) ⟶ Rj_{U ∩ V,*}(K|_{U ∩ V}) ⟶ K⟦1⟧.This is
Stacks.Duality.Coherator.exists_distTriang_self, read in the vocabulary ofStacks.Duality.Coherator.IsMayerVietorisApex.
theorem isMayerVietorisApex_self (hUV : U ⊔ V = ⊤) (K : DerivedCategory X.Modules) :
IsMayerVietorisApex X U V K K
Stacks.Cohomology.MayerVietoris.exists_distinguished_triangle_of_cover, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietorisAndLimits/MayerVietoris.lean, line 442.
Stacks 08BV. A two-open cover gives a distinguished Mayer--Vietoris triangle, naturally in every object of the unbounded derived category of modules.
theorem exists_distinguished_triangle_of_cover
(U V : Opens X) (hUV : U ⊔ V = ⊤)
(RU RV RUV : DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O))
(aU : homotopyToDerived O U ⟶ DerivedCategory.Qh ⋙ RU)
(aV : homotopyToDerived O V ⟶ DerivedCategory.Qh ⋙ RV)
(aUV : homotopyToDerived O (U ⊓ V) ⟶ DerivedCategory.Qh ⋙ RUV)
[RU.IsRightDerivedFunctor aU
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[RV.IsRightDerivedFunctor aV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[RUV.IsRightDerivedFunctor aUV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))] :
∃ (qU : homotopyToDerived O U ⟶ homotopyToDerived O (U ⊓ V))
(qV : homotopyToDerived O V ⟶ homotopyToDerived O (U ⊓ V))
(rU : (CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⟶ RU)
(rV : (CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⟶ RV)
(dU : RU ⟶ RUV) (dV : RV ⟶ RUV)
(δ : RUV ⟶ (CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⋙
shiftFunctor (DerivedCategory (SheafOfModules.{u} O)) (1 : ℤ)),
homotopyRestriction O U ≫ qU = homotopyRestriction O (U ⊓ V) ∧
homotopyRestriction O V ≫ qV = homotopyRestriction O (U ⊓ V) ∧
homotopyRestriction O U ≫ aU = Functor.whiskerLeft DerivedCategory.Qh rU ∧
homotopyRestriction O V ≫ aV = Functor.whiskerLeft DerivedCategory.Qh rV ∧
qU ≫ aUV = aU ≫ Functor.whiskerLeft DerivedCategory.Qh dU ∧
-(qV ≫ aUV) = aV ≫ Functor.whiskerLeft DerivedCategory.Qh dV ∧
∀ E, Triangle.mk (biprod.lift (rU.app E) (rV.app E))
(biprod.desc (dU.app E) (dV.app E)) (δ.app E) ∈
distTriang (DerivedCategory (SheafOfModules.{u} O))
Stacks.Cohomology.MayerVietoris.exists_distinguished_triangle_of_cover_rightDerived, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietorisAndLimits/MayerVietorisCanonical.lean, line 144. The attribute's comment: “the ringed-space form with the three derived pushforwards constructed by rightDerivedRestrictPush, at the standard model of D(O): no derived functor, comparison map or derived-functor hypothesis is taken as a parameter”.
Stacks 08BV. A two-open cover of a space carrying a sheaf of rings
Ogives a distinguished Mayer--Vietoris triangle
E ⟶ Rj_{U*}(E|_U) ⊞ Rj_{V*}(E|_V) ⟶ Rj_{(U ∩ V)*}(E|_{U ∩ V}) ⟶ E⟦1⟧naturally in the object
Eof the unbounded derived category ofO-modules, where the three derived pushforwards are the ones constructed byrightDerivedRestrictPush. The restriction mapsrU,rV, the two difference mapsdU,dVand the connecting mapδare maps of functors onD(O), which is the naturality inE, and the equations preceding the triangle identify them with the restriction and transition maps of the cover through the canonical comparisons, so that the triangle's maps and its Mayer--Vietoris sign are retained rather than merely asserted to exist.
theorem exists_distinguished_triangle_of_cover_rightDerived
(U V : Opens X) (hUV : U ⊔ V = ⊤) :
∃ (qU : homotopyToDerived O U ⟶ homotopyToDerived O (U ⊓ V))
(qV : homotopyToDerived O V ⟶ homotopyToDerived O (U ⊓ V))
(rU : (CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⟶ rightDerivedRestrictPush O U)
(rV : (CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⟶ rightDerivedRestrictPush O V)
(dU : rightDerivedRestrictPush O U ⟶ rightDerivedRestrictPush O (U ⊓ V))
(dV : rightDerivedRestrictPush O V ⟶ rightDerivedRestrictPush O (U ⊓ V))
(δ : rightDerivedRestrictPush O (U ⊓ V) ⟶
(CategoryTheory.Functor.id (DerivedCategory (SheafOfModules.{u} O)) :
DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O)) ⋙
shiftFunctor (DerivedCategory (SheafOfModules.{u} O)) (1 : ℤ)),
homotopyRestriction O U ≫ qU = homotopyRestriction O (U ⊓ V) ∧
homotopyRestriction O V ≫ qV = homotopyRestriction O (U ⊓ V) ∧
homotopyRestriction O U ≫ rightDerivedRestrictPushUnit O U =
Functor.whiskerLeft DerivedCategory.Qh rU ∧
homotopyRestriction O V ≫ rightDerivedRestrictPushUnit O V =
Functor.whiskerLeft DerivedCategory.Qh rV ∧
qU ≫ rightDerivedRestrictPushUnit O (U ⊓ V) =
rightDerivedRestrictPushUnit O U ≫ Functor.whiskerLeft DerivedCategory.Qh dU ∧
-(qV ≫ rightDerivedRestrictPushUnit O (U ⊓ V)) =
rightDerivedRestrictPushUnit O V ≫ Functor.whiskerLeft DerivedCategory.Qh dV ∧
∀ E, Triangle.mk (biprod.lift (rU.app E) (rV.app E))
(biprod.desc (dU.app E) (dV.app E)) (δ.app E) ∈
distTriang (DerivedCategory (SheafOfModules.{u} O))
Tag 08BW, a lemma
Tag 08BW in the Stacks Project.
Stacks.ExtensionByZero.exists_mayerVietoris_ext_longExactSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/ExtSequence.lean, line 426. The attribute's comment: “long exact sequence of the Ext groups on the two opens and their intersection”.
Let
Xbe a ringed space covered by two open subspacesUandV, and letEandFbe objects ofD(𝒪_X). There are restriction, difference and connecting homomorphisms making the Mayer--Vietoris sequence
⋯ ⟶ Ext^\{n-1}(E|\_\{U∩V}, F|\_\{U∩V}) ⟶ Ext^n(E, F) ⟶ Ext^n(E|\_U, F|\_U) × Ext^n(E|\_V, F|\_V) ⟶ Ext^n(E|\_\{U∩V}, F|\_\{U∩V}) ⟶ ⋯exact at each of its three kinds of spot and in every integer degree, the Ext groups of the restrictions being taken in the derived categories of the open subspaces.
public theorem exists_mayerVietoris_ext_longExactSequence {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u}) (U V : Opens X) (hUV : U ⊔ V = ⊤)
(E F : DerivedCategory (SheafOfModules.{u} O)) :
∃ (restriction : ∀ n : ℤ, (E ⟶ F⟦n⟧) →+
(((derivedRestriction O U).obj E ⟶ ((derivedRestriction O U).obj F)⟦n⟧) ×
((derivedRestriction O V).obj E ⟶ ((derivedRestriction O V).obj F)⟦n⟧)))
(difference : ∀ n : ℤ,
(((derivedRestriction O U).obj E ⟶ ((derivedRestriction O U).obj F)⟦n⟧) ×
((derivedRestriction O V).obj E ⟶ ((derivedRestriction O V).obj F)⟦n⟧)) →+
((derivedRestriction O (U ⊓ V)).obj E ⟶
((derivedRestriction O (U ⊓ V)).obj F)⟦n⟧))
(boundary : ∀ n : ℤ,
((derivedRestriction O (U ⊓ V)).obj E ⟶
((derivedRestriction O (U ⊓ V)).obj F)⟦n⟧) →+ (E ⟶ F⟦n + 1⟧)),
∀ n : ℤ, Function.Exact (restriction n) (difference n) ∧
Function.Exact (difference n) (boundary n) ∧
Function.Exact (boundary n) (restriction (n + 1))
Stacks.ExtensionByZero.exists_mayerVietoris_hom_longExactSequence, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/ExtSequence.lean, line 491. The attribute's comment: “long exact sequence, extension-by-zero form of the Ext groups”.
Let
Xbe a ringed space covered by two open subspacesUandV, and letEandFbe objects ofD(𝒪_X). For every choice of the three derived functors of extension by zero of the restrictions there are comparison mapsiUandiVout of the functor attached toU ∩ V, compatible with the canonical derived adjunction counits and carrying the Mayer--Vietoris sign, and connecting homomorphisms, such that the Mayer--Vietoris sequence
⋯ ⟶ Ext^\{n-1}(j\_\{U∩V,!}E|\_\{U∩V}, F) ⟶ Ext^n(E, F) ⟶ Ext^n(j\_\{U!}E|\_U, F) × Ext^n(j\_\{V!}E|\_V, F) ⟶ Ext^n(j\_\{U∩V,!}E|\_\{U∩V}, F) ⟶ ⋯is exact at each of its three kinds of spot and in every integer degree.
public theorem exists_mayerVietoris_hom_longExactSequence {X : TopCat.{u}}
(O : Sheaf (Opens.grothendieckTopology X) RingCat.{u})
(U V : Opens X) (hUV : U ⊔ V = ⊤)
(DU DV DUV : DerivedCategory (SheafOfModules.{u} O) ⥤
DerivedCategory (SheafOfModules.{u} O))
(aU : homotopyExtensionRestriction O U ⟶ DerivedCategory.Qh ⋙ DU)
(aV : homotopyExtensionRestriction O V ⟶ DerivedCategory.Qh ⋙ DV)
(aUV : homotopyExtensionRestriction O (U ⊓ V) ⟶ DerivedCategory.Qh ⋙ DUV)
[DU.IsRightDerivedFunctor aU
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[DV.IsRightDerivedFunctor aV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))]
[DUV.IsRightDerivedFunctor aUV
(HomotopyCategory.quasiIso (SheafOfModules.{u} O) (ComplexShape.up ℤ))] :
∃ (iU : DUV ⟶ DU) (iV : DUV ⟶ DV)
(boundary : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
(DUV.obj E ⟶ F⟦n⟧) →+ (E ⟶ F⟦n + 1⟧)),
(iU ≫ derivedExtensionRestrictionCounit O U DU aU =
derivedExtensionRestrictionCounit O (U ⊓ V) DUV aUV) ∧
(iV ≫ derivedExtensionRestrictionCounit O V DV aV =
-derivedExtensionRestrictionCounit O (U ⊓ V) DUV aUV) ∧
∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
Function.Exact
(fun x : E ⟶ F⟦n⟧ =>
((derivedExtensionRestrictionCounit O U DU aU).app E ≫ x,
(derivedExtensionRestrictionCounit O V DV aV).app E ≫ x))
(fun w : (DU.obj E ⟶ F⟦n⟧) × (DV.obj E ⟶ F⟦n⟧) =>
iU.app E ≫ w.1 + iV.app E ≫ w.2) ∧
Function.Exact
(fun w : (DU.obj E ⟶ F⟦n⟧) × (DV.obj E ⟶ F⟦n⟧) =>
iU.app E ≫ w.1 + iV.app E ≫ w.2)
(boundary E F n) ∧
Function.Exact (boundary E F n)
(fun x : E ⟶ F⟦n + 1⟧ =>
((derivedExtensionRestrictionCounit O U DU aU).app E ≫ x,
(derivedExtensionRestrictionCounit O V DV aV).app E ≫ x))
Stacks.ExtensionByZero.exists_mayerVietoris_ext_longExactSequence_restrictions, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/ExtSequenceRestrictions.lean, line 495. The attribute's comment: “the long exact sequence, with its first map the pair of the restrictions to the two opens and its second map the difference of two restrictions to their intersection”.
Stacks 08BW, with every map of the sequence named. For a ringed space covered by two open subspaces
UandVand objectsE,FofD(𝒪_X), the Mayer--Vietoris sequence
⋯ ⟶ Ext^\{n-1}(E|\_\{U∩V}, F|\_\{U∩V}) ⟶ Ext^n(E, F) ⟶ Ext^n(E|\_U, F|\_U) × Ext^n(E|\_V, F|\_V) ⟶ Ext^n(E|\_\{U∩V}, F|\_\{U∩V}) ⟶ ⋯is exact at each of its three kinds of spot and in every integer degree, its first map is the pair of the two restrictions and its second map is the difference of two further restrictions to the intersection.
theorem exists_mayerVietoris_ext_longExactSequence_restrictions (hUV : U ⊔ V = ⊤) :
∃ (restriction : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
(E ⟶ F⟦n⟧) →+
(ShiftedHom ((derivedRestriction O U).obj E) ((derivedRestriction O U).obj F) n ×
ShiftedHom ((derivedRestriction O V).obj E)
((derivedRestriction O V).obj F) n))
(restrictionUW : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
ShiftedHom ((derivedRestriction O U).obj E) ((derivedRestriction O U).obj F) n →+
ShiftedHom ((derivedRestriction O (U ⊓ V)).obj E)
((derivedRestriction O (U ⊓ V)).obj F) n)
(restrictionVW : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
ShiftedHom ((derivedRestriction O V).obj E) ((derivedRestriction O V).obj F) n →+
ShiftedHom ((derivedRestriction O (U ⊓ V)).obj E)
((derivedRestriction O (U ⊓ V)).obj F) n)
(difference : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
(ShiftedHom ((derivedRestriction O U).obj E) ((derivedRestriction O U).obj F) n ×
ShiftedHom ((derivedRestriction O V).obj E)
((derivedRestriction O V).obj F) n) →+
ShiftedHom ((derivedRestriction O (U ⊓ V)).obj E)
((derivedRestriction O (U ⊓ V)).obj F) n)
(boundary : ∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
ShiftedHom ((derivedRestriction O (U ⊓ V)).obj E)
((derivedRestriction O (U ⊓ V)).obj F) n →+ (E ⟶ F⟦n + 1⟧)),
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ) (x : E ⟶ F⟦n⟧),
restriction E F n x =
(ShiftedHom.map x (derivedRestriction O U),
ShiftedHom.map x (derivedRestriction O V))) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ) (x : E ⟶ F⟦n⟧),
restrictionUW E F n (ShiftedHom.map x (derivedRestriction O U)) =
ShiftedHom.map x (derivedRestriction O (U ⊓ V))) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ) (x : E ⟶ F⟦n⟧),
restrictionVW E F n (ShiftedHom.map x (derivedRestriction O V)) =
ShiftedHom.map x (derivedRestriction O (U ⊓ V))) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ)
(xU : ShiftedHom ((derivedRestriction O U).obj E)
((derivedRestriction O U).obj F) n)
(xV : ShiftedHom ((derivedRestriction O V).obj E)
((derivedRestriction O V).obj F) n),
difference E F n (xU, xV) =
restrictionUW E F n xU - restrictionVW E F n xV) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
Function.Exact (restriction E F n) (difference E F n)) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
Function.Exact (difference E F n) (boundary E F n)) ∧
(∀ (E F : DerivedCategory (SheafOfModules.{u} O)) (n : ℤ),
Function.Exact (boundary E F n) (restriction E F (n + 1)))
Tag 08BX, a lemma
Tag 08BX in the Stacks Project.
Stacks.Cohomology.LinearMayerVietoris.linearUnboundedMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/LinearUnboundedTriangle.lean, line 849. The attribute's comment: “the triangle in D(A), A = Γ(X, 𝒪_X)”.
Let
Xbe a ringed space covered by two open subsetsUandV, and letA = Γ(X, 𝒪_X). The restriction maps of theA-linear derived sections functors, with the usual sign on the overlap, fit into a distinguished triangle in the derived category ofA-modules, naturally in the object ofD(𝒪_X): the connecting map is a natural transformation and the other four maps are the right-derived restrictions.
theorem linearUnboundedMayerVietoris (hUV : U ⊔ V = ⊤) :
∃ δ : derivedLinearSections X (U ⊓ V) ⟶ derivedLinearSections X ⊤ ⋙
shiftFunctor (DerivedCategory (ModuleCat.{u} (baseRing X))) (1 : ℤ),
∀ E, Triangle.mk
(biprod.lift ((derivedLinearRestriction X (le_top : U ≤ ⊤)).app E)
((derivedLinearRestriction X (le_top : V ≤ ⊤)).app E))
(biprod.desc ((derivedLinearRestriction X (inf_le_left : U ⊓ V ≤ U)).app E)
(-((derivedLinearRestriction X (inf_le_right : U ⊓ V ≤ V)).app E)))
(δ.app E) ∈ distTriang (DerivedCategory (ModuleCat.{u} (baseRing X)))
Stacks.Cohomology.SpaceMayerVietoris.relativeUnboundedMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/UnboundedDerivedSections.lean, line 283. The attribute's comment: “for a pair of opens covering an arbitrary open, not only the whole space”.
Stacks 08BX for a cover of an arbitrary open. Let
Xbe a ringed space and letW = U ∪ Vbe an open subset written as the union of two open subsets. For any choice of derived sections functors overW,U,VandU ∩ V— that is, any right derived functors of degreewise sections along the quasi-isomorphisms — the right-derived restriction maps, with the usual sign on the overlap, fit into a distinguished triangle in the derived category of abelian groups, naturally in the object ofD(𝒪_X): the connecting map is a natural transformation and the other four maps are natural transformations of the given functors. Applying the cohomological functors gives the functorial Mayer--Vietoris long exact sequence.
public theorem relativeUnboundedMayerVietoris (X : RingedSpace.{u, u})
(U V W : Opens X.carrier) (hUV : U ⊔ V = W)
(RW RU RV RUV : DerivedCategory (ModuleSheaves X) ⥤ DerivedCategory AddCommGrpCat.{u})
(aW : sectionsComplexDerived X W ⟶ DerivedCategory.Q ⋙ RW)
(aU : sectionsComplexDerived X U ⟶ DerivedCategory.Q ⋙ RU)
(aV : sectionsComplexDerived X V ⟶ DerivedCategory.Q ⋙ RV)
(aUV : sectionsComplexDerived X (U ⊓ V) ⟶ DerivedCategory.Q ⋙ RUV)
[RW.IsRightDerivedFunctor aW
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RU.IsRightDerivedFunctor aU
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RV.IsRightDerivedFunctor aV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RUV.IsRightDerivedFunctor aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))] :
∃ δ : RUV ⟶ RW ⋙ shiftFunctor (DerivedCategory AddCommGrpCat.{u}) (1 : ℤ),
∀ E, Triangle.mk
(biprod.lift
((RW.rightDerivedNatTrans RU aW aU
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (le_sup_left.trans hUV.le : U ≤ W)))).app E)
((RW.rightDerivedNatTrans RV aW aV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (le_sup_right.trans hUV.le : V ≤ W)))).app E))
(biprod.desc
((RU.rightDerivedNatTrans RUV aU aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (inf_le_left : U ⊓ V ≤ U)))).app E)
(-((RV.rightDerivedNatTrans RUV aV aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (inf_le_right : U ⊓ V ≤ V)))).app E)))
(δ.app E) ∈ distTriang (DerivedCategory AddCommGrpCat.{u})
Stacks.Cohomology.SpaceMayerVietoris.unboundedMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/UnboundedDerivedSections.lean, line 431.
Stacks 08BX. Let
Xbe a ringed space covered by two open subsetsUandV. For any choice of derived sections functors overX,U,VandU ∩ V— that is, any right derived functors of degreewise sections along the quasi-isomorphisms — the right-derived restriction maps, with the usual sign on the overlap, fit into a distinguished triangle in the derived category of abelian groups, naturally in the object ofD(𝒪_X): the connecting map is a natural transformation and the other four maps are natural transformations of the given functors. Applying the cohomological functors gives the functorial Mayer--Vietoris long exact sequence.
public theorem unboundedMayerVietoris (X : RingedSpace.{u, u}) (U V : Opens X.carrier)
(hUV : U ⊔ V = ⊤)
(RX RU RV RUV : DerivedCategory (ModuleSheaves X) ⥤ DerivedCategory AddCommGrpCat.{u})
(aX : sectionsComplexDerived X ⊤ ⟶ DerivedCategory.Q ⋙ RX)
(aU : sectionsComplexDerived X U ⟶ DerivedCategory.Q ⋙ RU)
(aV : sectionsComplexDerived X V ⟶ DerivedCategory.Q ⋙ RV)
(aUV : sectionsComplexDerived X (U ⊓ V) ⟶ DerivedCategory.Q ⋙ RUV)
[RX.IsRightDerivedFunctor aX
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RU.IsRightDerivedFunctor aU
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RV.IsRightDerivedFunctor aV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))]
[RUV.IsRightDerivedFunctor aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))] :
∃ δ : RUV ⟶ RX ⋙ shiftFunctor (DerivedCategory AddCommGrpCat.{u}) (1 : ℤ),
∀ E, Triangle.mk
(biprod.lift
((RX.rightDerivedNatTrans RU aX aU
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (le_top : U ≤ ⊤)))).app E)
((RX.rightDerivedNatTrans RV aX aV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (le_top : V ≤ ⊤)))).app E))
(biprod.desc
((RU.rightDerivedNatTrans RUV aU aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (inf_le_left : U ⊓ V ≤ U)))).app E)
(-((RV.rightDerivedNatTrans RUV aV aUV
(HomologicalComplex.quasiIso (ModuleSheaves X) (ComplexShape.up ℤ))
(sectionsRestrictionDerived X (homOfLE (inf_le_right : U ⊓ V ≤ V)))).app E)))
(δ.app E) ∈ distTriang (DerivedCategory AddCommGrpCat.{u})
Tag 08HZ, a lemma
Tag 08HZ in the Stacks Project.
Stacks.Cohomology.RelativeMayerVietoris.canonicalPushforwardTriangle_distinguished, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RelativeMayerVietoris/CanonicalDerivedTriangle.lean, line 139. The attribute's comment: “the triangle with no choices: the canonical derived functors of canonicalRightDerived and the canonical sequence of Tag 01EC, which is the form in which two such triangles can be compared”.
The relative Mayer--Vietoris triangle built from the canonical derived functors and the canonical relative Mayer--Vietoris sequence is distinguished at every object of the unbounded derived category.
public theorem canonicalPushforwardTriangle_distinguished
(E : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))) :
canonicalPushforwardTriangle f iU iV iW cover intersection E ∈
distTriang (DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
Stacks.Cohomology.RelativeMayerVietoris.unboundedRelativeMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RelativeMayerVietoris/UnboundedDerivedPushforward.lean, line 906.
Stacks 08HZ. For a morphism of ringed spaces and a cover of its source by two open subsets, the four derived pushforwards attached to the cover fit into a distinguished triangle, naturally in the object of the unbounded derived category. The four derived pushforwards are hypothesised only through
CategoryTheory.Functor.IsRightDerivedFunctor, so the statement applies to every choice of them; applying a cohomological functor to the triangle gives the relative Mayer--Vietoris long exact sequence.
public theorem unboundedRelativeMayerVietoris (f : X ⟶ Y) (U V : Opens X) (hUV : U ⊔ V = ⊤)
(Rf RU RV RUV : DerivedCategory (SheafOfModules.{u} (structureSheafRing X)) ⥤
DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
(af : homotopyToDerived (modulePushforward f) ⟶ DerivedCategory.Qh ⋙ Rf)
(aU : homotopyToDerived (restrictedPushforward f U) ⟶ DerivedCategory.Qh ⋙ RU)
(aV : homotopyToDerived (restrictedPushforward f V) ⟶ DerivedCategory.Qh ⋙ RV)
(aUV : homotopyToDerived (restrictedPushforward f (U ⊓ V)) ⟶ DerivedCategory.Qh ⋙ RUV)
[Rf.IsRightDerivedFunctor af (HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[RU.IsRightDerivedFunctor aU (HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[RV.IsRightDerivedFunctor aV (HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))]
[RUV.IsRightDerivedFunctor aUV (HomotopyCategory.quasiIso _ (ComplexShape.up ℤ))] :
∃ (rU : Rf ⟶ RU) (rV : Rf ⟶ RV) (dU : RU ⟶ RUV) (dV : RV ⟶ RUV)
(δ : RUV ⟶ Rf ⋙ shiftFunctor
(DerivedCategory (SheafOfModules.{u} (structureSheafRing Y))) (1 : ℤ)),
∀ E, Triangle.mk (biprod.lift (rU.app E) (rV.app E))
(biprod.desc (dU.app E) (dV.app E)) (δ.app E) ∈
distTriang (DerivedCategory (SheafOfModules.{u} (structureSheafRing Y)))
Stacks.Cohomology.RelativeMayerVietoris.pushforwardTriangleMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/RelativeMayerVietoris/UnboundedDerivedPushforward.lean, line 1046. The attribute's comment: “functoriality of the triangle in E: the lemma's second assertion, which the existential form above cannot express because it hides the morphisms”.
The relative Mayer--Vietoris triangle is functorial in the derived object: a morphism
e : E ⟶ E'induces a morphism of triangles whose components are the four derived functors applied toe.
public def pushforwardTriangleMap
{E E' : DerivedCategory (SheafOfModules.{u} (structureSheafRing X))} (e : E ⟶ E') :
pushforwardTriangle f iU iV iW S Rf RU RV RUV af aU aV aUV E ⟶
pushforwardTriangle f iU iV iW S Rf RU RV RUV af aU aV aUV E'
Tag 08DF, a lemma
Tag 08DF in the Stacks Project.
Stacks.Cohomology.PushforwardRestriction.isIso_derivedOpenPushforward_restrictionUnit_app_of_supported, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SupportedComplexes/PushforwardAndRestriction.lean, line 1067. The attribute's comment: “part (1)”.
Stacks Project, Tag 08DF, part (1). Let
j : U → Xbe the inclusion of an open subspace of a ringed space andT ⊆ Ua closed subset ofX. If every cohomology sheaf ofE ∈ D(O_X)is supported onT, then the canonical mapE ⟶ Rj_*(E|_U)is an isomorphism.
theorem isIso_derivedOpenPushforward_restrictionUnit_app_of_supported
{X : TopCat.{u}} (O : Sheaf (Opens.grothendieckTopology X) RingCat.{u})
(U : Opens X) (T : Set X) (hT : IsClosed T) (hTU : T ⊆ U)
[HasDerivedCategory (SheafOfModules.{u} O)]
[HasDerivedCategory (SheafOfModules.{u} (resRing U O))]
(E : DerivedCategory (SheafOfModules.{u} O))
(hE : CohomologySupportedOn O T E) :
IsIso ((derivedPushforwardRestrictionUnit O U (derivedOpenPushforward O U)
(derivedOpenPushforwardUnit O U)).app E)
Stacks.Cohomology.PushforwardRestriction.isIso_extensionByZeroToDerivedOpenPushforward_app_of_supported, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/SupportedComplexes/PushforwardAndRestriction.lean, line 1084. The attribute's comment: “part (2)”.
Stacks Project, Tag 08DF, part (2). Let
j : U → Xbe the inclusion of an open subspace of a ringed space andT ⊆ Ua closed subset ofX. If every cohomology sheaf ofF ∈ D(O_U)is supported onT, then the canonical mapj_! F ⟶ Rj_* Fis an isomorphism.
theorem isIso_extensionByZeroToDerivedOpenPushforward_app_of_supported
{X : TopCat.{u}} (O : Sheaf (Opens.grothendieckTopology X) RingCat.{u})
(U : Opens X) (T : Set X) (hT : IsClosed T) (hTU : T ⊆ U)
[HasDerivedCategory (SheafOfModules.{u} O)]
[HasDerivedCategory (SheafOfModules.{u} (resRing U O))]
(F : DerivedCategory (SheafOfModules.{u} (resRing U O)))
(hF : CohomologySupportedOn (resRing U O)
((fun x : Usp U ↦ x.1) ⁻¹' T) F) :
IsIso ((extensionByZeroToDerivedPushforward O U (derivedOpenPushforward O U)
(derivedOpenPushforwardUnit O U)).app F)
Tag 0G6X, a lemma
Tag 0G6X in the Stacks Project.
Stacks.Cohomology.LinearCupProductTriangle.linearCupProductMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/LinearCupProductTriangle.lean, line 717. The attribute's comment: “the map of triangles, with the vertices read on the chosen representatives”.
Stacks 0G6X. Let
(X, 𝒪_X)be a ringed space,A = Γ(X, 𝒪_X), and letX = U ∪ Vbe a union of two open subsets. For a choice of resolutions of two complexesKandMof𝒪_X-modules there is a map of distinguished triangles inD(A)from the Mayer--Vietoris triangle ofRΓ(X, K) ⊗^𝐋_A RΓ(-, M)to the Mayer--Vietoris triangle ofRΓ(-, K ⊗^𝐋_{𝒪_X} M)whose three vertical maps are the cup products overX, overUandV, and overU ∩ V.
theorem linearCupProductMayerVietoris (hUV : U ⊔ V = ⊤) :
cupSourceTriangle U V d hUV ∈ distTriang (DerivedCategory (ModuleCat.{u} (baseRing X))) ∧
cupTargetTriangle U V d hUV ∈
distTriang (DerivedCategory (ModuleCat.{u} (baseRing X))) ∧
(tensorRepresentative d).map
(DerivedCategory.Q.map (coverFirstComplex X U V d.inj)) ≫
derivedCupMiddle U V d =
derivedCupMap d ⊤ ≫ DerivedCategory.Q.map (coverFirstComplex X U V d.tgt) ∧
(tensorRepresentative d).map
(DerivedCategory.Q.map (coverSecondComplex X U V d.inj)) ≫
derivedCupMap d (U ⊓ V) =
derivedCupMiddle U V d ≫ DerivedCategory.Q.map (coverSecondComplex X U V d.tgt) ∧
cupBoundary U V d hUV ≫
(shiftFunctor (DerivedCategory (ModuleCat.{u} (baseRing X))) (1 : ℤ)).map
(derivedCupMap d ⊤) =
derivedCupMap d (U ⊓ V) ≫
DerivedCategory.triangleOfSESδ (shortExact_cupTarget U V d hUV)
Stacks.Cohomology.LinearCupProductTriangle.exists_cupData_linearCupProductMayerVietoris, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Sheaves/Cohomology/MayerVietoris/LinearCupProductTriangle.lean, line 742. The attribute's comment: “for arbitrary complexes, after replacing K by a K-injective resolution”.
Stacks 0G6X for arbitrary complexes. Every complex
Kof𝒪_X-modules admits a quasi-isomorphism into a complex carrying a choice of resolutions, so that the map of Mayer--Vietoris triangles above exists for every object ofD(𝒪_X).
theorem exists_cupData_linearCupProductMayerVietoris (hUV : U ⊔ V = ⊤)
(K M : CochainComplex (Modules X) ℤ) :
∃ (K' : CochainComplex (Modules X) ℤ) (e : K ⟶ K') (d : CupData X K' M), QuasiIso e ∧
cupSourceTriangle U V d hUV ∈
distTriang (DerivedCategory (ModuleCat.{u} (baseRing X))) ∧
cupTargetTriangle U V d hUV ∈
distTriang (DerivedCategory (ModuleCat.{u} (baseRing X))) ∧
(tensorRepresentative d).map
(DerivedCategory.Q.map (coverFirstComplex X U V d.inj)) ≫
derivedCupMiddle U V d =
derivedCupMap d ⊤ ≫ DerivedCategory.Q.map (coverFirstComplex X U V d.tgt) ∧
(tensorRepresentative d).map
(DerivedCategory.Q.map (coverSecondComplex X U V d.inj)) ≫
derivedCupMap d (U ⊓ V) =
derivedCupMiddle U V d ≫ DerivedCategory.Q.map (coverSecondComplex X U V d.tgt) ∧
cupBoundary U V d hUV ≫
(shiftFunctor (DerivedCategory (ModuleCat.{u} (baseRing X))) (1 : ℤ)).map
(derivedCupMap d ⊤) =
derivedCupMap d (U ⊓ V) ≫
DerivedCategory.triangleOfSESδ (shortExact_cupTarget U V d hUV)
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.