nLab
sieve

Idea

A sieve is a way to encode a morphism of presheaves that behaves like a cover. It is used to say which presheaves are actually sheaves with respect to a given coverage or Grothendieck topology.

Sieves are an equivalent way to encode subobjects of representable functors in a presheaf category in terms of the total sets of elements of such a subfunctor.

The notion of sieve is usually used when certain such subobjects are singled out as covers of a (sifted) coverage: the singled out subobjects then correspond to covering sieves.

Urs, I changed ‘coverage’ back to ‘Grothendieck topology’ above, since it's specifically Grothendieck topologies that deal with covering sieves; coverages deal with arbitrary covering families (generally not sieves and generally not all of them), which is part of why coverages both can be more useful and are less canonical.

Urs: hm, okay. My impression was that the point of coverages is that we don’t impose the four axioms of Grothendieck topology on the covering things, while we do keep the notion of sieves itself. Because “sieve” is really just another way to say “subfunctor of a representable” so the question really is: which collections of subfunctors of representables do we want to use as coverages. For me the 1-line definition of “coverage” would be: choice of subcollection of all monois in a given 1-topos. That then makes sense also in non-presheaf topoi. For presheaf topoi it happens to have a reformulation in terms of sieves.

So, in conclusion, I am thinking that the point of using more general coverages over Grothendieck topologies is not primarily to relax the closure under composition that makes a sieve a sieve. That’s kind of a trivial thing. The point is that we don’t need to impose the four axioms of a Grothendieck topology on the collection of all such.

But maybe not. This is just so you know what I am thinking. :-)

Toby: Ah, now I see what you're saying!

The problem is that the difference between a Grothendieck topology and a coverage is twofold: first, each individual covering family that appears in a Grothendieck topology is saturated (and so becomes a sieve); second, subject to the restriction that only sieves may appear, the class of covering families is saturated. (I should write something about this at coverage.) You are thinking of dropping the second without changing the first.

I know just the term for that: ‘sifted coverage’ (which may be found in the Elephant).

A choice of collections of morphism dc into an object cC for each dC reminds one of the representable functor presheaf Y(c):=hom C(,c):C opSet which assigns to each dC the set of all morphisms from d to c. Every choice of covers of c is therefore for each dC a subset of the value of this functor evaluated at d. This begins to look like an monic natural transformation into this functor. Indeed, it turns out that one can assume without restriction of generality that the assignment of covers of c can always be extended to such a monic natural transformation, and hence one formalizes the notion of “collection of covers” of c as a subobject i:Fhom(,c) of the functor represented by c: a sieve at c.

A dual notion is a cosieve.

Definition

Let C be a small category.

Definition

A sieve S (Fr. crible) on an object cC is a subset SOb(C/c) of the set of objects of the over category over c which is closed under precomposition: it has the property that with (dc)S for every morphism (ed)Mor(C) also the composite (edc) is in S.

Sometimes the condition of a sieve being closed under the operation of precomposing with an arbitrary morphism g:ed is called a “saturation condition”. Given any collection of morphisms targeted at c, one can always close it up or saturate it, to obtain a sieve on c.

This is probably called a sieve because it “sifts out” the ‘special’ maps into c from the set of all maps into c. (Note that ‘sieve’ is the noun, while ‘sift’ is the verb.)

Relation to subfunctors

There is a canonical way to create subfunctors from sieves and sieves from subfunctors.

A subfunctor is a subobject in a functor category. Here, specifically, one is interested in subobjects in a presheaf category of representable functors. It’s these subfunctors of representable functors that are in bijection with sieves.

Definition

Given a sieve S on c, the subfunctor F SY(c) defined by the sieve is the presheaf

  • that assigns to each object dC the set F S(d)={(dc)S};

  • that assigns to each morphism (dd)C the function F S(d)F S(d) induced on elements by precomposition with dd.

Definition

Given a subfunctor FY(c), the sieve defined by the subfunctor is given by

  • S F:={g:dcMor(C)Y(d)Y(g)Y(c)=Y(d)FY(c)}

or equivalently

  • S F= dObj(C)F(d).

Bruce: Hey, if you are being extra careful here you should be saying that the sieve S F obtained from the subfunctor FY(c) is really the image of F (as you say below), i.e. if we write i:FY(c) for the explicit inclusion map, then for each d, S F(d)=Imageofi dinHom(d,c).

