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 id𝟎 and id𝟎′.
Hence 𝑔𝑓 =id𝟎 and 𝑓𝑔 =id𝟎′, therefore 𝟎 ≅𝟎′.
Likewise let 𝟏′ be an object in 𝖢 with the initial property.
Then there exists unique 𝑓 ∈𝖢(𝟏,𝟏′) and 𝑔 ∈𝖢(𝟏′,𝟏).
Likewise the only endomorphisms are id𝟎 and id𝟎′.
Hence 𝑔𝑓 =id𝟏 and 𝑓𝑔 =id𝟏′, 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.
𝟏:=lim⟵∅𝟎:=lim⟶∅
Examples
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 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.
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 𝖵𝖾𝖼𝗍𝕂, 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 ℝ2 and ℝ3).
For any vector space 𝑉 ∈Ob(𝖵𝖾𝖼𝗍𝕂),
there exists exactly one linear transformation 𝑓 ∈𝖵𝖾𝖼𝗍𝕂(𝑉,{⃗𝟎}),
and this is also clearly monic.
𝑓:𝑉↣𝑂:𝑣↦⃗𝟎
Likewise, there exists exactly one (epic) linear transformation 𝑔 ∈𝖵𝖾𝖼𝗍𝕂(𝑂,𝑉)
𝑔:𝑂↠𝑉:⃗𝟎→⃗𝟎
and we therefore have 𝑓 ∘𝑔 =id𝑂
The trivial group {𝑒} is both the initial and terminal object.
#state/tidy | #SemBr | #lang/en