Sheaves #
We define sheaves on a topological space, with values in an arbitrary category.
A presheaf on a topological space X
is a sheaf precisely when it is a sheaf under the
grothendieck topology on opens X
, which expands out to say: For each open cover { Uᵢ }
of
U
, and a family of compatible functions A ⟶ F(Uᵢ)
for an A : X
, there exists a unique
gluing A ⟶ F(U)
compatible with the restriction.
See the docstring of TopCat.Presheaf.IsSheaf
for an explanation on the design decisions and a list
of equivalent conditions.
We provide the instance CategoryTheory.Category (TopCat.Sheaf C X)
as the full subcategory of
presheaves, and the fully faithful functor Sheaf.forget : TopCat.Sheaf C X ⥤ TopCat.Presheaf C X
.
The sheaf condition has several different equivalent formulations.
The official definition chosen here is in terms of grothendieck topologies so that the results on
sites could be applied here easily, and this condition does not require additional constraints on
the value category.
The equivalent formulations of the sheaf condition on presheaf C X
are as follows :
TopCat.Presheaf.IsSheaf
: (the official definition) It is a sheaf with respect to the grothendieck topology onopens X
, which is to say: For each open cover{ Uᵢ }
ofU
, and a family of compatible functionsA ⟶ F(Uᵢ)
for anA : X
, there exists a unique gluingA ⟶ F(U)
compatible with the restriction.TopCat.Presheaf.IsSheafEqualizerProducts
: (requiresC
to have all products) For each open cover{ Uᵢ }
ofU
,F(U) ⟶ ∏ᶜ F(Uᵢ)
is the equalizer of the two morphisms∏ᶜ F(Uᵢ) ⟶ ∏ᶜ F(Uᵢ ∩ Uⱼ)
. SeeTopCat.Presheaf.isSheaf_iff_isSheafEqualizerProducts
.TopCat.Presheaf.IsSheafOpensLeCover
: For each open cover{ Uᵢ }
ofU
,F(U)
is the limit of the diagram consisting of arrowsF(V₁) ⟶ F(V₂)
for every pair of open setsV₁ ⊇ V₂
that are contained in someUᵢ
. SeeTopCat.Presheaf.isSheaf_iff_isSheafOpensLeCover
.TopCat.Presheaf.IsSheafPairwiseIntersections
: For each open cover{ Uᵢ }
ofU
,F(U)
is the limit of the diagram consisting of arrows fromF(Uᵢ)
andF(Uⱼ)
toF(Uᵢ ∩ Uⱼ)
for each pair(i, j)
. SeeTopCat.Presheaf.isSheaf_iff_isSheafPairwiseIntersections
.
The following requires C
to be concrete and complete, and forget C
to reflect isomorphisms and
preserve limits. This applies to most "algebraic" categories, e.g. groups, abelian groups and rings.
TopCat.Presheaf.IsSheafUniqueGluing
: (requiresC
to be concrete and complete;forget C
to reflect isomorphisms and preserve limits) For each open cover{ Uᵢ }
ofU
, and a compatible family of elementsx : F(Uᵢ)
, there exists a unique gluingx : F(U)
that restricts to the given elements. SeeTopCat.Presheaf.isSheaf_iff_isSheafUniqueGluing
.The underlying sheaf of types is a sheaf. See
TopCat.Presheaf.isSheaf_iff_isSheaf_comp
andCategoryTheory.Presheaf.isSheaf_iff_isSheaf_forget
.
Equations
- F.IsSheaf = CategoryTheory.Presheaf.IsSheaf (Opens.grothendieckTopology ↑X) F
Instances For
The presheaf valued in Unit
over any topological space is a sheaf.
Transfer the sheaf condition across an isomorphism of presheaves.
A TopCat.Sheaf C X
is a presheaf of objects from C
over a (bundled) topological space X
,
satisfying the sheaf condition.
Equations
Instances For
Equations
- TopCat.SheafCat C X = inferInstance
The underlying presheaf of a sheaf
Equations
- F.presheaf = F.val
Instances For
Equations
- X.sheafInhabited = { default := { val := CategoryTheory.Functor.star (TopologicalSpace.Opens ↑X)ᵒᵖ, cond := ⋯ } }
The forgetful functor from sheaves to presheaves.