A forgetful functor is a functor which is defined by ‘forgetting’ something. For example, the forgetful functor from Grp to Set forgets the group structure of a group, remembering only the underlying set.
In common parlance, the term ‘forgetful functor’ has no precise definition, being simply used whenever a functor is obviously defined by forgetting something. Many forgetful functors of this sort have left or right adjoints (and many are actually monadic or comonadic), leading to the paradigmatic adjunction “free ⊣⊣ forgetful.”
On the other hand, from the perspective of stuff, structure, property, every functor is regarded as a forgetful functor and classified by how much it forgets (namely, stuff, structure, or properties). From this perspective, the forgetful functor from GrpGrp to SetSet forgets the structure of a group and the property of admitting a group structure, as usual; but its left adjoint (the free group functor) is also forgetful: if you identify SetSet with the category of free groups with specified generators, then it forgets the structure of a set of free generators and the property of being free.
There are many cases in which we want to say that one kind of mathematical object has more structure than another kind of mathematical object. For instance, a topological space has more structure than a set. A Lie group has more structure than a smooth manifold. A ring has more structure than a group. And so on. In each of these cases, there is a sense in which the first sort of object – say, a topological space – results by taking an instance of the second sort – say, a set – and adding something more – in this case, a topology. In other cases, we want to say that two different kinds of mathematical objects have the same amount of structure. For instance, given a Boolean algebra, one can construct a special kind of topological space, known as a Stone space, from which one can uniquely reconstruct the original Boolean algebra; and vice-versa.
These sorts of relationships between mathematical objects are naturally captured in the language of category theory, via the notion of a forgetful functor. For instance, there is a functor F : Top → Set from the category Top, whose objects are topological spaces and whose arrows are continuous maps, to the category Set, whose objects are sets and whose arrows are functions. This functor takes every topological space to its underlying set, and it takes every continuous function to its underlying function. We say this functor is forgetful because, intuitively speaking, it forgets something: namely the choice of topology on a given set.
The idea of a forgetful functor is made precise by a classification of functors due to Baez et al. (2004). This requires some machinery. A functor F : C → D is said to be full if for every pair of objects A, B of C, the map F : hom(A, B) → hom(F (A), F (B)) induced by F is surjective, where hom(A, B) is the collection of arrows from A to B. Likewise, F is faithful if this induced map is injective for every such pair of objects. Finally, a functor is essentially surjective if for every object X of D, there exists some object A of C such that F(A) is isomorphic to X.
If a functor is full, faithful, and essentially surjective, we will say that it forgets nothing. A functor F : C → D is full, faithful, and essentially surjective if and only if it is essentially invertible, i.e., there exists a functor G : D → C such that G ◦ F : C → C is naturally isomorphic to 1C, the identity functor on C, and F ◦ G : D → D is naturally isomorphic to 1D. (Note, then, that G is also essentially invertible, and thus G also forgets nothing.) This means that for each object A of C, there is an isomorphism ηA : G ◦ F (A) → A such that for any arrow f : A → B in C, ηB ◦ G ◦ F(f) = f ◦ ηA, and similarly for every object of D. When two categories are related by a functor that forgets nothing, we say the categories are equivalent and that the pair F, G realizes an equivalence of categories.
Conversely, any functor that fails to be full, faithful, and essentially surjective forgets something. But functors can forget in different ways. A functor F : C → D forgets structure if it is not full; properties if it is not essentially surjective; and stuff if it is not faithful. Of course, “structure”, “property”, and “stuff” are technical terms in this context. But they are intended to capture our intuitive ideas about what it means for one kind of object to have more structure (resp., properties, stuff) than another. We can see this by considering some examples.
For instance, the functor F : Top → Set described above is faithful and essentially surjective, but not full, because not every function is continuous. So this functor forgets only structure – which is just the verdict we expected. Likewise, there is a functor G : AbGrp → Grp from the category AbGrp whose objects are Abelian groups and whose arrows are group homomorphisms to the category Grp whose objects are (arbitrary) groups and whose arrows are group homomorphisms. This functor acts as the identity on the objects and arrows of AbGrp. It is full and faithful, but not essentially surjective because not every group is Abelian. So this functor forgets only properties: namely, the property of being Abelian. Finally, consider the unique functor H : Set → 1, where 1 is the category with one object and one arrow. This functor is full and essentially surjective, but it is not faithful, so it forgets only stuff – namely all of the elements of the sets, since we may think of 1 as the category whose only object is the empty set, which has exactly one automorphism.
In what follows, we will say that one sort of object has more structure (resp. properties, stuff) than another if there is a functor from the first category to the second that forgets structure (resp. properties, stuff). It is important to note, however, that comparisons of this sort must be relativized to a choice of functor. In many cases, there is an obvious functor to choose – i.e., a functor that naturally captures the standard of comparison in question. But there may be other ways of comparing mathematical objects that yield different verdicts.
For instance, there is a natural sense in which groups have more structure than sets, since any group may be thought of as a set of elements with some additional structure. This relationship is captured by a forgetful functor F : Grp → Set that takes groups to their underlying sets and group homomorphisms to their underlying functions. But any set also uniquely determines a group, known as the free group generated by that set; likewise, functions generate group homomorphisms between free groups. This relationship is captured by a different functor, G : Set → Grp, that takes every set to the free group generated by it and every function to the corresponding group homomorphism. This functor forgets both structure (the generating set) and properties (the property of being a free group). So there is a sense in which sets may be construed to have more structure than groups.