for every pair of objects X and Y in C. The functor F is said to be
- faithful if FX,Y is injective
- full if FX,Y is surjective
- fully faithful (= full and faithful) if FX,Y is bijective
for each X and Y in C.
A faithful functor need not be injective on objects or morphisms. That is, two objects X and X′ may map to the same object in D (which is why the range of a full and faithful functor is not necessarily isomorphic to C), and two morphisms f : X → Y and f′ : X′ → Y′ (with different domains/codomains) may map to the same morphism in D. Likewise, a full functor need not be surjective on objects or morphisms. There may be objects in D not of the form FX for some X in C. Morphisms between such objects clearly cannot come from morphisms in C.
A full and faithful functor is necessarily injective on objects up to isomorphism. That is, if F : C → D is a full and faithful functor and then .
- The forgetful functor U : Grp → Set is faithful as two group homomorphisms with the same domains and codomains are equal if they are given by the same functions on the underlying sets. This functor is not full as there are functions between the underlying sets of groups that are not group homomorphisms. A category with a faithful functor to Set is (by definition) a concrete category; in general, that forgetful functor is not full.
- The inclusion functor Ab → Grp is fully faithful, since Ab is by definition the full subcategory of Grp induced by the abelian groups.
Generalization to (∞, 1)-categories
The notion of a functor being 'full' or 'faithful' does not translate to the notion of a (∞, 1)-category. In an (∞, 1)-category, the maps between any two objects are given by a space only up to homotopy. Since the notion of injection and surjection are not homotopy invariant notions (consider an interval embedding into the real numbers vs. an interval mapping to a point), we do not have the notion of a functor being "full" or "faithful." However, we can define a functor of quasi-categories to be fully faithful if for every X and Y in C, the map is a weak equivalence.
- Mac Lane (1971), p. 15
- Jacobson (2009), p. 22
- Mac Lane (1971), p. 14