Stanford Encyclopedia of Philosophy
This is a file in the archives of the Stanford Encyclopedia of Philosophy.

Category Theory

First published Fri Dec 6, 1996; substantive revision Thu Aug 30, 2007

Category theory has come to occupy a central position in contemporary mathematics and theoretical computer science, and is also applied to mathematical physics. Roughly, it is a general mathematical theory of structures and of systems of structures. As category theory is still evolving, its functions are correspondingly developing, expanding and multiplying. At minimum, it is a powerful language, or conceptual framework, allowing us to see the universal components of a family of structures of a given kind, and how structures of different kinds are interrelated. Category theory is both an interesting object of philosophical study, and a potentially powerful formal tool for philosophical investigations of concepts such as space, system, and even truth. It can be applied to the study of logical systems in which case category theory is called “categorical doctrines” at the syntactic, proof-theoretic, and semantic levels. Category theory is an alternative to set theory as a foundation for mathematics. As such, it raises many issues about mathematical ontology and epistemology. Category theory thus affords philosophers and logicians much to use and reflect upon.

1. General Definitions, Examples and Applications

1.1 Definitions

Categories are algebraic structures with many complementary natures, e.g., geometric, logical, computational, combinatorial, just as groups are many-faceted algebraic structures. Eilenberg & Mac Lane (1945) introduced categories in a purely auxiliary fashion, only as a formal ground for what they called functors and natural transformations, recognizing from the outset that categories are wholly dispensable in practice. The very definition of a category evolved over time, according to the author's chosen goals and metamathematical framework. Eilenberg & Mac Lane at first gave a purely abstract definition of a category, along the lines of the axiomatic definition of a group. Others, starting with Grothendieck (1957) and Freyd (1964), elected for reasons of practicality to define categories in set-theoretic terms.

An alternative approach, that of Lawvere (1963, 1966), begins by characterizing the category of categories, and then stipulates that a category is an object of that universe. This approach, under active development by various mathematicians, logicians and mathematical physicists, lead to what are now called “higher-dimensional categories” (Baez 1997, Baez & Dolan 1998a, Batanin 1998, Leinster 2002, Hermida et al. 2000, 2001, 2002). The very definition of a category is not without philosophical importance, since one of the objections to category theory as a foundational framework is the claim that since categories are defined as sets, category theory cannot provide a philosophically enlightening foundation for mathematics. We will briefly go over some of these definitions, starting with Eilenberg's & Mac Lane's (1945) algebraic definition. However, before going any further, the following definition will be required.

Definition: A mapping e will be called an identity if and only if the existence of any product eα or βe implies that eα = α and βe = β

Definition (Eilenberg & MacLane 1945): A category C is an aggregate Ob of abstract elements, called the objects of C, and abstract elements Map, called mappings of the category. The mappings are subject to the following five axioms:

