Category theory is a branch of mathematics that tries to understand structure by investigating the processes that preserve it. Expressing fundamental physical theories in the language of category theory corresponds to a change of paradigm: Instead of looking for ever smaller constituents of physical theories, one focuses on the complex interactions between objects instead.

This is not entirely a new idea: physicists use Noether’s theorem to understand conservation laws by studying the actions that respect them. They also use Feynman diagrams, which provide exactly the same types of process abstraction [1].

In short, a category consists of objects and morphisms between them. Morphisms may be composed by the associative operation $\circ$, as long as types are preserved. For example, morphisms $f : A \rightarrow B$ and $g : B \rightarrow C$ may be composed to form a morphism $g \circ f : A \rightarrow C$. Furthermore, each object $A$ gives rise to an identity morphism $1_A$. But let’s better use the necessary mathematical rigour:

Definition 1. [3] A category $C$ consists of:

  • a family $ C $ of objects,
  • a set of morphisms $C(a, b)$ for each pair of objects $a, b \in C $
  • a composition operation $- \circ – : C(a, b) \times C(b, c) \rightarrow C(a, c) :: ( f, g) \mapsto g \circ f$, subject to the conditions:
    1. for any $f\in C(a,b),\ g\in C(b,c)$ and $h\in C(c,c)$, we have $h\circ (g\circ f) = (h\circ g)\circ f$ (associativity)
    2. for any object $a\in C $, there exists a morphism $1_a\in C(a,a)$ called identity, such that for any $f\in C(a,b)$ we have $f=f\circ 1_a=1_b\circ f$ (existence of identity)

Categories were first introduced by Samuel Eisenberg and Saunders MacLane as a byproduct of their research on natural transformations (which we will encounter later)

As we will see over time, arrows and morphisms within categories may themselves admit rich inter-relationships, which, for notational simplicity, are usually expressed as commutative diagrams:

Definition 1b. [3] For any category $\mathcal{C}$, if one forgets that the arrows in $\mathcal{C}$ may be composed into new arrows and additionally, if one discards of all identity arrows, then one ends up with a category just defining a graph. Such graphs may be used in order to efficiently notate inter-relationships between the remaining arrows and morphisms as so-called commutative diagrams.

For example, given $f:a\rightarrow b$, $g:b\rightarrow c$, $k:a\rightarrow c$ and $l:c\rightarrow d$ and, additionally, $g\circ f=l\circ k$ then we may represent this equivalently as the easily digestable commutative diagram:

As categories become more complex, commutative diagrams will prove to be extremely useful notational tools.

But what kind of mathematical entities may serve as objects and morphisms? In principle, anything goes – as long as Definition 1 is fulfilled. For example, many familiar mathematical structures from physics and computer science may be categorified:

Definition 2. [2] A monoid is a triple $(m, \bullet, 1_\bullet)$ with $m$ being a set and $\bullet$ is an associative multiplication operation with identity $1_\bullet\in m$.

In other words, a monoid is a single object that serves as both target and source of all arrows and, together with a binary operation, determines the category $\textbf{C(m)}$ of a monoid $\mathbf{m}$.

Monoids are very useful structural building blocks. In fact, it can be shown that every one-object category is a monoid. A particularly interesting type of monoid is one where each arrow admits an inverse: Such monoids exactly correspond to the widely-used concept of a group.

Moving to many-object categories, the category of finite sets and relations (FRel) consists of finite sets as object and relations between sets as arrows. We will see later how FRel is intimately related to fundamental arithmetic operations such as addition and multiplication.

Another particularly useful many-object category is FdVect, which is an important step toward a category over Hilbert spaces that we will encounter later:

Definition 3. [2] The category $\mathbf{FdVect}_\mathbb{K}$ admits the following:

  • finite dimensional vector spaces over a field $\mathbb{K}$ as objects,
  • all linear maps between which serve as morphisms.
  • arrow composition is trivially provided by function composition, which is clearly associative and addresses the existence of an identity element.

Category Theory is so abstract that it is sometimes referred to as “generalized abstract nonsense”. However, we will see that it indeed underpins extremely powerful structure!

At first it may seem as if the concept of a category is so abstract and versatile that virtually anything seems to correspond to a category – thus rendering its concept arbitrary, and ultimately, useless.

This is, however, not the case. For simplicity, we here only give a brief example of a structure that does not admit a straight-forward categorification:

Consider a mathematical entity labelled Empire that admits both objects and morphisms. Take its objects to be planar maps marking the territories of simply-connected countries. Let the existence of a morphism $f:a\rightarrow b$ signify that country $a$ borders on country $b$. Now postulate that Empire is in fact a category. Can you spot the problem?

