Sheaves #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define sheaves on a topological space, with values in an arbitrary category.
A presheaf on a topological space X
is a sheaf presicely 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 an unique
gluing A ⟶ F(U)
compatible with the restriction.
See the docstring of Top.presheaf.is_sheaf
for an explanation on the design descisions and a list
of equivalent conditions.
We provide the instance category (sheaf C X)
as the full subcategory of presheaves,
and the fully faithful functor sheaf.forget : sheaf C X ⥤ 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 :
-
Top.presheaf.is_sheaf
: (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 an unique gluingA ⟶ F(U)
compatible with the restriction. -
Top.presheaf.is_sheaf_equalizer_products
: (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ⱼ)
. SeeTop.presheaf.is_sheaf_iff_is_sheaf_equalizer_products
. -
Top.presheaf.is_sheaf_opens_le_cover
: 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ᵢ
. SeeTop.presheaf.is_sheaf_iff_is_sheaf_opens_le_cover
. -
Top.presheaf.is_sheaf_pairwise_intersections
: 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)
. SeeTop.presheaf.is_sheaf_iff_is_sheaf_pairwise_intersections
.
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.
-
Top.presheaf.is_sheaf_unique_gluing
: (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. SeeTop.presheaf.is_sheaf_iff_is_sheaf_unique_gluing
. -
The underlying sheaf of types is a sheaf. See
Top.presheaf.is_sheaf_iff_is_sheaf_comp
andcategory_theory.presheaf.is_sheaf_iff_is_sheaf_forget
.
Equations
The presheaf valued in unit
over any topological space is a sheaf.
Transfer the sheaf condition across an isomorphism of presheaves.
A sheaf C X
is a presheaf of objects from C
over a (bundled) topological space X
,
satisfying the sheaf condition.
Equations
Instances for Top.sheaf
The underlying presheaf of a sheaf
Equations
The forgetful functor from sheaves to presheaves.