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 is the signal of a structure one level up — a structure whose objects are
themselves whole mathematical theories and whose maps are the translations between them.
That structure is the category. This page develops its three foundational
notions — categories, the maps between them (functors), and the maps between
those (natural transformations) — together with the constructions and the
notion of sameness that accompany 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: "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: this 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 — we prove nothing from it — but it fixes the
three-storey shape of what follows: objects and arrows; maps of the whole; 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),
\qquad (g, f) \mapsto g \circ f;
\]
for every object \(A\), an identity morphism
\(1_A \in \mathscr{C}(A, A)\),
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, 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\); 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 — function composition is associative, and composing with
the identity function returns the same function — because that is the example every other one is
modeled on.
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 example 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.
These 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 \(g = g \circ 1_B = g \circ (f \circ g') = (g \circ f) \circ g' =
1_A \circ g' = g'\), using only associativity and the identity laws — so we may 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 equivalence that
category already used: 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 chapter, by its own hands; 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 — but they are
instances of one definition.
Categories That Are Not Categories Of Anything
The second family makes the point that an object need not be a structured set at all. A
preorder — a set \(S\) with a reflexive, transitive relation \(\le\) — is a
category: 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. This is the precise sense
in which the entailment-structure of a language in the picture above is a category: it is 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)\): every arrow is reversed. Identities
are unchanged, and composition is that of \(\mathscr{C}\) with its arguments reversed — if
\(g \circ f\) is defined in \(\mathscr{C}\), the corresponding composite in
\(\mathscr{C}^{\mathrm{op}}\) runs the other way. 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, and many pairs of notions encountered later — products and coproducts,
limits and colimits, the two one-sided notions attached to an adjunction — are precisely dual to
one another.
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; and full subcategories are the device by which one carves
a category of interest out of a larger ambient one — the abelian groups inside all groups, 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}\),
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}\) — sending a group to
its underlying set and a homomorphism to its underlying function, say — which forgets the
structure while preserving 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 the composition is associative with the identity functors as units. The pattern of the
earlier sections thus repeats one level up: categories are themselves the objects of a category,
whose morphisms are the functors between them.
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 proved both
already, 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: the star is the notation for the
morphism a functor assigns, and the functor axioms read \((G \circ F)_* = G_* \circ F_*\) and
\((1_{(M,p)})_* = 1_{T_pM}\) — the same shape carried by the functors of algebraic topology,
which send a space to an algebraic invariant and a continuous map to the induced
homomorphism. 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 \(f^* : W^* \to V^*\) by precomposition, reversing direction, so \((-)^*\) is a
contravariant functor on \(\mathbf{Vect}_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}\); 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)\) — for instance the continuous real-valued functions on \(U\) — together with, for each
inclusion \(U \subseteq U'\), a restriction map \(F(U') \to F(U)\) running the opposite way.
Presheaves, and the sheaves that refine them, are central to modern geometry and will return when
we have the tools to treat them in earnest.
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 reflects 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. Starting from the top-left corner \(F(A)\),
there are two ways to reach the bottom-right corner \(G(B)\): go right by \(F(f)\) then down by
\(\alpha_B\), or go down by \(\alpha_A\) then right by \(G(f)\). Naturality is the demand that
these two routes agree, \(\alpha_B \circ F(f) = G(f) \circ \alpha_A\) — 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 — so the linguistic picture 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)\). To see that this lands in
\(V^{**}\): an element of \(V^{**} = (V^*)^*\) is a linear map from \(V^*\) to \(k\), and
\(\alpha_V(v)\) is exactly that — it eats a functional \(\varphi \in V^*\) and returns the
scalar \(\varphi(v)\), linearly in \(\varphi\). 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 by a direct unwinding of the definitions. The single map \(\alpha_V\) at each space is
unremarkable; what is remarkable, and 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\), where composition and identities are taken among natural
transformations. When such an \(\alpha\) exists, \(F\) and \(G\) are naturally
isomorphic, written \(F \cong G\); one also says \(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 sketch:
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}\); 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, 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: the identity
assignment \(V \mapsto V\) is a covariant functor, while the dual \(V \mapsto V^*\) is
contravariant — a linear map \(f : V \to W\) induces \(f^* : W^* \to V^*\) pointing the other
way. 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 — the same variance as the identity — which is
precisely why a natural comparison with it exists. 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. 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\); this is associative, and 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 — 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\) — 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 pre- and post-composes with the components \(\eta_A\), \(\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 an object of
\(\mathscr{C}\) and an isomorphism \(\varepsilon_B : F(GB) \xrightarrow{\;\cong\;} B\);
choose one such pair for every \(B\), and call the chosen object \(GB\). 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 \(GF \cong 1_{\mathscr{C}}\). Thus \(F\) is
an equivalence. (The choice of objects \(GB\) appeals to a selection across the objects of
\(\mathscr{D}\); 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 — representable functors, the Yoneda lemma, limits, and
adjunctions — are stated and compared.