Let C be a category, and let c be an object of C. A sieve on c is a subfunctor of Hom, i.e., for all objectsc′ of C, S ⊆ Hom, and for all arrows f:c″→c′, S is the restriction of Hom, the pullback by f, to S; see the next section, below. Put another way, a sieve is a collection S of arrows with a common codomain that 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 is in S." Consequently, sieves are similar to right ideals in ring theory or filters in order 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 that factor through c′. There are several equivalent ways of defining f*S. The simplest is: A more abstract formulation is: Here the map Hom→Hom is Hom, the pullback by f. The latter formulation suggests that we can also take the image ofS×HomHom under the natural map to Hom. 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. In other words, it consists of all arrows in S that can be factored through f. If we denote by ∅c the empty sieve on c, that is, the sieve for which ∅ is alwaysthe empty set, then for any f:c′→c, f*∅c is ∅c′. Furthermore, f*Hom = Hom.
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 ⊆ S′. For all objects d of C, we define to be S ∪ S′ and to be S ∩ S′. We can clearly extend this definition to infinite unions and intersections as well. If we define SieveC to be the set of all sieves on c, then Sieve becomes 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 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 subsetJ of Sieve. J satisfies several properties in addition to those required by the definition:
If S and S′ are sieves on c, S ⊆ S′, and S ∈ J, then S′ ∈ J.