# The Unapologetic Mathematician

## Internal Hom Functors

As Todd Trimble pointed out, things get really nice when a category is enriched over itself. That is, the morphisms from one object to another in $\mathcal{V}$ themselves have the structure of an object of $\mathcal{V}$. This trivially the case for $\mathbf{Set}$, because there’s a set of functions from one set to another. We also know that in $\mathbf{Ab}$ there’s an abelian group of homomorphisms from one abelian group to another. We say that the category has an “internal hom functor”, because the hom functor lands back inside the category itself, rather than in the category of sets.

For the moment, let’s consider a category $\mathcal{V}$ that is not only monoidal (which is needed to have an enriched category), but also symmetric and closed. Remember that “closed” means we have an adjunction $\underline{\hphantom{X}}\otimes B\dashv (\underline{\hphantom{X}})^B$ for each object $B$. In $\mathbf{Set}$ the set $A^B$ is the set of functions from $B$ to $A$, while in $\mathbf{Ab}$ it’s the abelian group of homomorphisms from $B$ to $A$. We see that these are already the internal hom functors we’re looking for in these situations.

So in general let’s take our symmetric, monoidal, closed category $\mathcal{V}$, with underlying ordinary category $\mathcal{V}_0$. The adjunction between the monoidal structure and the exponential has a counit — an arrow $A^B\otimes B\rightarrow A$ — which corresponds to “evaluation” in both of our sample cases. That is, it takes a function $f:B\rightarrow A$ and an element $b\in B$ and gives an element $f(b)\in A$. We can use this to build a category.

Start with the objects of $\mathcal{V}_0$, and define the hom-object from $B$ to $A$ as $A^B$ (using the exponential functor from the closed structure). We need to find arrows $A^B\otimes B^C\rightarrow A^C$ and $\mathbf{1}\rightarrow A^A$, and we’ll use the adjunction to do it. For composition, we have the arrow

$(A^B\otimes B^C)\otimes C\rightarrow A^B\otimes(B^C\otimes C)\rightarrow A^B\otimes B\rightarrow A$

where the first step is the associator and the other two are evaluations. This is an element of $\hom_{\mathcal{V}_0}((A^B\otimes B^C)\otimes C,A)$, so the adjunction sends it to an element of $\hom_{\mathcal{V}_0}(A^B\otimes B^C,A^C)$, as we require. For identities, we can just use the left-unit arrow $\mathbf{1}\otimes A\rightarrow A$ and pull the same trick. Now properties of adjoints give us the required relations to make this a category enriched over $\mathcal{V}$.

And finally we can check that $V(A^B)=\hom_{\mathcal{V}_0}(\mathbf{1},A^B)\cong\hom_{\mathcal{V}_0}(B,A)$, so the “underlying set” of $A^B$ is actually the set of morphisms from $B$ to $A$ in the underlying category $\mathcal{V}_0$. This justifies our suspicions that the $\mathcal{V}$-category we just built is in fact $\mathcal{V}$ itself, now as a category enriched over itself.

### Like this:

Posted by John Armstrong | Category theory

## 3 Comments	»

1. Nice post, John. One thing I love about category theory is the way a few simple concepts continually reflect back on and through one another, creating these kaleidoscopic displays and, after a while, real depth of perception. What you can achieve with the concept of an adjunction (and closely intertwined concepts of representables, limits, monad, monoid, theory, …) is nothing short of astonishing.

A quick note: the archetypal example of a 2-category is Cat, as you’ve said. But what is a 2-category? A Cat-enriched category! So we are saying Cat is a Cat-enriched category. The deeper explanation, following the philosophy of today’s entry, is that Cat is a cartesian closed category! (Not a trivial result, that!)

What I really mean is, there’s this hierarchy: 0-categories (sets), 1-categories (categories), 2-categories, … where an (n+1)-category is an (n-Cat)-enriched category! And one can prove by induction that n-Cat is cartesian closed, hence enriched in itself, hence an (n+1)-category! [NB: I am speaking of *strict* n-categories, not the weak n-categories that are much the rage these days.] There are some lovely expositions of this sort of thing in old installments of John Baez’s This Week’s Finds.

Sorry, I get carried away. Please, carry on…

Comment by Todd Trimble | August 23, 2007 | Reply

2. Sorry, I get carried away.

No, it’s good to have a Greek chorus around sometimes. Yes, $\mathbf{Cat}$ is a $\mathbf{Cat}$-category (which is how I defined strict 2-categories) so it’s an example of this. There’s more to be said about these, so I’m not trying to get it all into one post.

I forget if I mentioned before, but when you first said “categories enriched in themselves” I somehow didn’t make the connection with “internal homs”, which is the language I’m more familiar with. Once I realized that, clearly I’m going to be talking about them. When I eventually (long way off) get to things like sheaves the concept of an internal hom is the best motivator for a lot of how they work.

Comment by | August 23, 2007 | Reply

3. [...] fact, the evaluation above is the counit of the adjunction between and the internal functor . This adjunction is a natural isomorphism of sets: . That is, left -modules are in [...]

Pingback by | October 24, 2008 | Reply

« Previous | Next »

## About this weblog

This is mainly an expository blath, with occasional high-level excursions, humorous observations, rants, and musings. The main-line exposition should be accessible to the “Generally Interested Lay Audience”, as long as you trace the links back towards the basics. Check the sidebar for specific topics (under “Categories”).

I’m in the process of tweaking some aspects of the site to make it easier to refer back to older topics, so try to make the best of it for now.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 40, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9267929196357727, "perplexity_flag": "middle"}