Right now, this makes me prefer the notion of ‘sieve’ to the notion of ‘subfunctor of a representable’. The reason is that the elements of the sieve are actually morphisms in the category, whereas the subfunctor can be composed of ‘abstract elements’. Why are you pushing the viewpoint of ‘subfunctor of a representable’? Is it for later -category purposes? If so, you should say that at the top of the article, so the reader understands why you are introducing extraneous ‘abstract nonsense’ elements into the conversation… :-)

Urs: thanks for the comment, Bruce! Here I would find it helpful if you could put in directly what you would find helpful. Because I am not sure. At the moment it says right at the beginning that sieves are a way to encode subfunctors of representables. This is the reason why we care about them.

The point is really, as described in some detail at sheaf, that we want to characterize certain morphisms of presheaves, called local isomorphisms. And it turns out that a lot is already gained once we understand all local isomorphisms that are monomorphisms (called then dense monomorphisms). And it turns out that among them in turn it suffices to look at those with representable codomain. These, finally, are seen to have a more pedestrian description in terms of sieves. That’s why one cares about sieves.

Should we say this here again? Maybe. But It is already described in some detail at sheaf.

But of course you are right to “prefer” sieves in a way: they are the explicit hand-on realization of some abstract nonsense. That’s why one useses them. As a tool. But their raison d’etre is the abstract nonsense that they are a manifestation of.

Todd: I much prefer “subfunctor of a representable” on grounds of snappiness and immediate comprehension, but it may help (as I do myself) to think of ‘subfunctor’ here not in terms the general abstract notion of ‘subobject’, but in terms of ‘subset’ of naive set theory.

The situation seems to be this: ‘subobject’ refers to an isomorphism class of monomorphisms. But probably most people think of isomorphism classes (or equivalence classes generally) as another layer of abstraction they would prefer to do without when they can; they would rather deal with concrete elements, picking out a distinguished representative of the class and working directly with that (for example, think of how we multiply in 13 or something). So, instead of “isomorphism class of injective functions”, they go straight to the actual subset inclusion in the class – the ‘image’ as Bruce said – as the distinguished element they want to get their hands on, formulated in the good old-fashioned language of naive sets and elements we grew up with, not this newfangled subobject nonsense.

Since presheaves Set C op and sheaves are based on sets to begin with, we have that! So here there is no harm whatsoever in defining subfunctor in this concrete way, as an arrow FG whose components F(c)G(c) are literal subset inclusions. That’s how I always picture these things myself, and it gives the notion of sieve straightaway, in a tight conceptual package.

Toby: Funny I don't think of a subobject as a class of monomorphisms; I think of it as an individual monomorphism. And yet, I don't pick a distinguished representative either! Instead, I just remember that sometimes two subobjects are equal.

It's really no different in principle from thinking about objects. I don't work with isomorphism classes of objects, and I don't work in skeleta either. I just work with objects, and sometimes two objects are isomorphic.

Lemma

These two definitions establish a bijection between sieves on c and subobjects of Y(c).

For every sieve S we have

S F S=SS_{F_S} = S

and for every subfunctor we have

F S F=F.F_{S_F} = F \,.
Remarks
  • The construction of S F makes sense for every morphism of presheaves FY(c). The sieve is sensitive precisely to the image of this map,

    S F=S im(FY(c)).S_{F} = S_{im (F \to Y(c))} \,.
  • In the presence of a Grothendieck topology a morphism FY(c) is sometimes called a local epimorphism if the sieve S F is a covering sieve. If FY(c) is actually a subfunctor, then it is called a dense monomorphism.

  • The pullback of a subfunctor i:F SY(c)=hom(,c) along any morphism hom(,g):hom(,d)hom(,c) is again a subfunctor g *F of d, hence sieves are closed under pulling back. Concretely,

    g *S= eOb(C){f:ed:gfS}.g^* S = \bigcup_{e \in Ob(C)} \{f: e \to d: g f \in S\}\,.
  • A sieve S F on c, for i:Fhom(,c) a subfunctor, may be described as a function which assigns to each object d a collection of morphisms f:dc into c. Naturality of the inclusion i means that whenever f:dc belongs to the sieve and g:ed is any morphism, then fg:ec also belongs to the sieve.

Lemma

The subfunctor F SX corresponding to a sieve S is the coimage of the morphism out of the disjoint union of all objects (regarded as representable presheaves) in the sieve:

