Universal construction

Initial and terminal objects

Initial and terminal objects are objects within a category which, if they exist, are unique up to isomorphism. Loosely speaking, all objects ‘flow’ from the initial object and to the terminal object. More precisely, in a category , objects and are called the initial and terminal objects respectively if for any object there exist unique morphisms and . #m/def/cat

Concisely, and always contain exactly one morphism.

Uniqueness up to isomorphism

Let be an object in with the initial property. Then there exists unique and . Likewise the only endomorphisms are and . Hence and , therefore .

Likewise let be an object in with the initial property. Then there exists unique and . Likewise the only endomorphisms are and . Hence and , therefore .

As limits and colimits

Formulated as Limits and colimits, the terminal object is the limit of the empty diagram and the initial object is its colimit.

Examples

In a Poset

The simplest example is perhaps in posets, viewed as categories, in which the initial and terminal objects represent the smallest and largest values respectively.

In and

In the category , it is required that a unique morphism exists mapping the empty set for every set . Hence is the initial object.

In a similar fashion, it is clear that one and only one mapping exists from each set to a singleton set , and that all singletons are isomorphic. Hence the singleton is the terminal object.

In

Analogously, in , the initial object is the Void type

absurd :: Void -> a

While the terminal object is the canonical singleton type ()

unit :: a -> ()
unit _ = ()

In

In , both the initial and terminal object, hence the zero object, is the trivial vector space . Clearly, all trivial vector spaces are isomorphic (e.g. the trivial subspace of and ). For any vector space , there exists exactly one linear transformation , and this is also clearly monic.

Likewise, there exists exactly one (epic) linear transformation

and we therefore have

In

The trivial group is both the initial and terminal object.


#state/tidy | #SemBr | #lang/en