Full and Faithful Functors
We could try to adapt the definitions of epics and monics to functors, but it turns out they’re not really the most useful. Really what we’re most concerned with in transforming one category into another is their morphisms. The more useful notions are best phrased specifically with regard to the hom-sets of the categories involved.
Remember that a functor between two (locally small) categories defines a function for each hom set:
. We now apply our standard definitions to these functions.
We say that a functor is “full” if for every pair of objects and
in
the function
is surjective. Similarly, we say that a functor is “faithful” if each function
is injective. When we apply these definitions to monoids (considered as categories with one object) we recover monomorphisms and epimorphisms of monoids, so we know we’re on the right track.
Now a subcategory of a category
consists of a subclass of the objects of
and a subclass of the morphisms of
so that
- For each arrow in
both its source and target objects are in
.
- For each object in
its identity arrow is in
.
- For each pair of composable arrows in
their composite is in
.
These conditions are enough to ensure that is a category in its own right. There is an inclusion functor
sending each object and morphism of
to itself in
. Clearly it’s faithful, since any two distinct arrows in
are distinct in
.
What if this inclusion functor is also full? Then given any two objects and
in
, every morphism
in
is included in
. We say that
is a “full subcategory” of
. In practice, this means that we’ve restricted which objects of
we care about, but we keep all the morphisms between the objects we keep. For example, the category
of abelian groups is a full subcategory of
.
Note that we have not given any conditions on the map of objects induced by a functor. In fact, the (unique) functor from the category to the category
is faithful, even though it appears to lose a lot of information. Indeed, though we identify both objects from
in the image, the function on each hom-set is injective. Similarly, either functor from
to
is full. One condition on the object map that’s useful is that a functor be “essentially surjective”. A functor
has this property if each object
in the target category is isomorphic to an object
in the image of
.
Now, let functors and
furnish an equivalence of categories. I say that
(and, by symmetry,
) is full, faithful, and essentially surjective. Indeed, since
we have an isomorphism
for each object
, so
is essentially surjective. The natural isomorphism
says that for every arrow
we have
. The right side of this equation is a bijection from
to
, and the left side is the composite
. If
were not full then the left side could not be always surjective, while if
were not faithful then the right side could not be always injective. Since the right side is always a bijection,
must be full and
must be faithful. By symmetry
is essentially surjective and faithful, and
is full.
On the other hand, if a functor is full, faithful, and essentially surjective, then it is one side of an equivalence of categories. The proof is a bit more involved, but basically it proceeds by building a functor
. Since each object of
is isomorphic to some object in the image of
we pick such an object
for each
and set
. Then we have to find mappings of the hom-sets of
in a coherent way so that the resulting composites
and
are naturally isomorphic to the identity functors. I won’t fill in all the details here, but suffice it to say it can be done.
This, then, characterizes equivalences of categories the way injectivity and surjectivity of functions characterize isomorphisms of sets.