As the title says, I want to show that for any topological space , the category of set-valued presheaves PSh(X) on
has all finite limits and co-limits.
First, PSh(X) has both initial and terminal objects. With a bit of thought, these are (obviously) the constant functors 0 and 1 (resp.) where, for all open subsets of
we have
and
and the morphisms for 0 and 1 are just the identities.
Second, we need to show that PSh(X) has a pullback for every diagram and a pushout for every diagram
.
Indeed, let be a diagram of presheaves. I claim that the presheaf defined via
for all
open. Basically, we just define the pullback “element-wise” on the source category. The morphisms are a bit tricky though. Indeed, given a map
of open sets, how do we define the “restriction” map
? One should never diagram chase in public, but let me assure you that it really ends up just being the map guaranteed by the universal property of the pullback.
(picture for clarity). It’s a bit clumsy, but one gets a pushout in the same manner, defining it element-wise as a the quotient , where
iff there exists a
such that
and
. This sometimes denoted as
.
Since PSh(X) has a terminal object and pullbacks, it has a finite limits. On the other hand, it has an initial object and pushouts, so it has all finite co-limits. Easy.
It turns out that the category of sheaves on
More generally, any functor category into a (co)complete category is (co)complete.
So you showed finite bicompleteness of PSh(X), but in fact it should be bicomplete over all small diagrams, since Set is.
It’s interesting to think of this statement: “any functor category into a (co)complete category is (co)complete” and then go back to the exercises in section 2.1 of hartshorne. I think I definitely prefer the “top down” approach to algebraic geometry.
It’s also true that every adjoint pair between categories yields an adjoint pair between the functor categories into them, so in particular this will hold for presheaves.
I figured that would be the case. Do you have a reference that I can look up?
I expected to find this statement in CWM, but surprisingly it appears not to be there. However I think it follows from theorem 3 (adjunctions with parameter) in section IV.7, remembering that Cat is cartesian closed. In other words, theorem 3 says that if F: XxP -> A and G:PxA -> X are adjoint “pointwise in P” as functors X->A and A->X, then they are adjoint functors on the cartesian product categories. Then since Cat is cartesian closed, we have a natural isomorphism of categories between the functor categories Fun(XxP,A) and Fun(X,A^P), and also Fun(PxA,X)=Fun(A,X^P).
That argument seems a little confusing to me though. Can’t quite see clearly through all the details, I’d have to spend some time with it. And I think there’s a much easier way to get there. If F: C->D and G: D->C are adjoint, then they obey the triangle equalities $Id_F = (\epsilon F)(F\eta)$ and $(G\epsilon)(\eta G) = Id_G$, where \eta and \epsilon are the unit and counit of the adjunction. Then by functorality of pushforward, we have $(Id_F)_* = (\epsilon F)_*(F\eta)_*$ and $(G\epsilon)_*(\eta G)_* = (Id_G)_*$. Pushforward here indicates the normal map of hom-sets (hom-categories in this case, actually), given by postcomposition. In other words if F: C-> D, then F_*: Hom(E,C) -> Hom(E,D) takes a functor H:E->C to FH:E–>D. If we can show that (Id_F)_* = Id_{F_*} and that \eta_* is a natural transformation, then we’re done, since the triangle identities are a sufficient condition for functors to be adjoint. Those seem obviously true and easy to check.
I just checked it, and it’s also quite easy to show the result using the hom-set definition of adjoint functors, which might be more comfortable. I was going to type that into a comment too, but I guess if you’ve already shown it yourself in the case that the source category is Open(X) for the adjoint pair of free/forgetful functors, well probably your proof did not use those assumptions, and is therefore the same as the general proof.
Yeah, I ended up proving it using just the hom-set bijections on the target categories. You can just basically build up adjunction at the level of fuctor categories into them by constructing the natural transformations “element-wise”