About me

I am Matteo Capucci, I work in applied category theory, focusing on developing a principled mathematical description of open complex systems, especially those exhibiting agency, such as players in a game, learners and reasoners (cybernetic systems). My tools of choice are formal category theory, dependent types, and graphical syntax. Here’s my full academic CV.

I am in the process of submitting my PhD thesis at the University of Strathclyde, part of the MSP group.

Meanwhile, I am taking part in the ARIA ‘Safeguarded AI’ programme as an independent researcher. I am PI on my own project ‘Doubly Categorical Systems Logic: A Theory of Specification Languages‘ (£120,000+) and collaborator on a second project ‘Quantitative Predicate Logic as a Foundation for Verified ML‘ (£500,000+) following up on my work on quantitative logic.

I post about this and more on this blog (rarely) and on Mathstodon (much more frequently).

Shiny links I collected


Active lines of research

This is a more of less up-to-date list of the topics I’m working on. For a list of talks, preprints and papers, check out this page.

I’m open to collaborations in any of the topics listed below, you can get in touch by emailing matteo dot capucci at strath.ac.uk.

Double Categorical Systems Theory

Doubly Categorical Systems Theory (DCST) is a formal mathematical theory of systems. A theory of systems is the algebra of a double operad: the operations of the operad describe how to compose systems, while the algebra substantiates these operations into actual functors between categories of systems. This structure combines both the compositional and morphological aspects of systems theory, with the operad part describing compositionality and the categorical part describing the structure of systems.

DCST being formal means we can work at a level of generality at which we can meanigfully talk about the subjects of systems theory—systems, processes, interfaces, behaviours, etc.—without ever having to commit to a specific way to model them (coalgebras, machines, decorated cospans, behaviour types, etc.).

I’m working on DCST within the ARIA project ‘Safeguarded AI’ in close collaboration with Topos Research UK and the folks there (Myers, Likind, Brown, Siqueira, etc.)

Reading list

First-Order Quantitative Logic

The most interesting things we can say about systems aren’t qualitative absolutes, but quantitative statements. How far things are from each other, how much error there is in an approximation, what is the probability of a property being satisfied, and so on. Thus adapting the structural methods of logic, category theory, and categorical systems theory to a quantitative setting is crucial for making them practically useful.

Meanwhile, many ideas and phenomena in statistics, machine learning, and functional analysis have a logical flavour. Can we turn this hunch into a tool to understand such settings in a new light?

Together with Bob Atkey and Ekaterina Komendantskaya I am developing a first-order quantitative logic of predicates valued in [0,\infty]. We put a strong empahsis on softness, thus relaxing the hard, ‘Boolean’ properties of connectives to accomodate more useful quantitative connectives.

Reading list

Structural primitives for cybernetics

Cybernetic systems self-adapt through the observations they make of the ‘environment’ which interacts with them. In games, this dynamics brings players to play equilibria. In machine learning, it makes models learn from a dataset and RL agent adapt to an environment. In control theory, it keeps systems in a viable state.

Category theory can put the mathematical treatment of these systems on strong and flexible foundations. We can then use string diagrams to describe systems compositionally, categorical logic to impose guarantees on their behaviour, and functional programming to produce efficient and effable programs to analyse them.

My main research focus is develop structural primitives for cybernetics, working in the groove of categorical systems theory. A concrete goal is characterizing good regulators abstractly, and develop a modern, model-free internal model principle.

Reading list

  1. The series of posts on open cybernetics on this blog
  2. Towards Foundations of Categorical Cybernetics by me, Bruno Gavranović, Jules Hedges, Eigil Fjeldgren Rischel
  3. From categorical systems theory to categorical cybernetics, by me
  4. Mathematical Foundations for a Compositional Account of the Bayesian Brain, by Toby St Clere Smithe

Dormant research

Some topics which I worked on, but I’m currently not actively pursuing.

Categorical game theory

Game theory is a fascinating subject studying the behaviour of self-interested interacting agents. All cybernetic systems feature agents trying to control a given system with a goal in mind, but games are unique in their compositional structure.

In fact the composition of many game-theoretic agents looks different from any of the composee. This is a consequence of the information flow of a game, which starves player of crucial information on the consequences of their action. The main issue with this state of affairs is that the more players are together the harder it is for them to reach mutually beneficial states (Pareto optima).

