By now we have studied many different kinds of mathematical structure, and in each case a
second notion arrived alongside the objects themselves: the maps that respect the structure.
Groups came with
group homomorphisms,
vector spaces with
linear maps,
topological spaces with
continuous maps,
Banach spaces with
bounded operators,
smooth manifolds with
smooth maps.
In every one of these settings the structure-preserving maps can be composed, composition is
associative, and each object carries an identity map that does nothing. The repetition is not a
coincidence. It signals a common structure one level up, in which a kind of mathematical object
and the maps that preserve it are treated together as a single entity.
That structure is the category. This page develops the three foundational
notions of the theory: categories, the maps between them (functors), and the
maps between those (natural transformations). The constructions on
categories and the notion of sameness that accompany these notions are developed alongside
them. To keep the three levels vivid before we make them precise, it helps to hold a single
running picture in mind.
A Picture: Languages, Translations, and Their Comparison
Think of a natural language, say English, as a collection of concepts together with the
entailments between them. For example, "a sparrow" entails "a bird," which entails "an
animal." Read each concept as an object and each entailment as an arrow, and the
entailments compose ("sparrow" ⤳ "bird" ⤳ "animal" gives "sparrow" ⤳
"animal") with a trivial self-entailment on each concept. That is a category. Japanese,
organized the same way, is another. A scheme of translation, literal or idiomatic, sends
each English concept to a Japanese one and each entailment to an entailment, respecting
composition. Such a scheme is a functor. And a systematic comparison
between two translation schemes, concept by concept, that is compatible with all the
entailments, is a natural transformation.
The metaphor will not bear formal weight, and we prove nothing from it. It does fix the
three-story shape of what follows: objects and arrows, maps of the whole, and maps
between those maps.
Categories and Isomorphisms
A category packages a collection of objects together with the arrows between them and a law for
composing those arrows. The definition asks for nothing more than that composition be
associative and that each object carry an identity.
Definition: Category
A category \(\mathscr{C}\) consists of:
a collection \(\operatorname{ob}(\mathscr{C})\) of objects.
for every pair of objects \(A, B\), a collection \(\mathscr{C}(A, B)\) of
morphisms (also called maps or arrows)
from \(A\) to \(B\). We write \(f : A \to B\) to mean \(f \in \mathscr{C}(A, B)\), and
call \(A\) the domain and \(B\) the codomain of \(f\).
for every triple of objects \(A, B, C\), a composition operation
\[
\circ : \mathscr{C}(B, C) \times \mathscr{C}(A, B) \to \mathscr{C}(A, C),
\quad (g, f) \mapsto g \circ f.
\]
for every object \(A\), an identity morphism
\(1_A \in \mathscr{C}(A, A)\).
These data are subject to two axioms:
associativity: for all \(f : A \to B\), \(g : B \to C\),
\(h : C \to D\),
\[
(h \circ g) \circ f = h \circ (g \circ f).
\]
identity: for all \(f : A \to B\),
\[
f \circ 1_A = f = 1_B \circ f.
\]
The definition is almost aggressively spare. An object need not be a set, and a morphism need not
be a function. What the axioms legislate is not the internal nature of objects and arrows but the
bookkeeping of their composition.
Two points of the definition deserve unpacking on a first encounter. First, consider the order in
\(g \circ f\). We write the morphism applied second on the left, matching the order in which
functions compose, so that \(g \circ f\) means "do \(f\), then \(g\)." For this to make sense the
codomain of \(f\) must equal the domain of \(g\), so composition is only defined for arrows that
meet end to start. Second, the identity laws say that composing with \(1_A\) changes nothing,
exactly as the identity function does in \(\mathbf{Set}\), where objects are sets, morphisms are
functions, composition is ordinary function composition, and \(1_A\) is the function
\(a \mapsto a\). It is worth checking that \(\mathbf{Set}\) satisfies both axioms, because
\(\mathbf{Set}\) is the example every other one is modeled on. Function composition is
associative, and composing with the identity function returns the same function.
A diagram of objects and arrows is said to commute when any two directed paths
sharing the same start and end compose to the same morphism. Commutativity of diagrams is the
language in which categorical equations are written. Two families of examples show why the
spareness of the definition is a feature rather than a poverty.
Categories of Structured Objects
The first family is the one the curriculum has been quietly building all along. In each case the
objects are sets carrying structure and the morphisms are the maps preserving it. The composition
and identities are those of ordinary functions, so the axioms hold for free.
\(\mathbf{Set}\): sets as objects, arbitrary functions as morphisms.
\(\mathbf{Grp}\): groups
as objects, group homomorphisms as morphisms.
\(\mathbf{Vect}_k\): vector spaces
over a field \(k\) as objects, linear maps as morphisms.
\(\mathbf{Top}\): topological spaces
as objects, continuous maps as morphisms.
\(\mathbf{Man}\): smooth manifolds as objects,
smooth maps
as morphisms.
Categories also supply the right notion of sameness, defined purely in terms of arrows.
Definition: Isomorphism
A morphism \(f : A \to B\) in a category \(\mathscr{C}\) is an isomorphism
if there exists a morphism \(g : B \to A\) with \(g \circ f = 1_A\) and \(f \circ g = 1_B\).
Such a \(g\), when it exists, is unique. If \(g\) and \(g'\) both invert \(f\), then
\[
\begin{align*}
g &= g \circ 1_B \\\\
&= g \circ (f \circ g') \\\\
&= (g \circ f) \circ g' \\\\
&= 1_A \circ g' \\\\
&= g'
\end{align*}
\]
by associativity and the identity laws alone. We may therefore speak of theinverse of \(f\), written \(f^{-1}\). When an isomorphism from \(A\) to
\(B\) exists, \(A\) and \(B\) are isomorphic, written \(A \cong B\).
This arrow-theoretic notion reproduces, in each concrete category, exactly the sense of
sameness that category already used. The isomorphisms in \(\mathbf{Set}\) are the
bijections, in \(\mathbf{Grp}\) the group isomorphisms, in \(\mathbf{Top}\) the
homeomorphisms, in \(\mathbf{Man}\) the
diffeomorphisms.
Each of these was defined separately, in its own setting. The categorical definition names
the single pattern they were all instances of. The cases are not interchangeable in
difficulty. A continuous bijection need not be a homeomorphism, so being an isomorphism in
\(\mathbf{Top}\) is strictly stronger than being a bijective continuous map. They are
nonetheless instances of one definition.
Categories That Are Not Categories Of Anything
The second family shows that the objects of a category need not be structured sets at all. A
preorder is a set \(S\) with a reflexive, transitive relation \(\le\). It is a
category once we take the elements of \(S\) as objects and declare that there is exactly one
morphism \(a \to b\) precisely when \(a \le b\). Transitivity supplies composition, reflexivity
supplies identities, and the two axioms hold automatically because there is never more than one
morphism between two objects to compare. Here the objects are mere points and the morphisms carry
no data beyond their existence. The category records a relation, not a collection of functions.
A category in which every hom-collection \(\mathscr{C}(A,B)\) has at most one element is called
thin, and preorders are exactly the thin categories whose objects form a set. In
this precise sense the entailment structure of a language in the picture above is a category,
namely a thin one.
Constructions on Categories
Before turning to the maps between categories, we record three standard ways of building a new
category from old ones. The first also carries a structural lesson that pervades the subject.
Definition: Opposite Category
Let \(\mathscr{C}\) be a category. Its opposite (or dual)
category \(\mathscr{C}^{\mathrm{op}}\) has the same objects as \(\mathscr{C}\), and
\(\mathscr{C}^{\mathrm{op}}(A, B) = \mathscr{C}(B, A)\), so every arrow is reversed.
Identities are unchanged, and composition is that of \(\mathscr{C}\) with its arguments
reversed. Explicitly, if \(f \in \mathscr{C}^{\mathrm{op}}(B, A) = \mathscr{C}(A, B)\) and
\(g \in \mathscr{C}^{\mathrm{op}}(C, B) = \mathscr{C}(B, C)\), then the composite
\(f \circ g\) in \(\mathscr{C}^{\mathrm{op}}\) is the arrow
\(g \circ f \in \mathscr{C}(A, C) = \mathscr{C}^{\mathrm{op}}(C, A)\). The two axioms for
\(\mathscr{C}^{\mathrm{op}}\) are those of \(\mathscr{C}\) read backwards. One checks
directly that \((\mathscr{C}^{\mathrm{op}})^{\mathrm{op}} = \mathscr{C}\).
The opposite category underwrites the principle of duality. Every definition,
theorem, and proof in category theory has a dual, obtained by reversing all the arrows.
Any statement proved for all categories holds in particular for every
\(\mathscr{C}^{\mathrm{op}}\), and reinterpreting it back in \(\mathscr{C}\) yields the dual
statement for free. A single proof thus does double duty. Many pairs of notions encountered later
are precisely dual to one another, among them products and coproducts, limits and colimits, and
the two one-sided notions attached to an adjunction.
Definition: Product Category
Given categories \(\mathscr{C}\) and \(\mathscr{D}\), their product
\(\mathscr{C} \times \mathscr{D}\) has as objects the pairs \((A, B)\) with \(A\) an object
of \(\mathscr{C}\) and \(B\) an object of \(\mathscr{D}\), and as morphisms
\((A, B) \to (A', B')\) the pairs \((f, g)\) with \(f : A \to A'\) in \(\mathscr{C}\) and
\(g : B \to B'\) in \(\mathscr{D}\). Composition and identities are formed coordinatewise.
Definition: Subcategory and Full Subcategory
A subcategory \(\mathscr{S}\) of a category \(\mathscr{C}\) consists of a
subcollection of the objects of \(\mathscr{C}\) together with, for each pair \(S, S'\) of
chosen objects, a subcollection \(\mathscr{S}(S, S') \subseteq \mathscr{C}(S, S')\), such
that \(\mathscr{S}\) contains the identity of each of its objects and is closed under
composition. It is a full subcategory if
\(\mathscr{S}(S, S') = \mathscr{C}(S, S')\) for all chosen \(S, S'\), that is, if it keeps
all morphisms between the objects it retains. A full subcategory is therefore
specified merely by naming its objects.
These constructions are not idle. The product category is the natural home of a functor in two
variables. The opposite category is what turns a contravariant construction into an honest
functor, as the next section records. Full subcategories are the device by which one carves a
category of interest out of a larger ambient one, such as the abelian groups inside all groups or
the finite-dimensional spaces inside all vector spaces.
Functors
Once categories are themselves objects of study, the structure-preserving maps between them
announce themselves. A functor must carry objects to objects and morphisms to morphisms in a
way that respects the only structure a category has: composition and identities.
Definition: Functor
Let \(\mathscr{C}\) and \(\mathscr{D}\) be categories. A functor
\(F : \mathscr{C} \to \mathscr{D}\) assigns
to each object \(A\) of \(\mathscr{C}\) an object \(F(A)\) of \(\mathscr{D}\).
to each morphism \(f : A \to B\) of \(\mathscr{C}\) a morphism
\(F(f) : F(A) \to F(B)\) of \(\mathscr{D}\).
These assignments are subject to two requirements:
preservation of composition: \(F(g \circ f) = F(g) \circ F(f)\)
whenever \(g \circ f\) is defined.
preservation of identities: \(F(1_A) = 1_{F(A)}\) for every
object \(A\).
The two simplest examples set the pattern. For any category there is an identity
functor fixing every object and morphism. Between many of the structured categories
above there is a forgetful functor to \(\mathbf{Set}\). For groups, it sends a
group to its underlying set and a homomorphism to its underlying function. It forgets the
structure but preserves composition, since composition of homomorphisms is composition
of the underlying functions.
Functors can themselves be composed. Applying \(G : \mathscr{D} \to \mathscr{E}\) after
\(F : \mathscr{C} \to \mathscr{D}\) yields a functor \(G \circ F : \mathscr{C} \to \mathscr{E}\),
and this composition is associative with the identity functors as units. The pattern of the
earlier sections thus repeats one level up. Once a restriction on size is imposed, categories are
themselves the objects of
the category \(\mathbf{Cat}\) of small categories,
whose morphisms are the functors between them. The size restriction, and why it is needed,
are taken up
when the foundations of the subject are examined.
A less obvious example is one the curriculum has already computed in full, without naming it as
such. On smooth manifolds, the operation of passing to the tangent space at a point, together
with the differential of a smooth map, is a functor.
The Differential Is a Functor
Sending a pointed smooth manifold to its tangent space, and a smooth map \(F\) to its
differential \(dF_p\), satisfies exactly the two functor axioms, and we have already proved
both under other names. The objects here are pairs \((M, p)\) of a manifold with a
chosen basepoint, since the point \(p\) alone does not determine the manifold it lives in,
and the morphisms \((M, p) \to (N, q)\) are the smooth maps \(F : M \to N\) with
\(F(p) = q\). The chain rule
for the differential of a composite,
\(d(G \circ F)_p = dG_{F(p)} \circ dF_p\), is precisely preservation of composition. The
statement that the differential of the identity map is the identity linear map is
preservation of identities. So the assignment \((M, p) \mapsto T_pM\), \(F \mapsto dF_p\), is
a functor from (pointed) \(\mathbf{Man}\) to \(\mathbf{Vect}_{\mathbb{R}}\).
The differential is often written \(F_* := dF_p\) for exactly this reason. A star is a common
notation for the morphism that a covariant functor assigns, and in that notation the functor
axioms read \((G \circ F)_* = G_* \circ F_*\) and \((1_{(M,p)})_* = 1_{T_pM}\). The functors
of algebraic topology, which send a space to an algebraic invariant and a continuous map to
the induced homomorphism, carry the same shape.
The computation was done when the differential was first studied. What is new is only the
recognition that the two properties we verified there are the defining axioms of a functor.
This is the recurring dividend of the categorical viewpoint. Structure already present in the
curriculum acquires a name and, with the name, a place in a far larger pattern.
Contravariant Functors and Presheaves
Some natural constructions reverse the direction of arrows. A morphism \(A \to A'\) gives rise
not to a map \(F(A) \to F(A')\) but to one \(F(A') \to F(A)\). The dual category packages this
cleanly, so that no new axioms are needed.
Definition: Contravariant Functor
A contravariant functor from \(\mathscr{C}\) to \(\mathscr{D}\) is a
functor \(\mathscr{C}^{\mathrm{op}} \to \mathscr{D}\). Explicitly, it assigns to each object
\(A\) an object \(F(A)\) and to each morphism \(f : A \to B\) a morphism
\(F(f) : F(B) \to F(A)\), reversing direction, with \(F(g \circ f) = F(f) \circ F(g)\) and
\(F(1_A) = 1_{F(A)}\). An ordinary functor is called covariant for
emphasis when the contrast matters.
The dual-space construction on vector spaces is the prototype. A linear map
\(f : V \to W\) induces the
dual map
\(f^* : W^* \to V^*\), \(\varphi \mapsto \varphi \circ f\), by precomposition, reversing
direction, and the
contravariance of the dual map
gives \((g \circ f)^* = f^* \circ g^*\) and \((1_V)^* = 1_{V^*}\). So \((-)^*\) is a
contravariant functor on \(\mathbf{Vect}_k\). (The two results just cited are stated for
real vector spaces, but their proofs use only the definition of \(f^*\) and hold verbatim
over any field \(k\).) Contravariant functors landing in \(\mathbf{Set}\) are common enough
to merit a name.
Definition: Presheaf
A presheaf on a category \(\mathscr{C}\) is a functor
\(\mathscr{C}^{\mathrm{op}} \to \mathbf{Set}\), or equivalently a contravariant functor from
\(\mathscr{C}\) to \(\mathbf{Set}\).
The name has a geometric source. For a topological space \(X\), the open sets ordered by
inclusion form a thin category, and a presheaf on it assigns to each open set \(U\) a set
\(F(U)\), together with, for each inclusion \(U \subseteq U'\), a restriction map
\(F(U') \to F(U)\) running the opposite way. A typical choice of \(F(U)\) is the set of
continuous real-valued functions on \(U\). Presheaves, and the sheaves that refine them, are
central to modern geometry.
Faithful and Full Functors
A functor acts on each hom-collection \(\mathscr{C}(A, A') \to \mathscr{D}(F(A), F(A'))\), and
the injectivity or surjectivity of that action measures how much of the source category the
functor sees.
Definition: Faithful and Full Functor
A functor \(F : \mathscr{C} \to \mathscr{D}\) is faithful if for every pair
of objects \(A, A'\) the function \(\mathscr{C}(A, A') \to \mathscr{D}(F(A), F(A'))\),
\(f \mapsto F(f)\), is injective, and full if that function is surjective. A
faithful functor preserves the distinctness of parallel morphisms with a common domain and
codomain. A full functor realizes every morphism between images. The inclusion of a
subcategory is always faithful, and is full exactly when the subcategory is full.
Natural Transformations and Equivalence
Functors from \(\mathscr{C}\) to \(\mathscr{D}\) can themselves be compared. Given two functors
\(F, G : \mathscr{C} \to \mathscr{D}\), a natural transformation is a rule that, at each object
of \(\mathscr{C}\), produces a morphism in \(\mathscr{D}\) from the \(F\)-image to the
\(G\)-image, and does so compatibly with every morphism of \(\mathscr{C}\).
Definition: Natural Transformation
Let \(F, G : \mathscr{C} \to \mathscr{D}\) be functors. A natural
transformation \(\alpha : F \to G\) assigns to each object \(A\) of \(\mathscr{C}\)
a morphism \(\alpha_A : F(A) \to G(A)\) of \(\mathscr{D}\), called its
component at \(A\), such that for every morphism \(f : A \to B\) of
\(\mathscr{C}\) the naturality square
\[
\begin{array}{ccc}
F(A) & \xrightarrow{F(f)} & F(B) \\
{\scriptstyle \alpha_A}\big\downarrow & & \big\downarrow{\scriptstyle \alpha_B} \\
G(A) & \xrightarrow[G(f)]{} & G(B)
\end{array}
\]
commutes, that is, \(\alpha_B \circ F(f) = G(f) \circ \alpha_A\).
The naturality square. The blue route
(\(\alpha_B \circ F(f)\): across the top, then down the right) and the purple route
(\(G(f) \circ \alpha_A\): down the left, then across the bottom) share the same source
\(F(A)\) and target \(G(B)\). Naturality is the demand that the two routes are equal.
Reading the square is the key to the definition. Naturality says that "apply \(f\), then pass
from \(F\) to \(G\)" equals "pass from \(F\) to \(G\), then apply \(f\)."
The naturality condition is the entire content of the definition. A natural transformation is not
merely a choice of one morphism \(\alpha_A\) per object, but a choice that is coherent
across all the morphisms of the source category at once.
Returning to the running picture, two translation schemes \(F\) (literal) and \(G\) (idiomatic)
are compared by a family of links \(\alpha_A\), one per concept. Naturality demands that
following an entailment and then comparing schemes agrees with comparing schemes and then
following the entailment. In a thin target category the square commutes automatically, because
any two parallel morphisms there are equal. The linguistic picture therefore displays the
shape of naturality while suppressing its force. To see the condition do real work we
need a target with genuinely many morphisms.
The canonical such example lives in linear algebra. Let \(\mathbf{Vect}_k^{\mathrm{fd}}\) be the
category of finite-dimensional vector spaces over \(k\). The dual construction \(V \mapsto V^*\)
is contravariant, so the double dual \(V \mapsto V^{**}\) is a covariant functor, while the
identity assignment \(V \mapsto V\) is another. For every \(V\) there is the evaluation map
\(\alpha_V : V \to V^{**}\) sending a vector \(v\) to the functional "evaluate at \(v\),"
\(\alpha_V(v)(\varphi) = \varphi(v)\). This does land in \(V^{**}\). An element of
\(V^{**} = (V^*)^*\) is a linear map from \(V^*\) to \(k\), and \(\alpha_V(v)\) is exactly such a
map, since it eats a functional \(\varphi \in V^*\) and returns the scalar \(\varphi(v)\),
linearly in \(\varphi\). The map \(\alpha_V\) is itself linear in \(v\), because
\((\alpha_V(av + bw))(\varphi) = \varphi(av + bw) = a\varphi(v) + b\varphi(w)\).
These components assemble into a natural transformation from the identity functor to the
double-dual functor. For any linear map \(f : V \to W\), the naturality square relating
\(\alpha_V\), \(\alpha_W\), \(f\), and \(f^{**}\) commutes. Indeed, \(f^{**} = (f^*)^*\) sends
\(\xi \in V^{**}\) to \(\xi \circ f^*\), so for \(v \in V\) and \(\varphi \in W^*\) we compute
\[
\begin{align*}
(f^{**} \circ \alpha_V)(v)(\varphi)
&= \alpha_V(v)(f^* \varphi) \\\\
&= (f^* \varphi)(v) \\\\
&= \varphi(f(v)) \\\\
&= (\alpha_W \circ f)(v)(\varphi),
\end{align*}
\]
which is the naturality condition \(f^{**} \circ \alpha_V = \alpha_W \circ f\). The single map
\(\alpha_V\) at each space is routine. What naturality captures is that one uniform formula works
for every space and is compatible with every linear map between them.
Natural Isomorphism
When every component of a natural transformation is an isomorphism, the two functors are
indistinguishable in a strong, choice-free sense.
Definition: Natural Isomorphism
A natural transformation \(\alpha : F \to G\) is a natural isomorphism if
there is a natural transformation \(\beta : G \to F\) with \(\beta \circ \alpha = 1_F\) and
\(\alpha \circ \beta = 1_G\). Here the composite \(\beta \circ \alpha : F \to F\) has
components \(\beta_A \circ \alpha_A\), which is again natural because the naturality squares
of \(\alpha\) and \(\beta\) stack, and \(1_F\) has components \(1_{F(A)}\). When such an
\(\alpha\) exists, \(F\) and \(G\) are naturally isomorphic, written
\(F \cong G\). One also says that \(F(A) \cong G(A)\) naturally in \(A\).
Theorem: Componentwise Criterion for Natural Isomorphism
A natural transformation \(\alpha : F \to G\) is a natural isomorphism if and only if each
component \(\alpha_A : F(A) \to G(A)\) is an isomorphism in \(\mathscr{D}\).
Proof:
If \(\alpha\) has an inverse natural transformation \(\beta\), then each \(\beta_A\) inverts
\(\alpha_A\) by the definition of componentwise composition, so every component is an
isomorphism. Conversely, suppose each \(\alpha_A\) is an isomorphism with inverse
\(\alpha_A^{-1}\), and set \(\beta_A := \alpha_A^{-1}\). It remains only to check that the
family \((\beta_A)\) is natural. Given \(f : A \to B\), the naturality square for \(\alpha\)
reads \(\alpha_B \circ F(f) = G(f) \circ \alpha_A\). Composing on the left with
\(\alpha_B^{-1}\) and on the right with \(\alpha_A^{-1}\) rearranges this to
\(F(f) \circ \alpha_A^{-1} = \alpha_B^{-1} \circ G(f)\), which is exactly the naturality
square for \(\beta\). Hence \(\beta\) is a natural transformation inverse to \(\alpha\).
The double-dual transformation above is the decisive illustration. On finite-dimensional spaces
every \(\alpha_V : V \to V^{**}\) is an isomorphism, by the
canonical isomorphism with the double dual
(again stated for real spaces, with a proof that works over any field), so by the criterion
the whole transformation is a natural isomorphism: \(V \cong V^{**}\) naturally in \(V\).
The contrast with the dual is the entire point. A space is also isomorphic to its single
dual, \(V \cong V^*\), but only after a basis is chosen, and the isomorphism genuinely
depends on that choice.
The deeper reason this isomorphism cannot be made natural is one of variance. As
recorded above, the identity assignment \(V \mapsto V\) is covariant while the dual
\(V \mapsto V^*\) is contravariant. A natural transformation compares two functors of the
same variance, component by component, through naturality squares whose arrows must line
up. With one functor covariant and the other contravariant, the arrows of the would-be square
point in incompatible directions, and the comparison cannot even be set up. The double dual,
being the composite of two contravariant functors, is covariant again, with the same variance as
the identity. That is precisely why a natural comparison with it can exist.
The categorical vocabulary thus makes precise an intuition that predates the theory, that the
double-dual identification is canonical while the single-dual one is not, by locating the
difference first in variance and then in the presence or absence of a natural transformation.
The Functor Category
Natural transformations compose, as the definition of natural isomorphism already used. Given
\(\alpha : F \to G\) and \(\beta : G \to H\) between functors \(\mathscr{C} \to \mathscr{D}\),
their composite \(\beta \circ \alpha : F \to H\) has components
\((\beta \circ \alpha)_A = \beta_A \circ \alpha_A\), and naturality of the composite follows by
stacking the two naturality squares:
\[
\begin{align*}
\beta_B \circ \alpha_B \circ F(f)
&= \beta_B \circ G(f) \circ \alpha_A \\\\
&= H(f) \circ \beta_A \circ \alpha_A.
\end{align*}
\]
This composition is associative, since it is so at each component. Each functor \(F\) carries
an identity natural transformation \(1_F\) with components \(1_{F(A)}\). The data assemble
into a category.
Definition: Functor Category
For categories \(\mathscr{C}\) and \(\mathscr{D}\), the functor category
\([\mathscr{C}, \mathscr{D}]\) has as objects the functors \(\mathscr{C} \to \mathscr{D}\)
and as morphisms the natural transformations between them, with composition taken
componentwise as above. A natural isomorphism is precisely an isomorphism in this category,
so two functors are naturally isomorphic exactly when they are isomorphic as objects of
\([\mathscr{C}, \mathscr{D}]\).
Equivalence of Categories
The notion of natural isomorphism resolves a foundational question: when should two categories
count as the same? Requiring functors \(F\) and \(G\) with \(G \circ F\) and \(F \circ G\) equal
to the identity functors is too strict, because equality of functors would force equality of
objects, a level of detail categories are designed to ignore. Replacing those equalities by
natural isomorphisms gives the right notion.
Definition: Equivalence of Categories
An equivalence between categories \(\mathscr{C}\) and \(\mathscr{D}\)
consists of functors \(F : \mathscr{C} \to \mathscr{D}\) and \(G : \mathscr{D} \to \mathscr{C}\)
together with natural isomorphisms \(G \circ F \cong 1_{\mathscr{C}}\) and
\(F \circ G \cong 1_{\mathscr{D}}\). When an equivalence exists, \(\mathscr{C}\) and
\(\mathscr{D}\) are equivalent, written
\(\mathscr{C} \simeq \mathscr{D}\), and \(F, G\) are called equivalences.
Verifying an equivalence by exhibiting \(G\) and the two natural isomorphisms is often laborious.
A criterion intrinsic to a single functor removes the need to construct an inverse at all.
Definition: Essentially Surjective
A functor \(F : \mathscr{C} \to \mathscr{D}\) is essentially surjective on
objects if for every object \(B\) of \(\mathscr{D}\) there is an object \(A\) of
\(\mathscr{C}\) with \(F(A) \cong B\). Such a functor is surjective on objects up to
isomorphism, rather than on the nose.
Theorem: Characterization of Equivalences
A functor is an equivalence if and only if it is full, faithful, and essentially surjective
on objects.
Proof sketch:
Suppose first that \(F : \mathscr{C} \to \mathscr{D}\) is an equivalence, with inverse \(G\)
and natural isomorphisms \(GF \cong 1_{\mathscr{C}}\) and \(FG \cong 1_{\mathscr{D}}\).
Essential surjectivity is immediate. For any object \(B\) of \(\mathscr{D}\), the second
isomorphism gives \(F(GB) \cong B\).
For fullness and faithfulness, fix objects \(A, A'\) of \(\mathscr{C}\) and write
\(\eta : 1_{\mathscr{C}} \to GF\) for the natural isomorphism. Its naturality says that for
any \(h : A \to A'\) the relation \(GF(h) = \eta_{A'} \circ h \circ \eta_A^{-1}\) holds, so
the assignment \(h \mapsto GF(h)\) is a bijection
\(\mathscr{C}(A, A') \to \mathscr{C}(GFA, GFA')\). Its inverse sends \(k : GFA \to GFA'\) to
\(\eta_{A'}^{-1} \circ k \circ \eta_A\), so it is invertible by construction. But this same
\(h \mapsto GF(h)\) is the composite of the two hom-maps
\(\mathscr{C}(A,A') \xrightarrow{F} \mathscr{D}(FA, FA') \xrightarrow{G} \mathscr{C}(GFA, GFA')\).
A composite that is bijective forces the first factor to be injective. Hence \(F\) is
faithful, and the same argument applied to \(G\) (which is also an equivalence) makes \(G\)
faithful. Faithfulness of \(G\) together with bijectivity of the composite then forces the
\(F\)-factor to be surjective, so \(F\) is full.
Conversely, suppose \(F\) is full, faithful, and essentially surjective. We build an inverse
\(G\). For each object \(B\) of \(\mathscr{D}\), essential surjectivity supplies some object
of \(\mathscr{C}\) whose image under \(F\) is isomorphic to \(B\). We choose one such object
for every \(B\), call it \(GB\), and choose an isomorphism
\(\varepsilon_B : F(GB) \xrightarrow{\cong} B\). To define \(G\) on a morphism
\(g : B \to B'\), consider
\(\varepsilon_{B'}^{-1} \circ g \circ \varepsilon_B : F(GB) \to F(GB')\). Because \(F\) is
full and faithful, its hom-map \(\mathscr{C}(GB, GB') \to \mathscr{D}(F(GB), F(GB'))\) is a
bijection, so there is a unique morphism \(Gg : GB \to GB'\) sent to it by \(F\).
Functoriality of \(G\) follows from uniqueness, since \(F\) is faithful. By construction the
\(\varepsilon_B\) are the components of a natural isomorphism \(FG \cong 1_{\mathscr{D}}\),
and a parallel argument using full faithfulness produces a natural isomorphism
\(\eta : 1_{\mathscr{C}} \to GF\). Its component \(\eta_A\) is the unique morphism with
\(F(\eta_A) = \varepsilon_{FA}^{-1}\), and it is an isomorphism because a full and faithful
functor reflects isomorphisms. Indeed, the inverse of \(F(\eta_A)\) is \(F(\theta)\) for a
unique \(\theta : GFA \to A\) by fullness, and then
\(F(\theta \circ \eta_A) = 1_{FA} = F(1_A)\) gives \(\theta \circ \eta_A = 1_A\) by
faithfulness, and likewise \(\eta_A \circ \theta = 1_{GFA}\). Thus \(F\) is an equivalence.
(The choice of objects \(GB\) appeals to a selection across the objects of \(\mathscr{D}\),
and this is the one non-constructive step.)
The criterion is the categorical counterpart of two facts already familiar: that a bijective
group homomorphism is automatically an isomorphism, and that a natural transformation whose
components are all isomorphisms is itself invertible. In each case one establishes invertibility
without constructing the inverse by hand. With it, equivalences become tractable. To show two
categories are equivalent, one exhibits a single functor and checks three conditions, none of
which requires producing the return trip explicitly. This is the notion of sameness under which
the constructions of the following pages, namely adjunctions, representable functors, the Yoneda
lemma, and limits, are stated and compared.