Loading …
link-time Logo
What actually are Categories?
What actually are Categories? What actually are Categories?
What actually are Categories?
What actually are Categories? What actually are Categories? What actually are Categories?

What actually are Categories?

1. A class of objects

The class of objects is the primary defining element of any category.

These objects can basically be anything from "things" like the number 1 up to other categories, so a category of categories.


For a category \(\mathcal{K}\), \(Ob(\mathcal{K})\) or alternatively \(\lVert\mathcal{K}\rVert\) denotes the class of objects in \(\mathcal{K}\).


As an example let's use the category of lists \(\mathcal{L}\):

The following applies:

\[Ob(\mathcal{L}) \Leftrightarrow \lVert\mathcal{L}\rVert = \mathbb{L}\]

where \(\mathbb{L}\) is the set of all lists.

The class of objects in the category of lists therefore is the set of all lists, so far so trivial.

2. Morphisms

As a seemingly cryptical term, morphisms describe what is called a function in calculus.

A morphism (from greek morphé - form/shape) therefore is something that 'reshapes' one thing into something else.

A morphism always relates to two sets, called domain and co-domain.


A morphism \(f\) would usually be written as


where \(\mathbb{A}\) is called the domain of \(f\) and \(\mathbb{B}\) is called the co-domain of \(f\).


We define the increment-morphism \(+1\) as follows:


$$+1: n\mapsto n+1$$

Domain and co-domain are both the integers \(\mathbb{Z}\) .

Because domain and co-domain are identical in our example, we call \(+1\) an "endomorphism".

3. Identity-morphism

The identity-morphism (or just identity) is, as the name suggests a morphism. The property that makes it special is simply, that it maps its object to itself.


The identity is noted as \(Id_{\mathcal{X}}\) and the following applies

$$\forall x\in\lVert\mathcal{X}\rVert(Id_{\mathcal{X}}:x\mapsto x)$$

So "For all (\(\forall\)) objects in \(\mathcal{X}\) the identity maps the object to itself".

4. The composition

The composition \(\circ\) is a central component in category-theory and describes the possibility to combine (compose) morphisms. The composition of two morphisms produces a new morphism as a result.


The composition of two morphisms \(f\) and \(g\) is noted as follows



$$g\circ f:\mathbb{A}\rightarrow\mathbb{C}$$

We say "\(g\) composed \(f\)".


One requirement that category-theory makes for the composition is that it's associative.

That means, that the order of operations must not have an influence on the result, or more formal:

Les \(f\), \(g\) and \(h\) be morphisms in \(\mathcal{K}\),

$$f\circ (g\circ h)\Leftrightarrow (f\circ g)\circ h$$ applies.


Let \(half\) be the morphism, which maps a whole number to its half.

Let in addition \(floor\) be the morphism, that maps a real number to the next lower integer.

It follows



with \(\mathbb{Q}\subset\mathbb{R}\)

$$floor\circ half:\mathbb{Z}\rightarrow\mathbb{Z}$$ applies

\(floor\) composed \(half\) is therefore an endomorphism.


Next time we will look at functors and see why many types present in Kotlin are functors.

Patrick Louis

Patrick Louis

› github.com/p-louis

› Show all articles

Your browser is out-of-date!

Update your browser to view this website correctly. Update your browser now!