(U= (U αX)SU α)X(U = \coprod_{(U_\alpha \to X) \in S} U_\alpha) \to X

in that

(F SX)=((colim(U× XUU)X).(F_S \to X) = ((colim(U \times_X U \stackrel{\to}{\to} U) \to X) \,.

If the sieve is generated by (is the saturation of) a collection of morphisms {U αU} then the same statement remains true with U being the coproduct over just these U α.

Proof

As described at limits and colimits by example, the colimit of presheaves may be computed objectwise in Set. Doing so and using the Yoneda lemma tells us that for each object V we have

colim(U× XUU)(V) colim(Hom(V,U× XU)Hom(V,U)) colim(Hom(V,U)× Hom(U,X)Hom(V,U)Hom(V,U))\begin{aligned} colim(U \times_X U \stackrel{\to}{\to} U)(V) & \simeq colim(Hom(V,U \times_X U) \stackrel{\to}{\to} Hom(V,U)) \\ & \simeq colim( Hom(V,U) \times_{Hom(U,X)} Hom(V,U) \stackrel{\to}{\to} Hom(V,U)) \end{aligned}

where all objects appearing (at least in the first lines) are implicitly regarded as presheaves under the Yoneda embedding.

But this colimit now manifestly computes the set

{mapsfromVtoXthatfactorthroughU} \{ maps from V to X that factor through U\}_\sim

where the equivalence relation is

((fUX)(gUX))(fandgcoincideasmapstoX).((f \to U \to X) \sim (g \to U \to X)) \Leftrightarrow (f and g coincide as maps to X) \,.

So the set is just the set of maps from V to X that factor through one of the U α, which is precisely the set F S(V) assigned by the subfunctor corresponding to the sieve.

Examples

  • For X a topological space let Op(X) be the category of open subsets of X and consider presheaves PSh(X):=[Op(X) op,Set] on X. For any open subset c=VOp(X) let {d i}={U i} be a cover of V by open subsets U i in the ordinary sense (i.e. each U i is an open subset of V and their joint union is V, iU i=V), then π:( iY(U i)) iU i iXY(V) (with Y the Yoneda embedding) is a local epimorphism of presheaves on V and its image – or equivalently its coimage – is the subfunctor (F:= iY(U i))Y(V) that sends each WOp(X) to the set of maps WV that factor through one of the U i. The collection of all such maps for all choice of W is the corresponding covering sieve {f:WVMor(S)f=WU iV}.

  • The situation for more general sites S other than Op(X) is literally the same as above, with U i,W,V etc. objects of S.

A detailed description of what’s going on

The following is a pedagogical step-by-step description of the crucial aspects of sieves as covers.

To start with the simplest example that already contains in it all the relevant aspects, consider a topological space X with an open subset VX that is covered by two open subsets U 1,U 2X in that the union U 1U 2 in X coincides with V:

U 1U 2=V.U_1 \cup U_2 = V \,.

This is the coproduct in the category of open subsets of X, but that behaves very differently from the disjoint coproducts that we are used to from categories like Set. On the other hand, when one comes to a category of presheaves or sheaves (a Grothendieck topos), this topos does have disjoint coproducts.

Another way to think of this is obtained by first forming the fiber product of U 1 with U 2 over V in Op(X), which is the intersection U 1U 2 sitting in the pullback diagram

U 1× VU 2 U 1 U 2 V\array{ U_1 \times_V U_2 &\to& U_1 \\ \downarrow && \downarrow \\ U_2 &\to& V }

in Op(X).

The union U 1U 2 is again obtained from this by removing in the above diagram the bottom right corner and then forming the pushout over the resulting diagram: this is again V, i.e. the diagram

U 1× VU 2 U 1 U 2 U 1U 2=V\array{ U_1 \times_V U_2 &\to& U_1 \\ \downarrow && \downarrow \\ U_2 &\to& U_1 \cup U_2 = V }

is not only a pullback also a pushout diagram.

The important point about (covering) sieves is that they show up when the above situation is sent via the Yoneda embedding from Op(X) to presheaves on Op(X). The crucial aspect here that gives rise to the peculiarities of sieves is that

As a result, the above discussion goes through equivalently for the presheaves represented by our open subsets all the way up to the last pushout. In Op(X) that last pushout reproduced the open subset V. In PSh(X)=[Op(X) op,Set] it instead reproduces the sieve on V generated by U 1 and U 2.

Let’s go through this in detail. First of all notice that in PSh(S) all limits and colimits do exist (see limits and colimits by example for more on that); in particular the coproduct

Y(U 1)⨿Y(U 2)Y(U_1) \amalg Y(U_2)

exists. Here Y denotes the Yoneda embedding which we here indicate explicitly, even though often and elsewhere, notably elsewhere in this entry here, it is notationally suppressed.

For the following it is helpful to say explicitly what the presheaf Y(U 1)⨿Y(U 2) is like. Since, as described at limits and colimits by example, colimits of presheaves are computed objectwise, we know that this presheaf evaluated on any open set WX yields the set

(Y(U 1)⨿Y(U 2))(W) =Y(U 1)(W)⨿Y(U 2)(W) =Hom(W,U 1)⨿Hom(W,U 2),\begin{aligned} (Y(U_1) \amalg Y(U_2))(W) &= Y(U_1)(W) \amalg Y(U_2)(W) \\ &= Hom(W,U_1) \amalg Hom(W, U_2) \end{aligned} \,,

where the coproducts on the right are just those in Set which are just ordinary disjoint unions of sets.

So this says that Y(U 1)⨿Y(U 2) is the presheaf that assigns to any open set W the disjoint union of the collections of maps from W to U 1 and those from W to U 2 in X. (Since Op(X) is a poset there is either none or one such map in each case, but it is helpful to speak generally of “sets of all maps”, since that is the general intuition useful for presheaf categories. Op(X) just happens to be a particularly simple example.)

Notice that in particular a given map WV which factors both through U 1V as well as through U 2V will appear as two distinct elements in the set (Y(U 1)⨿Y(U 2))(W). This we’ll come back to in a minute.

But first consider the fiber product from before, now after having applied the Yoneda embedding. Since we know from general nonsense that this preserves fiber products, we know that the pullback presheaf Y(U 1)× Y(V)Y(U 2) in

Y(U 1)× Y(V)Y(U 2) Y(U 2) Y(U 1) Y(V)\array{ Y(U_1) \times_{Y(V)} Y(U_2) &\to& Y(U_2) \\ \downarrow && \downarrow \\ Y(U_1) &\to& Y(V) }

is the same as Y(U 1× VU 2)=Y(U 1U 2).

But this is also easily checked explicitly. We go through this because this kind of reasoning for computing limits and colimits of presheaves will be needed throughout here: since for any W the covariant hom-functor Psh(Y(W),):PshPSh preserves limits (by the very definition of limit!) we have for every W a pullback diagram of sets

Hom(Y(W),Y(U 1)× Y(V)Y(U 2)) Hom(Y(W),Y(U 2)) Hom(Y(W),Y(U 1)) Hom(Y(W),Y(V))\array{ Hom(Y(W),Y(U_1) \times_{Y(V)} Y(U_2)) &\to& Hom(Y(W),Y(U_2)) \\ \downarrow && \downarrow \\ Hom(Y(W),Y(U_1)) &\to& Hom(Y(W),Y(V)) }

Again by the Yoneda lemma this is simply

(Y(U 1)× Y(V)Y(U 2))(W) Hom(W,U 2) Hom(W,U 1) Hom(W,V).\array{ (Y(U_1) \times_{Y(V)} Y(U_2) )(W) &\to& Hom(W,U_2) \\ \downarrow && \downarrow \\ Hom(W,U_1) &\to& Hom(W,V) } \,.

This being a pullback diagram now says in words:

The set (Y(U 1)× Y(V)Y(U 2))(W) is the set of those pairs of maps WU 1 and WU 2 that coincide as maps WU 1V and WU 2V to V.

Clearly, this set is the same as the set of maps into the intersection U 1U 2, so indeed

Y(U 1)× Y(V)Y(U 2)=Y(U 1× VU 2)=Y(U 1U 2).Y(U_1) \times_{Y(V)} Y(U_2) = Y(U_1 \times_V U_2) = Y(U_1 \cap U_2) \,.

So far so long-winded. Now let’s see what happens when we now form the pushout over

Y(U 1× VU 2) Y(U 2) Y(U 1)\array{ Y(U_1 \times_V U_2) &\to& Y(U_2) \\ \downarrow \\ Y(U_1) }

that will go, for a moment, by its canonical but lenghty name Y(U 1) Y(U 1× VU 2)Y(U 2)

Y(U 1× VU 2) Y(U 2) Y(U 1) Y(U 1) Y(U 1× VU 2)Y(U 2).\array{ Y(U_1 \times_V U_2) &\to& Y(U_2) \\ \downarrow && \downarrow \\ Y(U_1) &\to& Y(U_1) \coprod_{Y(U_1 \times_V U_2)} Y(U_2) } \,.

Again, we can figure out what this presheaf is by computing objectwise what it does to any open subset W: since colimits of presheaves are computed objectwise, the diagram

Hom(W,U 1× VU 2) Hom(W,U 2) Hom(W,U 1) (Y(U 1) Y(U 1× VU 2)Y(U 2))(W)\array{ Hom(W, U_1 \times_V U_2) &\to& Hom(W, U_2) \\ \downarrow && \downarrow \\ Hom(W,U_1) &\to& (Y(U_1) \coprod_{Y(U_1 \times_V U_2)} Y(U_2))(W) }

must be a colimit in Set. Again, this is easily read out in words:

The set (Y(U 1) Y(U 1× VU 2)Y(U 2))(W) is the quotient of the disjoint union of the collection of maps from W into U 1 and those from W into U 2, by the equivalence relation which identifies two such maps WU 1 and WU 2 if they both factor through a map WU 1× XU 2, i.e. if they both land in the intersection U 1U 2 and coincide there.

But this just means that contrary to the plain coproduct Y(U 1)⨿Y(U 2), two maps WU 1 and WU 2 that coincide as maps WX are no longer regarded as different elements of our set given by the pushout presheaf, but are regarded as being the same.

So this means we find that

(Y(U 1) Y(U 1× VU 2)Y(U 2))(W)={mapsWVthatfactorthrougheitherU 1orU 2}.(Y(U_1) \coprod_{Y(U_1 \times_V U_2)} Y(U_2))(W) = \{ maps W \to V that factor through either U_1 or U_2 \} \,.

But this is by definition the assignment of the subfunctor coresponding to the sieve on V generated by U 1V and U 2V.

So we find that

F sieve(U 1,U 2)=Y(U 1) Y(U 1× VU 2)Y(U 2).F_{sieve(U_1,U_2)} = Y(U_1) \coprod_{Y(U_1 \times_V U_2)} Y(U_2) \,.

Given that we made it to this point, we should go one small step further that will be very useful.

In the present simple example we worked with a cover given by just two objects U 1 and U 2. Of course in general the cover will consist of more than just two objects. Then the above kind of notation becomes a bit cumbersome. But there is a simple reformulation that makes everything look nice again.

Namely, let’s come back to the observation that the coproduct Y(U 1)⨿Y(U 2) does exist. Let’s just call this presheaf U. (not in general a representable!).

Then it is easy to see by the same kind of objectwise reasoning that the colimiting presheaf that we are after is equivalently the colimit over the pair of parallel morphisms

U× Y(V)Up 1p 2U\mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\stackrel{p_2}{\to}}{\stackrel{p_1}{\to}} \mathbf{U}

in that

F sieve(U 1,U 2)colim(U× Y(V)Up 1p 2U).F_{sieve(U_1,U_2)} \simeq colim ( \mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\stackrel{p_2}{\to}}{\stackrel{p_1}{\to}} \mathbf{U} ) \,.