(C1) Given three mappings α1, α2 and α3, the triple product α32α1) is defined if and only if (α3α21 is defined. When either is defined, the associative law
α32α1) = (α3α21

holds. This triple product is written α3α2α1.

(C2) The triple product α3α2α1 is defined whenever both products α3α2 and α2α1 are defined.

(C3) For each mapping α, there is at least one identity e1 such that αe1 is defined, and at least one identity e2 such that e2α is defined.

(C4) The mapping eX corresponding to each object X is an identity.

(C5) For each identity e there is a unique object X of C such that eX = e.

As Eilenberg & Mac Lane promptly remark, objects play a secondary role and could be entirely omitted from the definition. Doing so, however, would make the manipulation of the applications less convenient. It is practically suitable,and perhaps psychologically more simple to think in terms of mappings and objects. The term “aggregate” is used by Eilenberg & Mac Lane themselves, presumably so as to remain neutral with respect to the background set theory one wants to adopt.

Eilenberg & Mac Lane defined categories in 1945 for reasons of rigor. They did not need categories as such, but something like categories had to be defined so that the notions of functors and natural transformations — what they were really interested in and using — could be given an explicit and rigorous presentation.

Things changed in the following ten years, when categories started to be used in homology theory and homological algebra. Mac Lane, Buchsbaum, Grothendieck and Heller were considering categories in which the collections of morphisms between two fixed objects have an additional structure. More specifically, given any two objects X and Y of a category C, the set Hom(X, Y) of morphisms from X to Y form an abelian group. Furthermore, for reasons related to the ways homology and cohomology theories are linked, the definition of a category had to satisfy an additional formal property (which we will leave aside for the moment): it had to be self-dual. These requirements lead to the following definition.

Definition: A category C can be described as a set Ob, whose members are the objects of C, satisfying the following three conditions:
Morphism : For every pair X, Y of objects, there is a set Hom(X, Y), called the morphisms from X to Y in C. If f is a morphism from X to Y, we write f : XY.

Identity : For every object X, there exists a morphism idX in Hom(X, X), called the identity on X.

Composition : For every triple X, Y and Z of objects, there exists a partial binary operation from Hom(X, Y) × Hom(Y, Z) to Hom(X, Z), called the composition of morphisms in C. If f : XY and g : YZ, the composition of f and g is notated (g composition symbol f ) : XZ.

Identity, morphisms, and composition satisfy two axioms:

Associativity : If f : XY, g : YZ and h : ZW, then h composition symbol (g composition symbol f) = (h composition symbol g) composition symbol f.

Identity : If f : XY, then (idY composition symbol f) = f and (f composition symbol idX) = f.

This is the definition one finds in most textbooks of category theory. As such it explicitly relies on a set theoretical background and language. An alterative, suggested by Lawvere in the early sixties, is to develop an adequate language and background framework for a category of categories. We will not present the formal framework here, for it would take us too far from our main concern, but the basic idea is to define what are called weak n-categories (and weak ω-categories), and what had been called categories would then be called weak 1-categories (and sets would be weak 0-categories). (See, for instance, Baez 1997 or Makkai 1998.)

Also in the sixties, Lambek proposed to look at categories as deductive systems. This begins with the notion of a graph, consisting of two classes Arrows and Objects, and two mappings between them, s : Arrows → Objects and t : ArrowsObjects, namely the source and the target mappings. The arrows are usually called the “oriented edges” and the objects “nodes” or “vertices”. Following this, a deductive system is a graph with a specified arrow:

(R1) idX : XX,

and a binary operation on arrows:

(R2) Given f : XY and g : YZ, the composition of f and g is (g composition symbol f) : XZ.

Of course, the objects of a deductive system are normally thought of as formulas, the arrows are thought of as proofs or deductions, and operations on arrows are thought of as rules of inference. A category is then defined thus:

Definition (Lambek): A category is a deductive system in which the following equations hold between proofs: for all f : XY, g : YZ and h: ZW,

(E1) f composition symbol idX = f,   idY composition symbol f = f,   h composition symbol (g composition symbol f) = (h composition symbol g) composition symbol f.

Thus, by imposing an adequate equivalence relation upon proofs, any deductive system can be turned into a category. It is therefore legitimate to think of a category as an algebraic encoding of a deductive system. This phenomenon is already well-known to logicians, but probably not to its fullest extent. An example of such an algebraic encoding is the Lindenbaum-Tarski algebra, a Boolean algebra corresponding to classical propositional logic. Since a Boolean algebra is a poset, it is also a category. (Notice also that Boolean algebras with appropriate homomorphisms between them form another useful category in logic.) Thus far we have merely a change of vocabulary. Things become more interesting when first-order and higher-order logics are considered. The Lindenbaum-Tarski algebra for these systems, when properly carried out, yields categories, sometimes called “conceptual categories” or “syntactic categories” (Mac Lane & Moerdijk 1992, Makkai & Reyes 1977, Pitts 2000).

1.2 Examples

Almost every known example of a mathematical structure with the appropriate structure-preserving map yields a category.

  1. The category Set with objects sets and morphisms the usual functions. There are variants here: one can consider partial functions instead, or injective functions or again surjective functions. In each case, the category thus constructed is different
  2. The category Top with objects topological spaces and morphisms continuous functions. Again, one could restrict morphisms to open continuous functions and obtain a different category.
  3. The category hoTop with objects topological spaces and morphisms equivalence classes of homotopic functions. This category is not only important in mathematical practice, it is at the core of algebraic topology, but it is also a fundamental example of a category in which morphisms are not structure preserving functions.
  4. The category Vec with objects vector spaces and morphisms linear maps.
  5. The category Diff with objects differential manifolds and morphisms smooth maps.
  6. The categories Pord and PoSet with objects preorders and posets, respectively, and morphisms monotone functions.
  7. The categories Lat and Bool with objects lattices and Boolean algebras, respectively, and morphisms structure preserving homomorphisms, i.e., (⊤, ⊥, ∧, ∨) homomorphisms.
  8. The category Heyt with objects Heyting algebras and (⊤, ⊥, ∧, ∨, → ) homomorphisms.
  9. The category Mon with objects monoids and morphisms monoid homomorphisms.
  10. The category AbGrp with objects abelian groups and morphisms group homomorphisms, i.e. (1, ×, ?) homomorphisms
  11. The category Grp with objects groups and morphisms group homomorphisms, i.e. (1, ×, ?) homomorphisms
  12. The category Rings with objects rings (with unit) and morphisms ring homomorphisms, i.e. (0, 1, +, ×) homomorphisms.
  13. The category Fields with objects fields and morphisms fields homomorphisms, i.e. (0, 1, +, ×) homomorphisms.
  14. Any deductive system T with objects formulae and morphisms proofs.

These examples nicely illustrates how category theory treats the notion of structure in a uniform manner. Note that a category is characterized by its morphisms, and not by its objects. Thus the category of topological spaces with open maps differs from the category of topological spaces with continuous maps - or, more to the point, the categorical properties of the latter differ from those of the former.

We should underline again the fact that not all categories are made of structured sets with structure-preserving maps. Thus any preordered set is a category. For given two elements p, q of a preordered set, there is a morphism f : p → q if and only if p ≤ q. Hence a preordered set is a category in which there is at most one morphism between any two objects. Any monoid (and thus any group) can be seen as a category: in this case the category has only one object, and its morphisms are the elements of the monoid. Composition of morphisms corresponds to multiplication of monoid elements. That the monoid axioms correspond to the category axioms is easily verified.

Hence the notion of category generalizes those of preorder and monoid. We should also point out that a groupoid has a very simple definition in a categorical context: it is a category in which every morphism is an isomorphism, that is for any morphism f : XY, there is a morphism g : YX such that f composition symbol g = idX and g composition symbol f = idY.

1.3 Fundamental Concepts of the Theory

Category theory unifies mathematical structures in two different ways. First, as we have seen, almost every set theoretically defined mathematical structure with the appropriate notion of homomorphism yields a category. This is a unification provided within a set theoretical environment. Second, and perhaps even more important, once a type of structure has been defined, it is imperative to determine how new structures can be constructed out of the given one. For instance, given two sets A and B, set theory allows us to construct their Cartesian product A × B. It is also imperative to determine how given structures can be decomposed into more elementary substructures. For example, given a finite Abelian group, how can it be decomposed into a product of certain of its subgroups? In both cases, it is necessary to know how structures of a certain kind may combine. The nature of these combinations might appear to be considerably different when looked at from a purely set theoretical perspective.

Category theory reveals that many of these constructions are in fact certain objects in a category having a “universal property”. Indeed, from a categorical point of view, a Cartesian product in set theory, a direct product of groups (Abelian or otherwise), a product of topological spaces, and a conjunction of propositions in a deductive system are all instances of a categorical product characterized by a universal property. Formally, a product of two objects X and Y in a category C is an object Z of C together with two morphisms, called the projections, p : ZX and q : ZY such that—and this is the universal property—for all objects W with morphisms f : WX and g : WY, there is a unique morphism h : WZ such that p composition symbol h = f and q composition symbol h = g.

Note that we have defined a product for X and Y and not the product for X and Y. Indeed, products and other objects with a universal property are defined only 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 a given object and how a given object can map its structure into other structures of the same kind.

Category theory reveals how different kinds of structures are related to one another. For instance, in algebraic topology, topological spaces are related to groups (and modules, rings, etc.) in various ways (such as homology, cohomology, homotopy, K-theory). As noted above, groups with group homomorphisms constitute a category. Eilenberg & Mac Lane invented category theory precisely in order to clarify and compare these connections. What matters are the morphisms between categories, given by functors. Informally, morphisms are structure-preserving maps between categories. Given two categories C and D, a functor F from C to D sends 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 composition symbol f) = F(g) composition symbol F(f), and identity morphisms are preserved, i.e., F(idX) = idFX. It immediately follows that a functor preserves commutativity of diagrams between categories. Homology, cohomology, homotopy, K-theory 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, ℘(X) is the usual set of subsets of X, and given a function f : XY, ℘(f) : ℘(X) → ℘(Y) takes a subset A of X and maps it to B = f(A), the image of f restricted to A in X. It is easily verified that this defines a functor from the category of sets into itself.

