## Functor Categories

Let’s consider two categories enriched over a monoidal category — and — and assume that is equivalent to a small category. We’ll build a -category of functors between them.

Of course the objects will be functors . Now for functors and we need a -object of natural transformations between them. For this, we will use an end:

This end is sure to exist because of the smallness assumption on . Its counit will be written .

An “element” of this object is an arrow . Such arrows correspond uniquely to -natural families of arrows , which we know is the same as a -natural transformation from to . We also see that at this level of elements, the counit takes a -natural transformation and “evaluates” it at the object .

Now we need to define composition morphisms for these hom-objects. This composition will be inherited from the target category . Basically, the idea is that at each object a natural transformation gives a component morphism in the target category, and we compose transformations by composing their components. Of course, we have to finesse this a bit because we don’t have sets and elements anymore.

So how do we get a component morphism? We use the counit map ! We have the arrow

which we can then hit with the composition . This is a -natural family indexed by , so by the universal property of the end we have a unique arrow

Similarly we get the arrow picking out identity morphism on as the unique one satisfying

So is a -category whose underlying ordinary category is that of -functors and -natural transformations between the -categories and . That is, it’s the hom-category in the 2-category of -categories.