25 Hypercoverings
Chapter 25 of the Stacks Project, Hypercoverings, Tag 01FX: the 11 sections of its 12 with a tag that a declaration carries, one article each, in the Stacks Project's order. Their 53 tags are carried by 114 declarations of the repository (all in StacksFrontier) and 12 registered declarations.
Section25.2 Semi-representable objects#
Section 25.2 of the Stacks Project, Tag 0DBB. 3 tags here are carried by 12 declarations of the repository (all in StacksFrontier) and 4 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01G0, a definition
Tag 01G0 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Limits.FormalCoproductregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 13 (StacksFrontier): “the objects ofSR(C): families{U_i}_{i ∈ I}of objects ofC”.CategoryTheory.Limits.FormalCoproduct.Homregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 16 (StacksFrontier): “the morphisms ofSR(C): a mapα : I → Jand morphismsU_i → V_{α(i)}”.CategoryTheory.Limits.FormalCoproduct.categoryregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 19 (StacksFrontier): “the category structure onSR(C): identities and composition of such pairs”.
Tag 01G1, a definition
Tag 01G1 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Limits.FormalCoproduct.yonedaregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 27 (StacksFrontier): “the functorF : SR(C) → PSh(C),{U_i}_{i ∈ I} ↦ ∐ h_{U_i}”.
Tag 01G2, a lemma
Tag 01G2 in the Stacks Project.
CategoryTheory.Limits.FormalCoproduct.instHasBinaryProducts, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductBinaryProducts.lean, line 55. The attribute's comment: “products of pairs in SR(C)”.
Stacks Project, Tag 01G2, products of pairs clause. If
Chas binary products, then so does its category of formal coproducts — equivalently, the categorySR(C)of semi-representable objects ofChas binary products.
instance instHasBinaryProducts : HasBinaryProducts (FormalCoproduct.{w} C)
CategoryTheory.Limits.FormalCoproduct.instHasEqualizers, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductEqualizers.lean, line 116. The attribute's comment: “equalizers”. References: SGA 4 V (7.3.0), “equalizers in SR(C)”.
Stacks Project, Tag 01G2, equalizers clause. If
Chas equalizers, then so does its category of formal coproducts — equivalently, the categorySR(C)of semi-representable objects ofChas equalizers.
instance instHasEqualizers : HasEqualizers (FormalCoproduct.{w} C)
CategoryTheory.Limits.FormalCoproduct.hasCoproducts_formalCoproduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductLimits.lean, line 81. The attribute's comment: “coproducts in SR(C)”.
Stacks Project, Tag 01G2, coproducts clause, first half. The category of formal coproducts of
C— equivalently, the categorySR(C)of semi-representable objects ofC— has arbitrary coproducts, indexed by types in the index universew. The coproduct of a family of families of objects is obtained by concatenating the index types.
theorem hasCoproducts_formalCoproduct : HasCoproducts.{w} (FormalCoproduct.{w} C)
CategoryTheory.Limits.FormalCoproduct.preservesColimitsOfShape_yoneda, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductLimits.lean, line 88. The attribute's comment: “F commutes with coproducts”.
Stacks Project, Tag 01G2, coproducts clause, second half. The functor
F : SR(C) ⥤ PSh(C), sending a family{U_i}of objects ofCto the coproduct∐ h_{U_i}of the representable presheaves, commutes with coproducts.
theorem preservesColimitsOfShape_yoneda (J : Type v) :
PreservesColimitsOfShape (Discrete J) (FormalCoproduct.yoneda (C := C))
CategoryTheory.Limits.FormalCoproduct.preservesLimitsOfSize_yoneda, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductLimits.lean, line 133. The attribute's comment: “F : SR(C) → PSh(C) commutes with limits”.
Stacks Project, Tag 01G2, limits clause. The functor
F : SR(C) ⥤ PSh(C), sending a family{U_i}of objects ofCto the coproduct∐ h_{U_i}of the representable presheaves, commutes with limits — of any shape, and for an arbitrary categoryC.Limits of presheaves are computed sectionwise, and each section functor of
Fis corepresentable byyonedaCompEvaluationIso.
noncomputable instance preservesLimitsOfSize_yoneda :
PreservesLimitsOfSize.{w, w'} (FormalCoproduct.yoneda (C := C))
CategoryTheory.Limits.FormalCoproduct.hasPullbacks_formalCoproduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductLimits.lean, line 149. The attribute's comment: “fibre products in SR(C)”.
Stacks Project, Tag 01G2, fibre products clause. If
Chas fibre products, then so does its category of formal coproducts — equivalently, the categorySR(C)of semi-representable objects ofChas fibre products. They are computed componentwise, the index type of{U_i} ×_{{V_j}} {W_k}being the set of triples(i, j, k)withjthe common image ofiand ofk.
theorem hasPullbacks_formalCoproduct [HasPullbacks C] :
HasPullbacks (FormalCoproduct.{w} C)
CategoryTheory.Limits.FormalCoproduct.hasTerminal_formalCoproduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Limits/FormalCoproductLimits.lean, line 162. The attribute's comment: “final object in SR(C)”.
Stacks Project, Tag 01G2, final object clause. If
Chas a final objectX, then the one-member family{X}is a final object of the category of formal coproducts ofC— equivalently, of the categorySR(C)of semi-representable objects ofC.
theorem hasTerminal_formalCoproduct [HasTerminal C] :
HasTerminal (FormalCoproduct.{w} C)
Stacks.CategoryTheory.Hypercovering.hasFiniteLimits_formalCoproductOver, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 915. The attribute's comment: “SR(C, X) has finite limits”.
Stacks Project, Tag 01G2, finite limits clause for
SR(C, X), first half. IfChas fibre products thenSR(C, X)has finite limits: it has a terminal object, namely{X → X}, and it has fibre products, computed componentwise.The second half of the clause, that
F : SR(C, X) ⥤ PSh(C)/h_Xcommutes with those finite limits, is the instanceCategoryTheory.Limits.FormalCoproduct.preservesLimitsOfSize_yonedaOverinStacksFrontier.CategoryTheory.Sites.Localization.SemiRepresentableOver, for limits of every shape.
instance hasFiniteLimits_formalCoproductOver {X : C} :
HasFiniteLimits (FormalCoproduct.{w} (Over X))
CategoryTheory.Limits.FormalCoproduct.yonedaOverObjIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Localization/SemiRepresentableOver.lean, line 207. The attribute's comment: “the value of F: F({U_i → X}) is ∐ h_{U_i} augmented to h_X”.
The value of
Fon a family, Stacks Project, Tag 01G2.F({U_i → X})is the coproduct∐ h_{U_i}of the representable presheaves of theU_i, equipped with the map toh_Xwhose component onh_{U_i}ishof the structure morphismU_i → X. This is the source'sF({U_i → X}) = (∐ h_{U_i} → h_X), and it is what makes the clauses below statements about the source'sF.The proof is the source's description read backwards:
FormalCoproduct.yonedaofC/Xsends{U_i → X}to the coproduct of the presheaves onC/Xrepresented by theU_i → X, the presheaf levelj_{X!}preserves that coproduct because it is a left adjoint (OverShriek.presheafAdjunction), and it takes the presheaf represented byU_i → Xto the presheaf represented byU_ioverh_X(OverShriek.presheafFunctorToOverYonedaIso).
noncomputable def yonedaOverObjIso (A : FormalCoproduct.{v} (Over X)) :
(yonedaOver X).obj A ≅
Over.mk (Sigma.desc fun i : A.I ↦ CategoryTheory.yoneda.map (A.obj i).hom)
CategoryTheory.Limits.FormalCoproduct.hasCoproducts_formalCoproductOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Localization/SemiRepresentableOver.lean, line 216. The attribute's comment: “coproducts in SR(C, X)”.
Stacks Project, Tag 01G2, coproducts clause for
SR(C, X), first half. The categorySR(C, X)of semi-representable objects overXhas arbitrary coproducts, obtained by concatenating the index types of the families.
theorem hasCoproducts_formalCoproductOver :
HasCoproducts.{w} (FormalCoproduct.{w} (Over X))
CategoryTheory.Limits.FormalCoproduct.preservesColimitsOfShape_yonedaOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Localization/SemiRepresentableOver.lean, line 224. The attribute's comment: “F commutes with coproducts in SR(C, X)”.
Stacks Project, Tag 01G2, coproducts clause for
SR(C, X), second half. The functorF : SR(C, X) ⥤ PSh(C)/h_Xcommutes with coproducts: the semi-representable Yoneda embedding ofC/Xdoes, andj_{X!} : PSh(C/X) ⥤ PSh(C)/h_Xis an equivalence.
theorem preservesColimitsOfShape_yonedaOver (J : Type v) :
PreservesColimitsOfShape (Discrete J) (yonedaOver X)
CategoryTheory.Limits.FormalCoproduct.preservesLimitsOfSize_yonedaOver, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Localization/SemiRepresentableOver.lean, line 235. The attribute's comment: “F : SR(C, X) → PSh(C)/h_X commutes with finite limits”.
Stacks Project, Tag 01G2, finite limits clause for
SR(C, X), second half. The functorF : SR(C, X) ⥤ PSh(C)/h_Xcommutes with limits of every shape, with no hypothesis onC; this strengthens the finite limits of the source's clause. The first half, thatSR(C, X)has finite limits as soon asChas fibre products, isStacks.CategoryTheory.Hypercovering.hasFiniteLimits_formalCoproductOver.
noncomputable instance preservesLimitsOfSize_yonedaOver :
PreservesLimitsOfSize.{w, w'} (yonedaOver X)
Sources
Section25.3 Hypercoverings#
Section 25.3 of the Stacks Project, Tag 01FZ. 8 tags here are carried by 23 declarations of the repository (all in StacksFrontier) and 5 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01G3, a definition
Tag 01G3 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.CoveringFamilies.IsCovering, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringFamilies.lean, line 157. The attribute's comment: “the definition for SR(C)”.
Stacks Project, Tag 01G3. A morphism of semi-representable objects is covering when every one of its fibre families is a covering family of the site. The target is allowed to be an arbitrary formal coproduct, as it is for a matching object.
abbrev IsCovering (Cov : CoveringFamilies.{s, w} C) {U : SetFamily.{w} C}
{V : FormalCoproduct.{w + 1} C} (f : U.toFormalCoproduct ⟶ V) : Prop
Stacks.CategoryTheory.Hypercovering.CoveringFamilies.IsCoveringOver, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringFamilies.lean, line 164. The attribute's comment: “the definition for SR(C, X)”.
Stacks Project, Tag 01G3. A morphism of semi-representable objects over
Xis covering when every one of its underlying fibre families is a covering family of the site.
abbrev IsCoveringOver (Cov : CoveringFamilies.{s, w} C)
{X : C} {U : SetFamily.{w} (Over X)} {V : FormalCoproduct.{w + 1} (Over X)}
(f : U.toFormalCoproduct ⟶ V) : Prop
Tag 01G4, a lemma
Tag 01G4 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.IsCovering.comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 192. The attribute's comment: “part (1), for SR(C)”.
Stacks Project, Tag 01G4, part (1). The composition of two covering morphisms of semi-representable objects is a covering morphism.
theorem IsCovering.comp (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage]
{U V W : FormalCoproduct.{w} C} {f : U ⟶ V} {g : V ⟶ W}
(hf : IsCovering J f) (hg : IsCovering J g) : IsCovering J (f ≫ g)
Stacks.CategoryTheory.Hypercovering.IsCoveringOver.comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 213. The attribute's comment: “part (1), for SR(C, X)”.
Stacks Project, Tag 01G4, part (1). The composition of two covering morphisms of semi-representable objects over
Xis a covering morphism.
theorem IsCoveringOver.comp (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
{U V W : FormalCoproduct.{w} (Over X)} {f : U ⟶ V} {g : V ⟶ W}
(hf : IsCoveringOver J f) (hg : IsCoveringOver J g) : IsCoveringOver J (f ≫ g)
Stacks.CategoryTheory.Hypercovering.IsCovering.pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 352. The attribute's comment: “part (2), for SR(C)”.
Stacks Project, Tag 01G4, part (2). The base change of a covering morphism of semi-representable objects along any morphism exists and is a covering morphism.
theorem IsCovering.pullback (J : Pretopology C) {U V W : FormalCoproduct.{w} C}
(f : U ⟶ V) (g : W ⟶ V) (hf : IsCovering J f) :
IsCovering J (pullbackFormalCoproduct.snd f g (pullbackConeFamily f g))
Stacks.CategoryTheory.Hypercovering.IsCoveringOver.pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 375. The attribute's comment: “part (2), for SR(C, X)”.
Stacks Project, Tag 01G4, part (2). The base change of a covering morphism of semi-representable objects over
Xalong any morphism exists and is a covering morphism.
theorem IsCoveringOver.pullback (J : Pretopology C) {X : C}
{U V W : FormalCoproduct.{w} (Over X)} (f : U ⟶ V) (g : W ⟶ V) (hf : IsCoveringOver J f) :
IsCoveringOver J (pullbackFormalCoproduct.snd f g (pullbackConeFamilyOver f g))
Stacks.CategoryTheory.Hypercovering.IsCovering.prod_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 436. The attribute's comment: “part (3), for SR(C)”.
Stacks Project, Tag 01G4, part (3). The product of two covering morphisms of semi-representable objects is a covering morphism.
theorem IsCovering.prod_map (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage]
[HasBinaryProducts (FormalCoproduct.{w} C)]
{A B K L : FormalCoproduct.{w} C} {f : A ⟶ B} {g : K ⟶ L}
(hf : IsCovering J f) (hg : IsCovering J g) : IsCovering J (prod.map f g)
Stacks.CategoryTheory.Hypercovering.IsCoveringOver.prod_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 449. The attribute's comment: “part (3), for SR(C, X)”.
Stacks Project, Tag 01G4, part (3). The product of two covering morphisms of semi-representable objects over
Xis a covering morphism.
theorem IsCoveringOver.prod_map (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
[HasBinaryProducts (FormalCoproduct.{w} (Over X))]
{A B K L : FormalCoproduct.{w} (Over X)} {f : A ⟶ B} {g : K ⟶ L}
(hf : IsCoveringOver J f) (hg : IsCoveringOver J g) :
IsCoveringOver J (prod.map f g)
Tag 01G5, a definition
Tag 01G5 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.CoveringFamilies.IsHypercovering, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringFamilies.lean, line 186. References: SGA 4 V (7.3.3), “object case, no type p”.
Stacks Project, Tag 01G5. A hypercovering of
Xfor the site's covering families: the degree-zero family is one of the covering families ofX, and all fibres of the successive matching morphisms are covering families of the site. The coskeleton is computed in formal coproducts, after including the set-indexed families.
abbrev IsHypercovering (Cov : CoveringFamilies.{s, w} C) {X : C}
(K : SimplicialObject (SetFamily.{w} (Over X))) : Prop
Tag 01G6, an example
Tag 01G6 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isCoveringOver_terminal_from_power, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 286. The attribute's comment: “condition (1) of Definition 01G5, for the degree-zero term of the Čech object”.
Stacks Project, Tag 01G6, condition (1) of Definition 01G5 for the Čech construction. If the family
UcoversXthen so does itsα-fold power for a one-element index typeα, which is the degree-zero term of the Čech object ofU: that term isUagain, its component atibeing a product of one copy of the component ofUati default.
theorem isCoveringOver_terminal_from_power (J : Pretopology C) {X : C}
(U : FormalCoproduct.{w} (Over X)) (α : Type) [Unique α] [HasProductsOfShape α (Over X)]
(hU : IsCoveringOver J (terminal.from U)) :
IsCoveringOver J (terminal.from (U.power α))
Stacks.CategoryTheory.Hypercovering.IsCechHypercovering, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 328. The attribute's comment: “the definition of a Čech hypercovering”.
Stacks Project, Tag 01G6. A simplicial object
KofSR(C, X)is a Čech hypercovering ofXwhen its degree-zero familyK_0coversXandKis the zeroth coskeleton ofK_0, that is, whenKis isomorphic tocosk₀ Ufor a zero-truncated simplicial objectUofSR(C, X).
abbrev IsCechHypercovering (J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X))) : Prop
Stacks.CategoryTheory.Hypercovering.IsCechHypercovering.isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 339. The attribute's comment: “condition (2) of Definition 01G5 by Tag 018B, hence the hypercovering property”.
Stacks Project, Tag 01G6, condition (2) of Definition 01G5 and the hypercovering property. A Čech hypercovering of
Xis a hypercovering ofX: its degree-zero family coversXby definition, and each of its matching morphisms is an isomorphism, hence covering, becausecosk₀ Uisn-coskeletal for everyn(Tag 018B).
theorem IsCechHypercovering.isHypercovering {J : Pretopology C} {X : C}
{K : SimplicialObject (FormalCoproduct.{w} (Over X))} (hK : IsCechHypercovering J K) :
IsHypercovering J K
Stacks.CategoryTheory.Hypercovering.isCechHypercovering_cech, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 363. The attribute's comment: “the Čech object of a covering family is a Čech hypercovering”.
Stacks Project, Tag 01G6. The Čech object of a covering family of
Xis a Čech hypercovering ofX: its degree-zero term is the covering family again, and it is0-coskeletal, hence isomorphic to the zeroth coskeleton of that term.
theorem isCechHypercovering_cech (J : Pretopology C) {X : C}
(A : FormalCoproduct.{w} (Over X)) (hA : IsCoveringOver J (terminal.from A)) :
let : HasTerminal (Over X) := Over.over_hasTerminal X
let : HasBinaryProducts (Over X) :=
Over.ConstructProducts.over_binaryProduct_of_pullback
let : HasFiniteProducts (Over X) := hasFiniteProducts_of_has_binary_and_terminal
IsCechHypercovering J A.cech
Stacks.CategoryTheory.Hypercovering.isHypercovering_cech_of_isCoveringOver, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 383. The attribute's comment: “the Čech object of a covering family is a hypercovering”.
Stacks Project, Tag 01G6. The Čech object of a covering family
{U_i → X}_{i ∈ I}ofXis a hypercovering ofX. Its degree-nterm is the family of the(n + 1)-fold fibre productsU_{i_0} ×_X ⋯ ×_X U_{i_n}overX, indexed byI^{n + 1}; seeFormalCoproduct.cech_obj,FormalCoproduct.power_IandFormalCoproduct.power_obj. The one-member case isisHypercovering_cech, Tag 0GMA.
theorem isHypercovering_cech_of_isCoveringOver (J : Pretopology C) {X : C}
(A : FormalCoproduct.{w} (Over X)) (hA : IsCoveringOver J (terminal.from A)) :
let : HasTerminal (Over X) := Over.over_hasTerminal X
let : HasBinaryProducts (Over X) :=
Over.ConstructProducts.over_binaryProduct_of_pullback
let : HasFiniteProducts (Over X) := hasFiniteProducts_of_has_binary_and_terminal
IsHypercovering J A.cech
Stacks.CategoryTheory.Hypercovering.isHypercovering_cosk_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 409. The attribute's comment: “the hypercovering property in the cosk₀ form”.
Stacks Project, Tag 01G6, in the
cosk₀shape in which the source states it: the zeroth coskeleton of a zero-truncated simplicial object ofSR(C, X)is a hypercovering ofXas soon as its degree-zero family coversX. The degree-zero family ofcosk₀ UisUup to the isomorphism given by the counit of the coskeletal adjunction; the covering hypothesis is stated forcosk₀ Uitself because a covering family of a pretopology need not stay covering under an arbitrary isomorphism ofSR(C, X)— see the implementation notes.This is a convenience restatement, not the tag's assertion, and its hypothesis placement is not claimed to be optimal: the counit comparison at level
0is a limit over a one-object, one-morphism indexing category, so it is of the objectwise shape thatisCoveringOver_terminal_from_of_objFuntransports, and stating the hypothesis onUitself is expected to be reachable by that route — it would need an explicit description of the pointwise right Kan extension at degree0, which is not developed here. For the covering family itself as the hypothesis, useisHypercovering_cech_of_isCoveringOver, which carries the source's own hypothesis and whose Čech object is0-coskeletal and therefore of this form.
theorem isHypercovering_cosk_zero (J : Pretopology C) {X : C}
(U : SimplicialObject.Truncated (FormalCoproduct.{w} (Over X)) 0)
(hU : IsCoveringOver J
(terminal.from (((SimplicialObject.Truncated.cosk 0).obj U).obj (op ⦋0⦌)))) :
IsHypercovering J ((SimplicialObject.Truncated.cosk 0).obj U)
Stacks.CategoryTheory.Hypercovering.isLimitWidePullbackConePowerObj, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 427. The attribute's comment: “the terms in C: each component is the fibre product over X of its factors”.
Stacks Project, Tag 01G6, the terms clause read in
C. The component ati : α → Iof theα-fold power of the familyA = {U_i → X}is a product taken inOver X; its underlying object ofCis the fibre product overXof theU_{i a}. Precisely, the cone inCwith apex that underlying object, projections the underlying morphisms of the product projections ofOver Xand base the structure morphism toX, is a limit of the wide cospan of the structure morphismsU_{i a} → X.Together with
FormalCoproduct.cech_obj,FormalCoproduct.power_IandFormalCoproduct.power_objthis is the source's formulaK_n = {U_{i_0} ×_X ⋯ ×_X U_{i_n} → X}indexed byI^{n + 1}: takeα = Fin (n + 1).
noncomputable def isLimitWidePullbackConePowerObj {X : C} (A : FormalCoproduct.{w} (Over X))
(α : Type) [Finite α] :
let : HasTerminal (Over X) := Over.over_hasTerminal X
let : HasBinaryProducts (Over X) :=
Over.ConstructProducts.over_binaryProduct_of_pullback
let : HasFiniteProducts (Over X) := hasFiniteProducts_of_has_binary_and_terminal
∀ i : α → A.I, IsLimit (WidePullbackCone.mk (f := fun a ↦ (A.obj (i a)).hom)
((A.power α).obj i).hom (fun a ↦ (Pi.π (A.obj ∘ i) a).left)
fun a ↦ Over.w (Pi.π (A.obj ∘ i) a))
Declarations registered for the tag:
FormalCoproduct.cech_objregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 451 (StacksFrontier): “the terms: the degree-nterm is the(n + 1)-fold power”.FormalCoproduct.power_Iregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 453 (StacksFrontier): “the terms: the index setI^{n + 1}”.FormalCoproduct.power_objregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/Cech.lean, line 454 (StacksFrontier): “the terms: the fibre product overXof the indexed components”.
Tag 0GM9, an example
Tag 0GM9 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.associatedSimplicialObject, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/FromSimplicialObject.lean, line 172. The attribute's comment: “the associated simplicial object”.
Stacks Project, Tag 0GM9. The one-summand simplicial semi-representable object associated to an augmented simplicial object of the site.
def associatedSimplicialObject :
SimplicialObject (FormalCoproduct.{w} (Over X))
Stacks.CategoryTheory.Hypercovering.isHypercovering_associatedSimplicialObject_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/FromSimplicialObject.lean, line 682. The attribute's comment: “the covering characterization”.
Stacks Project, Tag 0GM9. The simplicial semi-representable object over
Xassociated to an augmented simplicial objectU ⟶ Xis a hypercovering exactly when the augmentation in degree zero, the degree-one morphism toU₀ ×_X U₀, and every higher matching morphism generate a covering presieve of the site.
theorem isHypercovering_associatedSimplicialObject_iff (J : Pretopology C) :
IsHypercovering J (associatedSimplicialObject U a) ↔
(Presieve.singleton (a.app (Opposite.op (SimplexCategory.mk 0))) ∈ J X) ∧
(Presieve.singleton (oneSimplexToFiberProduct U a) ∈
J (pullback (a.app (Opposite.op (SimplexCategory.mk 0)))
(a.app (Opposite.op (SimplexCategory.mk 0))))) ∧
∀ n : ℕ, 1 ≤ n → Presieve.singleton (matchingMap U a n) ∈
J ((((SimplicialObject.cosk n).obj (Over.lift U a)).obj
(Opposite.op (SimplexCategory.mk (n + 1)))).left)
Tag 0GMA, an example
Tag 0GMA in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isHypercovering_cech, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CechOfCovering.lean, line 211. The attribute's comment: “the hypercovering property”.
Stacks Project, Tag 0GMA. The Čech object of a covering morphism is a hypercovering of its target.
theorem isHypercovering_cech (J : Pretopology C) {U X : C} (f : U ⟶ X)
(hf : Presieve.singleton f ∈ J.coverings X) :
let : HasTerminal (Over X) := Over.over_hasTerminal X
let : HasBinaryProducts (Over X) :=
Over.ConstructProducts.over_binaryProduct_of_pullback
let : HasFiniteProducts (Over X) := hasFiniteProducts_of_has_binary_and_terminal
IsHypercovering J ((FormalCoproduct.incl (Over X)).obj (Over.mk f)).cech
Declarations registered for the tag:
FormalCoproduct.cechregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/CechOfCovering.lean, line 54 (StacksFrontier): “the Čech simplicial construction”.FormalCoproduct.cech_objregistered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/CechOfCovering.lean, line 55 (StacksFrontier): “the terms”.
Tag 01G7, a lemma
Tag 01G7 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.small_hypercoverings, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Small.lean, line 92.
Stacks Project, Tag 01G7. Hypercoverings of an object of a site with fibre products form a set.
public theorem small_hypercoverings (Cov : CoveringFamilies.{s, w} C) (X : C) :
Small.{max s u v w}
{K : SimplicialObject (SetFamily.{w} (Over X)) //
CoveringFamilies.IsHypercovering Cov K}
Tag 01G9, a lemma
Tag 01G9 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.locallySurjective_augmentation_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/LocallySurjective.lean, line 852. The attribute's comment: “part (1)”.
The degree-zero augmentation of the simplicial presheaf associated to a hypercovering is locally surjective.
theorem locallySurjective_augmentation_of_isHypercovering
(J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K) :
Presheaf.IsLocallySurjective J.toGrothendieck
((associatedAugmentedSimplicialPresheafOver K).hom.app
(Opposite.op (SimplexCategory.mk 0)))
Stacks.CategoryTheory.Hypercovering.locallySurjective_oneMatchingMap_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/LocallySurjective.lean, line 879. The attribute's comment: “part (2)”.
The map from one-simplices to the fibre product of two copies of the presheaf of vertices over the representable presheaf of
Xis locally surjective.
theorem locallySurjective_oneMatchingMap_of_isHypercovering
(J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K) :
Presheaf.IsLocallySurjective J.toGrothendieck
(oneMatchingMap (associatedAugmentedSimplicialPresheafOver K).left
(associatedAugmentedSimplicialPresheafOver K).right
(associatedAugmentedSimplicialPresheafOver K).hom)
Stacks.CategoryTheory.Hypercovering.locallySurjective_higherMatchingMap_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/LocallySurjective.lean, line 895. The attribute's comment: “part (3)”.
Every higher matching map of the simplicial presheaf associated to a hypercovering is locally surjective.
theorem locallySurjective_higherMatchingMap_of_isHypercovering
(J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K) (n : ℕ) (hn : 1 ≤ n) :
Presheaf.IsLocallySurjective J.toGrothendieck
(((SimplicialObject.coskAdj n).unit.app
(associatedAugmentedSimplicialPresheafOver K).left).app
(Opposite.op (SimplexCategory.mk (n + 1))))
Sources
Section25.4 Acyclicity#
Section 25.4 of the Stacks Project, Tag 01GA. 5 tags here are carried by 7 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GB, a definition
Tag 01GB in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.SimplicialObject.sheafHomology, declared in the repository, registered withadd_to_stacksin StacksFrontier/CategoryTheory/Sites/Hypercovering/CoskeletalAcyclicity.lean, line 120 (StacksFrontier).
Tag 01GC, a lemma
Tag 01GC in the Stacks Project.
CategoryTheory.Presheaf.isZero_sheafHomology_cechNerve_of_isLocallySurjective, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechNerveHomology.lean, line 530. The attribute's comment: “positive degrees”.
The positive homology sheaves of the Čech nerve of a locally surjective morphism of presheaves of sets vanish.
lemma isZero_sheafHomology_cechNerve_of_isLocallySurjective (hf : IsLocallySurjective J f)
(n : ℕ) (hn : 0 < n) :
IsZero (SimplicialObject.sheafHomology J (Arrow.mk f).cechNerve n)
CategoryTheory.Presheaf.isIso_cechNerveSheafHomologyZeroAugmentation, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CechNerveHomology.lean, line 547. The attribute's comment: “degree zero”.
The augmentation of the Čech nerve of a locally surjective morphism induces an isomorphism from its degree-zero homology sheaf to the free abelian sheaf on the target.
lemma isIso_cechNerveSheafHomologyZeroAugmentation (hf : IsLocallySurjective J f) :
IsIso (cechNerveSheafHomologyZeroAugmentation J f)
Tag 01GD, a lemma
Tag 01GD in the Stacks Project.
CategoryTheory.SimplicialObject.isIso_sheafHomologyFunctor_map_of_coskeletal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoskeletalAcyclicity.lean, line 507. References: SGA 4 V (7.2.1), “homology iso”.
Stacks Project, Tag 01GD. A morphism between
n-coskeletal simplicial presheaves which is an isomorphism in degrees belownand locally surjective in degreeninduces an isomorphism on every homology sheaf.
theorem isIso_sheafHomologyFunctor_map_of_coskeletal
(J : GrothendieckTopology C) [HasSheafify J AddCommGrpCat.{w}]
{L K : SimplicialObject (Cᵒᵖ ⥤ Type w)} (f : L ⟶ K) (n i : ℕ)
(h_lt : ∀ j : ℕ, j < n → IsIso (f.app (op (SimplexCategory.mk j))))
(h_surjective :
Presheaf.IsLocallySurjective J (f.app (op (SimplexCategory.mk n))))
(hL : IsIso ((SimplicialObject.coskAdj n).unit.app L))
(hK : IsIso ((SimplicialObject.coskAdj n).unit.app K)) :
IsIso ((sheafHomologyFunctor J i).map f)
Tag 01GE, a lemma
Tag 01GE in the Stacks Project.
CategoryTheory.SimplicialObject.Augmented.isZero_sheafHomology_of_isLocallySurjective_matchingMaps, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/AugmentedAcyclicity.lean, line 568. The attribute's comment: “positive-degree vanishing”. References: SGA 4 V (7.3.2), “more general”.
Stacks Project, Tag 01GE (positive degrees). An augmented simplicial presheaf whose degree-zero augmentation, relation map and matching maps are all locally surjective has zero homology sheaf in every positive degree.
theorem isZero_sheafHomology_of_isLocallySurjective_matchingMaps
(J : GrothendieckTopology C) [HasSheafify J AddCommGrpCat.{w}]
(K : SimplicialObject.Augmented (Cᵒᵖ ⥤ Type w))
(h₀ : Presheaf.IsLocallySurjective J
(K.hom.app (op (SimplexCategory.mk 0))))
(h₁ : Presheaf.IsLocallySurjective J (edgesToFiberProduct K))
(hmatching : ∀ n : ℕ, 1 ≤ n → Presheaf.IsLocallySurjective J
(((SimplicialObject.coskAdj n).unit.app K.left).app
(op (SimplexCategory.mk (n + 1)))))
(i : ℕ) (hi : 0 < i) :
IsZero (SimplicialObject.sheafHomology J K.left i)
CategoryTheory.SimplicialObject.Augmented.sheafHomologyZeroIso_of_isLocallySurjective_matchingMaps, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/AugmentedAcyclicity.lean, line 588. The attribute's comment: “degree-zero identification”.
Stacks Project, Tag 01GE (degree zero). The degree-zero homology sheaf of an augmented simplicial presheaf whose degree-zero augmentation, relation map and matching maps are all locally surjective is the free abelian sheaf on its presheaf of augmentation points.
noncomputable def sheafHomologyZeroIso_of_isLocallySurjective_matchingMaps
(J : GrothendieckTopology C) [HasSheafify J AddCommGrpCat.{w}]
(K : SimplicialObject.Augmented (Cᵒᵖ ⥤ Type w))
(h₀ : Presheaf.IsLocallySurjective J
(K.hom.app (op (SimplexCategory.mk 0))))
(h₁ : Presheaf.IsLocallySurjective J (edgesToFiberProduct K))
(hmatching : ∀ n : ℕ, 1 ≤ n → Presheaf.IsLocallySurjective J
(((SimplicialObject.coskAdj n).unit.app K.left).app
(op (SimplexCategory.mk (n + 1))))) :
SimplicialObject.sheafHomology J K.left 0 ≅
(Presheaf.freeAbelianSheaf J).obj K.right
Tag 01GF, a lemma
Tag 01GF in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isZero_sheafHomology_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectAcyclicity.lean, line 90. The attribute's comment: “positive-degree vanishing”. References: SGA 4 V (7.3.2), “3) positive degrees”.
Stacks Project, Tag 01GF (positive degrees). The homology of the simplicial presheaf associated to a hypercovering vanishes in every positive degree.
theorem isZero_sheafHomology_of_isHypercovering (hK : IsHypercovering J K) (i : ℕ) (hi : 0 < i) :
IsZero (SimplicialObject.sheafHomology J.toGrothendieck
(SectionsOver.associatedSimplicialPresheaf.{w} K) i)
Stacks.CategoryTheory.Hypercovering.sheafHomologyZeroIso_of_isHypercovering, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectAcyclicity.lean, line 100. The attribute's comment: “degree-zero identification”. References: SGA 4 V (7.3.2), “3) degree zero”.
Stacks Project, Tag 01GF (degree zero). The degree-zero homology of the simplicial presheaf associated to a hypercovering is the free abelian sheaf on the represented object.
noncomputable def sheafHomologyZeroIso_of_isHypercovering (hK : IsHypercovering J K) :
SimplicialObject.sheafHomology J.toGrothendieck
(SectionsOver.associatedSimplicialPresheaf.{w} K) 0 ≅
(presheafToSheaf J.toGrothendieck AddCommGrpCat.{max u v w}).obj
(uliftYoneda.{max u w}.obj X ⋙ AddCommGrpCat.free.{max u v w})
Sources
Section25.5 Čech cohomology and hypercoverings#
Section 25.5 of the Stacks Project, Tag 01GU. 4 tags here are carried by 17 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GV, a lemma
Tag 01GV in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.nonempty_zerothCechCohomologyIsoSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectCohomology.lean, line 153. The attribute's comment: “some isomorphism Ȟ⁰(K, 𝓕) ≅ 𝓕(X) exists”.
Stacks Project, Tag 01GV, the existence half. Degree-zero Čech cohomology of a hypercovering is isomorphic to the group of sections of the coefficient sheaf on the covered object.
This asserts only that some isomorphism exists. The canonical one, inverse to the map induced by the augmentation of the Čech complex and natural in the sheaf, is
zerothCechCohomologyIsoSections.
theorem nonempty_zerothCechCohomologyIsoSections (J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K)
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) :
Nonempty ((SectionsOver.sectionsComplex J.toGrothendieck K F).homology 0 ≅
F.obj.obj (op X))
Stacks.CategoryTheory.Hypercovering.zerothCechCohomologyFunctorIsoSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectCohomologyZeroNatural.lean, line 126. The attribute's comment: “the identification Ȟ⁰(K, 𝓕) = 𝓕(X), as functors on Ab(C)”.
For a hypercovering
KofXthe degree-zero Čech cohomologyȞ⁰(K, -)is the functor of sections onX, as an isomorphism of functors on the abelian sheaves, inverse to the canonical map induced by the augmentation of the Čech complex by the sections onX.
noncomputable def zerothCechCohomologyFunctorIsoSections (hK : IsHypercovering J K) :
SectionsOver.sectionsComplexFunctor J.toGrothendieck K ⋙
HomologicalComplex.homologyFunctor AddCommGrpCat.{max u v w} (ComplexShape.up ℕ) 0 ≅
sheafToPresheaf J.toGrothendieck AddCommGrpCat.{max u v w} ⋙
(evaluation Cᵒᵖ AddCommGrpCat.{max u v w}).obj (op X)
Stacks.CategoryTheory.Hypercovering.zerothCechCohomologyIsoSections, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectCohomologyZeroNatural.lean, line 145. The attribute's comment: “the identification Ȟ⁰(K, 𝓕) = 𝓕(X)”.
For a hypercovering
KofXand an abelian sheafF, the degree-zero Čech cohomologyȞ⁰(K, F)is the groupF(X)of sections onX: the component atFofzerothCechCohomologyFunctorIsoSections.
noncomputable def zerothCechCohomologyIsoSections (hK : IsHypercovering J K)
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) :
(SectionsOver.sectionsComplex J.toGrothendieck K F).homology 0 ≅ F.obj.obj (op X)
Stacks.CategoryTheory.Hypercovering.isIso_kernelLift_terminalAugZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/TerminalAugmentationCohomologyZero.lean, line 392. The attribute's comment: “degree zero, as a kernel of the first differential of the Čech complex”.
[Stacks, Tag 01GV] in degree zero, in canonical-map form. For a hypercovering
Kof an objectXof a site and an arbitrary abelian sheafF, the canonical augmentationF(X) ⟶ ∏_{i ∈ K₀} F(K₀(i))of the Čech complex ofKexhibitsF(X)as the kernel of the first differential.No injectivity of
Fis assumed: the inputCategoryTheory.SimplicialObject.Augmented.isIso_kernelLift_freeAbelianSheafAugZeroneeds only conditions (1) and (2) of a hypercovering, whichStacks.CategoryTheory.Hypercovering.isLocallySurjective_of_isHypercoveringsupplies.The terminal object of
Over Xat which the augmentation is formed is arbitrary; the proof transports it toOver.mk (𝟙 X)byterminalAugZero_eq_comp_of_isTerminal.
theorem isIso_kernelLift_terminalAugZero (J : Pretopology C) {X : C}
(K : SimplicialObject (Limits.FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K) {T : Over X} (hT : IsTerminal T)
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) :
IsIso (kernel.lift ((SectionsOver.sectionsComplex J.toGrothendieck K F).d 0 1)
(terminalAugZero K hT
(((Functor.whiskeringLeft (Over X)ᵒᵖ Cᵒᵖ AddCommGrpCat.{max u v w}).obj
(Over.forget X).op).obj
((sheafToPresheaf J.toGrothendieck AddCommGrpCat.{max u v w}).obj F)))
(terminalAugZero_comp_d K hT
(((Functor.whiskeringLeft (Over X)ᵒᵖ Cᵒᵖ AddCommGrpCat.{max u v w}).obj
(Over.forget X).op).obj
((sheafToPresheaf J.toGrothendieck AddCommGrpCat.{max u v w}).obj F))))
Tag 01GW, a lemma
Tag 01GW in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.cechCohomologyOver_isZero_of_injective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectCohomology.lean, line 197. The attribute's comment: “positive degrees”.
Stacks Project, Tag 01GW (positive degrees). The positive-degree Čech cohomology of an injective abelian sheaf on a hypercovering vanishes.
Sheafification, which the statement does not need, is supplied inside the proof from
hasSheafify_addCommGrpCat.
theorem cechCohomologyOver_isZero_of_injective (J : Pretopology C) {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K)
(I : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) [Injective I]
(p : ℕ) (hp : 0 < p) :
IsZero ((SectionsOver.sectionsComplex J.toGrothendieck K I).homology p)
Stacks.CategoryTheory.Hypercovering.cechCohomologyOverIsoOfInjective, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ObjectCohomologyZeroNatural.lean, line 154.
For a hypercovering
KofXand an injective abelian sheafI, the Čech cohomologyȞᵖ(K, I)is the groupI(X)of sections onXwhenp = 0and is zero whenp > 0.
noncomputable def cechCohomologyOverIsoOfInjective (hK : IsHypercovering J K)
(I : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) [Injective I] (p : ℕ) :
(SectionsOver.sectionsComplex J.toGrothendieck K I).homology p ≅
if p = 0 then I.obj.obj (op X) else 0
Tag 01GX, an equation
Tag 01GX in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.SemiRepresentable.sectionsComplexIsoHomFreeAbelianSheafComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SectionsComplex.lean, line 670. The attribute's comment: “arbitrary semi-representable simplicial object”.
Stacks Project, Tag 01GX. The cochain complex of sections on any simplicial semi-representable presheaf is canonically the Hom complex from its complex of free abelian sheaves.
noncomputable def sectionsComplexIsoHomFreeAbelianSheafComplex
(J : GrothendieckTopology C)
[HasSheafify J AddCommGrpCat.{max (max u v) (max q w)}]
(K : SimplicialObject (FormalCoproduct.{w} C))
(F : Sheaf J AddCommGrpCat.{max (max u v) (max q w)}) :
sectionsComplex.{q, w, v, u} J K F ≅
homFreeAbelianSheafComplex.{q, w, v, u} J K F
Stacks.CategoryTheory.Hypercovering.SectionsOver.sectionsComplexIsoHomFreeAbelianSheafComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SectionsComplexOver.lean, line 551. The attribute's comment: “formal coproducts over an object”.
The complex obtained by evaluating an abelian sheaf
Fon a simplicial semi-representable objectKis isomorphic to the complex of morphisms from the associated complex of free abelian sheaves intoF.
noncomputable def sectionsComplexIsoHomFreeAbelianSheafComplex {X : C}
(J : GrothendieckTopology C) [HasSheafify J AddCommGrpCat.{max u v w}]
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(F : Sheaf J AddCommGrpCat.{max u v w}) :
sectionsComplex J K F ≅ homFreeAbelianSheafComplex J K F
Tag 01GY, a lemma
Tag 01GY in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercoverToDerivedSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyComparison.lean, line 120. The attribute's comment: “the comparison map s(F(K)) ⟶ RΓ(X, F) in D⁺(Ab), functorial in F”.
Stacks Project, Tag 01GY. For a hypercovering
Kof an objectXof a site with fibre products there are a canonical mapψfrom the sections onXto derived sections at the single complex, and a map
α : s(-(K)) ⟶ RΓ(X, -)in
D⁺(Ab), functorial in the abelian sheaf, compatible with the augmentation ofs(-(K))by the sections onX; and both are isomorphisms at every injective sheaf.The last clause is what makes the statement non-vacuous: by
StacksDraft.DerivedSectionsComparison.isZero_of_pin_zero,α = 0would forceQ(s(I(K)))to be a zero object for every injectiveI.
theorem exists_hypercoverToDerivedSections (hK : IsHypercovering J K) :
∃ (ψ : (sheafSectionsFunctor.{w} J X ⋙ singlePlus AddCommGrpCat.{max u v w}) ⋙
DerivedCategory.Plus.Q ⟶ derivedSectionsFunctor.{w} J X)
(α : hypercoverDerivedFunctor.{w} J X K ⟶ derivedSectionsFunctor.{w} J X),
Functor.whiskerRight
(epsNat (sheafSectionsFunctor.{w} J X) (hypercoverCochainIntFunctor.{w} J X K)
(sectionsEps.{w} J X K)
(fun {_ _} φ ↦ sectionsEps_naturality.{w} J X K φ)
(isZero_hypercoverCochainIntFunctor_obj_X.{w} J X K))
DerivedCategory.Plus.Q ≫ α = ψ ∧
(∀ F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}, Injective F → IsIso (ψ.app F)) ∧
∀ F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}, Injective F → IsIso (α.app F)
Stacks.CategoryTheory.Hypercovering.exists_cechCohomologyToSheafCohomology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyComparison.lean, line 166. The attribute's comment: “the induced natural transformations Ȟ^i(K, -) ⟶ H^i(X, -)”.
Stacks Project, Tag 01GY. The comparison map of
exists_hypercoverToDerivedSectionsinduces, in every degreei, a natural transformation
Ȟ^i(K, -) ⟶ H^i(X, -)of functors from abelian sheaves to abelian groups, and these are isomorphisms at every injective sheaf.
The source is the
i-th cohomology of the complexs(-(K))itself, i.e. the Čech cohomology of the hypercovering, and the target is thei-th cohomology ofRΓ(X, -), i.e. sheaf cohomology onX. The invertibility at injectives is again what rules out the zero transformation.
theorem exists_cechCohomologyToSheafCohomology (hK : IsHypercovering J K) :
∃ β : ∀ i : ℤ,
(hypercoverCochainIntFunctor.{w} J X K ⋙
HomologicalComplex.homologyFunctor AddCommGrpCat.{max u v w}
(ComplexShape.up ℤ) i) ⟶
(derivedSectionsFunctor.{w} J X ⋙
DerivedCategory.Plus.homologyFunctor AddCommGrpCat.{max u v w} i),
∀ (i : ℤ) (F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}),
Injective F → IsIso ((β i).app F)
Stacks.CategoryTheory.Hypercovering.hypercoverComparisonMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/DerivedComparisonBoundedBelow.lean, line 546. The attribute's comment: “comparison_map”.
The comparison map of Stacks 01GY: for a hypercovering
KofX, the natural transformations(F(K)) ⟶ RΓ(X, F)inD⁺(Ab).It is
s(F(K)) ≅ Θ(F[0]) ⟶ RΘ(F[0]) ≅ RΓ(X, F): the identification ofs(F(K))with the hypercover total complex ofF[0], the unit of the right derived functor ofΘ, and the inverse of the comparisonRΓ(X, -) ⟶ RΘinduced by the augmentation. It is pinned down byhypercoverAugDerivedSections_comp_hypercoverComparisonMap.
def hypercoverComparisonMap (hK : IsHypercovering J K) :
hypercoverDerivedFunctor J U K ⟶ derivedSectionsFunctor J U
Stacks.CategoryTheory.Hypercovering.hypercoverCohomologyComparison, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/DerivedComparisonBoundedBelow.lean, line 585. The attribute's comment: “cohomology_comparison”.
The natural map from the Čech cohomology of a hypercovering
KofXto sheaf cohomology in degreei, induced by the comparison maphypercoverComparisonMap.
def hypercoverCohomologyComparison (hK : IsHypercovering J K) (i : ℤ) :
(hypercoverDerivedFunctor J U K ⋙ homologyFunctor AddCommGrpCat.{max u v w} i) ⟶
(derivedSectionsFunctor J U ⋙ homologyFunctor AddCommGrpCat.{max u v w} i)
Stacks.CategoryTheory.Hypercovering.hypercoverSpectralSequenceHypercoveringFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SpectralSequence/Assembled.lean, line 284. The attribute's comment: “spectral sequence functorial in the hypercovering”.
The spectral sequence of [Stacks, Tag 01GY] is functorial in the hypercovering, which is the last sentence of its third clause: the assignment taking a simplicial semi-representable object
KoverXto the functorial spectral sequencehypercoverSpectralSequenceFunctor J X KofHypercoveringSpectralSequenceData.sequenceis a functor on the opposite category, contravariance being the direction in which a morphism of hypercoverings acts on Čech cochains.Morphisms are taken to be all morphisms of simplicial semi-representable objects over
X, which is more than the source asks for: a morphism of hypercoverings is in particular one of these, the hypercovering conditions being conditions on an object and not on a morphism.
def hypercoverSpectralSequenceHypercoveringFunctor :
(SimplicialObject (FormalCoproduct.{w} (Over X)))ᵒᵖ ⥤
(Sheaf J.toGrothendieck AddCommGrpCat.{max u v w} ⥤
E₂CohomologicalSpectralSequenceNat AddCommGrpCat.{max u v w})
Stacks.CategoryTheory.Hypercovering.hypercoveringSpectralSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SpectralSequence/Assembled.lean, line 339. The attribute's comment: “spectral sequence”.
The functorial spectral sequence of a hypercovering, with second page
Ȟ^p(K, H̲^q(F))and abutmentH^{p+q}(X, F).This is the third clause of [Stacks, Tag 01GY]: the four fields are
CategoryTheory.Sheaf.enoughInjectives_addCommGrpCat,hypercoverSpectralSequenceFunctor,hypercoverPageTwoIsoandhypercoverAbutment. The functoriality of this spectral sequence in the hypercovering, which is the last sentence of that clause, ishypercoverSpectralSequenceHypercoveringFunctor, whose value atKis thesequencefield below.
def hypercoveringSpectralSequence (hK : IsHypercovering J K) :
HypercoveringSpectralSequenceData.{w} J X K hK
Stacks.CategoryTheory.Hypercovering.Functorial.hypercoveringCohomologyAbutment, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SpectralSequenceAbutmentIsCohomology.lean, line 941. The attribute's comment: “spectral_sequence”. References: SGA 4 V (7.4.0), “(7.4.0.3) abutment”.
Clause (3) of [Stacks, Tag 01GY], the functorial abutment: the hypercovering spectral sequence abuts to
H^{p+q}(X, F), functorially in the hypercovering and in the coefficient sheaf.
hypercoveringFunctorialAbutmentwith the cohomology of the total complex replaced by sheaf cohomology throughhypercoverAbutmentNatIso;Stacks.Cohomology.Leray.FunctorialFirstQuadrantAbutsTo.ofIsoAbutmenttouches no other field -- the structure mentions the asserted abutment inabutmentIsoalone.
def hypercoveringCohomologyAbutment :
_root_.Stacks.Cohomology.Leray.FunctorialFirstQuadrantAbutsTo
(hypercoveringSpectralSequence X J)
(fun n ↦ hypercoveringCohomologyFunctor X J n)
Stacks.CategoryTheory.Hypercovering.Functorial.hypercoveringPageTwoIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SpectralSequenceSecondPage.lean, line 642. The attribute's comment: “spectral_sequence”. References: SGA 4 V (7.4.0), “(7.4.0.3) E₂ page”; SGA 4 Vbis (2.5.6), “E_2 term”.
The
pageTwoIsoof clause (3) of [Stacks, Tag 01GY]: the second page ofStacks.CategoryTheory.Hypercovering.Functorial.hypercoveringSpectralSequenceat(p, q)isȞ^p(K, H^q(F)), naturally in the hypercovering and in the coefficient sheaf simultaneously. It ishypercoverPageTwoIsorestricted along the inclusion of the full subcategory of hypercoverings, since nothing in the second-page identification uses the hypercovering condition -- that is needed only for the abutment.The source is written as the whiskering rather than as
Stacks.CategoryTheory.Hypercovering.Functorial.hypercoveringSpectralSequencecomposed with the page functor. The two are the same functor --hypercoveringSpectralSequenceis that whiskering, and composition of functors is associative definitionally -- but checking that at the ambient heartbeat budget means unfoldingCategoryTheory.SpectralSequence.natRestrictE₂Compinside a functor-level defeq, which does not finish.
def hypercoveringPageTwoIso (p q : ℕ) :
(ObjectProperty.ι (fun K : SimplicialObject (Limits.FormalCoproduct.{v} (Over X)) =>
IsHypercovering J K)).op.prod
(𝟭 (Sheaf J.toGrothendieck AddCommGrpCat.{v})) ⋙
hypercoverSpectralSequenceFunctor X J.toGrothendieck ⋙
CategoryTheory.SpectralSequence.pageFunctor _ _ 2 2 ⋙
HomologicalComplex.eval _ _ (p, q) ≅
pageTwoHypercovering.{v} X J p q
Stacks.CategoryTheory.Hypercovering.Functorial.hypercoveringSpectralSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/SpectralSequenceSmallSite.lean, line 395. The attribute's comment: “spectral_sequence”. References: SGA 4 V (7.4.0), “(7.4.0.3)”.
The
sequenceof clause (3) of [Stacks, Tag 01GY]: the first-quadrantE₂cohomological spectral sequence of a hypercovering ofXand a sheaf of abelian groups, functorial in the hypercovering (contravariantly) and in the sheaf. It is the restriction ofhypercoverSpectralSequenceFunctoralong the inclusion of the full subcategory of hypercoverings, since nothing in the construction of the sequence itself uses the hypercovering condition -- that is needed only for the abutment, which is not here.
def hypercoveringSpectralSequence :
(HypercoveringCat X J)ᵒᵖ × Sheaf J.toGrothendieck AddCommGrpCat.{v} ⥤
E₂CohomologicalSpectralSequenceNat AddCommGrpCat.{v}
Sources
Section25.6 Hypercoverings a la Verdier#
Section 25.6 of the Stacks Project, Tag 09VT. 5 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 09VU, a definition
Tag 09VU in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.HypercoveringOf, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Presheaf.lean, line 201. The attribute's comment: “hypercovering of a presheaf”. References: SGA 4 V (7.3.1.2); SGA 4 V (7.3.1.3), “a)”.
A hypercovering of a presheaf of sets.
structure HypercoveringOf (J : Pretopology C) (G : Cᵒᵖ ⥤ Type q)
Stacks.CategoryTheory.Hypercovering.HypercoveringOfTerminal, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Presheaf.lean, line 226. The attribute's comment: “hypercovering of the final presheaf”. References: SGA 4 V (7.3.1.2); SGA 4 V (7.3.1.3), “a)”.
A hypercovering is a hypercovering of the final presheaf.
abbrev HypercoveringOfTerminal (J : Pretopology C)
Tag 09VV, a lemma
Tag 09VV in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.nonempty_cechCohomologyZeroIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Cohomology.lean, line 527.
Stacks Project, Tag 09VV. Degree-zero Čech cohomology of a hypercovering of a presheaf is the degree-zero cohomology of that presheaf with coefficients in the given sheaf of abelian groups.
The source asserts an identification; the isomorphism realising it is
cechCohomologyZeroIso, of which this is the existence statement.
theorem nonempty_cechCohomologyZeroIso (J : Pretopology C)
(G : Functor Cᵒᵖ (Type q)) (K : HypercoveringOf.{q, w} J G)
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)}) :
Nonempty (cechCohomology J G K F 0 ≅ presheafCohomologyZero J G F)
Tag 09VW, a lemma
Tag 09VW in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.cechCohomology_isZero_of_injective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Injectives.lean, line 362. The attribute's comment: “positive degrees”.
Stacks Project, Tag 09VW (positive degrees). Positive-degree Čech cohomology of an injective abelian sheaf on a hypercovering of a presheaf vanishes.
theorem cechCohomology_isZero_of_injective (J : Pretopology C)
(G : Cᵒᵖ ⥤ Type q) (K : HypercoveringOf.{q, w} J G)
(I : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)})
[Injective I] (p : ℕ) (hp : 0 < p) :
IsZero (cechCohomology.{q, w, v, u} J G K I p)
Stacks.CategoryTheory.Hypercovering.cechCohomologyIsoOfInjective, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Injectives.lean, line 423.
Stacks Project, Tag 09VW. For a hypercovering
Kof a presheafGand an injective abelian sheafI, the Čech cohomologyȞᵖ(K, I)is the degree-zero cohomologyH⁰(G, I)ofGwhenp = 0and is zero whenp > 0.The degree-zero branch is Tag 09VV's
cechCohomologyZeroIso, which holds for every abelian sheaf and needs no injectivity; the positive-degree branch iscechCohomology_isZero_of_injective.
noncomputable def cechCohomologyIsoOfInjective (J : Pretopology C)
(G : Cᵒᵖ ⥤ Type q) (K : HypercoveringOf.{q, w} J G)
(I : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)})
[Injective I] (p : ℕ) :
cechCohomology.{q, w, v, u} J G K I p ≅
if p = 0 then presheafCohomologyZero.{q, w, v, u} J G I else 0
Tag 09VX, a lemma
Tag 09VX in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercoverPresheafToDerivedSections, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/PresheafCohomologyComparison.lean, line 162. The attribute's comment: “the comparison map s(F(K)) ⟶ RΓ(G, F) in D⁺(Ab), functorial in F”.
For a hypercovering
Kof a presheafGon a site with equalizers and fibre products there are a canonical mapψfrom the sections overGto derived sections at the single complex, and a map
α : s(-(K)) ⟶ RΓ(G, -)in
D⁺(Ab), functorial in the abelian sheaf, compatible with the augmentation ofs(-(K))by the sections overG; and both are isomorphisms at every injective sheaf.
theorem exists_hypercoverPresheafToDerivedSections :
∃ (ψ : (presheafSectionsFunctor.{q, w, v, u} J G K ⋙
singlePlus AddCommGrpCat.{max (max u v) (max q w)}) ⋙ DerivedCategory.Plus.Q ⟶
presheafDerivedSectionsFunctor.{q, w, v, u} J G K)
(α : hypercoverPresheafDerivedFunctor.{q, w, v, u} J G K ⟶
presheafDerivedSectionsFunctor.{q, w, v, u} J G K),
Functor.whiskerRight
(epsNat (presheafSectionsFunctor.{q, w, v, u} J G K)
(SemiRepresentable.sectionsComplexIntFunctor.{q, w, v, u} J.toGrothendieck
K.toSimplicialObject)
((hypercoverPresheafAugmentation.{q, w, v, u} J G K).app)
(fun {_ _} φ ↦ (hypercoverPresheafAugmentation.{q, w, v, u} J G K).naturality φ)
(SemiRepresentable.isZero_sectionsComplexIntFunctor_obj_X.{q, w, v, u}
J.toGrothendieck K.toSimplicialObject))
DerivedCategory.Plus.Q ≫ α = ψ ∧
(∀ F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)},
Injective F → IsIso (ψ.app F)) ∧
∀ F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)},
Injective F → IsIso (α.app F)
Stacks.CategoryTheory.Hypercovering.exists_presheafCechCohomologyToCohomology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/PresheafCohomologyComparison.lean, line 220. The attribute's comment: “the induced natural transformations Ȟ^i(K, -) ⟶ H^i(G, -)”.
The comparison map of
exists_hypercoverPresheafToDerivedSectionsinduces, in every degreei, a natural transformation
Ȟ^i(K, -) ⟶ H^i(G, -)of functors from abelian sheaves to abelian groups, and these are isomorphisms at every injective sheaf.
The source is the
i-th cohomology of the complexs(-(K))itself, i.e. the Čech cohomology of the hypercovering, and the target is thei-th cohomology ofRΓ(G, -).
theorem exists_presheafCechCohomologyToCohomology :
∃ β : ∀ i : ℤ,
(SemiRepresentable.sectionsComplexIntFunctor.{q, w, v, u} J.toGrothendieck
K.toSimplicialObject ⋙
HomologicalComplex.homologyFunctor AddCommGrpCat.{max (max u v) (max q w)}
(ComplexShape.up ℤ) i) ⟶
(presheafDerivedSectionsFunctor.{q, w, v, u} J G K ⋙
DerivedCategory.Plus.homologyFunctor
AddCommGrpCat.{max (max u v) (max q w)} i),
∀ (i : ℤ) (F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max q w)}),
Injective F → IsIso ((β i).app F)
Stacks.CategoryTheory.Hypercovering.presheafHypercoveringSpectralSequenceFunctoriality, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/PresheafSpectralSequence/Functoriality.lean, line 280. The attribute's comment: “spectral sequence functorial in the hypercovering”.
The spectral sequence of [Stacks, Tag 09VX] is functorial in the hypercovering: the data
PresheafHypercoveringSpectralSequenceFunctoriality, supplied byhypercoverPresheafSpectralSequenceFunctorMapand its two laws.
def presheafHypercoveringSpectralSequenceFunctoriality :
PresheafHypercoveringSpectralSequenceFunctoriality.{q, w, v, u} J G
Stacks.CategoryTheory.Hypercovering.presheafHypercoveringSpectralSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/PresheafSpectralSequence/Functoriality.lean, line 332. The attribute's comment: “spectral sequence”. References: SGA 4 V (7.4.0), “(7.4.0.3)”.
The functorial spectral sequence of a hypercovering of a presheaf, with second page
Ȟ^p(K, H̲^{q'}(F))and abutmentH^{p+q'}(G, F).This is the spectral sequence clause of [Stacks, Tag 09VX]: the three fields are
hypercoverPresheafSpectralSequenceFunctor,hypercoverPresheafPageTwoIsoandhypercoverPresheafAbutment. The functoriality of this spectral sequence in the hypercovering, which is the last sentence of that clause, ispresheafHypercoveringSpectralSequenceFunctoriality, whosemapis a morphism between thesequencefields of two hypercoverings.
def presheafHypercoveringSpectralSequence :
PresheafHypercoveringSpectralSequenceData J G K
Tag 09VY, a lemma
Tag 09VY in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.hypercoveringGlobalSpectralSequence, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalCohomologySpectralSequence.lean, line 245. References: SGA 4 V (7.4.0), “(7.4.0.3)”; SGA 4 V (3.6), “more general”.
Stacks Project, Tag 09VY. For a hypercovering
Kof the final presheaf on a site with equalizers and fibre products there is a spectral sequence, functorial in the sheaf of abelian groupsF, with second pageE_2^{p,q} = Ȟ^p(K, H̲^q(F))converging to the global cohomology groupsH^{p+q}(F).It is [Stacks, Tag 09VX] at the final presheaf, with its abutment transported along
globalCohomologyAbutmentIso.
def hypercoveringGlobalSpectralSequence :
HypercoveringGlobalSpectralSequenceData J K
Sources
Section25.7 Covering hypercoverings#
Section 25.7 of the Stacks Project, Tag 01GG. 5 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GH, a lemma
Tag 01GH in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isHypercovering_fibreProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/FibreProduct.lean, line 270.
A fibre product with a hypercovering is a hypercovering when the other morphism is covering in degree zero and on every relative matching object.
theorem isHypercovering_fibreProduct (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
{K L M : SimplicialObject (FormalCoproduct.{w} (Over X))} (a : K ⟶ L) (b : M ⟶ L)
(hK : IsHypercovering J K)
(h₀ : IsCoveringOver J (b.app (op ⦋0⦌)))
(hmatching : ∀ n : ℕ, IsCoveringOver J
(Limits.pullback.lift
(f := (((SimplicialObject.coskAdj n).unit.app L).app (op ⦋n + 1⦌)))
(g := (((SimplicialObject.Truncated.cosk n).map
((SimplicialObject.truncation n).map b)).app (op ⦋n + 1⦌)))
(b.app (op ⦋n + 1⦌))
(((SimplicialObject.coskAdj n).unit.app M).app (op ⦋n + 1⦌))
(NatTrans.congr_app ((SimplicialObject.coskAdj n).unit.naturality b)
(op ⦋n + 1⦌)))) :
IsHypercovering J (SimplicialObject.fibreProduct a b)
Tag 01GI, a lemma
Tag 01GI in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.IsHypercovering.prod, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/Product.lean, line 169.
Stacks Project, Tag 01GI. The product of two hypercoverings of an object of a site with fibre products is a hypercovering.
theorem IsHypercovering.prod (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
{K L : SimplicialObject (FormalCoproduct.{w} (Over X))}
(hK : IsHypercovering J K) (hL : IsHypercovering J L) :
IsHypercovering J (K ⨯ L)
Tag 01GJ, a lemma
Tag 01GJ in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercovering_map_factoring_through_covering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Refinement/FactoringThroughCovering.lean, line 289. References: SGA 4 V (7.3.2), “2)”.
Stacks Project, Tag 01GJ. A covering of the term in any fixed degree of a hypercovering can be refined by a morphism from another hypercovering, whose component in that degree factors through the covering.
public theorem exists_hypercovering_map_factoring_through_covering
(J : Pretopology C) [Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K) (k : ℕ)
{Z : FormalCoproduct.{w} (Over X)}
(u : Z ⟶ K.obj (Opposite.op (SimplexCategory.mk k)))
(hu : IsCoveringOver J u) :
∃ (L : SimplicialObject (FormalCoproduct.{w} (Over X))),
IsHypercovering J L ∧
∃ (f : L ⟶ K) (g : L.obj (Opposite.op (SimplexCategory.mk k)) ⟶ Z),
g ≫ u = f.app (Opposite.op (SimplexCategory.mk k))
Tag 0B16, an equation
Tag 0B16 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.power_cosk_unit_isProjection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/ConstantPowerMatching.lean, line 599.
The
(n + 1)-st matching map ofHom(C[k], T)is, functorially inT, a projection of finite powers ofT.
public theorem power_cosk_unit_isProjection
{D : Type u} [Category.{v} D] [HasFiniteLimits D]
(k n : ℕ) (hn : 0 < n) :
letI : ∀ F : SimplicialObject.Truncated D n,
(SimplexCategory.Truncated.inclusion n).op.HasPointwiseRightKanExtension F :=
fun F =>
(hasPointwiseRightKanExtension_of_hasBinaryProducts_or_hasFiniteConnectedLimits
(C := D)).2 (fun _ => inferInstance) n hn F;
letI : ∀ m : SimplexCategoryᵒᵖ,
Fintype ((uliftCoyoneda.{w}.obj (op ⦋k⦌)).obj m.unop) :=
fun m => by
rw [CosimplicialObject.uliftCoyoneda_spec.1 ⦋k⦌ m.unop]
exact Fintype.ofFinite _;
∃ S : Finset ((uliftCoyoneda.{w}.obj (op ⦋k⦌)).obj ⦋n + 1⦌),
∃ e : ∀ T : D,
(((SimplicialObject.cosk n).obj
(((SimplicialObject.const D).obj T).power
(uliftCoyoneda.{w}.obj (op ⦋k⦌)))).obj (op ⦋n + 1⦌)) ≅
∏ᶜ fun _ : ↥S => T,
(∀ T : D,
(((SimplicialObject.coskAdj n).unit.app
(((SimplicialObject.const D).obj T).power
(uliftCoyoneda.{w}.obj (op ⦋k⦌)))).app
(op ⦋n + 1⦌)) ≫ (e T).hom =
eqToHom (SimplicialObject.power_obj
((SimplicialObject.const D).obj T)
(uliftCoyoneda.{w}.obj (op ⦋k⦌)) (op ⦋n + 1⦌)) ≫
Limits.Pi.map' (fun s : ↥S => (s : _)) (fun _ => 𝟙 T)) ∧
(∀ (T T' : D) (f : T ⟶ T')
(g : (((SimplicialObject.const D).obj T).power
(uliftCoyoneda.{w}.obj (op ⦋k⦌))) ⟶
(((SimplicialObject.const D).obj T').power
(uliftCoyoneda.{w}.obj (op ⦋k⦌)))),
(∀ m : SimplexCategoryᵒᵖ,
g.app m = Limits.Pi.map (fun _ => f)) →
(((SimplicialObject.cosk n).map g).app (op ⦋n + 1⦌)) ≫ (e T').hom =
(e T).hom ≫ Limits.Pi.map (fun _ : ↥S => f))
Tag 01GK, a lemma
Tag 01GK in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercovering_map_factoring_through_locallySurjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/LocallySurjectiveRefinement.lean, line 224. References: SGA 4 V (7.3.2), “2)”.
Stacks Project, Tag 01GK. A locally surjective map onto the presheaf represented by one term of a hypercovering can be factored through after refining the hypercovering.
public theorem exists_hypercovering_map_factoring_through_locallySurjective
(J : Pretopology C) [Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
(K : SimplicialObject (FormalCoproduct.{max u v w} (Over X)))
(hK : IsHypercovering J K) (n : ℕ)
(F : Cᵒᵖ ⥤ Type (max u v w))
(u : F ⟶ (associatedPresheafFunctorOver (X := X)).obj
(K.obj (Opposite.op (SimplexCategory.mk n))))
[Presheaf.IsLocallySurjective J.toGrothendieck u] :
∃ (L : SimplicialObject (FormalCoproduct.{max u v w} (Over X))),
IsHypercovering J L ∧
∃ (f : L ⟶ K)
(g : (associatedPresheafFunctorOver (X := X)).obj
(L.obj (Opposite.op (SimplexCategory.mk n))) ⟶ F),
g ≫ u = (associatedPresheafFunctorOver (X := X)).map
(f.app (Opposite.op (SimplexCategory.mk n)))
Sources
Section25.8 Adding simplices#
Section 25.8 of the Stacks Project, Tag 01GL. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GM, a lemma
Tag 01GM in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isCoveringOver_homFromSSetMap_app_zero_of_oneMoreSimplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 840.
Stacks Project, Tag 01GM. Let
Kbe a hypercovering ofX. If the finite simplicial setVis obtained from a subcomplexUby adjoining a singlen-simplexx, with every simplex ofVoutsideUin degree abovendegenerate, then the restriction morphismHom(V, K)₀ ⟶ Hom(U, K)₀is a covering inSR(C, X).
theorem isCoveringOver_homFromSSetMap_app_zero_of_oneMoreSimplex (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hK : IsHypercovering J K)
(V : SSet.{max w v}) (U : V.Subcomplex)
[SSet.Finite (U : SSet.{max w v})]
(_hUnonempty : ∀ m : ℕ, Nonempty (U.obj (op ⦋m⦌)))
(_hVfinite : ∀ m : ℕ, Finite (V.obj (op ⦋m⦌)))
(_hVnonempty : ∀ m : ℕ, Nonempty (V.obj (op ⦋m⦌)))
(n : ℕ) (x : V.obj (op ⦋n⦌))
(hx : x ∉ Set.range (U.ι.app (op ⦋n⦌)))
(hbelow : ∀ m < n, Function.Bijective (U.ι.app (op ⦋m⦌)))
(hat : ∀ y : V.obj (op ⦋n⦌), y ∈ Set.range (U.ι.app (op ⦋n⦌)) ∨ y = x)
(habove : ∀ m, n < m → ∀ y : V.obj (op ⦋m⦌),
y ∉ Set.range (U.ι.app (op ⦋m⦌)) → y ∈ V.degenerate m)
(HV HU : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hV : SimplicialObject.IsHomFromSSet V K HV)
(hU : SimplicialObject.IsHomFromSSet U K HU) :
IsCoveringOver J ((homFromSSetMap hV hU U.ι).app (op ⦋0⦌))
Tag 01GN, a lemma
Tag 01GN in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isCoveringOver_homFromSSetRestriction_app_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/CoveringPermanence.lean, line 1277.
Stacks Project, Tag 01GN. Let
Kbe a hypercovering ofXand letU ⊆ Vbe finite nonempty simplicial sets. Then restrictionHom(V, K)₀ ⟶ Hom(U, K)₀is a covering morphism inSR(C, X).
theorem isCoveringOver_homFromSSetRestriction_app_zero (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] (X : C)
(K : SimplicialObject (FormalCoproduct.{w} (Over X))) (hK : IsHypercovering J K)
(V : SSet.{max w v}) [V.Finite] [V.Nonempty]
(U : V.Subcomplex) [SSet.Finite (U : SSet)] [SSet.Nonempty (U : SSet)] :
IsCoveringOver J ((homFromSSetRestriction U.ι K).app (op ⦋0⦌))
Tag 0DEQ, a lemma
Tag 0DEQ in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.isCoveringOver_delta, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/HypercoverDescent.lean, line 186. The attribute's comment: “part (2)”.
Stacks Project, Tag 0DEQ, part (2). Every face map of a hypercovering of
Xis a covering morphism inSR(C, X).
theorem isCoveringOver_delta (hK : IsHypercovering J K) (n : ℕ) (i : Fin (n + 2)) :
IsCoveringOver J (K.δ i)
Stacks.CategoryTheory.Hypercovering.isCoveringOver_terminalFrom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/HypercoverDescent.lean, line 236. The attribute's comment: “part (1)”.
Stacks Project, Tag 0DEQ, part (1). Every level of a hypercovering of
Xis a covering ofX.
theorem isCoveringOver_terminalFrom (hK : IsHypercovering J K) (n : ℕ) :
IsCoveringOver J (terminal.from (K.obj (op ⦋n⦌)))
Tag 0DER, a remark
Tag 0DER in the Stacks Project.
CategoryTheory.MorphismProperty.IsHypercovering, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/MorphismProperty.lean, line 140. The attribute's comment: “p_hypercovering”.
Stacks Project, Tag 0DER. An augmented simplicial object is a
P-hypercovering when its degree-zero augmentation, its canonical degree-one morphism toU₀ ×_X U₀, and all of its higher matching morphisms belong toP.
structure MorphismProperty.IsHypercovering {C : Type u} [Category.{v} C] [HasPullbacks C]
(P : MorphismProperty C) (A : SimplicialObject.Augmented C) : Prop
CategoryTheory.MorphismProperty.IsHypercovering.face_mem, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/MorphismPropertyCovering.lean, line 104. The attribute's comment: “faces_in_p”.
Every face map in positive degree of a
P-hypercovering belongs toP.
lemma face_mem (P : MorphismProperty C) [P.IsStableUnderBaseChange] [P.IsMultiplicative]
{A : SimplicialObject.Augmented C}
(hA : MorphismProperty.IsHypercovering P A) (n : ℕ) (i : Fin (n + 2)) :
P (A.left.δ i)
CategoryTheory.MorphismProperty.IsHypercovering.hom_app, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/MorphismPropertyCovering.lean, line 124. The attribute's comment: “levels_in_p”.
Every level of a
P-hypercovering maps to its augmentation point by a morphism inP.This is the
levels_in_passertion of Stacks Project, Tag 0DER.
lemma hom_app [P.IsMultiplicative] [P.IsStableUnderBaseChange]
(hA : MorphismProperty.IsHypercovering P A) (n : ℕ) :
P (A.hom.app (Opposite.op (SimplexCategory.mk n)))
Sources
Section25.9 Homotopies#
Section 25.9 of the Stacks Project, Tag 01GO. 2 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GP, a lemma
Tag 01GP in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.boundaryIntervalRepresentable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/MatchingSquare.lean, line 82. The attribute's comment: “the two endpoint copies”.
Restriction to the two vertices of the interval is represented by the product of two copies of a simplicial semi-representable object.
theorem boundaryIntervalRepresentable
(L : SimplicialObject (FormalCoproduct.{w} (Over X))) :
Nonempty (SimplicialObject.IsHomFromSSet (SSet.boundary.{max v w} 1) L (L ⨯ L))
Stacks.CategoryTheory.Hypercovering.intervalEndpointMap, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/MatchingSquare.lean, line 90. The attribute's comment: “the ordered endpoint map”.
The fixed endpoint-evaluation morphism
Hom(Δ[1], L) ⟶ L × L. Its two components are, in order, the restrictions of the universal interval map to the vertices zero and one.
noncomputable def intervalEndpointMap
(L H : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hH : SimplicialObject.IsHomFromSSet Δ[1] L H) :
{ e : H ⟶ L ⨯ L //
(∀ m : SimplexCategoryᵒᵖ,
(e ≫ prod.fst).app m =
(Functor.functorHomEquiv H L Δ[1] (hH.homEquiv (𝟙 H))).app m
(SSet.stdSimplex.const 1 0 m)) ∧
(∀ m : SimplexCategoryᵒᵖ,
(e ≫ prod.snd).app m =
(Functor.functorHomEquiv H L Δ[1] (hH.homEquiv (𝟙 H))).app m
(SSet.stdSimplex.const 1 1 m)) }
Stacks.CategoryTheory.Hypercovering.homotopyMatchingSquare, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/MatchingSquare.lean, line 116.
Stacks Project, Tag 01GP. The four matching objects are represented by the corresponding simplicial sets, and the
Homobject of the union is their fibre product. All arrows in the fibre product square are those induced by inclusions of simplicial sets.
theorem homotopyMatchingSquare
(L : SimplicialObject (FormalCoproduct.{w} (Over X)))
(H : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hH : SimplicialObject.IsHomFromSSet Δ[1] L H) :
∀ n : ℕ, ∃ Q : FormalCoproduct.{w} (Over X),
let e := (intervalEndpointMap X L H hH).1;
let m := n + 1;
let S := SSet.boundary.{max v w} 1;
let T := SSet.boundary.{max v w} m;
let U := S.unionProd T;
let F := coyoneda ⋙
(Functor.whiskeringLeft SimplexCategoryᵒᵖ
(FormalCoproduct.{w} (Over X)) (Type (max v w))).obj L;
∃ (hFull : (F ⋙ coyoneda.obj (op (Δ[1] ⊗ Δ[m]))).RepresentableBy (H _⦋m⦌))
(hTop : (F ⋙ coyoneda.obj (op (Δ[1] ⊗ (T : SSet)))).RepresentableBy
(((SimplicialObject.cosk n).obj H) _⦋m⦌))
(hBottom : (F ⋙ coyoneda.obj (op ((S : SSet) ⊗ Δ[m]))).RepresentableBy
((L ⨯ L) _⦋m⦌))
(hRight : (F ⋙ coyoneda.obj (op ((S : SSet) ⊗ (T : SSet)))).RepresentableBy
(((SimplicialObject.cosk n).obj (L ⨯ L)) _⦋m⦌))
(hUnion : (F ⋙ coyoneda.obj (op (U : SSet))).RepresentableBy Q),
let comparison := hUnion.homEquiv.symm (U.ι ≫ hFull.homEquiv (𝟙 _));
(e.app (op ⦋m⦌) =
hBottom.homEquiv.symm ((S.ι ▷ Δ[m]) ≫ hFull.homEquiv (𝟙 _))) ∧
((((SimplicialObject.coskAdj n).unit.app H).app (op ⦋m⦌)) =
hTop.homEquiv.symm ((Δ[1] ◁ T.ι) ≫ hFull.homEquiv (𝟙 _))) ∧
((((SimplicialObject.coskAdj n).unit.app (L ⨯ L)).app (op ⦋m⦌)) =
hRight.homEquiv.symm (((S : SSet) ◁ T.ι) ≫ hBottom.homEquiv (𝟙 _))) ∧
((((SimplicialObject.cosk n).map e).app (op ⦋m⦌)) =
hRight.homEquiv.symm ((S.ι ▷ (T : SSet)) ≫ hTop.homEquiv (𝟙 _))) ∧
(comparison ≫ hTop.homEquiv.symm
(SSet.Subcomplex.unionProd.ι₁ S T ≫ hUnion.homEquiv (𝟙 Q)) =
((SimplicialObject.coskAdj n).unit.app H).app (op ⦋m⦌)) ∧
(comparison ≫ hBottom.homEquiv.symm
(SSet.Subcomplex.unionProd.ι₂ S T ≫ hUnion.homEquiv (𝟙 Q)) =
e.app (op ⦋m⦌)) ∧
IsPullback
(hTop.homEquiv.symm (SSet.Subcomplex.unionProd.ι₁ S T ≫
hUnion.homEquiv (𝟙 Q)))
(hBottom.homEquiv.symm (SSet.Subcomplex.unionProd.ι₂ S T ≫
hUnion.homEquiv (𝟙 Q)))
(hRight.homEquiv.symm ((S.ι ▷ (T : SSet)) ≫ hTop.homEquiv (𝟙 _)))
(hRight.homEquiv.symm (((S : SSet) ◁ T.ι) ≫ hBottom.homEquiv (𝟙 _)))
Tag 01GS, a lemma
Tag 01GS in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_homotopy_after_hypercovering_refinement, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CoveringAndHomotopies/Homotopy.lean, line 366.
Stacks Project, Tag 01GS. Two morphisms between hypercoverings become simplicially homotopic after precomposition with a morphism from a further hypercovering.
theorem exists_homotopy_after_hypercovering_refinement (J : Pretopology C)
[Precoverage.IsStableUnderComposition J.toPrecoverage] {X : C}
{K L : SimplicialObject (FormalCoproduct.{w} (Over X))}
(hK : IsHypercovering J K) (hL : IsHypercovering J L) (a b : K ⟶ L) :
∃ (K' : SimplicialObject (FormalCoproduct.{w} (Over X))) (c : K' ⟶ K),
IsHypercovering J K' ∧
∃ h : K'.copower Δ[1] ⟶ L, SimplicialObject.IsHomotopy h (c ≫ a) (c ≫ b)
Sources
Section25.10 Cohomology and hypercoverings#
Section 25.10 of the Stacks Project, Tag 01GZ. 3 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01GZ, the section
Tag 01GZ in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.homologyMap_hypercoverCochainNatFunctorMap_app_eq_of_isHomotopy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyHomotopyInvariance.lean, line 174. The attribute's comment: “homotopic maps of hypercoverings have the same effect on Čech cohomology”.
Stacks Project, Tag 01GZ. Homotopic maps of simplicial semi-representable objects over
Xhave the same effect on the Čech cohomology of an abelian sheaf: by [Stacks, Tag 019Y] their images on the cosimplicial object of sections are homotopic, and by [Stacks, Tag 01A0] homotopic maps of cosimplicial objects induce the same map on the cohomology of the associated cochain complexes.
theorem homologyMap_hypercoverCochainNatFunctorMap_app_eq_of_isHomotopy
{K K' : SimplicialObject (FormalCoproduct.{w} (Over X))}
[∀ m, HasCoproduct fun _ : (Δ[1] : SSet.{t}).obj m ↦ K.obj m]
{ψ ψ' : K ⟶ K'} {h : K.copower (Δ[1] : SSet.{t}) ⟶ K'}
(hh : SimplicialObject.IsHomotopy h ψ ψ')
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max u v w}) (p : ℕ) :
HomologicalComplex.homologyMap
((hypercoverCochainNatFunctorMap.{w} J X ψ).app F) p =
HomologicalComplex.homologyMap
((hypercoverCochainNatFunctorMap.{w} J X ψ').app F) p
Stacks.CategoryTheory.Hypercovering.whiskerRight_hypercoverCochainNatFunctorMap_eq_of_isHomotopy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyHomotopyInvariance.lean, line 190. The attribute's comment: “the induced natural transformation on Ȟ^p depends only on the homotopy class”.
Stacks Project, Tag 01GZ, as natural transformations. The map
Ȟ^p(K', -) ⟶ Ȟ^p(K, -)of Čech cohomology functors induced by a mapK ⟶ K'depends only on its homotopy class.
theorem whiskerRight_hypercoverCochainNatFunctorMap_eq_of_isHomotopy
{K K' : SimplicialObject (FormalCoproduct.{w} (Over X))}
[∀ m, HasCoproduct fun _ : (Δ[1] : SSet.{t}).obj m ↦ K.obj m]
{ψ ψ' : K ⟶ K'} {h : K.copower (Δ[1] : SSet.{t}) ⟶ K'}
(hh : SimplicialObject.IsHomotopy h ψ ψ') (p : ℕ) :
Functor.whiskerRight (hypercoverCochainNatFunctorMap.{w} J X ψ)
(HomologicalComplex.homologyFunctor AddCommGrpCat.{max u v w}
(ComplexShape.up ℕ) p) =
Functor.whiskerRight (hypercoverCochainNatFunctorMap.{w} J X ψ')
(HomologicalComplex.homologyFunctor AddCommGrpCat.{max u v w}
(ComplexShape.up ℕ) p)
Stacks.CategoryTheory.Hypercovering.cechCohomologyHypercoveringsHomotopyFunctor, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyHomotopyInvariance.lean, line 235. The attribute's comment: “Ȟ^p(-, 𝓕) as a diagram on HC(C, X)ᵒᵖ”.
Stacks Project, Tag 01GZ.
Ȟ^p(-, -) : HC(C, X)ᵒᵖ ⥤ (Ab(C) ⥤ Ab): the Čech cohomology of a hypercovering ofX, as a diagram on the hypercoverings ofXwith maps up to homotopy.This is the diagram whose colimit [Stacks, Tag 01H0] compares with sheaf cohomology; it exists because homotopic maps have the same effect on Čech cohomology, which is
whiskerRight_hypercoverCochainNatFunctorMap_eq_of_isHomotopy.
noncomputable def cechCohomologyHypercoveringsHomotopyFunctor (p : ℕ) :
(HypercoveringsHomotopy.{w} J X)ᵒᵖ ⥤
(Sheaf J.toGrothendieck AddCommGrpCat.{max u v w} ⥤
AddCommGrpCat.{max u v w})
Tag 01H0, a theorem
Tag 01H0 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.Functorial.isColimit_cechCohomologyZeroCocone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyAsColimit.lean, line 698. The attribute's comment: “the case i = 0: colim over hypercoverings of Ȟ⁰(K, H⁰(-)) is H⁰(X, -), as functors on Ab(C); the hypotheses carried are fibre products in C and stability of the pretopology under composition”.
For a site with fibre products and an object
X, the functor𝓕 ↦ H⁰(X, 𝓕)on abelian sheaves is the colimit over all hypercoveringsKofXof the functors𝓕 ↦ Ȟ⁰(K, H⁰(𝓕)), the cocone being the canonical identification of eachȞ⁰(K, H⁰(-))withH⁰(X, -).
def isColimit_cechCohomologyZeroCocone
[Precoverage.IsStableUnderComposition J.toPrecoverage] :
IsColimit (cechCohomologyZeroCocone X J)
Stacks.CategoryTheory.Hypercovering.Functorial.isColimit_cechCoconeAtSheaf, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyAsColimit.lean, line 1224. The attribute's comment: “the general case at a fixed abelian sheaf: colim over hypercoverings of Ȟ^i(K, 𝓕) is H^i(X, 𝓕); the index category is the hypercoverings of X themselves rather than the homotopy quotient HC(C, X), and the hypotheses carried are fibre products in C and stability of the pretopology under composition”. References: SGA 4 V (7.4.1), “Clause 2)”.
For a site with fibre products, an object
Xand an abelian sheaf𝓕, the cohomologyH^n(X, 𝓕)is the colimit over the hypercoverings ofXof the Čech cohomology groupsȞ^n(K, 𝓕), the cocone being the canonical edge mapshypercoveringCechEdge. The index category is the category of hypercoverings itself, not the homotopy quotientHC(C, X).
def isColimit_cechCoconeAtSheaf (n : ℕ) (F : Sheaf J.toGrothendieck AddCommGrpCat.{v}) :
IsColimit (cechCoconeAtSheaf X J n F)
Stacks.CategoryTheory.Hypercovering.Functorial.isColimit_cechFunctorCocone, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/CohomologyAsColimit.lean, line 1309. The attribute's comment: “the functor-level statement in every degree, which is the claim of the tag: the edge maps exhibit the functor 𝓕 ↦ H^i(X, 𝓕) on Ab(C) as the colimit over the hypercoverings K of X of the functors 𝓕 ↦ Ȟ^i(K, 𝓕), the colimit being taken in the category of functors Ab(C) ⥤ Ab; the index category is the hypercoverings of X themselves rather than the homotopy quotient HC(C, X), and the hypotheses carried are fibre products in C and stability of the pretopology under composition”.
Let
Cbe a site with fibre products andXan object ofC. For everyi, the two functorsAb(C) ⥤ Abgiven by𝓕 ↦ H^i(X, 𝓕)and by𝓕 ↦ colim_K Ȟ^i(K, 𝓕), the colimit being over the hypercoveringsKofX, are canonically isomorphic: the edge mapshypercoveringCechEdgeexhibit the functorH^i(X, -)as the colimit of the functorsȞ^i(K, -)in the category of functorsAb(C) ⥤ Ab. The index category is the category of hypercoverings itself, not the homotopy quotientHC(C, X).
def isColimit_cechFunctorCocone (n : ℕ) : IsColimit (cechFunctorCocone X J n)
Tag 09VZ, a proposition
Tag 09VZ in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hom_cechCohomologyEdge_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalDegeneration.lean, line 841. The attribute's comment: “part (2) in every degree, at the hypercovering universe max u v w, which is what Tag 01GJ forces; the canonical map is the bottom-row edge map of the spectral sequence of Tag 09VY, i.e. the comparison of Tag 01GY. The size binders are those the chapter's presheaf-side tags carry -- sheafification, enough injectives and HasExt at the coefficient universe -- together with WEqualsLocallyBijective, a theorem for every essentially small site. See exists_hom_cechCohomologyEdge_zero_eq for degree zero at a free universe w”.
In every degree
i, two Čech classes inȞ^i(K, 𝓕)andȞ^i(L, 𝓕), for hypercoveringsKandLof the final presheaf, whose images under the canonical comparisonȞ^i(-, 𝓕) ⟶ H^i(𝓕)agree restrict to the same class on a common refinement.The coefficients are the sheaf
𝓕itself, not its degree-zero cohomology presheaf. On the common refinementexists_hom_of_prodthe difference of the two restrictions is killed by the comparison, so it dies after a further refinement (exists_hom_cechCohomologyMap_apply_eq_zero), and on that refinement the two restrictions agree.
theorem exists_hom_cechCohomologyEdge_eq (i : ℕ)
(K L : HypercoveringOfTerminal.{max u v w} J)
(ξK : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) K F i)
(ξL : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) L F i)
(h : ConcreteCategory.hom (cechCohomologyEdge.{max u v w} J K i F) ξK =
ConcreteCategory.hom (cechCohomologyEdge.{max u v w} J L i F) ξL) :
∃ (M : HypercoveringOfTerminal.{max u v w} J) (f : M.Hom K) (g : M.Hom L),
ConcreteCategory.hom (f.cechCohomologyMap F i) ξK =
ConcreteCategory.hom (g.cechCohomologyMap F i) ξL
Stacks.CategoryTheory.Hypercovering.exists_hypercoveringOfTerminal_cechCohomologyEdge_zero_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalEdgeNaturality.lean, line 1326. The attribute's comment: “part (1) in degree i = 0, universe-general: the hypercoverings are at a free universe w, which is what keeps this statement from being subsumed by exists_hypercoveringOfTerminal_cechCohomologyEdge_eq, which has every degree but is at max u v w because Tag 01GJ forces it; the canonical map is the bottom-row edge map of the spectral sequence of Tag 09VY, i.e. the comparison of Tag 01GY”.
Stacks Project, Tag 09VZ, part (1), in degree zero. Every degree-zero cohomology class of an abelian sheaf is the image, under the canonical comparison
Ȟ⁰(K, 𝓕) ⟶ H⁰(𝓕)of [Stacks, Tag 09VY], of a degree-zero Čech class on some hypercoveringKof the final presheaf.A hypercovering exists by [Stacks, Tag 0DAX] applied to the identity coverings, and in degree zero the comparison is an isomorphism,
isIso_cechCohomologyEdge_zero.
theorem exists_hypercoveringOfTerminal_cechCohomologyEdge_zero_eq
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max v w)})
(ξ : (globalCohomologyFunctor.{max u v w} J 0).obj F) :
∃ (K : HypercoveringOfTerminal.{max u v w} J)
(ξK : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) K F 0),
ConcreteCategory.hom (cechCohomologyEdge.{max u v w} J K 0 F) ξK = ξ
Stacks.CategoryTheory.Hypercovering.exists_hom_cechCohomologyEdge_zero_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalEdgeNaturality.lean, line 1380. The attribute's comment: “part (2) in degree i = 0, universe-general: the hypercoverings are at a free universe w, which is what keeps this statement from being subsumed by exists_hom_cechCohomologyEdge_eq, the same part (2) in every degree but with the hypercoverings at max u v w, the universe Tag 01GJ forces. The canonical map is the bottom-row edge map of the spectral sequence of Tag 09VY, i.e. the comparison of Tag 01GY, and its naturality in the hypercovering is proved, not assumed”.
Stacks Project, Tag 09VZ, part (2), in degree zero. Two degree-zero Čech classes on hypercoverings
KandLof the final presheaf whose images under the canonical comparisonȞ⁰(-, 𝓕) ⟶ H⁰(𝓕)of [Stacks, Tag 09VY] agree restrict to the same class on a common refinement.Nothing is assumed beyond the source's hypotheses. The common refinement is the degreewise product,
exists_hom_of_prod, which is what products of pairs inCare assumed for; that the two restrictions then agree iscechCohomologyMap_apply_eq_of_cechCohomologyEdge_apply_eq, which rests on the naturality of the comparison in the hypercovering,HypercoveringOf.Hom.globalCechEdge_comp_cechCohomologyMap.
theorem exists_hom_cechCohomologyEdge_zero_eq [HasBinaryProducts C]
(F : Sheaf J.toGrothendieck AddCommGrpCat.{max (max u v) (max v w)})
(K L : HypercoveringOfTerminal.{w} J)
(ξK : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) K F 0)
(ξL : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) L F 0)
(h : ConcreteCategory.hom (cechCohomologyEdge.{w} J K 0 F) ξK =
ConcreteCategory.hom (cechCohomologyEdge.{w} J L 0 F) ξL) :
∃ (M : HypercoveringOfTerminal.{w} J) (f : M.Hom K) (g : M.Hom L),
ConcreteCategory.hom (f.cechCohomologyMap F 0) ξK =
ConcreteCategory.hom (g.cechCohomologyMap F 0) ξL
Stacks.CategoryTheory.Hypercovering.exists_hypercoveringOfTerminal_cechCohomologyEdge_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalFiltrationDescent.lean, line 742. The attribute's comment: “part (1) in every degree, at the hypercovering universe max u v w, which is what Tag 01GJ forces; the canonical map is the bottom-row edge map of the spectral sequence of Tag 09VY, i.e. the comparison of Tag 01GY. The size binders are those the chapter's presheaf-side tags carry -- sheafification, enough injectives and HasExt at the coefficient universe -- together with WEqualsLocallyBijective, a theorem for every essentially small site, which is carried here because the degeneration of the spectral sequence rests on Tag 01GJ. See exists_hypercoveringOfTerminal_cechCohomologyEdge_zero_eq for degree zero at a free universe w”. References: SGA 4 V (7.4.1), “Clause 2)”.
Stacks Project, Tag 09VZ, part (1), in every degree. Every cohomology class of an abelian sheaf is the image, under the canonical comparison
Ȟ^i(K, 𝓕) ⟶ H^i(𝓕)of [Stacks, Tag 09VY], of a Čech class on some hypercoveringKof the final presheaf.The coefficients are the sheaf
𝓕itself, not its degree-zero cohomology presheaf. A hypercovering exists by [Stacks, Tag 0DAX] applied to the identity coverings; the zeroth step of the abutment filtration is the whole ofH^i(𝓕)(isIso_globalStepToAbutment_zero), the class descends from there to the bottom stepF^iH^i(𝓕)after a refinement (exists_hom_globalStepToAbutment_eq, whose engine is the degeneration ofStacksFrontier/CategoryTheory/Sites/Hypercovering/GlobalDegeneration.lean), and the bottom step is the image ofȞ^i(L, 𝓕)under the comparison (exists_cechCohomologyEdge_apply_eq_globalStepToAbutment_apply).
theorem exists_hypercoveringOfTerminal_cechCohomologyEdge_eq (i : ℕ)
(ξ : (globalCohomologyFunctor.{max u v w} J i).obj F) :
∃ (K : HypercoveringOfTerminal.{max u v w} J)
(ξK : cechCohomology J (⊤_ (Cᵒᵖ ⥤ Type v)) K F i),
ConcreteCategory.hom (cechCohomologyEdge.{max u v w} J K i F) ξK = ξ
Sources
Section25.11 Hypercoverings of spaces#
Section 25.11 of the Stacks Project, Tag 01H1. 5 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 01H2, an equation
Tag 01H2 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.iSup_eq_top_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Spaces.lean, line 451.
Stacks Project, Tag 01H2. In a hypercovering of a topological space, the opens attached to the degree-zero indices cover the whole space.
theorem iSup_eq_top_of_isHypercovering {X : Type u} [TopologicalSpace X]
(K : SimplicialObject (FormalCoproduct.{w} (Over (⊤ : Opens X))))
(hK : IsHypercovering (Opens.pretopology X) K) :
(⨆ i : (K.obj (Opposite.op ⦋0⦌)).I, ((K.obj (Opposite.op ⦋0⦌)).obj i).left) = ⊤
Tag 01H3, an equation
Tag 01H3 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.inf_eq_iSup_edges, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Spaces.lean, line 468.
Stacks Project, Tag 01H3. In a hypercovering of a topological space, the intersection of the opens attached to two vertices is the union of the opens attached to the edges whose zeroth and first faces are those vertices.
theorem inf_eq_iSup_edges {X : Type u} [TopologicalSpace X]
(K : SimplicialObject (FormalCoproduct.{w} (Over (⊤ : Opens X))))
(hK : IsHypercovering (Opens.pretopology X) K)
(i₀ i₁ : (K.obj (Opposite.op ⦋0⦌)).I) :
((K.obj (Opposite.op ⦋0⦌)).obj i₀).left ⊓
((K.obj (Opposite.op ⦋0⦌)).obj i₁).left =
⨆ i : { i : (K.obj (Opposite.op ⦋1⦌)).I //
(K.δ (0 : Fin 2)).f i = i₀ ∧ (K.δ (1 : Fin 2)).f i = i₁ },
((K.obj (Opposite.op ⦋1⦌)).obj i.1).left
Tag 01H4, an equation
Tag 01H4 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.intersection_eq_union_of_isHypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Spaces.lean, line 485.
Stacks Project, Tag 01H4. In a hypercovering of a topological space, the intersection of a compatible family of
n + 3degree-n + 1opens is the union of the degree-n + 2opens whose faces are the prescribed family. This is the source's equation in every degree at least one.
theorem intersection_eq_union_of_isHypercovering
(X : Type u) [TopologicalSpace X]
(K : SimplicialObject (FormalCoproduct.{w} (Over (⊤ : Opens X))))
(hK : IsHypercovering (Opens.pretopology X) K)
(n : ℕ)
(i : (a : Fin (n + 3)) → (K.obj (Opposite.op (SimplexCategory.mk (n + 1)))).I)
(hi : ∀ (a b : Fin (n + 3)) (hab : a < b),
(K.δ (b.pred (ne_of_gt (lt_of_le_of_lt (Fin.zero_le a) hab)))).f (i a) =
(K.δ (a.castPred (ne_of_lt (lt_of_lt_of_le hab (Fin.le_last b))))).f (i b)) :
(⨅ a, ((K.obj (Opposite.op (SimplexCategory.mk (n + 1)))).obj (i a)).left) =
⨆ j : { j : (K.obj (Opposite.op (SimplexCategory.mk (n + 2)))).I //
∀ a, (K.δ a).f j = i a },
((K.obj (Opposite.op (SimplexCategory.mk (n + 2)))).obj j.1).left
Tag 01H6, a lemma
Tag 01H6 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercovering_of_isTopologicalBasis, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/TopologicalBasis.lean, line 260.
Stacks Project, Tag 01H6. Every basis of a topological space supports a hypercovering all of whose constituent open subsets belong to that basis.
theorem exists_hypercovering_of_isTopologicalBasis
(B : Set (Set X)) (hB : IsTopologicalBasis B) :
∃ K : SimplicialObject (FormalCoproduct.{u} (Over (⊤ : Opens X))),
IsHypercovering (Opens.pretopology X) K ∧
∀ n : ℕ, ∀ i : (K.obj (Opposite.op ⦋n⦌)).I,
((K.obj (Opposite.op ⦋n⦌)).obj i).left.1 ∈ B
Tag 01H7, a lemma
Tag 01H7 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_finite_hypercovering_of_isTopologicalBasis, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/TopologicalBasis.lean, line 314.
Stacks Project, Tag 01H7. A quasi-compact topological space with a basis of quasi-compact opens and quasi-compact intersections of quasi-compact opens has a hypercovering subordinate to that basis whose index type is finite in every degree.
theorem exists_finite_hypercovering_of_isTopologicalBasis
(B : Set (Set X)) (hB : IsTopologicalBasis B)
(hX : IsCompact (Set.univ : Set X))
(hBcompact : ∀ U ∈ B, IsCompact U)
(hInter : ∀ U V : Set X, IsOpen U → IsCompact U →
IsOpen V → IsCompact V → IsCompact (U ∩ V)) :
∃ K : SimplicialObject (FormalCoproduct.{u} (Over (⊤ : Opens X))),
IsHypercovering (Opens.pretopology X) K ∧
∀ n : ℕ, Finite (K.obj (Opposite.op (SimplexCategory.mk n))).I ∧
∀ i : (K.obj (Opposite.op (SimplexCategory.mk n))).I,
((K.obj (Opposite.op (SimplexCategory.mk n))).obj i).left.1 ∈ B
Sources
Section25.12 Constructing hypercoverings#
Section 25.12 of the Stacks Project, Tag 094J. 9 tags here are carried by 14 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0DAU, a lemma
Tag 0DAU in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.split_iff_components_of_epi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Split.lean, line 850. The attribute's comment: “simplicial: (1) iff (2)”.
Stacks Project, Tag 0DAU, parts (1) and (2). A simplicial formal coproduct is split iff each component map over a surjective simplicial operator is an isomorphism.
theorem split_iff_components_of_epi
(K : SimplicialObject (FormalCoproduct.{w} C)) :
Nonempty K.Splitting ↔
∀ {m n : SimplexCategory} (φ : m ⟶ n) [Epi φ]
(i : (K.obj (op n)).I),
IsIso ((K.map φ.op).φ i)
Stacks.CategoryTheory.Hypercovering.components_of_epi_iff_components_of_degeneracy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Split.lean, line 864. The attribute's comment: “simplicial: (2) iff (3)”.
Stacks Project, Tag 0DAU, parts (2) and (3). It suffices to test the elementary degeneracies of a simplicial formal coproduct.
theorem components_of_epi_iff_components_of_degeneracy
(K : SimplicialObject (FormalCoproduct.{w} C)) :
(∀ {m n : SimplexCategory} (φ : m ⟶ n) [Epi φ]
(i : (K.obj (op n)).I), IsIso ((K.map φ.op).φ i)) ↔
(∀ (n : ℕ) (j : Fin (n + 1))
(i : (K.obj (op (SimplexCategory.mk n))).I),
IsIso ((K.map (SimplexCategory.σ j).op).φ i))
Stacks.CategoryTheory.Hypercovering.truncated_split_iff_components_of_epi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Split.lean, line 895. The attribute's comment: “truncated: (1) iff (2)”.
Stacks Project, Tag 0DAU, truncated parts (1) and (2).
theorem truncated_split_iff_components_of_epi (r : ℕ)
(K : SimplicialObject.Truncated (FormalCoproduct.{w} C) r) :
IsTruncatedSplit r K ↔
∀ {m n : SimplexCategory.Truncated r} (φ : m ⟶ n) [Epi φ]
(i : (K.obj (op n)).I),
IsIso ((K.map φ.op).φ i)
Stacks.CategoryTheory.Hypercovering.truncated_components_of_epi_iff_components_of_degeneracy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Split.lean, line 918. The attribute's comment: “truncated: (2) iff (3)”.
Stacks Project, Tag 0DAU, truncated parts (2) and (3).
theorem truncated_components_of_epi_iff_components_of_degeneracy (r : ℕ)
(K : SimplicialObject.Truncated (FormalCoproduct.{w} C) r) :
(∀ {m n : SimplexCategory.Truncated r} (φ : m ⟶ n) [Epi φ]
(i : (K.obj (op n)).I), IsIso ((K.map φ.op).φ i)) ↔
(∀ (n : ℕ) (hn : n + 1 ≤ r) (j : Fin (n + 1))
(i : (K.obj (op (⟨SimplexCategory.mk n, Nat.le_of_succ_le hn⟩ :
SimplexCategory.Truncated r))).I),
IsIso ((K.map (ObjectProperty.homMk (SimplexCategory.σ j) :
(⟨SimplexCategory.mk (n + 1), hn⟩ : SimplexCategory.Truncated r) ⟶
(⟨SimplexCategory.mk n, Nat.le_of_succ_le hn⟩ :
SimplexCategory.Truncated r)).op).φ i))
Tag 0DAV, a lemma
Tag 0DAV in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercovering_with_objects_in, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/ObjectsInCollection.lean, line 1156.
Stacks Project, Tag 0DAV. If the objects in
Bcover every object of a site and adjoining one more morphism whose source lies inBpreserves such a covering, then every object has a hypercovering all of whose constituent objects lie inB.
theorem exists_hypercovering_with_objects_in
(J : Pretopology C) (B : Set C)
(hcover : ∀ U : C, ∃ (ι : Type w) (V : ι → C) (f : ∀ i, V i ⟶ U),
(∀ i, V i ∈ B) ∧ Presieve.ofArrows V f ∈ J U)
(hadjoin : ∀ {ι : Type w} (V : ι → C) {U : C} (f : ∀ i, V i ⟶ U),
(∀ i, V i ∈ B) → Presieve.ofArrows V f ∈ J U →
∀ {U' : C}, U' ∈ B → ∀ g : U' ⟶ U,
(fun {_} h ↦ Presieve.ofArrows V f h ∨ Presieve.singleton g h) ∈ J U)
(X : C) :
∃ K : SimplicialObject (FormalCoproduct.{w} (Over X)),
IsHypercovering J K ∧
∀ (n : ℕ) (i : (K.obj (op (SimplexCategory.mk n))).I),
((K.obj (op (SimplexCategory.mk n))).obj i).left ∈ B
Tag 0DAX, a lemma
Tag 0DAX in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercoveringOfTerminal_with_objects_in, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/PresheafObjects/Existence.lean, line 29.
Stacks Project, Tag 0DAX. A covering collection of objects supplies a hypercovering of the final presheaf all of whose terms are coproducts of objects in that collection.
theorem exists_hypercoveringOfTerminal_with_objects_in
(J : Pretopology C) (B : Set C)
(hcover : ∀ U : C, ∃ (ι : Type (max w u v)) (V : ι → C) (f : ∀ i, V i ⟶ U),
(∀ i, V i ∈ B) ∧ Presieve.ofArrows V f ∈ J U) :
∃ K : HypercoveringOfTerminal.{max w u v} J,
∀ (n : ℕ) (i : (K.toSimplicialObject.obj (op (SimplexCategory.mk n))).I),
(K.toSimplicialObject.obj (op (SimplexCategory.mk n))).obj i ∈ B
Tag 0DAY, a lemma
Tag 0DAY in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_hypercovering_of_map, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/MorphismOfSites.lean, line 585.
The underlying functor of a morphism of sites which preserves equalizers and pullbacks carries a hypercovering to a hypercovering.
lemma exists_hypercovering_of_map
[HasEqualizers C] [HasPullbacks C] [HasEqualizers D] [HasPullbacks D]
(J : Pretopology C) (K : Pretopology D) (u : D ⥤ C)
[IsMorphismOfSites.{max w vC vD uC uD} u K.toGrothendieck J.toGrothendieck]
[PreservesLimitsOfShape WalkingParallelPair u]
[PreservesLimitsOfShape WalkingCospan u]
(X : HypercoveringOfTerminal.{w} K) :
∃ Y : HypercoveringOfTerminal.{w} J,
Y.toSimplicialObject = X.toSimplicialObject ⋙ mapFormalCoproduct u
Tag 0DAZ, a lemma
Tag 0DAZ in the Stacks Project.
Stacks.Topology.LocallyQuasiCompactQcSite.isHypercovering_map_smallSite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Cohomology/LocallyQuasiCompact/QcSmallModel.lean, line 265. The attribute's comment: “a hypercovering of LC_qc transported to a small model of it”.
Stacks 0DAZ at the comparison with the small model. A hypercovering of an object of
LC_qc, carried degreewise to the small model, is a hypercovering of the image object there.This is the transport the simplicial-hypercovering apparatus needs: that apparatus consumes a hypercovering of a small site ---
isLocallyFull_totalForget_overandessImage_of_isCartesianSheaftake anIsHypercovering--- andLC_qcis not one. The comparison functor preserves fibre products, being an equivalence, and takes coverings to coverings bymapsCoveringsToCoverings_smallEquivalence, which are exactly the two hypotheses of Stacks 0DAZ.
theorem isHypercovering_map_smallSite {Y : S.category}
(K : SimplicialObject (FormalCoproduct.{t₁} (Over Y)))
(hK : IsHypercovering S.pretopology K) :
IsHypercovering S.smallPretopology
(K ⋙ mapFormalCoproduct.{t₁} (Over.post S.smallEquivalence.functor))
Stacks.CategoryTheory.Hypercovering.IsHypercovering.map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Map.lean, line 467. The attribute's comment: “the hypothesis that u be continuous is used only through its covering clause MapsCoveringsToCoverings, which is Tag 00WV(1) verbatim — the same index type and the same image family — together with the preservation of fibre products that is Tag 00WV(2); the conclusion is the full statement, both the degree-zero clause and the clause in degree n + 1”.
Stacks Project, Tag 0DAZ. Let
u : D ⥤ Cbe a functor between sites given by pretopologies which takes covering families to covering families and preserves fibre products. Then the degreewise image underuof a hypercovering ofY : Dis a hypercovering ofu Y.
theorem IsHypercovering.map (JD : Pretopology D) (JC : Pretopology C) (u : D ⥤ C)
(hu : MapsCoveringsToCoverings.{w} u JD JC) [PreservesLimitsOfShape WalkingCospan u] {Y : D}
(K : SimplicialObject (FormalCoproduct.{w} (Over Y)))
(hK : IsHypercovering JD K) :
IsHypercovering JC (K ⋙ mapFormalCoproduct.{w} (Over.post u))
Tag 094K, a lemma
Tag 094K in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.exists_finite_hypercovering, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/FiniteConstruction.lean, line 890.
Stacks Project, Tag 094K. If a class
Bsupplies finite coverings and every such covering remains covering after adjoining one further arrow from an object ofB, then every object has a hypercovering whose family in every degree is finite and consists of objects ofB.
theorem exists_finite_hypercovering
{C : Type u} [Category.{v} C] [HasPullbacks C] (J : Pretopology C) (B : Set C)
(exists_finite_cover : ∀ X : C,
∃ (I : Type w) (U : I → C) (f : ∀ i, U i ⟶ X),
Finite I ∧ (∀ i, B (U i)) ∧ Presieve.ofArrows U f ∈ J X)
(cover_of_adjoin : ∀ {X : C} {I : Type w} (U : I → C) (f : ∀ i, U i ⟶ X),
Finite I → (∀ i, B (U i)) → Presieve.ofArrows U f ∈ J X →
∀ (V : C) (g : V ⟶ X), B V →
Presieve.ofArrows
(fun i : Sum I PUnit ↦ match i with | Sum.inl i => U i | Sum.inr _ => V)
(fun i : Sum I PUnit ↦ match i with | Sum.inl i => f i | Sum.inr _ => g) ∈ J X) :
∀ X : C, ∃ K : SimplicialObject (FormalCoproduct.{w} (Over X)),
IsHypercovering J K ∧
∀ n : ℕ, Finite (K.obj (Opposite.op ⦋n⦌)).I ∧
∀ i, B ((K.obj (Opposite.op ⦋n⦌)).obj i).left
Tag 0DB0, a remark
Tag 0DB0 in the Stacks Project.
Declarations registered for the tag:
CategoryTheory.Limits.Sigma.map'registered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 22 (StacksFrontier): “the induced map ∐ U_i ⟶ ∐ V_j from α : I → J and f_i : U_i ⟶ V_{α i}”.CategoryTheory.Limits.Sigma.ι_comp_map'registered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch25.lean, line 24 (StacksFrontier): “it sends the summand U_i into V_{α i} via f_i”.
Tag 0DB1, a remark
Tag 0DB1 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.degreewiseUnions, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/DegreewiseUnions.lean, line 311. The attribute's comment: “the simplicial object of degreewise disjoint unions”.
Take disjoint unions in each degree of a simplicial semi-representable object. Only the coproducts of the objects actually occurring are required to exist.
noncomputable def degreewiseUnions (K : SimplicialObject (FormalCoproduct.{w} C))
(hsum : ∀ n, HasCoproduct (K.obj n).obj) : SimplicialObject (FormalCoproduct.{w} C)
Stacks.CategoryTheory.Hypercovering.hypercoveringDegreewiseUnions, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/DegreewiseUnions.lean, line 443. The attribute's comment: “the degreewise disjoint unions again form a hypercovering”.
Stacks Project, Tag 0DB1. Let
Kbe a hypercovering on a site with fibre products and equalizers. If the coproduct of the objects in each degree ofKexists and the map from the coproduct of their representable presheaves to the presheaf represented by that coproduct becomes an isomorphism after sheafification, then the degreewise disjoint unions again form a hypercovering.
noncomputable def hypercoveringDegreewiseUnions (K : HypercoveringOfTerminal.{w} J)
(hsum : ∀ n, HasCoproduct (K.toSimplicialObject.obj n).obj)
(hinj : ∀ n, Presheaf.IsLocallyInjective J.toGrothendieck
((associatedPresheafFunctor.{v}).map
((toDegreewiseUnions K.toSimplicialObject hsum).app n)))
(hsurj : ∀ n, Presheaf.IsLocallySurjective J.toGrothendieck
((associatedPresheafFunctor.{v}).map
((toDegreewiseUnions K.toSimplicialObject hsum).app n))) :
HypercoveringOfTerminal.{w} J
Tag 0DB2, a remark
Tag 0DB2 in the Stacks Project.
Stacks.CategoryTheory.Hypercovering.takeUnionsSimplicial, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/DisjointUnions.lean, line 95. The attribute's comment: “the degreewise construction”.
Take the disjoint unions in each degree of a simplicial formal coproduct over
X. Only the coproducts of its actual terms are required to exist.
noncomputable def takeUnionsSimplicial
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hsum : ∀ n, HasCoproduct (K.obj n).obj) :
SimplicialObject (FormalCoproduct.{w} (Over X))
Stacks.CategoryTheory.Hypercovering.isHypercovering_takeUnionsSimplicial, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/CategoryTheory/Sites/Hypercovering/Construction/DisjointUnions.lean, line 226. The attribute's comment: “preservation of hypercoverings”.
If summable semi-representable objects over
Xare closed under finite limits, taking their coproducts commutes with those limits, and it sends coverings to coverings, then applying it degreewise to a hypercovering again gives a hypercovering.
lemma isHypercovering_takeUnionsSimplicial
[ObjectProperty.IsClosedUnderFiniteLimits
(fun U : FormalCoproduct.{w} (Over X) ↦ HasCoproduct U.obj)]
[PreservesFiniteLimits (takeUnions.{w, v, max u v} (C := Over X))]
(hcover : ∀ ⦃U V : SummableFormalCoproduct.{w} (Over X)⦄ (f : U ⟶ V),
IsCoveringOver J ((summableInclusion (C := Over X)).map f) →
IsCoveringOver J ((takeUnions (C := Over X)).map f))
(K : SimplicialObject (FormalCoproduct.{w} (Over X)))
(hsum : ∀ n, HasCoproduct (K.obj n).obj)
(hK : IsHypercovering J K) :
IsHypercovering J (takeUnionsSimplicial K hsum)
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.