This description now has an evident direct generalization to the case where instead of just U 1V and U 2V we have an arbitrary collection {U iV} of open sets U covering V. One finds again with

U:= iY(U(i))\mathbf{U} := \coprod_i Y(U(i))

that

F sieve({U i})colim(U× Y(V)Up 1p 2U)F_{sieve(\{U_i\})} \simeq colim ( \mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\stackrel{p_2}{\to}}{\stackrel{p_1}{\to}} \mathbf{U} )

is the presheaf that to every W assigns the set of all maps WV that factor through any one of the U i.

It is in this way that sieves and their associated subfunctors encode the notion of cover of an object V: they tell us which of all the maps into V do factor through the cover.

And, to end this pedagocial piece with an outlook to indicate the gain in understanding this achieves:

once we start forming U× Y(V)UU there is no stopping. We can keep forming higher and higher such fiber products

U× Y(V)U× Y(V)U× Y(V)UU× Y(V)U× Y(V)UU× Y(V)UU.\cdots \mathbf{U} \times_{Y(V)} \mathbf{U} \times_{Y(V)} \mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\to}{\stackrel{\to}{\stackrel{\to}{\to}}} \mathbf{U} \times_{Y(V)} \mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\to}{\stackrel{\to}{\to}} \mathbf{U} \times_{Y(V)} \mathbf{U} \stackrel{\to}{\to} \mathbf{U} \,.