In general, there are many functors between two given categories, and the question of how they are connected suggests itself. For instance, given a category C, there is always the identity functor from C to C which sends every object/morphism of C to itself. In particular, there is the identity functor over the category of sets.

Now, the identity functor is related in a natural manner to the power set functor described above. Indeed, given a set X and its power set ℘(X), there is a function hX which takes an element x of X and sends it to the singleton set {x}, a subset of X, i.e., an element of ℘(X). This function in fact belongs to a family of functions indexed by the objects of the category of sets {hY : Y → ℘(X) | Y in Ob(Set)}. Moreover, it satisfies the following commutativity condition: given any function f : XY, the identity functor yields the same function Id(f) : Id(X) → Id(Y). The commutativity condition thus becomes: hY composition symbol Id(f) = ℘(f) composition symbol 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. Similarly, natural transformations between models of a theory yield the usual homomorphisms of structures in the traditional set theoretical framework.

The above notions, while important, are not fundamental to category theory. The latter heading arguably include the notions of limit/colimit; in turn, these are special cases of what is certainly the cornerstone of category theory, the concept of adjoint functors, first defined by Daniel Kan in 1956 and published in 1958.

Adjoint functors can be thought of as being conceptual inverses. This is probably best illustrated by an example. Let U : GrpSet be the forgetful functor, that is, the functor that sends to each group G its underlying set of elements U(G), and to a group homomorphism f : GH the underlying set function U(f) : U(G) → U(H). In other words, U forgets about the group structure and forgets the fact that morphisms are group homomorphisms. The categories Grp and Set are certainly not isomorphic, as categories, to one another. (A simple argument runs as follows: the category Grp has a zero object, whereas Set does not.) Thus, we certainly cannot find an inverse, in the usual algebraic sense, to the functor U. But there are many non-isomorphic ways to define a group structure on a given set X, and one might hope that among these constructions at least one is functorial and systematically related to the functor U. What is the conceptual inverse to the operation of forgetting all the group theoretical structure and obtaining a set? It is to construct a group from a set solely on the basis of the concept of group and nothing else, i.e., with no extraneous relation or data. Such a group is constructed “freely”; that is, with no restriction whatsoever except those imposed by the axioms of the theory. In other words, all that is remembered in the process of constructing a group from a given set is the fact that the resulting construction has to be a group. Such a construction exists; it is functorial and it yields what are called free groups. In other words, there is a functor F : SetGrp, which to any set X assigns the free group F(X) on X, and to each function f : XY, the group homomorphism F(f) : F(X) → F(Y), defined in the obvious manner. The situation can be described thusly: we have two conceptual contexts, a group theoretical context and a set theoretical context, and two functors moving systematically from one context to the other in opposite directions. One of these functors is elementary, namely the forgetful functor U. It is apparently trivial and uninformative. The other functor is mathematically significant and important. The surprising fact is that F is related to U by a simple rule and, in some sense, it arises from U. One of the striking features of adjoint situations is precisely the fact that fundamental mathematical and logical constructions arise out of given and often elementary functors.

