Usually the foundation of mathematics is thought of as having two pillars: mathematical logic and set theory. We briefly discussed mathematical logic and the foundation of mathematics in the story of Gödel, Brouwer, and Hilbert. The story of set theory is one of the most exciting in the history of mathematics, and its main hero was Georg Cantor, who discovered that there are many types of “infinity.”
Mathematical logic was always considered a very abstract part of mathematical activity, related to philosophy and quite separate from applications of mathematics. With the advent of computers, however, this perception completely changed. Logic was the first, and for many years, the main mathematical discipline used in the development of computers, and to this day large parts of computer science can be regarded as “applied logic.”
While mathematical logic and set theory indeed make up the language spanning all fields of mathematics, mathematicians rarely speak it. To borrow notions from computers, basic mathematical logic can be regarded as the “machine language” for mathematicians who usually use much higher languages and who do not worry about “compilation.” (Compilation is the process of translating a high programming language into machine language.)
The story of Category Theory is markedly different from that of mathematical logic and set theory. It was invented to abstractly explain a certain area of mathematics called “algebraic topology.” Specifically, the area of algebraic topology was based on a certain mathematical trick of associating algebraic objects to geometric objects, and category theory began by giving an abstract explanation to this trick and, along the way, to various other tricks from different areas of mathematics, which seemed unrelated. Category theory can be regarded as an abstraction of mathematicians’ practices, even more than of mathematical notions. Amazingly, this abstraction of a single mathematical area turned out to be a very useful language, and a practical way of thinking in many (but not all) mathematical areas.
It is not easy to give a popular explanation of what categories are, because the notion is based on a familiarity with modern mathematics. One experience we have when we study mathematics is that the same method, or even the same equation, may solve very different problems. This seems to express the “abstract” power of mathematics. Within mathematics itself, we are often interested in knowing when two mathematical structures are essentially the same. The technical word that expresses the equivalence of two mathematical structures is “isomorphism.” Category theory can be described as adding one more level of abstraction: trying to understand, in an abstract way, “isomorphism” and related notions.
Here are a few more details. Many mathematical areas can be described in terms of the “objects” studied in them, as well as in terms of certain notions of “maps” (functions) between the objects. (So in set theory the objects are “sets” and the maps are “functions,” and in group theory the objects are “groups” and the maps are called “homomorphisms.”) Categories are mathematical gadgets that put these common structures on common abstract ground. Every category has “objects” and “morphisms” with some abstract properties. An important notion is that of a “functor,” which is a way to relate one category to another. Categories indeed seem to play a pivotal role in the foundation of mathematics, or at least in some of its major areas, but they constitute a different sort of foundation. If we compare logic and set theory to the “machine language” of computers, we can regard category theory as an extremely useful universal programming tool.
Even if you did not follow the details about category theory, perhaps you got the correct impression that category theory is part of the mathematical trend to make things more and more abstract. Is this a good trend? Some opponents of category theory refer to it as “abstract nonsense.” But even they concede that it is sometimes extremely powerful. There is a healthy tension in mathematics between the ongoing efforts to understand things more abstractly and the efforts to understand more and more concrete issues and examples.
Samuel Eilenberg (left) and Saunders Mac Lane who introduced category theory.
The following is an ad-hoc discussion about category theory as a foundation for mathematics with Menachem Magidor (a set theorist and Hebrew University president) and Azriel Levy (a set theorist and Magidor’s thesis advisor), which takes place in the main corridor of the Mathematics Department, where Menachem is standing and smiling the smile of a person visiting his beloved hometown after a long absence.
GK (surprised): Hi Menachem, what are you doing here?
MM (tries unsuccessfully to look offended): What do you mean? Am I not wanted here?
GK: No, no, no, no, I was just wondering if the state of the Hebrew University is so good that you can afford to visit us.
MM: No, on the contrary, the situation is hopeless… Seriously, I was just taking a book…
AL: (enters the corridor, surprised) Shalom Menachem, what are you doing here?
MM (once again tries unsuccessfully to look offended): What do you mean? Am I not wanted?
AL: No, no, I’m just surprised that you have the time…
GK: (interrupts) Guys, I have a quick question for both of you. Can category theory serve as the foundation of mathematics instead of set theory?
MM: Hmm, it is actually an interesting question, there is a result that a certain topos theory has the same power as a set theory with certain axioms … of course you need some separation and replacement axioms … do you remember, Azriel?
AL: The crucial point in my mind is that sets are very easy to explain. Can you explain topos theory to high school students?
Other people arrive and the discussion is interrupted.
Many related posts can be found on the “n-category café”, e.g. David Corfield’s “Foundations.” You can find topics related to category theory in many posts on the secret blogging seminar and the anappologetic mathematician. Update: In “God plays dice” the metaphore of logic as a machine language was discussed.
Todd Trimble wrote (on Todd’s and Vishal Blog) a series of posts ( I, II, III) on category theory, and additional posts (I,II, III) on category theory and axiomatic set theory. See also the remark below.