Objects which cover the terminal object
In this file, given a site (C, J), we introduce the notion of a family
of objects Y : I → C which "cover the final object": this means
that for all X : C, the sieve Sieve.ofObjects Y X is covering for J.
When there is a terminal object X : C, then J.CoversTop Y
holds iff Sieve.ofObjects Y X is covering for J.
We introduce a notion of compatible family of elements on objects Y
and obtain Presheaf.FamilyOfElementsOnObjects.IsCompatible.exists_unique_section
which asserts that if a presheaf of types is a sheaf, then any compatible
family of elements on objects Y which cover the final object extends as
a section of this presheaf.
A family of objects Y : I → C "covers the final object"
if for all X : C, the sieve ofObjects Y X is a covering sieve.
Equations
- CategoryTheory.GrothendieckTopology.CoversTop J Y = ∀ (X : C), CategoryTheory.Sieve.ofObjects Y X ∈ J.sieves X
Instances For
The cover of any object W : C attached to a family of objects Y that satisfy
J.CoversTop Y
Equations
- CategoryTheory.GrothendieckTopology.CoversTop.cover hY W = { val := CategoryTheory.Sieve.ofObjects Y W, property := ⋯ }
Instances For
A family of elements of a presheaf of types F indexed by a family of objects
Y : I → C consists of the data of an element in F.obj (Opposite.op (Y i)) for all i.
Equations
- CategoryTheory.Presheaf.FamilyOfElementsOnObjects F Y = ((i : I) → F.obj (Opposite.op (Y i)))
Instances For
x : FamilyOfElementsOnObjects F Y is compatible if for any object Z such that
there exists a morphism f : Z → Y i, then the pullback of x i by f is independent
of f and i.
Equations
- CategoryTheory.Presheaf.FamilyOfElementsOnObjects.IsCompatible x = ∀ (Z : C) (i j : I) (f : Z ⟶ Y i) (g : Z ⟶ Y j), F.map f.op (x i) = F.map g.op (x j)
Instances For
A family of elements indexed by Sieve.ofObjects Y X that is induced by
x : FamilyOfElementsOnObjects F Y. See the equational lemma
IsCompatible.familyOfElements_apply which holds under the assumption x.IsCompatible.
Equations
- CategoryTheory.Presheaf.FamilyOfElementsOnObjects.familyOfElements x✝¹ X x hf = F.map (Nonempty.some ⋯).op (x✝¹ (Exists.choose hf))
Instances For
The section of a sheaf of types which lifts a compatible family of elements indexed by objects which cover the terminal object.