This is a file in the archives of the Stanford Encyclopedia of Philosophy. 
how to cite 
Stanford Encyclopedia of Philosophy 
content revised

For every pair a, b of objects, there is a collection Mor(a, b), namely, the morphisms from a to b in C (when f is a morphism from a to b, we write f: a b);
For every triple a, b and c of objects, there is a partial operation from pairs of morphisms in Mor(a, b) X Mor(b, c) to morphisms in Mor(a, c), called the composition of morphisms in C
(when f: a b and g: b c, (g o f): a c is their composition);
For every object a, there is a morphism ida in Mor(a, a), called the identity on a.Furthermore, morphisms have to satisfy two axioms:
Associativity: if f: a b, g: b c and h: c d, then h o (g o f) = (h o g) o f
Identity: if f: a b, then (idb o f) = f and (f o ida) = f.
One of the interesting features of category theory is that it provides a uniform treatment of the notion of structure. This can be seen, first, by considering the variety of examples of categories. Almost every known example of a mathematical structure with the appropriate structure preserving map yields a category. Thus, sets with functions between them constitute a category. Groups with group homomorphisms constitute a category. Topological spaces with continuous maps constitute a category. Vector spaces and linear maps constitute a category. Differential manifolds with smooth maps constitute a category. And so on. It is important to note that what characterizes a category is its morphisms and not its objects. Thus, the category of topological spaces with open maps is a different category than the category of topological spaces with continuous maps. In particular, the latter will have different properties as a category than the former. The previous examples have something in common: the objects are all structured sets with structure preserving maps. However, any entity satisfying the conditions given in the definition is a category. Thus, any preordered set is a category. For, given two elements p, q of the preordered set, there is a morphism f: p q if and only if p is smaller or equal to q. Hence, a preordered set is a category in which there is at most one morphism between any two objects. A deductive system such that the entailment relation is reflexive and transitive is a category. Any monoid (and thus any group) can be seen as a category: in this case, the category has only one object and the morphisms of the category are given by the elements of the monoid. Composition of morphisms corresponds to multiplication of elements of the monoid. It is easily checked that the axioms of a monoid corresponds to the axioms of a category in this particular case. It can therefore be said that the notion of a category is a generalization of the concept of preorder and at the same time a generalization of the notion of monoid.
Category theory unifies mathematical structures in a second, perhaps even more important, manner. Once a type of structure has been defined, it quickly becomes imperative to determine how new structures can be constructed out of the given one and how given structures can be decomposed into more elementary substructures. For instance, given two sets A and B, set theory allows us to construct their cartesian product A X B. For an example of the second sort, given a finite abelian group, it can be decomposed into a product of some of its subgroups. In both cases, it is necessary to know how structures of a certain kind combine. The nature of these combinations might appear to be considerably different when looked at from too close. Category theory reveals that many of these constructions are in fact special cases of objects in a category with what is called a "universal property". Indeed, from a categorical point of view, a settheoretical cartesian product, a direct product of groups, a direct product of abelian groups, a product of topological spaces and a conjunction of propositions in a deductive system are all instances of a categorical concept: the categorical product. What characterizes the latter is a universal property. Formally, a product for two objects a and b in a category C is an object c of C together with two morphisms, called the projections, p: c a and q: c b such that, and this is the universal property, for all object d with morphisms f: d a and g: d b, there is a unique morphism h: d c such that p o h = f and q o h = g. Notice that we have defined a product for a and b and not the product for a and b. Indeed, products and, in fact, every object with a universal property, are defined up to (a unique) isomorphism. Thus, in category theory, the nature of the elements constituting a certain construction is irrelevant. What matters is the way an object is related to the other objects of the category, that is, the morphisms going in and the morphisms going out, or, put differently, how certain structures can be mapped into it and how it can map its structure into other structures of the same kind.
Another crucial aspect of category theory is that it allows to see how different kind of structures are related to one another. For instance, in algebraic topology, topological spaces are related to groups by various means (homology, cohomology, homotopy, Ktheory). It was precisely in order to clarify how these connections are made and to compare them with one another that Eilenberg and Mac Lane invented category theory. Indeed, topological spaces with continuous maps constitute a category and similarly groups with group homomorphisms. In the very spirit of category theory, what should matter here are the morphisms between categories. These are given by functors and are informally structure preserving maps between categories. This simply means that, given two categories C and D, a functor F from C to D, should send objects of C to objects of D and morphisms of C to morphisms of D in such a way that composition of morphisms in C is preserved, i.e. F(g o f) = F(g) o F(f), and identity morphisms are preserved, i.e. F(ida) = idFa. It follows immediately that a functor preserves commutativity of diagrams between categories. Homology, cohomology, homotopy, Ktheory are all example of functors. A more direct example is provided by the power set operation which yields two functors on the category of sets, depending on how one defines its action on functions. Thus, given a set X, P(X) is the usual set of subsets of X and given a function f: X Y, P(f): P(X) P(Y) takes a subset A of X and maps it to B = f(A), the image of f restricted to A in Y. It is easily verified that it is a functor. There are in general many functors between two given categories and it becomes natural to ask how they are connected. For instance, given a category C, there is always the identity functor from C to C which sends every object of C to itself and every morphism of C to itself. In particular, there is the identity functor over the category of sets. Now, the identity functor is related to the power set functor described above in a natural manner. Indeed, given a set X and its power set P(X), there is a function hX which takes an element x of X and send it to the singleton set {x}, a subset of X, i.e. an element of P(X). This function in fact belongs to a family of functions indexed by the objects of the category of sets {hY: Y P(Y) Y in Ob(Set)}. Moreover, it satisfies the following commutativity condition. Given any function f: X Y, the identity functor yields the same function Id(f): Id(X) Id(Y). The commutativity condition thus becomes: hY o Id(f) = P(f) o hX. Thus the family of functions h() relates the two functors in a natural manner. Such families of morphisms are called natural transformations between functors.
The above notions constitute the elementary concepts of category theory. However it should be noted that they are not fundamental notions of category theory. These are arguably the notions of limits/colimits which are, in turn, special cases of what is certainly the cornerstone of the theory, the concept of adjoint functors. We will not present the definition here. Suffice it to say that adjoint functors pervade mathematics and this pervasiveness is certainly one of the most mysterious fact that category theory reveals about mathematics and probably thinking in general.
Categories, functors, natural transformations, limits and colimits appeared almost out of nowhere in 1945 in Eilenberg & Mac Lane's paper entitled "General Theory of Natural Equivalences". We said "almost", because when one looks at their 1942 paper "Group Extensions and Homology", one discovers specific functors and natural transformations at work. In fact, it was basically the need to clarify and abstract from their 1942 results that Eilenberg & Mac Lane came up with the notions of category theory. The central notion for them, as the title indicates, was the notion of natural transformation. In order to give a general definition of the latter, they defined the notion of functor, borrowing the terminology from Carnap, and in order to give a general definition of functor, they defined the notion of category, borrowing this time from Kant and Aristotle. After their 1945 paper, it was not clear that the concepts of category theory would be more than a convenient language. Then in 1950, Mac Lane used the language of categories to give an arrow theoretic definition of the notion of product in general. However, it was only in 1957 and in 1958 that the situation radically changed. Indeed, in 1957 Grothendieck published his landmark "Sur quelques points d'algebre homologique" in which categories are used intrinsically to define and construct more general theories which are then applied to specific fields, in particular, in the following years, algebraic geometry, and in 1958 Kan published "Adjoint functors" and showed that the latter concept subsumes the important concepts of limits and colimits and also captures crucial conceptual situations. From then on, category theory became more than a convenient language.
Indeed, in the sixties, category theory developed rapidly, mainly in the context of algebraic geometry, algebraic topology and universal algebra. One of the main features which appears on the scene then and which is the direct development of Grothendieck's work is the characterization of abstract categories in which various branches of mathematics can be developed. For instance, what is called an abelian category is given by categorical conditions, usually the existence of certain adjoint functors, which garantee the development, in this case, of a large portion of homological algebra. In the same period, and this time mostly under the influence of William Lawvere, the idea that category theory could be used as a foundation of mathematics came to be considered and developed seriously. This approach culminated in the development of an other idea due to Grothendieck and his school: the notion of a topos.
Even though the concept of a topos was presented in the 1960s, it was certainly Lawvere & Tierney's work on the elementary axiomatization of the concept, published in the early 1970s, which gave to the notion its foundational status and impetus. Very roughly, a topos is a category which also possess a rich logical structure, rich enough to develop most of "ordinary mathematics", that is, most of what is taught in an undergraduate degree in mathematics. But it is also a generalized topological space and thus provides a direct connection between logic and geometry. The 1970s saw the development and application of the concept. (For more on the history of topos theory, see McLarty 1992.)
Finally, from the 1980s to this day, category theory found new applications. On the one hand, it now has many applications to theoretical computer science where it has firm roots and contributes, among other things, to the development of the semantics of programming and the development of new logical systems. On the other hand, its applications to mathematics are becoming more diversified and it even touches upon theoretical physics where higherdimensional category theory, which is to category theory what higherdimensional geometry is to plane geometry, is used in the study of knots.
Category theory is now a common tool in the toolbox of mathematicians. That much is clear. It is also clear that category theory unifies and provides a fruitful organization of mathematics. Given these simple facts, it remains to be seen whether category theory should be "on the same plane", so to speak, with set theory, whether it should be considered seriously as providing a foundational alternative to set theory or whether it is foundational in a different sense altogether. (The same question applies, in fact and even with more force, to topos theory, but we will unfortunately ignore this area here.) Arguments in favor of category theory and arguments against category theory as a foundational framework have been advanced. (See Marquis 1995 for a quick overview and a proposal.) This is in itself a complicated issue which is rendered even more difficult by the fact that the foundations of category theory itself still have to be clarified. Given that most of philosophy of mathematics of the last 50 years or so has been done under the assumption that mathematics is more or less set theory in disguise, the retreat of set theory in favor of category theory would necessarily have an important impact on philosophical thinking.
The use of category theory for logical and philosophical studies is already well underway. Indeed, categorical logic, the study of logic with the help of categorical means, has been around for about 30 years now and is still vigorous. On that front, many important results have been obtained but are still largely ignored by philosophers. Suffice it to mention the generalization of KripkeBeth semantics for intuitionistic logic to sheaf semantics by Joyal, the discovery of the socalled geometric or coherent logic, whose practical and conceptual significance still has to be exposed, the notion and theorems of strong conceptual completeness, the geometric proofs of the independence of the continuum hypothesis and other strong axioms of set theory, the development of synthetic differential geometry which provides an alternative to standard and nonstandard analysis, the construction of the socalled effective topos in which every funtion on the natural numbers is recursive, categorical models of linear logic, modal logic and higherorder type theories in general and the development of a graphical syntax, called sketches. Category theory also provides relevant information to more general philosophical questions. For instance, Ellerman 1987 has tried to show that category theory constitutes a theory of universals which has properties radically different from set theory considered as a theory of universals. If we move from universals to concepts in general, we can see how category theory could be useful even in cognitive science. Indeed, Macnamara and Reyes have already tried to use categorical logic to provide a different logic of reference. (See, for instance, Macnamara & Reyes 1994.) McLarty, Marquis and Awodey have tried to show how it sheds an interesting light on structuralists approach to mathematical knowledge.
Thus, category theory is philosophically relevant in many ways and which will undoubtedly have to be taken into account in the years to come.
First published: December 6, 1996
Content last modified: July 16, 1997