- Sieve (category theory)
In
category theory , a branch ofmathematics , a sieve is a way of choosing arrows with a commoncodomain . It is a categorical analogue of a collection of open subsets of a fixedopen set intopology . In aGrothendieck topology , certain sieves become categorical analogues ofopen cover s intopology .Definition
Let C be a category, and let "c" be an object of C. A sieve "S" on "c" is a
subfunctor of Hom(−, "c"), i.e., for all objects "c"′ of C, "S"("c"′) ⊆ Hom("c"′, "c"), and for all arrows "f":"c"″→"c"′, "S"("f") is the restriction of Hom("f", "c"), the pullback by "f", to "S"("c"′).Put another way, a sieve is a collection "S" of arrows with a common codomain which satisfies the functoriality condition, "If "g":"c"′→"c" is an arrow in "S", and if "f":"c"″→"c"′ is any other arrow in C, then the pullback "gf" of "g" by "f" is in "S"." Consequently sieves are similar to right ideals in
ring theory or filters inorder theory .Pullback of sieves
The most common operation on a sieve is "pullback". Pulling back a sieve "S" on "c" by an arrow "f":"c"′→"c" gives a new sieve "f"*"S" on "c"′. This new sieve consists of all the arrows in "S" which factor through "c"′.
There are several equivalent ways of defining "f"*"S". The simplest is:
:For any object "d" of C, "f"*"S"("d") = { "g":"d"→"c"′ | fg ∈ "S"("d")}
A more abstract formulation is:
:"f"*"S" is the image of the
fibered product "S"×Hom(−, "c")Hom(−, "c"′) under the natural projection "S"×Hom(−, "c")Hom(−, "c"′)→Hom(−, "c"′).Here the map Hom(−, "c"′)→Hom(−, "c") is Hom("f", "c"′), the pullback by "f".
The latter formulation suggests that we can also take the image of "S"×Hom(−, "c")Hom(−, "c"′) under the natural map to Hom(−, "c"). This will be the image of "f"*"S" under composition with "f". For each object "d" of C, this sieve will consist of all arrows "fg", where "g":"d"→"c"′ is an arrow of "f"*"S"("d"). In other words, it consists of all arrows in "S" that can be factored through "f".
If we denote by unicode|∅"c" the empty sieve on "c", that is, the sieve for which unicode|∅("d") is always the empty set, then for any "f":"c"′→"c", "f"*unicode|∅"c" is unicode|∅"c"′. Furthermore, "f"*Hom(−, "c") = Hom(−, "c"′).
Properties of sieves
Let "S" and "S"′ be two sieves on "c". We say that "S" ⊆ "S"′ if for all objects "c"′ of C, "S"("c"′) ⊆ "S"("c"′). For all objects "d" of C, we define ("S" ∪ "S"′)("d") to be "S"("d") ∪ "S"′("d") and ("S" ∩ "S"′)("d") to be "S"("d") ∩ "S"′("d"). We can clearly extend this definition to infinite unions and intersections as well.
If we define SieveC("c") (or Sieve("c") for short) to be the set of all sieves on "c", then Sieve("c") becomes a partially ordered under ⊆. It is easy to see from the definition that the union or intersection of any family of sieves on "c" is a sieve on "c", so Sieve("c") is a
complete lattice .A
Grothendieck topology is a collection of sieves subject to certain properties. These sieves are called "covering sieves". The set of all covering sieves on an object "c" is a subset "J"("c") of Sieve("c"). "J"("c") satisfies several properties in addition to those required by the definition:*If "S" and "S"′ are sieves on "c", "S" ⊆ "S"′, and "S" ∈ "J"("c"), then "S"′ ∈ "J"("c").
*Finite intersections of elements of "J"("c") are in "J"("c").Consequently, "J"("c") is also a
distributive lattice , and it is cofinal in Sieve("c").
Wikimedia Foundation. 2010.