# Initial and terminal objects

In category theory, a branch of mathematics, an **initial object** of a category C is an object I in C such that for every object X in C, there exists precisely one morphism *I* → *X*.

The dual notion is that of a **terminal object** (also called **terminal element**): T is terminal if for every object X in C there exists exactly one morphism *X* → *T*. Initial objects are also called **coterminal** or **universal**, and terminal objects are also called **final**.

If an object is both initial and terminal, it is called a **zero object** or **null object**. A **pointed category** is one with a zero object.

A strict initial object I is one for which every morphism into I is an isomorphism.

Initial and terminal objects are not required to exist in a given category. However, if they do exist, they are essentially unique. Specifically, if *I*_{1} and *I*_{2} are two different initial objects, then there is a unique isomorphism between them. Moreover, if I is an initial object then any object isomorphic to I is also an initial object. The same is true for terminal objects.

For complete categories there is an existence theorem for initial objects. Specifically, a (locally small) complete category C has an initial object if and only if there exist a set I (*not* a proper class) and an I-indexed family (*K*_{i}) of objects of C such that for any object X of C, there is at least one morphism *K*_{i} → *X* for some *i* ∈ *I*.

It follows that any functor which preserves limits will take terminal objects to terminal objects, and any functor which preserves colimits will take initial objects to initial objects. For example, the initial object in any concrete category with free objects will be the free object generated by the empty set (since the free functor, being left adjoint to the forgetful functor to **Set**, preserves colimits).

Initial and terminal objects may also be characterized in terms of universal properties and adjoint functors. Let **1** be the discrete category with a single object (denoted by •), and let *U* : *C* → **1** be the unique (constant) functor to **1**. Then

Many natural constructions in category theory can be formulated in terms of finding an initial or terminal object in a suitable category.