This article will probably only be of interest to a small number of readers. Those unfamiliar with category theory may find it bewildering, and those well versed in category theory may find it trivial. My hope is that someone in between, someone just starting to get a handle on category theory, will find it helpful. I wish I’d run across an article like this when I was in school.

## My confusion

As a student I was confused by the inordinate stress on the distinction between general groups and Abelian groups. This seemed like a very simple thing that was being overemphasized. Does multiplication commute or not? If it does, you have an Abelian group; otherwise you do not. That’s all. And yet my professor seemed to think something deep was going on.

What I didn’t appreciate at the time is that there **is** something deep going on, not when you look at individual groups but when you look at kinds of groups *collectively*. That is, the **category** of general groups is quite different from the **category** of Abelian groups. This distinction was totally lost on me at the time.

## Clarifying example

I ran across an exercise recently that pinpoints what I was missing. The exercise asks the reader to show that the product of two cyclic groups is a coproduct in the category of Abelian groups but it is **not** a coproduct in the category of groups.

### Wrong perspective

Here’s how I would have thought about the problem at the time. The coproduct of two cyclic groups is their direct sum, and that’s the same group as the product. The coproduct is an Abelian group, so it’s a group, so it’s in the category of groups. So the statement in the exercise is wrong!

The exercise wasn’t wrong; the thinking above is wrong. But it’s wrong in a very subtle way.

In my mind, a category was a label that you put on things after you’ve done your calculations. This is a bear, it’s brown, so it’s a brown bear. What’s hard about that? What I was missing was the idea of a category as a **working context**, not just a classification label.

### Right perspective

Products and coproducts are defined in the context of a category. That’s what I was missing. In my mind, the coproduct of two groups was defined in some operational way. But what I thought of as a definition was a theorem. The definition depends on the context of a category, the category of Abelian groups, and the thing defined in that context turns out to have the operational properties that I took to be the definition.

You can’t just carry out some calculation and ask what category your result lies in, because the definition of what you’re calculating depends on the context of the category.

In category theory, products and coproducts are defined by universal properties. The (co)product of two objects *A* and *B* in a category is defined by saying that something holds for every object *C* in the category. (More on this here.)

In the category of Abelian groups, we’re saying that something happens for every *Abelian* group, but not necessarily for every group. That’s why a coproduct in the category of Abelian groups may not be a coproduct in the category of all groups.

Nice! I like your “test object” lens on this viewpoint too, where homomorphisms from Z/mZ and Z/nZ to a test group G don’t necessarily combine into a single homomorphism from Z/mZ x Z/nZ to G, but they do if G is an *abelian* test group.

Another categorical difference between working with groups and working with abelian groups is that “the category of abelian groups is enriched over itself” — in plainer language, between two groups G and H there’s a *set* of homomorphisms from G to H, but if G and H are abelian then this set of homomorphisms has the structure of an *abelian group* as well!

The category of vector spaces (over a given field) is also enriched over itself. That’s why you can take two linear transformations T and T’ from vector space V to vector space W and linearly combine them to get another linear transformation like 2T – 3T’, just as if T and T’ are vectors themselves. A big part of what makes linear algebra so powerful is that you can apply all the same vector space techniques to the spaces of transformations between them.