Closed sieves #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
A natural closure operator on sieves is a closure operator on sieve X
for each X
which commutes
with pullback.
We show that a Grothendieck topology J
induces a natural closure operator, and define what the
closed sieves are. The collection of J
-closed sieves forms a presheaf which is a sheaf for J
,
and further this presheaf can be used to determine the Grothendieck topology from the sheaf
predicate.
Finally we show that a natural closure operator on sieves induces a Grothendieck topology, and hence
that natural closure operators are in bijection with Grothendieck topologies.
Main definitions #
category_theory.grothendieck_topology.close
: Sends a sieveS
onX
to the set of arrows which it covers. This has all the usual properties of a closure operator, as well as commuting with pullback.category_theory.grothendieck_topology.closure_operator
: The bundledclosure_operator
given bycategory_theory.grothendieck_topology.close
.category_theory.grothendieck_topology.closed
: A sieveS
onX
is closed for the topologyJ
if it contains every arrow it covers.category_theory.functor.closed_sieves
: The presheaf sendingX
to the collection ofJ
-closed sieves onX
. This is additionally shown to be a sheaf forJ
, and if this is a sheaf for a different topologyJ'
, thenJ' ≤ J
.category_theory.grothendieck_topology.topology_of_closure_operator
: A closure operator on the set of sieves on every object which commutes with pullback additionally induces a Grothendieck topology, giving a bijection withcategory_theory.grothendieck_topology.closure_operator
.
Tags #
closed sieve, closure, Grothendieck topology
References #
The J
-closure of a sieve is the collection of arrows which it covers.
Any sieve is smaller than its closure.
A sieve is closed for the Grothendieck topology if it contains every arrow it covers. In the case of the usual topology on a topological space, this means that the open cover contains every open set which it covers.
Note this has no relation to a closed subset of a topological space.
If S
is J₁
-closed, then S
covers exactly the arrows it contains.
Being J
-closed is stable under pullback.
The closure of a sieve S
is the largest closed sieve which contains S
(justifying the name
"closure").
The closure of a sieve is closed.
The sieve S
is closed iff its closure is equal to itself.
Closing under J
is stable under pullback.
The sieve S
is in the topology iff its closure is the maximal sieve. This shows that the closure
operator determines the topology.
A Grothendieck topology induces a natural family of closure operators on sieves.
Equations
- J₁.closure_operator X = closure_operator.mk' J₁.close _ _ _
The presheaf sending each object to the set of J
-closed sieves on it. This presheaf is a J
-sheaf
(and will turn out to be a subobject classifier for the category of J
-sheaves).
The presheaf of J
-closed sieves is a J
-sheaf.
The proof of this is adapted from [MM92], Chatper III, Section 7, Lemma 1.
If presheaf of J₁
-closed sieves is a J₂
-sheaf then J₁ ≤ J₂
. Note the converse is true by
classifier_is_sheaf
and is_sheaf_of_le
.
If being a sheaf for J₁
is equivalent to being a sheaf for J₂
, then J₁ = J₂
.
A closure (increasing, inflationary and idempotent) operation on sieves that commutes with pullback induces a Grothendieck topology. In fact, such operations are in bijection with Grothendieck topologies.
Equations
- category_theory.topology_of_closure_operator c hc = {sieves := λ (X : C), {S : category_theory.sieve X | ⇑(c X) S = ⊤}, top_mem' := _, pullback_stable' := _, transitive' := _}
The topology given by the closure operator J.close
on a Grothendieck topology is the same as J
.