So we often see these constructions come up. For a set , we define the free group as the group of words under string concatenation of . Similarly, the free monoid over is just words given by under concatenation. We also define the free -module as the set of formal linear combinations on given by . If is a field, we get the free vector space. Given a directed graph , we can form the free category over by taking vertices to objects and paths to morphisms. In fact, there are many such “free” constructions of various other objects, such as the free algebra over a vector space . In the end, we have all these objects that are labelled with free, but there is no apparent connection between them, so this post aims to give some insight as to why they all have the same label.

Recall that a functor eats things from a category and returns a similar object in another category. Call a functor **faithful** if for every two objects , the map on morphisms is injective. So a functor is faithful if it preserves the information about morphisms. We now define a concrete category to be a category equipped with a faithful functor into , the category of sets.

Let be a concrete category, and let be some set, called a *basis*, an object, and any set-theoretic function. We say is the free object on with respect to if and only if, when given another object and map , the following triangle commutes.

We essentially want a unique morphism such that is the precomposition of with . In some sense, this is just saying that all maps from to some structured object have to go through and , so is the most general object derived from and is the most general map. But wait, this does not appear to be what free groups are about on the surface! For free groups, we must have

where is the free group on and is any arbitrary group and a group homomorphism. On the surface, it appears as if the functor is going backwards, because we have functions from ! But then we squint at the diagram and realize that is not the case at all. In this case, we just view as sets under the forgetful (and faithful!) functor taking groups to their underlying sets and group homomorphisms to their set theoretic definitions. So now that we have this faithful functor, we just plug into the diagram. For all morphisms , there exists a group homomorphism (as a set theoretic function!) such that , where is the natural inclusion of into (as a set!).

So we repeat this process for free vector spaces, free monoids, and whatnot, and realize that the definition makes a lot of sense, but why are they called free? Personally, I’m not sure, but we can remember that they are free objects because you basically get these extensions of sets for free, and calling them the most general object is too hard to say in English. Anyways, this motivates the definition of universal properties.

Let be a category and let be an object. is said to be an **initial object** if there is only one morphism in , for all objects . Dually, is said to be a **terminal object** if there is only one morphism in for all objects . For example, the trivial group is both an initial object and terminal object in .

Let be categories and let . We define the **comma category** to be the category whose objects are triples where and morphisms are pairs

such that the following square commutes.

and composition is component-wise composition.

Suppose is a functor and . An **initial morphism** from to is just an initial object in the comma category . But this notation is somewhat confusing, is not a functor! To make this definition precise, we let where is the functor sending all objects in to and all morphisms to the identity on . Therefore, we can shrink our definition for this comma category down to objects being pairs and morphisms just being . To expand on the initial object, our initial morphism is just a pair such that whenever we have an object and a morphism, the following triangle, called the **initial property** commutes.

To see this better in the comma category, we add the identity morphism on to produce the following square.

Dually, an **terminal morphism** from to is a terminal object in the comma category , or a pair such that whenever we have and , the following triangle, called the **terminal property** is satisfied.

We now have enough to define what we originally wanted. A **universal property** refers to either an initial property or a terminal property while a **universal morphism** refers to either an initial morphism or terminal morphism. We can then summarize free objects as initial morphisms from their underlying set to the faithfully forgetful functor that strips away the structure of our object.