The fact that U and F are conceptual inverses expresses itself formally as follows: applying F first and then U does not yield the original set X, but there is a fundamental relationship between X and UF(X). Indeed, there is a function η : X → UF(X), called the unit of the adjunction, that simply sends each element of X to itself in UF(X) and this function satisfies the following universal property: given any function g : XU(G), there is a unique group homomorphism h : F(X) → G such that U(h) composition symbol η = g. In other words, UF(X) is the best possible solution to the problem of inserting elements of X into a group (what is called “insertion of generators” in the mathematical jargon). Composing U and F in the opposite order, we get a morphism ξ : FU(G) → G, called the counit of the adjunction, satisfying the following universal property: for any group homomorphism g : F(X) → G, there is a unique function h : XU(G) such that ξ composition symbol F(h) = g composition symbol FU(G) constitutes the best possible solution to the problem of finding a representation of G as a quotient of a free group. If U and F were simple algebraic inverses to one another, we would have the following identity: UF = ISet and FU = IGrp, where ISet denotes the identity functor on Set and IGrp the identity functor on Grp. As we have indicated, these identities certainly do not hold in this case. However, some identities do hold: they are best expressed with the help of the commutative diagrams:

U η composition symbol U
UFU        F F composition symbol η
U composition symbol η        ξ composition symbol F
U        F

where the diagonal arrows denote the appropriate identity natural transformations.

This is but one case of a very common situation: every free construction can be described as arising from an appropriate forgetful functor between two adequately chosen categories. The number of mathematical constructions that can be described as adjoints is simply stunning. Although the details of each one of these constructions vary considerably, the fact that they can all be described using the same language illustrates the profound unity of mathematical concepts and mathematical thinking. Before we give more examples, a formal and abstract definition of adjoint functors is in order.

Definition: Let F : CD and G : DC be functors going in opposite directions. F is a left adjoint to G (G a right adjoint to F), denoted by F adjoint G, if there exists natural transformations η : ICGF and ξ : FG → ID, such that the composites
G η composition symbol G
GFG G composition symbol ξ


F F composition symbol η
FGF ξ composition symbol F

are the identity natural transformations. (For different but equivalent definitions, see Mac Lane 1971 or 1998, chap. IV.)

Here are some of the important facts regarding adjoint functors. Firstly, adjoints are unique up to isomorphism; that is any two left adjoints F and F' of a functor G are naturally isomorphic. Secondly, the notion of adjointness is formally equivalent to the notion of a universal morphism (or construction) and to that of representable functor. (See, for instance Mac Lane 1998, chap. IV.) Each and every one of these notions exhibit an aspect of a given situation. Thirdly, a left adjoint preserves all the colimits which exist in its domain, and, dually, a right adjoint preserves all the limits which exist in its domain.

We now give some examples of adjoint situations to illustrate the pervasiveness of the notion.

  1. Instead of having a forgetful functor going into the category of sets, in some cases only a part of the structure is forgotten. Here are two standard examples:
    • There is an obvious forgetful functor U : AbGrpAbMon from the category of abelian groups to the category of abelian monoids: U forgets about the inverse operation. The functor U has a left adjoint F: AbMonAbGrp which, given an abelian monoid M, assigns to it the best possible abelian group F(M) such that M can be embedded in F(M) as a submonoid. For instance, if M is ℕ, then F(ℕ) “is” ℤ, that is, it is isomorphic to ℤ.
    • Similarly, there is an obvious forgetful functor U : HausTop from the category of Hausdorff topological spaces to the category of topological spaces which forgets the Hausdorff condition. Again, there is a functor F : TopHaus such that F adjoint U. Given a topological space X, F(X) yields the best Hausdorff space constructed from X: it is the quotient of X by the closure of the diagonal ΔXX × X, which is an equivalence relation. In contrast with the previous example where we had an embedding, this time we get a quotient of the original structure.
  2. Consider now the category of compact Hausdorff spaces kHaus and the forgetful functor U : kHausTop, which forgets the compactness property and the separation property. The left adjoint to this U is the Stone-Cech compactification.
  3. There is a forgetful functor U : ModRAbGrp from a category of R-modules to the category of abelian groups, where R is a commutative ring with unit. The functor U forgets the action of R on a group G. The functor U has both a left and a right adjoint. The left adjoint is R ⊗ − : AbGrpModR which sends an abelian group G to the tensor product RG and the right adjoint is given by the functor Hom(R, −) : AbGrpModR which assigns to any group G the modules of linear mappings Hom(R, G).
  4. The case where the categories C and D are posets deserves special attention here. Adjoint functors in this context are usually called Galois connections. Let C be a poset. Consider the diagonal functor Δ : CC × C, with Δ(X) = ⟨X, X⟩ and for f : XY, Δ(f) = ⟨f, f⟩ : ⟨X, X⟩ → ⟨Y, Y⟩. In this case, the left-adjoint to Δ is the coproduct, or the sup, and the right-adjoint to Δ is the product, or the inf. The adjoint situation can be described in the following special form:
    XZ, YZ
    vArrow dot-pixel ZXY
    ZY, ZX

    where the vertical double arrow can be interpreted as rules of inference going in both directions.

  5. Implication can also be introduced. Consider a functor with a parameter: (− ∧ X) : CC. It can easily be verified that when C is a poset, the function (− ∧ X) is order preserving and therefore a functor. A right adjoint to (− ∧ X) is a functor that yields the largest element of C such that its infimum with X is smaller than Z. This element is sometimes called the relative pseudocomplement of X or, more commonly, the implication. It is denoted by X ⇒ Z or by XZ. The adjunction can be presented as follows:
  6. The negation operator ¬X can be introduced from the last adjunction. Indeed, let Z be the bottom element ⊥ of the lattice. Then, since YX ≤ ⊥ is always true, it follows that YX ⇒ ⊥ is also always true. But since X ⇒ ⊥ ≤ X is always the case, we get at the numerator that X ⇒ ⊥ ∧ X = ⊥. Hence, X ⇒ ⊥ is the largest element disjoint from X. We can therefore put ¬X =def X ⇒ ⊥.
  7. Limits, colimits, and all the fundamental constructions of category theory can be described as adjoints. Thus, products and coproducts are adjoints, as are equalizers, coequalizers, pullbacks and pushouts, etc. This is one of the reasons adjointness is central to category theory itself: because all the fundamental operations of category theory arise from adjoint situations.
  8. An equivalence of categories is a special case of adjointness. Indeed, if in the above triangular identities the arrows η : ICGF and ξ : FGID are natural isomorphisms, then the functors F and G constitute an equivalence of categories. In practice, it is the notion of equivalence of categories that matters and not the notion of isomorphism of categories.

It is easy to prove certain facts about these operations directly from the adjunctions. Consider, for instance, implication. Let Z = X. Then we get at the numerator that YXX, which is always true in a poset (as is easily verified). Hence, YXX is also true for all Y and this is only possible if XX = ⊤, the top element of the lattice. Not only can logical operations be described as adjoints, but they naturally arise as adjoints to basic operations. In fact, adjoints can be used to define various structures, distributive lattices, Heyting algebras, Boolean algebras, etc. (See Wood, 2004.) It should be clear from the simple foregoing example how the formalism of adjointness can be used to give syntactic presentations of various logical theories. Furthermore, and this is a key element, the standard universal and existential quantifiers can be shown to be arising as adjoints to the operation of substitution. Thus, quantifiers are on a par with the other logical operations, in sharp contrast with the other algebraic approaches to logic. (See, for instance Awodey 1996 or Mac Lane & Moerdijk 1992.) More generally, Lawvere showed how syntax and semantics are related by adjoint functors. (See Lawvere 1969b.)

Dualities play an important role in mathematics and they can be described with the help of equivalences between categories. In other words, many important mathematical theorems can be translated as statements about the existence of adjoint functors, sometimes satisfying additional properties. This is sometimes taken as expressing the conceptual content of the theorem. Consider the following fundamental case: let C be the category whose objects are the locally compact abelian groups and the morphisms are the continuous group homomorphisms. Then, the Pontryagin duality theorem amounts to the claim that the category C is equivalent to the category C°, that is, to the opposite category. Of course, the precise statement requires that we describe the functors F : CC° and G : C° → C and prove that they constitute an equivalence of categories.

Another well known and important duality was discovered by Stone in the thirties and now bears his name. In one direction, an arbitrary Boolean algebra yields a topological space, and in the other direction, from a (compact Hausdorff and totally disconnected) topological space, one obtains a Boolean algebra. Moreover, this correspondence is functorial: any Boolean homomorphism is sent to a continuous map of topological spaces, and, conversely, any continuous map between the spaces is sent to a Boolean homomorphism. In other words, there is an equivalence of categories between the category of Boolean algebras and the dual of the category of Boolean spaces (also called Stone spaces). (See Johnstone 1982 for an excellent introduction and more developments.) The connection between a category of algebraic structures and the opposite of a category of topological structures established by Stone's theorem constitutes but one example of a general phenomenon that did attract and still attracts a great deal of attention from category theorists. Categorical study of duality theorems is still a very active and significant field, and is largely inspired by Stone's result. (For recent applications in logic, see, for instance Makkai 1987, Taylor 2000, 2002a, 2002b.)

2. Brief Historical Sketch

It is difficult to do justice to the short but intricate history of the field. In particular it is not possible to mention all those who have contributed to its rapid development. With this word of caution out of the way, we will look at some of the main historical threads.

Categories, functors, natural transformations, limits and colimits appeared almost out of nowhere in a paper by Eilenberg & Mac Lane (1945) entitled “General Theory of Natural Equivalences.” We say “almost,” because their earlier paper (1942) contains specific functors and natural transformations at work, limited to groups. A desire to clarify and abstract their 1942 results led Eilenberg & Mac Lane to devise category theory. The central notion at the time, as their title indicates, was that of natural transformation. In order to give a general definition of the latter, they defined functor, borrowing the term from Carnap, and in order to define functor, they borrowed the word ‘category’ from the philosophy of Aristotle, Kant, and C. S. Peirce, but redefining it mathematically.

After their 1945 paper, it was not clear that the concepts of category theory would amount to more than a convenient language; this indeed was the status quo for about fifteen years. Category theory was employed in this manner by Eilenberg & Steenrod (1952), in an influential book on the foundations of algebraic topology, and by Cartan & Eilenberg (1956), in a ground breaking book on homological algebra. (Curiously, although Eilenberg & Steenrod defined categories, Cartan & Eilenberg simply assumed them!) These books allowed new generations of mathematicians to learn algebraic topology and homological algebra directly in the categorical language, and to master the method of diagrams. Indeed, without the method of diagram chasing, many results in these two books seem inconceivable, or at the very least would have required a considerably more intricate presentation.

The situation changed radically with Grothendieck's (1957) landmark paper entitled “Sur quelques points d'algèbre homologique”, in which the author employed categories intrinsically to define and construct more general theories which he (Grothendieck 1957) then applied to specific fields, e.g., to algebraic geometry. Kan (1958) showed that adjoint functors subsume the important concepts of limits and colimits and could capture fundamental concepts in other areas (in his case, homotopy theory).

At this point, category theory became more than a convenient language, by virtue of two developments.

  1. Employing the axiomatic method and the language of categories, Grothendieck (1957) defined in an abstract fashion types of categories, e.g., additive and Abelian categories, showed how to perform various constructions in these categories, and proved various results about them. In a nutshell, Grothendieck showed how to develop part of homological algebra in an abstract setting of this sort. From then on, a specific category of structures, e.g., a category of sheaves over a topological space X, could be seen as a token of an abstract category of a certain type, e.g., an Abelian category. One could therefore immediately see how the methods of, e.g., homological algebra could be applied to, for instance, algebraic geometry. Furthermore, it made sense to look for other types of abstract categories, ones that would encapsulate the fundamental and formal aspects of various mathematical fields in the same way that Abelian categories encapsulated fundamental aspects of homological algebra.
  2. Thanks in large part to the efforts of Freyd and Lawvere, category theorists gradually came to see the pervasiveness of the concept of adjoint functors. Not only does the existence of adjoints to given functors permit definitions of abstract categories (and presumably those which are defined by such means have a privileged status) but as we mentioned earlier, many important theorems and even theories in various fields can be seen as equivalent to the existence of specific functors between particular categories. By the early 1970's, the concept of adjoint functors was seen as central to category theory.

With these developments, category theory became an autonomous field of research, and pure category theory could be developed. And indeed, it did grow rapidly as a discipline, but also in its applications, mainly in its source contexts, namely algebraic topology and homological algebra, but also in algebraic geometry and, after the appearance of Lawvere's Ph. D thesis, in universal algebra. This thesis also constitutes a landmark in this history of the field, for in it Lawvere proposed the category of categories as a foundation for category theory, set theory and, thus, the whole of mathematics, as well as using categories for the study of the logical aspects of mathematics.

Over the course of the 1960's, Lawvere outlined the basic framework for an entirely original approach to logic and the foundations of mathematics. He achieved the following:

Meanwhile, Lambek (1968, 1969, 1972) described categories in terms of deductive systems and employed categorical methods for proof-theoretical purposes.

All this work culminated in another notion, thanks to Grothendieck and his school: that of a topos. Even though toposes appeared in the 1960's, in the context of algebraic geometry, again from the mind of Grothendieck, it was certainly Lawvere and Tierney's (1972) elementary axiomatization of a topos which gave impetus to its attaining foundational status. Very roughly, a topos is a category possessing a logical structure sufficiently rich to develop most of “ordinary mathematics”, that is, most of what is taught to mathematics undergraduates. As such, a topos can be thought of as a categorical theory of sets. But it is also a generalized topological space, thus providing a direct connection between logic and geometry.

The 1970s saw the development and application of the topos concept in many different directions. The very first applications outside algebraic geometry were in set theory, where various independence results were recast in terms of topos (Tierney 1972, Bunge 1974, but also Blass & Scedrov 1989, Blass & Scedrov 1992, Freyd 1980, Mac Lane & Moerdijk 1992, Scedrov 1984). Connections with intuitionistic mathematics were noted early on, and toposes are still used to investigate models of various aspects of intuitionism (Lambek & Scott 1986, Mac Lane & Moerdijk 1992, Van der Hoeven & Moerdijk 1984a, 1984b, 1984c, Moerdijk 1984, Moerdijk 1995a, Moerdijk 1998, Moerdijk & Palmgren 1997, Moerdijk & Palmgren 2002). For more on the history of topos theory, see Mc Larty (1992).

More recently, topos theory has been employed to investigate various forms of constructive mathematics or set theory (Joyal & Moerdijk 1995, Taylor 1996), recursiveness, and models of higher-order type theories generally. The introduction of the so-called “effective topos” and the search for axioms for synthetic domain theory are worth mentioning (Hyland 1982, Hyland 1988, 1991, Hyland et al. 1990, Mc Larty 1992, Jacobs 1999, Van Oosten 2002 and the references therein). Lawvere's early motivation was to provide a new foundation for differential geometry, a lively research area which is now called “synthetic differential geometry” (Lawvere 2000, 2002, Kock 1981, Bell 1988, 1995, 1998, Moerdijk & Reyes 1991). This is only the tip of the iceberg; toposes could prove to be for the 21st century what Lie groups were to the 20th century.

From the 1980s to the present, category theory has found new applications. In theoretical computer science, category theory is now firmly rooted, and contributes, among other things, to the development of new logical systems and to the semantics of programming. (Pitts 2000, Plotkin 2000, Scott 2000, and the references therein). Its applications to mathematics are becoming more diverse, even touching on theoretical physics, which employs higher-dimensional category theory — which is to category theory what higher-dimensional geometry is to plane geometry — to study the so-called “quantum groups” and quantum field theory (Baez & Dolan 2001 and other publications by these authors).

3. Philosophical Significance

Category theory challenges philosophers in two ways, which are not necessarily mutually exclusive. On the one hand, it is certainly the task of philosophy to clarify the general epistemological and ontological status of categories and categorical methods, both in the practice of mathematics and in the foundational landscape. On the other hand, philosophers and philosophical logicians can employ category theory and categorical logic to explore philosophical and logical problems. I now discuss these challenges, briefly, in turn.

Category theory is now a common tool in the mathematician's toolbox; that much is clear. It is also clear that category theory organizes and unifies much of mathematics. (See for instance Mac Lane 1971, 1998 or Pedicchio & Tholen 2004.) No one will deny these simple facts.

Doing mathematics in a categorical framework is almost always radically different from doing it in a set-theoretical framework (the exception being working with the internal language of a Boolean topos; whenever the topos is not Boolean, then the main difference lies in the fact that the logic is intuitionistic). Hence, as is often the case when a different conceptual framework is adopted, many basic issues regarding the nature of the objects studied, the nature of the knowledge involved, and the nature of the methods used have to be reevaluated. We will take up these three aspects in turn.

Two facets of the nature of mathematical objects within a categorical framework have to be emphasized. First, objects are always given in a category. An object exists in and depends upon an ambient category. Furthermore, an object is characterized by the morphisms going in it and/or the morphisms coming out of it. Second, objects are always characterized up to isomorphism (in the best cases, up to a unique isomorphism). There is no such thing, for instance, as the natural numbers. However, it can be argued that there is such a thing as the concept of natural numbers. Indeed, the concept of natural numbers can be given unambiguously, via the Dedekind-Peano-Lawvere axioms, but what this concept refers to in specific cases depends on the context in which it is interpreted, e.g., the category of sets or a topos of sheaves over a topological space. It is hard to resist the temptation to think that category theory embodies a form of structuralism, that it describes mathematical objects as structures since the latter, presumably, are always characterized up to isomorphism. Thus, the key here has to do with the kind of criterion of identity at work within a categorical framework and how it resembles any criterion given for objects which are thought of as forms in general. One of the standard objections presented against this view is that if objects are thought of as structures and only as abstract structures, meaning here that they are separated from any specific or concrete representation, then it is impossible to locate them within the mathematical universe. (See Hellman 2003 for a standard formulation of the objection, Mc Larty 1993, Awodey 2004, Landry & Marquis 2005 for relevant material on the issue.) A slightly different way to make sense of the situation is to think of mathematical objects as types for which there are tokens given in different contexts. This is strikingly different from the situation one finds in set theory, in which mathematical objects are defined uniquely and their reference is given directly. Although one can make room for types within set theory via equivalence classes or isomorphism types in general, the basic criterion of identity within that framework is given by the axiom of extensionality and thus, ultimately, reference is made to specific sets. Furthermore, it can be argued that the relation between a type and its token is not represented adequately by the membership relation. A token does not belong to a type, it is not an element of a type, but rather it is an instance of it. In a categorical framework, one always refers to a token of a type, and what the theory characterizes directly is the type, not the tokens. In this framework, one does not have to locate a type, but tokens of it are, at least in mathematics, epistemologically required. This is simply the reflection of the interaction between the abstract and the concrete in the epistemological sense (and not the ontological sense of these latter expressions.) (See Ellerman 1988, Marquis 2000 and Marquis forthcoming.)

The history of category theory offers a rich source of information to explore and take into account for an historically sensitive epistemology of mathematics. It is hard to imagine, for instance, how algebraic geometry and algebraic topology could have become what they are now without categorical tools. (See, for instance, Corfield 2003, Mc Larty 1994.) Category theory has lead to reconceptualizations of various areas of mathematics based on purely abstract foundations. Moreover, when developed in a categorical framework, traditional boundaries between disciplines are shattered and reconfigured; to mention but one important example, topos theory provides a direct bridge between algebraic geometry and logic, to the point where certain results in algebraic geometry are directly translated into logic and vice versa. Certain concepts that were geometrical in origin are more clearly seen as logical (for example, the notion of coherent topos). Algebraic topology also lurks in the background. On a different but important front, it can be argued that the distinction between mathematics and metamathematics cannot be articulated in the way it has been. All these issues have to be reconsidered and reevaluated.

Moving closer to mathematical practice, category theory allowed for the development of methods that have changed and continue to change the face of mathematics. It could be argued that category theory represents the culmination of one of deepest and most powerful tendencies in twentieth century mathematical thought: the search for the most general and abstract ingredients in a given situation. Category theory is, in this sense, the legitimate heir of the Dedekind-Hilbert-Noether-Bourbaki tradition, with its emphasis on the axiomatic method and algebraic structures. When used to characterize a specific mathematical domain, category theory reveals the frame upon which that area is built, the overall structure presiding to its stability, strength and coherence. The structure of this specific area, in a sense, might not need to rest on anything, that is, on some solid soil, for it might very well be just one part of a larger network that is without any Archimedean point, as if floating in space. To use a well-known metaphor: from a categorical point of view, Neurath's ship has become a spaceship.