When one passes from just presheaves to (∞,1)-presheaves, then covering presheaves will be given by the right kind of colimit over these simplicial diagrams (namely the homotopy colimit). More on that is at descent.

Recovering the sheaf condition from morphisms out of the sieve

We now show that the subfunctor F S associated with a sieve S coming from a cover {U iX} is the right kind of morphism to require a sheaf to be a local object for, by demonstrating that using it the usual sheaf condition on a presheaf with respect to the cover iU i is reproduced:

From the above detailed discuss recall that F sieve({U i}) is precisely the coequalizer of the obvious pair of morphisms

i,jhom(,U iU j) ihom(,U i)\coprod_{i, j} \hom(-, U_i \cap U_j) \stackrel{\to}{\to} \coprod_i hom(-, U_i)

with hom(,U i):=Y(U i) denoting the presheaf represented under the Yoneda embedding by U i, as usual.

Here the domain of this parallel pair is the pullback of the evident map ihom(,U i)hom(,X)
along itself, and the two parallel arrows are the projection maps out of this pullback:

i,jhom(,U iU j) ihom(,U j) ihom(,U i) hom(,X)\array{ \coprod_{i,j} hom(-,U_i \cap U_j) &\to& \coprod_i hom(-, U_j) \\ \downarrow && \downarrow \\ \coprod_i hom(-, U_i) &\to& hom(-,X) }

