> We'd spend most of the semester proving some trivial facts about morphisms and functors, just specialized to an unfamiliar category
Even if you know category theory, you still need to prove facts about the different categories you are dealing with. Just phrasing it in the language of category theory seldom suffices to prove something.
'The category of algebras of a monad on Set is complete and cocomplete, and the forgetful functor preserves limits.' gets you pretty far in a lot of subjects.
Doesn't the preservation of limits follow from the fact that the forgetful functor is right adjoint to the free functor? A left adjoint functor is always cocontinuous and a right adjoint functor is always continuous.
Looking at examples of "algebras of a monad on set", I see groups and monoids. Does this explain why:
- The trivial group corresponds to a singleton set?
- The direct product of two groups G and H corresponds to their Cartesian products as sets? And so on to direct products of infinitely many groups?
- An equaliser of G under homs f and g has as its underlying set {x \in G : f(x) = g(x)}?
And so on, I see that the same must be true for any other algebraic structure which is a "category of algebras of a monad on Set". Or have I misunderstood?
[edit]
I also see that because the free functor is cocontinuous (because it's left adjoint to the forgetful functor), the free group generated by the union of some sets is the same as the free product (not direct sum) of their individual free groups (because the free product is a coproduct but the direct sum is not). If we want a correspondence with direct sum instead, we need to generate free abelian groups instead of free groups.
Yes, all of this is true. Other examples of 'categories of algebras of a monad on Set' include vector spaces, rings, modules over a given ring, representations of a given group, and Lie algebras.
So if we could somehow teach category theory first (which would be hard because students would have no examples) we could shave a few lectures off each of those courses.
The trouble is that, from a certain perspective, all of those terms are indeed very simple. What they are not, however, is familiar.
Everything I say below will be completely useless to you, because it starts abstract and gets worse from there. You won't be able to apply this to anything immediately. But perhaps it will help you see why these concepts apply to so many things.
A category is a world of two-sided widgets that can be fit together, with a rule that two things can be fit together only if the shapes at matching ends line up. We call the widgets "morphisms" and the shapes of their ends "objects".
A functor is a way of seeing a piece of a category in terms of another category. If we're relating a category to itself, it's an endofunctor. Endofunctors are funny in that, if you're looking at a piece of a category in terms of the whole category, you can find something that looks like that piece itself inside the piece -- it's kind of fractal.
Monads are endofunctors where the infinite regress doesn't really get you anywhere -- if you zoom in by two levels, you see basically the same picture as if you only zoomed in once.
An algebra on a monad is a particular object, and a way to go from the zoomed-in version under the monad back to the unzoomed object at the top. It doesn't work for just any object; only the particular one.
My favorite example of a monad is the Tree monad in the category of data structures. (If you're familiar with programming, imagine the universe of all primitive types and all structs or enums you could possibly define.) The Tree monad zooms in on just the data structures that are trees whose leaves are a particular other data structure, like a tree of ints or a tree of customer records.
Among these tree types is the type of trees of trees of ints; that is, trees whose leaves are themselves trees of ints. It's valid, but a bit silly; we can always just graft each subtree onto the main tree to obtain a tree of ints. The extra level of tree doesn't add anything to the data structure.
A tree algebra picks out a particular leaf type and tells us how to turn a tree over this type into a single value. I can, for instance, explain how to sum all of the integers in a tree of ints to get a single integer. If we have a tree of trees of ints, I need to make sure that summing the subtrees and then summing the main tree is the same as just splicing the subtrees in and evaluating the whole thing. (It is.)
Deep breath.
There are lots of algebras that could exist for any given monad; I just illustrated one for the Tree monad. It turns out that if you take all of the algebras for a monad together, they form a category of their own. Morphisms between algebras in this category are a pair of morphisms in the original category, one going between the types the algebras work over, and one doing the same but within the focus of the monad. They have to cohere in a specific sense.
If this category is complete, then certain general kinds of optimization problems can be solved in that category -- for instance, the kind where you have some algebras and you want to find an algebra compatible with all of them. If it's cocomplete, you can solve another class of problems. (Loosely speaking, one is a minimization problem and the other is a maximization problem.)
It's not a "lot of". Only small portions of mathematics benefit from category theory. Analysis is all about getting down-and-dirty with your mathematical objects. It's pretty tiring how much category theory evangelism there is online despite being very different than actual mathematical academia.
Ok, but does that help me find out the speed of an object if I know its acceleration? Does it help me compute the length of the hypothenuse if I know the lengths of the other sides of a triangle?
My point is not that learning category theory would prevent you from understanding other math, but simply that category theory doesn't get you far at all in practical math.
And for understanding a normal school curriculum, it's much more important to understand derivatives than it is to understand the deep connections between constructive geometry and algebra, which is the kind of thing where category theory shines.
Basically, category theory in education proponents seem to forget that math is not just learned for its own self, but that it is also an important basis for understanding physics and perhaps other subjects.
Students also tend to do horribly with abstraction, it's one of the hardest things for some to understand. I've literally seen (very young) students who can tell you how many apples they have if the multiply 5 apples by 3 apples, but can't tell you how much is 5 * 3. Or who can tell you what's the missing number in 5 + _ = 9, but can't tell you what is x in 5 + x = 9. This may or may not apply at other levels of abstraction for older students as well.
Even if you know category theory, you still need to prove facts about the different categories you are dealing with. Just phrasing it in the language of category theory seldom suffices to prove something.