The Unapologetic Mathematician

Mathematics for the interested outsider

Representable Functors

Now that we have a handle on hom functors, we can use them to define other functors.

Since \hom_\mathcal{C} is a functor from the product category \mathcal{C}^{\rm op}\times\mathcal{C} to sets, it is functorial in each variable separately. This means that we can take any object A of \mathcal{C} and build the covariant functor B\mapsto\hom_\mathcal{C}(A,B) and the contravariant functor B\mapsto\hom_\mathcal{C}(B,A). We call A the representing object of these functors.

Now not every functor \mathcal{C}\rightarrow\mathbf{Set} is exactly of this form, but a good many of them are naturally isomorphic to such a functor. We call such a functor “representable”. Representable functors turn out to be extremely useful, as we’ll see.

As an example, consider the “underlying set” functor U:\mathbf{Grp}\rightarrow\mathbf{Set}. This takes a group to its underlying set, and a homomorphism of groups to its underlying function. You should check that it is, indeed, a covariant functor. I say that it is represented by the group \mathbb{Z}. That is, U(\underline{\hphantom{X}})\cong\hom_\mathbf{Grp}(\mathbb{Z},\underline{\hphantom{X}}).

Given an element g of a group G, there is a unique homomorphism \phi_g:\mathbb{Z}\rightarrow G so that 1\mapsto g. Conversely, every homomorphism sends 1 to some element of G, so this sets up a bijection between the set of elements of G and the set of homomorphisms from \mathbb{Z} to G. These bijections \eta_G:U(G)\rightarrow\hom_\mathbf{Grp}(\mathbb{Z},G) are the components of the natural isomorphism we’re looking for. We need to check that for any group homomorphism f:G\rightarrow H we have naturality: \eta_H\circ U(f)=\hom(\mathbb{Z},f)\circ\eta_G.

Since U(f) is just the function (forgetting that it preserves a group structure), the left side of the naturality equation sends an element g\in G to the unique homomorphism \phi_{f(g)}:\mathbb{Z}\rightarrow H with \phi_{f(g)}(1)=f(g). On the right, we first send g to the homomorphism \phi_g:\mathbb{Z}\rightarrow G, and then compose with f. This also satisfies f(\phi_g(1))=f(g), so f\circ\phi_g=\phi_{f(g)}, and the naturality equation is satisfied.

Now, we have a bunch of other “forgetful” functors sitting around. All of the algebraic structures we’ve considered — semigroups, monoids, abelian groups, rings, R-modules (left and right), and even quandles — they all have an “underlying set”. First you should be able to verify that each assignment of an underlying set is actually a covariant functor. Then, try to find a representing object for each functor.

This particular use of representable functors to describe forgetful functors to the category of sets is the first solid step towards moving away from viewing algebraic concepts as “sets with extra structure”. For instance, we now see that we don’t really need to describe a group as a set with a multiplication function, inverse function, and identity. A group is just an object in the category of groups, and within the category it has all sorts of interrelationships with all the other groups. We can reconstruct the older picture of a group from these relationships, and here we’ve seen how to recover the set of elements of G as \hom_\mathbf{Grp}(\mathbb{Z},G).

