I wrote something for the Spanish newspaper El País, which has a column on mathematics called “Café y Teoremas”. Ágata Timón helped me a lot with writing this, and she also translated it into Spanish:
• John Baez, Qué es la teoría de categorías y cómo se ha convertido en tendencia, El País, 8 November 2019.
Here’s the English-language version I wrote. It’s for a general audience so don’t expect hard-core math!
Why has “category theory” become a trending topic?
Recently, various scientific media have been paying attention to a branch of mathematics called “category theory” that has become pretty popular inside the mathematical community in recent years. Some mathematicians are even starting to complain on Twitter that more people are tweeting about category theory than their own specialties. But what is this branch of mathematics, and why is it becoming so fashionable?
Category theory was invented in 1945 as a general technique to transform problems in one field of pure mathematics into problems in another field, where they could be solved. For example, we know that at any moment there must be a location on the surface of the Earth there where the wind velocity is zero. This is a marvelous result—but to prove this result, we must translate it into a fact about algebra, and a bit of category theory is very helpful here. More difficult results often require more category theory. The proof of Fermat’s Last Theorem, for example, builds on a vast amount of 20th-century mathematics, in which category theory plays a crucial role.
Category theory is sometimes called “the mathematics of mathematics”, since it stands above many other fields of mathematics, connecting and uniting them. Unfortunately even mathematicians have a limited tolerance for this high level of abstraction. So, for a long time many mathematicians called category theory “abstract nonsense”—using it reluctantly when it was necessary for their work, but not really loving it.
On the other hand, other mathematicians embraced the beauty and power of category theory. Thus, its influence has gradually been spreading. Since the 1990s, it has been infiltrating computer science: for example, new programming languages like Haskell and Scala use ideas from this subject. But now we are starting to see people apply category theory to chemistry, electrical engineering, and even the design of brakes in cars! “Applied category theory”, once an oxymoron, is becoming a real subject.
To understand this we need a little taste of the ideas. A category consists of a set of “objects” together with “morphisms”—some kind of processes, or paths—going between these objects. For example, we could take the objects to be cities, and the morphisms to be routes from one city to another. The key requirement is that if we have a morphism from an object x to an object y and a morphism from y to an object z, we can “compose” them and get a morphism from x to z. For example, if you have a way to drive from Madrid to Seville and a way to drive from Seville to Faro, that gives a way to drive from Madrid to Faro. Thus there is a category of cities and routes between them.
In mathematics, this focus on morphisms represented a radical shift of viewpoint. Starting around 1900, logicians tried to build the whole of mathematics on solid foundations. This turned out to be a difficult and elusive task, but their best attempt at the time involved “set theory”. A set is simply a collection of elements. In set theory as commonly practiced by mathematicians, these elements are also just sets. In this worldview, everything is just a set. It is a static worldview, as if we had objects but no morphisms. On the other hand, category theory builds on set theory by emphasizing morphisms—ways of transforming things—as equal partners to things themselves. It is not incompatible with set theory, but it offers new ways of thinking.
The idea of a category is simple. Exploiting it is harder. A loose group of researchers are starting to apply category theory to subjects beyond pure mathematics. The key step is to focus a bit less on things and a bit more on morphisms, which are ways to go between things, or ways to transform one thing into another. This is attitude is well suited to computer programming: a program is a way to transform input data into output data, and composing programs is the easiest way to build complicated programs from simpler ones. But personally, I am most excited by applications to engineering and the natural sciences, because these are newer and more surprising.
I was very pleased when two of my students got internships at the engineering firm Siemens, applying category theory to industrial processes. The first, Blake Pollard, now has a postdoctoral position at the National Institute of Standards and Technology in the USA. Among other things, he has used a programming method based on category theory to help design a “smart grid”—an electrical power network that is flexible enough to handle the ever-changing power generated by thousands of homes equipped with solar panels.
Rumors say that soon there may even be an institute of applied category theory, connecting mathematicians to programmers and businesses who need this way of thinking. It is too early to tell if this is the beginning of a trend, but my friends and colleagues on Twitter are very excited.