Category theory can describe this very well, by bringing to the table a few crucial ingredients:

  1. Good ‘forms’ to model the dynamics of a game; less unwieldly than extensive forms but also more expressive than normal form,
  2. Off-the-shelf compositionality, both for specifying games and for computing their behaviours (e.g. Nash equilibria),
  3. Conceptual discernment, for instance clarifying the relation between learning and games, or why games have such a peculiar phenomenology.

Categorical game theory has been brewing for a while, and now foundations are almost done. The first goal is to reproduce classical results and tools from game theory, reframing them in a more scalable and conceptually convincing mathematical framework. Then we can start to go beyond that: my current goal is to understand compositionality of agency, see here.

Reading list

  1. Compositional game theory, by Neil Ghani, Jules Hedges, Viktor Winschel and Philipp Zhan
  2. Open cybernetic systems II: parametrised optics and agency, by me
  3. Diegetic representation of feedback in open games, by me
A ‘diegetic’ open game

Emergence and higher-order effects in compositionality

Emerging properties of a systems are those properties we can’t ascribe to any of the parts composing it, but instead arise from the way we compose them. In general systems theory, this usually manifests as a failure of naive compositionality of behaviour: to compute the behaviour of a system it is not enough to naively collate the behaviour of its parts. Instead, the pattern used to compose the system has to be taken into account to arrive at the true behaviour of the whole.

Using the framework of categorical systems theory we can characterize emergence very precisely as the failure of a certain lax naturality constraint to be invertible. The quest is thus to (1) develop tools to study these failure, inspired by cohomology theory and (2) develop tools to amend naive compositionality to take emergence into account.

Reading list

  1. Systems, Generativity and Interactional Effects by Elie Adam,
  2. Lax functors describe emergent effects by Jules Hedges,
  3. Fantastic sheaves and where to find them by myself,
  4. Structured Decompositions: Structural and Algorithmic Compositionality, by Benjamin Merlin Bumpus, Zoltan A. Kocsis, Jade Edenstar Master

Dependent optics

Bidirectional transformations are ubiquitous in applied category theory, in the form of lenses, Dialectica categories, morphisms of containers, modular data accessors, and more. In particular, they provide the foundations for categorical cybernetics.

This is a somewhat technical topic. The current goal in dependent optics is to find good dependently-typed generalizations of optics, which are themselves a generalization of lenses. Optics seems to have better operational properties than lenses, and capture a wider range of bidirectional transformations.

Reading list

  1. Towards dependent optics, by Jules Hedges
  2. Fibre optics, by Dylan Braithwaite, Matteo Capucci, Bruno Gavranović, Jules Hedges, Eigil Fjeldgren Rischel
  3. Compound optics, by Bartosz Milewski
  4. Seeing double through dependent optics, by me
  5. Dependent optics, by Pietro Vertechi

Favourite quotes

Ce qui fait la qualité de l’inventivité et de l’imagination du chercheur, c’est la qualité de son attention, à l’écoute de la voix des choses. Car les choses de l’Univers ne se lassent jamais de parler d’elles-mêmes et de se révéler, à celui qui se soucie d’entendre.

A. Grothendieck

We have as an elemental part of our nature the ability to observe imperfection and from that imperfection deduce the laws of Nature – deduce perfection. This ability is our capacity to ‘abstract’ and it may well be the case that a different capacity to abstract, even in the face of a universal order of things, would lead to a different perception of that order.

G. Boole
Pungent commentary on CT folklore

There’s no doubt that they do exist but you can’t poke and prod them except by thinking about them. It’s quite astonishing and I still don’t understand it, despite having been a mathematician all my life. How can things be there without actually being there?

J. H. Conway, when asked ‘do mathematical objects exist?

The core question is not how you do math but how does the unconscious do it. How it is that it’s demonstrably better at it than you are? You work on a problem and then you put it away for a while. But it doesnt go away. It reappears at lunch. Or while you’re taking a shower. It says: Take a look at this. What do you think? Then you wonder why the shower is cold. Or the soup. Is this doing math? I’m afraid it is. How is it doing it? We dont know. How does the unconscious do math?

‘Stella Maris’, C. McCarthy

After seeing a problem like this, your response should be ‘please, may have a better problem?’

C. McBride

The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise

E. Dijkstra