June 4, 2007 - Posted by | Category theory


  1. Nice – gave me intuition for what the deal with representability is all about. Thanks.

    Comment by michiexile | June 4, 2007 | Reply

  2. By the way, are there cases where you could prove that all functors are representable?

    Are there generic obstructions to representability?

    Comment by michiexile | June 4, 2007 | Reply

  3. Well, representable functors are where I’m first (explicitly) touching the massive iceberg that is limits/universals/adjoints/etc. These are all really slices of the same thing, and they’re all extremely interconnected.

    More specifically, we’ll see that a representable functor preserves limits, so anything that fails to preserve a limit can’t be representable. There’s a little more that could be an obstruction, but in practice that’s what I’ve seen most often. As for proving that all (\mathbf{Set}-valued) functors are representable.. I don’t really know offhand.

    Comment by John Armstrong | June 4, 2007 | Reply

  4. […] bit of notation. Given a category and an object we’ll use to denote the covariant functor represented by and to denote the contravariant one. That is, and […]

    Pingback by Yoneda's Lemma « The Unapologetic Mathematician | June 6, 2007 | Reply

  5. […] we remember that categories come with representable functors, which have all sorts of nice properties. This comes over to our current context. Given a monoidal […]

    Pingback by Representable Enriched Functors « The Unapologetic Mathematician | August 25, 2007 | Reply

  6. Is the functor F:Monoids->Sets representable?:)

    Comment by lucia | February 1, 2009 | Reply

  7. Is the functor G:Monoids->Set,G(M)=the set of right -inversable elements in M, representable ?

    Comment by lucia | February 1, 2009 | Reply

  8. Something about the way you as makes me think you already know the answers, Lucia.

    Comment by John Armstrong | February 1, 2009 | Reply

  9. I know the answers, but I can’t find the proof for the things I asked you:(

    Comment by lucia | February 1, 2009 | Reply

  10. Can you help me to prove? 😀

    Comment by Lucia | February 1, 2009 | Reply

  11. Lucia, I don’t know what F is supposed to be in problem 6. It seems the answer to 7. is “no”. But it doesn’t seem to be a particularly easy problem for a beginning course in category theory.

    For what it’s worth, here is my own thinking. The representing object, if it were to exist, would be loosely described as the “generic monoid M with a right-invertible element x”. (I’ll assume this means there exists y such that xy = 1, but maybe the convention goes the other way.) The problem is that this description gives no idea of how many right inverses y there are on which to base a construction, and so the looseness of the description means there can’t be any such “generic” object.

    Now let’s tighten this intuition. Let’s start by building a generic monoid in which x has just one given right inverse. So that would be a monoid with two generators x, y subject to the single relation xy = 1. More explicitly, it would be a monoid whose elements are words in x, y subject to that relation; each element can be identified with a “reduced word” (one that can’t be shortened by applying the relation) having the form y^m x^n. The only reduced words which are right invertible are those of the form x^n.

    You can go further, and force there to be just one (non-identity) right invertible element x, if you add in the relation x^2 = x. So the monoid N generated by two elements x, y modulo the relations xy = 1, x^2 = x has reduced words of the form y^m x^n where n = 0, 1, and only 1 and x have right inverses. So if your functor G were represented by M, we’d have exactly two monoid homomorphisms M –> N corresponding to the two elements 1, x.

    We can play the same game but with two given right inverses y, z to x. That is, define a new monoid N’ with three generators x, z, w, subject to the relations xz = xw = 1, x^2 = x. Again, in N’, we can easily describe the reduced words and check there are two right-invertible elements, namely 1, x. So there should again be just two monoid homomorphisms M –> N’.

    But now we’re in big trouble. There are at least two ways of mapping N into N’ (hint: pretend y is z for one, and y is w for the other). So there are at least four ways of mapping M into N’, depending on how you choose arrows in the diagram

    M –> N –> N’

    and I leave it to you to check they’re all distinct. We have arrived at a contradiction.

    Comment by Todd Trimble | February 2, 2009 | Reply

  12. Sorry – in my previous comment, let me through away the relation x^2 = x in my examples, but keep the others. Including x^2 = x collapses the monoid down to the trivial monoid (since xx = x implies x = x(xy) = (xx)y = xy = 1).

    The argument still goes through mostly as before, but one cannot uses a cardinality argument at the end as I did. Alternatively, one can compute the equalizer of the two maps I suggested from N to N’ and show it equals the monoid generated by x with no relations. This monoid is isomorphic to N, the natural numbers, which has just one invertible element. Use this to show that the functor G does not preserve equalizers, and hence is not representable.

    Comment by Todd Trimble | February 3, 2009 | Reply

  13. I understand..thanks..:)

    Comment by Lucia | February 4, 2009 | Reply

  14. […] start by defining the “Stone space” of a Boolean ring . This is a representable functor, and the representing object is the two-point Boolean ring . That is, , the set of (boolean) ring […]

    Pingback by Stone’s Representation Theorem I « The Unapologetic Mathematician | August 18, 2010 | Reply

  15. […] Here’s a nice write up about why the forgetful functor from Groups to Sets is representable. This is just […]

    Pingback by Representable functors « Problem by problem | September 11, 2012 | Reply

  16. Why should I care about forgetful functors? I think I have seen them come up as the other side of an adjunction between free and forgetful … OK, so where’s the beef?

    Comment by isomorphismes (@isomorphisms) | December 31, 2017 | Reply

    • Forgetful functors are in part an artifact of how we use category theory to talk about other mathematical structures. Many mathematical objects can live in a number of different categories — monoids are sets with additional structure added in the form of a multiplication operation — and forgetful functors are the trivial ones that just “forget” structure.

      In a way, you can think of them in programming terms as casting up an inheritance hierarchy: yes, (M, *) is a monoid, but if all we care about is its set of elements we can just consider M.

      The really interesting thing is that forgetful functors are usually one side of an adjunction, and the other side is a “free” functor, that gives the “most generic” way of building a new layer of structure on top of a given one. If S is a set, then the free monoid on S is the most generic monoid that includes the elements of S.

      Comment by John Armstrong | December 31, 2017 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: