## 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, as
preparation for what they called functors and natural
transformations. 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\alpha\) or \(\beta e\) implies that \(e\alpha = \alpha\) and
\(\beta e = \beta\)



Here is the original definition of a category.



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



(C1) Given three mappings \(\alpha\_1, \alpha\_2\) and
\(\alpha\_3\), the triple product \(\alpha\_3 (\alpha\_2\alpha\_1)\) is
defined if and only if \((\alpha\_3\alpha\_2)\alpha\_1\) is defined.
When either is defined, the associative law



\[
\alpha\_3 (\alpha\_2\alpha\_1) = (\alpha\_3\alpha\_2)\alpha\_1
\]



holds. This triple product is written
\(\alpha\_3\alpha\_2\alpha\_1.\) 




(C2) The triple product
\(\alpha\_3\alpha\_2\alpha\_1\) is defined
whenever both products \(\alpha\_3\alpha\_2\) and
\(\alpha\_2\alpha\_1\) are defined.




(C3) For each mapping \(\alpha\), there is at least one identity
\(e\_1\) such that \(\alpha e\_1\) is
defined, and at least one identity \(e\_2\) such that
\(e\_2\alpha\) is defined.




(C4) The mapping \(e\_X\) corresponding to each object
\(X\) is an identity.




(C5) For each identity \(e\) there is a unique object
\(X\) of \(\mathbf{C}\) such that \(e\_X = 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. As they note:



> 
> It should be observed first that the whole concept of a category is
> essentially an auxiliary one; our basic concepts are essentially those
> of a functor and of natural transformation (...). The idea of a
> category is required only by the precept that every function should
> have a definite class as domain and a definite class as range, for the
> categories are provided as the domains and ranges of functors. Thus
> one could drop the category concept altogether and adopt an even more
> intuitive standpoint, in which a functor such as "Hom" is
> not defined over the category of "all" groups, but for
> each particular pair of groups which may be given. The standpoint
> would suffice for applications, inasmuch as none of our developments
> will involve elaborate constructions on the categories
> themselves. (1945, chap. 1, par. 6, p. 247)
> 




Things changed in the following ten years, when categories started
to be used in algebraic topology 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 \(\mathbf{C}\), the *set*
\(\mathbf{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 \(\mathbf{C}\) can be
described as a set \(\mathbf{Ob}\), whose members are the objects
of \(\mathbf{C}\), satisfying the following three conditions:


*Morphism* : For every pair \(X,
Y\) of objects, there is a set \(\mathbf{Hom}(X,
Y)\), called the *morphisms* from \(X\) to
\(Y\) in \(\mathbf{C}.\) If \(\boldsymbol{f}\) is a
morphism from \(X\) to \(Y\), we write
\(\boldsymbol{f} : X \rightarrow Y.\) 



*Identity* : For every object \(X\), there exists
a morphism \(\mathbf{id}\_X\) in
\(\mathbf{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 \(\mathbf{Hom}(X, Y) \times \mathbf{Hom}(Y, Z)\) to
\(\mathbf{Hom}(X, Z)\), called the composition of
morphisms in \(\mathbf{C}.\) If
\(\boldsymbol{f}: X \rightarrow Y\) and
\(\boldsymbol{g}: Y \rightarrow Z\), the
composition of \(f\) and \(g\) is notated
\((\boldsymbol{g} \circ \boldsymbol{f}): X \rightarrow Z.\)





Identity, morphisms, and composition satisfy two axioms:



*Associativity* : If
\(\boldsymbol{f}: X \rightarrow Y,
\boldsymbol{g}: Y \rightarrow Z\) and
\(\boldsymbol{h}: Z \rightarrow W\), then
\(\boldsymbol{h} \circ 
 (\boldsymbol{g} \circ \boldsymbol{f})
= (\boldsymbol{h} \circ \boldsymbol{g})
 \circ \boldsymbol{f}.\)


*Identity* : If \(\boldsymbol{f}:
X \rightarrow Y\), then \((\mathbf{id}\_Y \circ \mathbf{f}) = \boldsymbol{f}\) and
\((\boldsymbol{f} \circ \id\_X) = \boldsymbol{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 alternative, 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 \(\omega\)-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, Makkai 1998, Leinster
2004, Baez & May 2010, Simpson 2011.)




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, \(\boldsymbol{s}: \Arrows \rightarrow
\Objects\) and \(\boldsymbol{t}: \Arrows \rightarrow \Objects\),
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) \(\mathbf{id}\_X : X \rightarrow X\),




and a binary operation on arrows: 


(R2) Given \(\boldsymbol{f}: X \rightarrow Y\) and \(\boldsymbol{g}: Y \rightarrow Z\), the composition of \(\boldsymbol{f}\) and
\(\boldsymbol{g}\) is \((\boldsymbol{g} \circ \boldsymbol{f}): X \rightarrow Z.\)




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 \(\boldsymbol{f}: X \rightarrow Y, \boldsymbol{g}: Y \rightarrow Z\) and
\(\boldsymbol{h}: Z \rightarrow W\),


(E1) \(\boldsymbol{f} \circ \id\_X = \boldsymbol{f}\),   \(\mathbf{id}\_Y \circ \boldsymbol{f} = \boldsymbol{f}\),   \(\boldsymbol{h} \circ 
 (\boldsymbol{g} \circ \boldsymbol{f}) = (\boldsymbol{h} \circ \boldsymbol{g})
 \circ \boldsymbol{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., \((\top , \bot , \wedge , \vee)\) homomorphisms.
8. The category *Heyt* with objects Heyting algebras and
 \((\top , \bot , \wedge , \vee , \rightarrow)\) 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, \times, (-)^{-1})\) homomorphisms.
11. The category *Grp* with objects groups and morphisms group
homomorphisms, i.e. \((1, \times, (-)^{-1})\) homomorphisms.
12. The category *Rings* with objects rings (with unit) and
morphisms ring homomorphisms, i.e. \((0, 1, +, \times)\)
homomorphisms.
13. The category *Fields* with objects fields and morphisms
fields homomorphisms, i.e. \((0, 1, +, \times)\) 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
\(\boldsymbol{f}: p \rightarrow q\) if and only if
\(p \le 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
\(\boldsymbol{f}: X \rightarrow Y\),
there is a morphism \(\boldsymbol{g}: Y \rightarrow X\) such that
\(\boldsymbol{f} \circ \boldsymbol{g} = \mathbf{id}\_X\) and
\(\boldsymbol{g} \circ \boldsymbol{f} = \mathbf{id}\_Y.\)


### 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 \times 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 \(\mathbf{C}\) is an object
\(Z\) of \(\mathbf{C}\) *together* with two morphisms,
called the projections, \(\boldsymbol{p}: Z \rightarrow X\) and 
\(\boldsymbol{q}: Z \rightarrow Y\)
such that--and this is the universal property--for all
objects \(W\) with morphisms \(\boldsymbol{f}: W \rightarrow X\)
and \(\boldsymbol{g}: W \rightarrow Y\),
there is a unique morphism
\(\boldsymbol{h}: W \rightarrow Z\) such that
\(\boldsymbol{p} \circ \boldsymbol{h} = \boldsymbol{f}\) and \(\boldsymbol{q} \circ \boldsymbol{h} = \boldsymbol{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, functors are
structure-preserving maps between categories. Given two categories
\(\mathbf{C}\) and \(\mathbf{D}\), a functor \(F\) from
\(\mathbf{C}\) to \(\mathbf{D}\) sends objects of
\(\mathbf{C}\) to objects of \(\mathbf{D}\), and morphisms of
\(\mathbf{C}\) to morphisms of \(\mathbf{D}\), in such a way
that composition of morphisms in \(\mathbf{C}\) is preserved, i.e.,
\(F(\boldsymbol{g} \circ \boldsymbol{f}) = F(\boldsymbol{g})
 \circ F(\boldsymbol{f})\),
and identity morphisms are preserved, i.e.,
\(F(\mathbf{id}\_X ) = \mathbf{id}\_{FX}.\) 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,
\wp(X)\) is the usual set of subsets of \(X\), and
given a function \(\boldsymbol{f}: X \rightarrow Y, \wp(\boldsymbol{f}):
\wp(X) \rightarrow \wp(Y)\) takes a subset
\(A\) of \(X\) and maps it to \(B = \boldsymbol{f}(A)\), the image of
\(\boldsymbol{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 \(\mathbf{C}\), there is always the identity functor from
\(\mathbf{C}\) to \(\mathbf{C}\) which sends every
object/morphism of \(\mathbf{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 \(\wp(X)\), there is a function
\(\mathbf{h}\_X\) which takes an element
\(x\) of \(X\) and sends it to the singleton set \(\{x\}\),
a subset of \(X\), i.e., an element of \(\wp(X).\) This
function in fact belongs to a family of functions indexed by the
objects of the category of sets
\(\{\mathbf{h}\_Y : Y \rightarrow \wp(X)| Y \text{ in } \mathbf{Ob(Set)}\}.\)
Moreover, it satisfies the following commutativity condition: given any
function \(\boldsymbol{f}: X \rightarrow Y\), the
identity functor yields the same function
\(\boldsymbol{Id}(\boldsymbol{f}):
\boldsymbol{Id}(X) \rightarrow \boldsymbol{Id}(Y).\) The commutativity condition
thus becomes: \(\mathbf{h}\_Y \circ \boldsymbol{Id}(\boldsymbol{f}) = \wp(\boldsymbol{f})
 \circ \mathbf{h}\_X.\)
Thus the family of functions \(\boldsymbol{h}({\text{-}})\) 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: \mathbf{Grp} \rightarrow \mathbf{Set}\)
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 \(\boldsymbol{f}: G \rightarrow H\) the underlying set function
\(U(\boldsymbol{f}): U(G) \rightarrow U(H).\) In other words, \(U\) forgets about the
group structure and forgets the fact that morphisms are group
homomorphisms. The categories \(\mathbf{Grp}\) and
\(\mathbf{Set}\) are certainly not isomorphic, as categories, to
one another. (A simple argument runs as follows: the category
\(\mathbf{Grp}\) has a zero object, whereas \(\mathbf{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: \mathbf{Set} \rightarrow \mathbf{Grp}\),
which to any set \(X\) assigns the free group
\(F(X)\) on \(X\), and to each function
\(\boldsymbol{f}: X \rightarrow Y\), the group
homomorphism \(F(\boldsymbol{f}): F(X) \rightarrow 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 \(\eta\):
\(X \rightarrow 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
\(\boldsymbol{g}: X \rightarrow U(G)\), there is a unique *group homomorphism*
\(\boldsymbol{h}: F(X) \rightarrow G\) such that \(U(\boldsymbol{h})
 \circ \eta = \boldsymbol{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 \(\xi : FU(G)
\rightarrow G\), called the *counit of the adjunction*,
satisfying the following universal property: for any group homomorphism
\(\boldsymbol{g}: F(X) \rightarrow G\), there is a unique function
\(\boldsymbol{h}: X \rightarrow U(G)\) such that \(\xi \circ
F(\boldsymbol{h}) = \boldsymbol{g}\). In other words, \(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 = I\_{\mathbf{Set}}\) and \(FU =
I\_{\mathbf{Grp}}\), where \(I\_{\mathbf{Set}}\) denotes the identity
functor on \(\mathbf{Set}\) and \(I\_{\mathbf{Grp}}\) the identity
functor on \(\mathbf{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:




|  |  |  |
| --- | --- | --- |
| 
\(\begin{array}{rcl}
U & \xrightarrow{\eta\,\circ\,U} & UFU \\
 & \searrow & \downarrow \scriptsize{U \circ \xi} \\
 & & U
\end{array}\)
 |  | 
\begin{array}{rcl}
F & \xrightarrow{F\,\circ\,\eta} & FUF \\
 & \searrow & \downarrow \scriptsize{\xi \circ F} \\
 & & F
\end{array}
 |




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: \mathbf{C} \rightarrow
\mathbf{D}\) and \(G: \mathbf{D} \rightarrow \mathbf{C}\) be functors
going in opposite directions. \(F\) is a *left adjoint* to \(G
(G\) a *right adjoint* to \(F)\), denoted by \(F \dashv G\), if
there exists natural transformations \(\eta : I\_{\mathbf{C}}
\rightarrow GF\) and \(\xi: FG \rightarrow I\_{\mathbf{D}}\), such that
the composites



\[
G \xrightarrow{\eta\,\circ\,G} GFG \xrightarrow{G\,\circ\,\xi} G
\]

and



\[
F \xrightarrow{F\,\circ\,\eta} FGF \xrightarrow{\xi\,\circ\,F} 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\):
	**AbGrp** \(\rightarrow\) **AbMon** 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\): **AbMon** \(\rightarrow\) **AbGrp** 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 \(\mathbb{N}\), then \(F(\mathbb{N})\) "is" \(\mathbb{Z}\), that is, it
	is isomorphic to \(\mathbb{Z}.\)
	* Similarly, there is an obvious forgetful functor
	\(U: \mathbf{Haus} \rightarrow \mathbf{Top}\)
	from the category of Hausdorff topological spaces to the category of
	topological spaces which forgets the Hausdorff condition. Again, there
	is a functor
	\(F: \mathbf{Top} \rightarrow \mathbf{Haus}\) such that
	\(F \dashv 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
	 \(\overline{\Delta}\_X \subseteq X \times 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\):
**kHaus** \(\rightarrow \mathbf{Top}\), 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:
\textbf{Mod}\_R \rightarrow\)
**AbGrp** 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 \otimes -\): **AbGrp** \(\rightarrow \mathbf{Mod}\_R\) which sends an abelian group
\(G\) to the tensor product \(R \otimes G\) and the right adjoint is given by the functor
\(\mathbf{Hom}(R, -)\): **AbGrp**
\(\rightarrow \mathbf{Mod}\_R\) which assigns to any group
\(G\) the modules of linear mappings
\(\mathbf{Hom}(R, G).\)
4. The case where the categories \(\mathbf{C}\) and
\(\mathbf{D}\) are posets deserves special attention here. Adjoint
functors in this context are usually called *Galois
connections*. Let \(\mathbf{C}\) be a poset. Consider the
diagonal functor \(\Delta : \mathbf{C} \rightarrow \mathbf{C} \times \mathbf{C}\), with \(\Delta(X) = \langle X,
X\rangle\) and for \(\boldsymbol{f}:
X \rightarrow Y, \Delta(\boldsymbol{f}) = \langle \boldsymbol{f},
\boldsymbol{f}\rangle : \langle X,
X\rangle \rightarrow \langle Y, Y\rangle.\) In
this case, the left-adjoint to \(\Delta\) is the coproduct, or the
sup, and the right-adjoint to \(\Delta\) is the product, or the inf.
The adjoint situation can be described in the following special form: 

\[
\frac{X \vee Y \le Z}{X \le Z, Y \le Z}\Updownarrow
 \qquad
\frac{Z \le X \wedge Y}{Z \le Y, Z \le X}\Updownarrow
\]


 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: \((- \wedge X): \mathbf{C} \rightarrow \mathbf{C}.\) It
can easily be verified that when \(\mathbf{C}\) is a poset, the
function \((- \wedge X)\) is order preserving and therefore
a functor. A right adjoint to \((- \wedge X)\) is a functor
that yields the largest element of \(\mathbf{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 \(\Rightarrow\)
Z* or by
\(X \supset Z.\) The adjunction can be presented as follows:

\[
\frac{Y \wedge X \le Z}{Y \le X \Rightarrow Z}\Updownarrow
\]
6. The negation operator \(\neg X\) can be introduced from the
last adjunction. Indeed, let \(Z\) be the bottom element \(\bot\) of
the lattice. Then, since \(Y \wedge X \le \bot\) is always true, it follows that
\(Y \le X \Rightarrow \bot\) is also always true. But since \(X \Rightarrow \bot \le X\) is always the case, we get at the numerator
that \((X \Rightarrow \bot \wedge X) = \bot.\) Hence, \(X \Rightarrow \bot\) is
the largest element disjoint from \(X.\) We can therefore put
\(\neg X =\_{def} X \Rightarrow \bot.\)
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
\(\eta : I\_{\mathbf{C}} \rightarrow GF\) and \(\xi : FG \rightarrow I\_{\mathbf{D}}\) 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 \(Y \wedge X \le X\),
which is always true in a poset (as is easily verified). Hence,
\(Y \le X \Rightarrow X\) is also true for
all \(Y\) and this is only possible if \(X \Rightarrow X = \top\), 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 \(\mathbf{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 \(\mathbf{C}\) is
equivalent to the category \(\mathbf{C}\)deg, that is, to the
opposite category. Of course, the precise statement requires that we
describe the functors \(F: \mathbf{C} \rightarrow \mathbf{C}\)deg and \(G: \mathbf{C}\)deg \(\rightarrow \mathbf{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, Caramello 2011.)


## 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'algebre 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. (It should be pointed out that Mac Lane in his
1950 paper had made a previous attempt which introduced certain key
ideas, for instance using arrows to define certain fundamental
concepts and that Buchsbaum had essentially introduced the notion of an
abelian category independently under the name of "exact
category" in 1955.) 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 1970s, 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 1960s, Lawvere outlined the basic framework
for an entirely original approach to logic and the foundations of
mathematics. He achieved the following:


* Axiomatized the category of sets (Lawvere 1964) and of categories
(Lawvere 1966);
* Gave a categorical description of theories that was independent of
syntactical choices and sketched how completeness theorems for logical
systems could be obtained by categorical methods (Lawvere 1967);
* Characterized Cartesian closed categories and showed their
connections to logical systems and various logical paradoxes (Lawvere
1969);
* Showed that the quantifiers and the comprehension schemes could be
captured as adjoint functors to given elementary operations (Lawvere
1966, 1969, 1970, 1971);
* Argued that adjoint functors should generally play a major
foundational role through the notion of "categorical doctrines"
(Lawvere 1969).



 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 1960s, 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, an elementary 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, an elementary 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. (For more on the history of categorical
logic, see Marquis & Reyes 2012, Bell 2005.) 




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 and, more generally constructive mathematics were noted
early on, and toposes are still used to investigate models of various
aspects of intuitionism and constructivism (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, Palmgren
2012, Palmgren 2018. For more on the history of topos theory, see McLarty 1992 and Bell 2012).




More recently, topos theory has been employed to investigate various
forms of constructive mathematics or set theory (Joyal & Moerdijk
1995, Taylor 1996, Awodey 2008), 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, McLarty 1992, Jacobs
1999, Van Oosten 2008, 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 2006, Bell 1988, 1995, 1998, 2001, 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 (Majid 1995, 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. Contemporary mathematical
fields would not be what they are without category theory, for
instance algebraic topology, homological algebra, homotopy theory and
homotopical algebra, representation theory, arithmetic geometry and
algebraic geometry. (See for instance Mac Lane 1971, 1998 or
Pedicchio & Tholen 2004.) No one will deny these simple facts.
Furthermore, vast portions of contemporary mathematics now rest on a
different practice which rely, in large part, on the manipulation of
new graphical notations, on the one hand, and on different levels of
abstraction, on the other hand. It is not simply that category theory
and the mathematical disciplines developed within that framework use
commutative diagrams, although this in itself leads to some
interesting philosophical explorations, as for instance in De Toffoli
2017, but category theorists have seen the need to develop systematic
and formal graphical languages to express directly various forms of
argumentations. (See, for instance, Joyal & Street 1993; Joyal,
Street & Verity 1996; Fong & Spivak 2019, Other Internet
Resources.) Whereas since
Bourbaki, mathematics was done "up to isomorphism", in
some cases, it is now done "up to equivalence" or up to
"bi-equivalence" or even up to
"n-equivalence". (For an attempt at clarifying what these
levels of abstraction mean, see Marquis 2014, Marquis 2016.)




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. Thus, it seems that sense does not determine reference in a
categorical context. 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, McLarty
1993, Awodey 2004, Landry & Marquis 2005, Shapiro 2005, Landry
2011, Linnebo & Pettigrew 2011, Hellman 2011, Shapiro 2011,
McLarty 2011, Logan 2015 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, Ellerman 2017, Marquis 2000, Marquis
2006, Marquis 2013.)




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, Carter 2008,
Corfield 2003, Kromer 2007, Marquis 2009, McLarty 1994, McLarty
2006.) 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. (See, for instance, Caramello
2018 for a systematic exploitation of the idea of toposes as bridges
in mathematics.) 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. (For a different
reading, see Rodin 2014.) 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 also 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 McLarty 2004 and Awodey 2004 for replies to
Hellman 2003.) The debate has advanced slowly but surely. It has been
recognized that it is possible to present a foundational framework in
the language of category theory, be it in the form of the Elementary
Theory of the Category of Sets, ETCS, or a category of categories, of
Makkai Structuralist foundations for abstract mathematics, SFAM. Thus,
it seems that the community no longer question the logical and the
conceptual autonomy of these approaches, to use the terminology
introduced by Linnebo & Pettigrew 2011. The main issue seems to be
whether one can provide a philosophically satisfying justification for
one of those framework. (See Hellman 2013, Landry 2013, Marquis 2013b,
McLarty 2018.)




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. It is safe to say that we now have a
good understanding of what are called \((\infty, 1)\)-categories and important
mathematical results have been obtained in that framework. (See, for
instance, Cisinski 2019 for a presentation.) An adequate language for
the universe of arbitrary higher-dimensional categories still has to
be presented together with definite axioms for mathematics. (See
Makkai 1998 for a short description of such a language. A different
approach based on homotopy theory but with closed connections with
higher-dimensional categories has been proposed by Voevodsky et
al. and is being vigorously pursued. See the book *Homotopy Type
Theory*, by Awodey et al. 2013.) 




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 40 years now and still
vigorous. Some of the philosophically relevant results obtained in
categorical logic are:


* The hierarchy of categorical doctrines: regular categories,
coherent categories, Heyting categories and Boolean categories; all
these correspond to well-defined logical systems, together with
deductive systems and completeness theorems; they suggest that logical
notions, including quantifiers, arise naturally in a specific order
and are not haphazardly organized (see Walsh 2017 for a philosophical
justification of logical connectives using category theory and
Halvorson & Tsementzis 2018 for a look from the point of view of
scientific theories);
* Joyal's generalization of Kripke-Beth semantics for intuitionistic
logic to sheaf semantics (Lambek & Scott 1986, Mac Lane
& Moerdijk 1992);
* Coherent and geometric logic, so-called, whose practical and
conceptual significance has yet to be explored (Makkai & Reyes
1977, Mac Lane & Moerdiejk 1992, Johnstone 2002, Caramello
2011b, 2012a);
* The notions of generic model and classifying topos of a theory
(Makkai & Reyes 1977, Boileau & Joyal 1981, Bell 1988, Mac Lane
& Moerdijk 1992, Johnstone 2002, Caramello 2012b);
* The notion of strong conceptual completeness and the associated
theorems (Makkai & Reyes 1977, Butz & Moerdijk 1999, Makkai
1981, Pitts 1989, Johnstone 2002);
* Geometric proofs of the independence of the continuum hypothesis
and other strong axioms of set theory (Tierney 1972, Bunge 1974, Freyd
1980, 1987, Blass & Scedrov 1983, 1989, 1992, Mac Lane &
Moerdijk 1992);
* Models and development of constructive mathematics (see
bibliography below);
* Synthetic differential geometry, an alternative to standard and
non-standard analysis (Kock 1981, Bell 1998, 2001, 2006);
* The construction of the so-called effective topos, in which every
function on the natural numbers is recursive (McLarty 1992,
Hyland 1982, 1991, Van Oosten 2002, Van Oosten 2008);
* Categorical models of linear logic, modal logic, fuzzy sets, and
general higher-order type theories (Reyes 1991, Reyes & Zawadoski
1993, Reyes & Zolfaghari 1991, 1996, Makkai & Reyes 1995,
Ghilardi & Zawadowski 2002, Rodabaugh & Klement 2003, Jacobs
1999, Taylor 1999, Johnstone 2002, Blute & Scott 2004, Awodey
& Warren 2009, Awodey et al. 2013, Kishida 2018, Cockett &Seely 2018);
* A graphical syntax called "sketches" (Barr & Wells
1985, 1999, Makkai 1997a, 1997b, 1997c, Johnstone 2002).
* Quantum logic, the foundations of quantum physics and quantum
field theory (Brunetti et al. 2003, Abramsky & Duncan 2006, Heunen et al. 2009, Baez
& Stay 2010, Baez & Lauda 2011, Coecke 2011, Isham 2011,
Doring 2011, Eva 2017, Coecke & Kissinger 2018).




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 2018, Ehresmann &
Vanbremeersch 1987, 2007, Healy 2000, Healy & Caudell 2006,
Arzi-Gonczarowski 1999, Brown & Porter 2006.) Finally,
philosophers of science have turned to category theory to shed a new
light on issues related to structuralism in science. (See, for
instance, Brading & Landry 2006, Bain 2013, Lam & Wuthrich
2015, Eva 2016, Lal & Teh 2017, Landry 2007, 2012, 2018.)




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