## The Existence Theorem for Limits

Of course, though we’ve defined limits, we don’t know in general whether or not they exist. Specific limits in specific categories have been handled in an *ad hoc* manner. We show that the Cartesian product is a product in , or that there is a subset which equalizes a pair of morphisms, but we have been doing this all by hand and there are so many different kinds of limits that it’s impossible to handle them all like this. Luckily, we can build complicated limits out of simpler ones in many cases.

In fact, we’ve already seen this: we built pullbacks from products and equalizers. Actually we explicitly built pushouts from coproducts and coequalizers, but the pullback construction is just the dual. Anyhow, that construction shows the general idea. If a category has finite products and equalizers of pairs then it has limits for all functors from finite categories . If it has *all* products (indexed by arbitrary sets) as well as pairwise equalizers then it is complete. Conversely, since products and equalizers are examples of limits completeness of a category implies their existence. That is, once we have these kinds of limits all the others come for free.

The proof is summed up in this somewhat arcane diagram.

So let’s unpack it. We’re in a category and are considering a functor , where is either a small or a finite category.

Starting in the middle row we’ve got the product of all the objects in the image of and the product over all the *morphisms* of of the images of their target objects. Now towards the top we have a projection from the second product onto each factor, and since each factor is in the image of we also have morphisms from the first product. There’s actually a triangle at the top for each morphism in the category , but we only draw one. Now by the universal property of the second product there exists a unique arrow from the first product to the second that makes all these triangles commute.

We do a similar thing on the bottom. We again have the projections from the second product to its factors. For each morphism in there’s a projection from the first product onto the image of its *source*, and then there’s an arrow from the image of the source to the image of the target. Again, there’s one such square at the bottom for each morphism in , but we only draw one. Again, by the universal property of the second product there exists a unique arrow from the first product to the second that makes all of these squares commute.

So now we have two parallel arrows from the first product to the second, and we take their equalizer, which gives an arrow into the first product. We also have an arrow out of the product for each object of , so we can compose to get an arrow for each object . I claim that this is the limit we seek.

First we need to check that this is a cone on . For an arrow in we need to see that . The lower commuting square for tells us that . The upper commuting square tells us that . So we calculate as desired.

Now if is any other cone on then the arrows in the cone combine to give a unique arrow . Since this is a cone, we can check that . Thus factors uniquely through , giving the universal property we need.

In the finite case, our discussion of multiple products shows that all we need are binary products, a terminal object, and binary equalizers to have all finite products and binary equalizers, and thus to have all finite limits. In general, infinite products have to be dealt with on their own.

Many of our algebraic categories can now be shown to be complete. For examples, each of , , , , and is complete.

Dually, a category is cocomplete if and only if it has all coproducts and pairwise coequalizers. It has all finite colimits if and only if it has all finite coproducts and pairwise coequalizers. You should determine which of the above list of categories are cocomplete.