In category theory, a faithful functor is a functor that is injective on hom-sets, and a full functor is surjective on hom-sets. A functor that has both properties is called a fully faithful functor.
Explicitly, let C and D be (locally small) categories and let F : C → D be a functor from C to D. The functor F induces a function
for every pair of objects X and Y in C. The functor F is said to be
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 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.