Research Topics

(under construction)

My research is on the mathematical foundations of computer science. I am particularly interested in algebra, topology, logic and category theory. I collected some thoughts on the relationship between mathematics and computer science in my research statement.


The duality of algebras and co-algebras is at the heart of the relationship between data and programs. The theory of coalgebras develops novel mathematics that, roughly speaking, does for ongoing dynamic computations what algebra does for finite static data.

While the algebra-coalgebra duality finds a precise mathematical formulation in category theory, it is also interesting to use it as a philosophical metaphor. For example, gold-standard money is algebraic and fiat money is coalgebraic (in Winschel’s words “The value of the money today is the value of the money tomorrow”).

Applied category theory

The coalgebra research can be seen as taking place not only in theoretical computer science, but also in applied category theory. Starting in the 40ies, cateory theory was developed in pure mathematics to support research in areas such as algebraic topology and algebraic geometry. Later, in the 60ies it was discovered that categorical structures such as toposes have intimate connections to logic and computation. The importance of the algebra-coalgebra duality was recognised in the 80ies and made it into the mainstream of theoretical computer science in the 00s. Logic and coalgebras are just two of many examples of the unreasonable effectiveness of category theory in applications. In recent years there as been a concerted effort by the community to not rely on serendipitous discoveries, but to turn applied category theory into a research area with its own agenda and methods. Some applied category theory links.

Modern logic started to arise a hundred years ago in work of scholars such as Frege, Russell, Hilbert, Goedel, Gentzen, Tarski. At the time, research concentrated on finding secure foundations of mathematics and formalising the logic of human reasoning. This logic is called classical logic.

Nowadays, there is not one classical logic but hundreds of bespoke logics. There are logics of time, of obligations, of necessity and possibility, logics for reasoning about shared memory, about infinite computations, about distributed systems, etc. Most of these logics fall under what is known as Modal Logic. There are also logics for quantitative reasoning such as probabilistic logics and many-valued logics.

This field of applied logic has been driven by both philosophical investigations and by engineering applications. This field is way too big to attempt a comprehensive list of links. One interesting strand of research is pursued by my collaborators in the group of Alessndra Palmigiano.

Semantics of Programming Languages