Still, it remains to be seen whether category theory should be “on the same plane,” so to speak, as set theory, whether it should be taken as a serious alternative to set theory as a foundation for mathematics, or whether it is foundational in a different sense altogether. (That this very question applies even more forcefully to topos theory will not detain us.)

Lawvere from early on promoted the idea that a category of categories could be used as a foundational framework. (See Lawvere 1964, 1966.) This proposal now rests in part on the development of higher-dimensional categories, also called weak n-categories. (See, for instance Makkai 1998.) The advent of topos theory in the seventies brought new possibilities. Mac Lane has suggested that certain toposes be considered as a genuine foundation for mathematics. (See Mac Lane 1986.) Lambek proposed the so-called free topos as the best possible framework, in the sense that mathematicians with different philosophical outlooks might nonetheless agree to adopt it. (See Couture & Lambek 1991, 1992, Lambek 1994.) He has recently argued that there is no topos that can thoroughly satisfy a classical mathematician. (See Lambek 2004.) (For more on the various foundational views among category theorists, see Landry & Marquis 2005.)

Arguments have been advanced for and against category theory as a foundational framework. (Blass 1984 surveys the relationships between category theory and set theory. Feferman 1977, Bell 1981, and Hellman 2003 argue against category theory. See Marquis 1995 for a quick overview and proposal and Mc Larty 2004 and Awodey 2004 for replies to Hellman 2003.) This matter is further complicated by the fact that the foundations of category theory itself have yet to be clarified. For there may be many different ways to think of a universe of higher-dimensional categories as a foundations for mathematics. An adequate language for such a universe still has to be presented together with definite axioms for mathematics. (See Makkai 1998 for a short description of such a language.)

It is an established fact that category theory is employed to study logic and philosophy. Indeed, categorical logic, the study of logic by categorical means, has been under way for about 30 years now and still vigorous. Some of the philosophically relevant results obtained in categorical logic are:

Categorical tools in logic offer considerable flexibility, as is illustrated by the fact that almost all the surprising results of constructive and intuitionistic mathematics can be modeled in a proper categorical setting. At the same time, the standard set-theoretic notions, e.g. Tarski's semantics, have found natural generalizations in categories. Thus, categorical logic has roots in logic as it was developed in the twentieth century, while at the same time providing a powerful and novel framework with numerous links to other parts of mathematics.

Category theory also bears on more general philosophical questions. From the foregoing disussion, it should be obvious that category theory and categorical logic ought to have an impact on almost all issues arising in philosophy of logic: from the nature of identity criteria to the question of alternative logics, category theory always sheds a new light on these topics. Similar remarks can be made when we turn to ontology, in particular formal ontology: the part/whole relation, boundaries of systems, ideas of space, etc. Ellerman (1988) has bravely attempted to show that category theory constitutes a theory of universals, one having properties radically different from set theory, which is also seen as a theory of universals. Moving from ontology to cognitive science, MacNamara & Reyes (1994) have tried to employ categorical logic to provide a different logic of reference. In particular, they have attempted to clarify the relationships between count nouns and mass terms. Other researchers are using category theory to study complex systems, cognitive neural networks, and analogies. (See, for instance, Ehresmann & Vanbremeersch 1987, Healy 2000, Arzi-Gonczarowski 1999.)

Category theory offers thus many philosophical challenges, challenges which will hopefully be taken up in years to come.


The following Bibliography has been divided into sections to facilitate programmatic reading. However, to more easily lookup a citation in the text, the reader may wish to use the following document, which has been compiled and alphabetically sorted:

Alphabetically Sorted, Complete Bibliography

A. General books on category theory

A.1 Introductory texts

These two texts are intended for undergraduates or nonspecialists.

A.2 Intermediate texts

Much more than category theory in this classic textbook, but it contains the rudiments of the theory with applications.

The following books provide an accessible approach to category theory and categorical logic:

The standard reference on category theory is unquestionably:

A.3 Other interesting and useful books

B. Books and articles on higher-dimensional category theory

C. Articles with a philosophical bent

C.1 Category theory and the philosophy of mathematics

C.2 Category theory and set theory

C.3 Categorical foundations of logic and mathematics

C.4 Applications of category theory to philosophical of cognitive issues

D. Books and papers on categorical logic

D.1 Introductoy books and papers

One of the first introductory books on the subject is and still extremely useful for readers without a strong background in category theory:

For readers with a background in logic and set theory:

D.2 Advanced textbooks

Note that the second volume of (Johnstone 2002a) contains a clear and exhaustive presentation of categorical logic in a topos theoretical setting.

D.3 Research monographs

D.4 Books and introductory papers written for computer scientists

D.5 A book on nonclassical logics from a categorical point of view

D.6 Research papers on various aspects of categorical logic

D.6.1 Completeness results
D.6.2 Categorical logic and constructivism
D.6.3 Applications of categorical logic to set theory
D.6.4 Proof theory
D.6.5 Modal logic and other logical systems

E. Applications of category theory

E.1 Books and papers on synthetic differential geometry

E.2 Other applications of category theory

F. Major books and papers of the history of category theory

F.1 The first period: the origins and first applications 1942-1957

F.2 The second period: the emergence of an autonomous field 1957-1970

F.3 The birth of categorical logic

F.4 On the history of category theory and categorical logic

Other Internet Resources

Related Entries

mathematics, philosophy of | set theory