Exactly! Unless all countries border on each other, Empire does not define a category, as the attribute “bordering on” is intransitive. This makes arrow composition ill-defined. At this point, let this example suffice to illustrate that the concept of a category is abstract, but not arbitrary.

As stated above, the inventors of categories, Eisenberg and MacLane, were not primarily interested in them as such. Rather, categories first arose as a necessary building block in order to define higher-level structures dubbed natural transformations. It is very insightful and I strongly recommend reading their original paper [3], which gives a great introduction to natural transformations from within the realms of linear algebra. Let us now see ourselves what the whole fuss is about. First, however, we need to define some more lower-level structure.

Functors are structure-preserving maps between categories:

Definition 4. [3] For categories $\mathcal{C}$ and $\mathcal{D}$, a functor $F: \mathcal{C}\rightarrow\mathcal{D}$ is a pair of functions $(F_0, F_1)$ for which

  • $F_0: \mathop{obj}(\mathcal{C})\rightarrow\mathop{obj}(\mathcal{D})$ maps each object in $\mathcal{C}$ to an object in $\mathcal{D}$
  • $F_1: \mathop{arr}(\mathcal{C})\rightarrow\mathop{arr}(\mathcal{D})$ maps each arrow $f:a\rightarrow b$ in $\mathcal{C}$ to an arrow $F_1(f): F_0(a)\rightarrow F_1(b)$ in $\mathcal{D}$.

The category Cat has small categories (i.e. objects and arrows constitute sets [3]) as objects and functors as morphisms. If we restrict Cat to one-object categories, then we end up in a category that is isomorphic to Mon, whose arrows are monoid homomorphisms.

Definition 5. [3] A homomorphism is a function $f:s\rightarrow t$ with the property that if $x\alpha y$ in $s$ then $f(x)\beta f(y)$ in $t$, where $(s,\alpha)$ and $(t,\beta)$ are sets with relations on them. Monoid homomorphisms additionally preserve the identity element [4].

Note the analogy of Definition 5 to monoid categories $\textbf{C(m)}$: Cat is merely living one abstraction level further up.

Now let’s fix two categories $\mathcal{C}$, $\mathcal{D}$ and look at the family of functors $\mathcal{F}$ between them. One may form a new category with those functors as objects, and the arrows between these objects being so-called natural transformations:

Definition 6. [3] Consider two categories $\mathcal{C}$, $\mathcal{D}$ and the family of functors $\mathcal{F}$ between them. For $\mathcal{F}$, $\mathcal{G}\in\mathcal{F}$, a natural transformation $\eta: F \rightarrow G$ associates to each object $X$ in $\mathcal{C}$ a morphism $\eta_X: F(X) \rightarrow G(X)$ between objects of $\mathcal{D}$, such that for every morphism $f: X\rightarrow Y$ the following commutative diagram holds:

It is of course possible to continue by defining morphisms between natural transformations and so on. This actually leads to interesting insights: Fundamental algebraic operations, like subtraction and addition, may be seen as having resulted from an infinite categorification of set-theoretical operations like unions and disjoints [1]. However, the knowledge of functors and natural transformations suffices for many practical applications of category theory, including the purposes of Categorical Quantum Mechanics.

How can a physical theory be cast into the language of category theory? There are many possibilities. An intuitive one is to construct a category Phys, whose objects are physical states and morphisms are processes between such states. This is an example of an abstract category which can be concretized in order to reflect the intrinsics of a specific physical theory:

For example, quantum mechanics implies objects to be Hilbert spaces and morphisms to be linear maps. Classical mechanics suggests a category ClassMech with Poisson manifolds as objects and Poisson maps as morphisms [23].

However, there is more to a physical theory than just a basic categorical structure – as we shall see next.


[1] Baez, J. C., and Dolan, J. From finite sets to Feynman diagrams. Featured in ’Mathematics Unlimited – 2001 and Beyond’, vol. 1, eds. Bjoern Engquist and Wilfried Schmid, Springer, Berlin, 2001, pp. 29-50.

[2] Coecke, B., and Paquette, E. O. Categories for the practising physicist. arXiv e-print 0905.3010, May 2009.

[3] Samuel Eilenberg and Saunders MacLane, General theory of natural equivalences, Trans. Amer. Math. Soc. 58 (1945), 231-294. PDF here.

[4] Barr, M., and Wells, C. Category Theory for Computing Science.
Prentice Hall International Series in Computer Science, 1990.