# Forgetful functor

In mathematics, in the area of category theory, a **forgetful functor** (also known as a **stripping functor**) 'forgets' or drops some or all of the input's structure or properties 'before' mapping to the output. For an algebraic structure of a given signature, this may be expressed by curtailing the signature: the new signature is an edited form of the old one. If the signature is left as an empty list, the functor is simply to take the **underlying set** of a structure. Because many structures in mathematics consist of a set with an additional added structure, a forgetful functor that maps to the underlying set is the most common case.

As an example, there are several forgetful functors from the category of commutative rings. A (unital) ring, described in the language of universal algebra, is an ordered tuple (*R*, +, ×, *a*, 0, 1) satisfying certain axioms, where "+" and "×" are binary functions on the set *R*, *a* is a unary operation corresponding to additive inverse, and 0 and 1 are nullary operations giving the identities of the two binary operations. Deleting the 1 gives a forgetful functor to the category of rings without unit; it simply "forgets" the unit. Deleting "×" and 1 yields a functor to the category of abelian groups, which assigns to each ring *R* the underlying additive abelian group of *R*. To each morphism of rings is assigned the same function considered merely as a morphism of addition between the underlying groups. Deleting all the operations gives the functor to the underlying set *R*.

It is beneficial to distinguish between forgetful functors that "forget structure" versus those that "forget properties". For example, in the above example of commutative rings, in addition to those functors that delete some of the operations, there are functors that forget some of the axioms. There is a functor from the category **CRing** to **Ring** that forgets the axiom of commutativity, but keeps all the operations. Occasionally the object may include extra sets not defined strictly in terms of the underlying set (in this case, which part to consider the underlying set is a matter of taste, though this is rarely ambiguous in practice). For these objects, there are forgetful functors that forget the extra sets that are more general.

Forgetful functors are almost always faithful. Concrete categories have forgetful functors to the category of sets—indeed they may be *defined* as those categories that admit a faithful functor to that category.

Forgetful functors that only forget axioms are always fully faithful, since every morphism that respects the structure between objects that satisfy the axioms automatically also respects the axioms. Forgetful functors that forget structures need not be full; some morphisms don't respect the structure. These functors are still faithful however because distinct morphisms that do respect the structure are still distinct when the structure is forgotten. Functors that forget the extra sets need not be faithful, since distinct morphisms respecting the structure of those extra sets may be indistinguishable on the underlying set.

In the language of formal logic, a functor of the first kind removes axioms, a functor of the second kind removes predicates, and a functor of the third kind remove types^{[clarification needed]}. An example of the first kind is the forgetful functor **Ab** → **Grp**. One of the second kind is the forgetful functor **Ab** → **Set**. A functor of the third kind is the functor **Mod** → **Ab**, where **Mod** is the fibred category of all modules over arbitrary rings. To see this, just choose a ring homomorphism between the underlying rings that does not change the ring action. Under the forgetful functor, this morphism yields the identity. Note that an object in **Mod** is a tuple, which includes a ring and an abelian group, so which to forget is a matter of taste.

Forgetful functors tend to have left adjoints, which are 'free' constructions. For example:

In the case of vector spaces, this is summarized as: "A map between vector spaces is determined by where it sends a basis, and a basis can be mapped to anything."

**Fld**, the category of fields, furnishes an example of a forgetful functor with no adjoint. There is no field satisfying a free universal property for a given set.