Thus for G any presheaf, maps FG are precisely the same as maps ihom(,U i)G which coequalize the parallel pair. Applying Hom Set C op(,G) to the colimit diagram

i,jhom(,U iU j) ihom(,U i)F\coprod_{i, j} \hom(-, U_i \cap U_j) \stackrel{\to}{\to} \coprod_i hom(-, U_i) \to F

yields the limit diagram

Hom(F,G)Hom( ihom(,U i),G)Hom( i,jhom(,U iU j),G)Hom(F, G) \to Hom(\coprod_i hom(-, U_i), G) \stackrel{\to}{\to} Hom(\coprod_{i, j} \hom(-, U_i \cap U_j), G)

which using Yoneda is the equalizer diagram

Hom(F,G) iG(U i) i,jG(U iU j)Hom(F,G) \to \prod_i G(U_i) \stackrel{\to}{\to} \prod_{i, j} G(U_i \cap U_j)

and hence identifies Hom(F,G) indeed as the set of descent data for the sheaf condition on G.

Interpretation in terms of higher descent and codescent

This description contains in it the seed of its generalization from the context of sheaves to that of descent for ∞-stacks.

See also the discussion at Čech cover.

For Y:= iU i a cover, there is a simplicial presheaf Y – the Čech nerve of the cover – that in degree n is the (n+1)-fold fiber product Y n=Y [n+1]=Y× XY× X× XY.

This may be regarded as an ∞-groupoid valued presheaf.

More algebraically, with Π(Δ n) the free strict omega-groupoid on the standard filtered n-simplex, Y is the nerve of the groupoid

Codesc(Y):= [n]ΔO([n])Y [n+1]Codesc(Y) := \int^{[n] \in \Delta} O([n])\cdot Y^{[n+1]}

The sieve associated with the cover is the presheaf obtained by starting with the -prestack represented by Codesc(Y) and decategorifying, i.e. passing to equivalence classes.

ihom(,U i)hom(,Codesc(Y))/ .\bigcup_i hom(-,U_i) \simeq hom(-, Codesc(Y))/_\sim \,.

Equivalently, for A a presheaf regarded as a constant simplicial presheaf using the inclusion const: Set SSet we have

Hom SPSh(Codesc(Y),A)Hom PSh(Codesc(Y)/ ,A),Hom_{SPSh}(Codesc(Y), A) \simeq Hom_{PSh}(Codesc(Y)/_\sim, A) \,,

simply because all the higher morphism of Codesc(Y) have to map to identity morphisms in A.