What is Constructor Theory?

Physics seems to be very diverse, with so many fields stretching in various different directions: quantum theory, general relativity, cosmology, particle physics. Yet, in all those fields physical laws are formulated in much the same way. Since the time of Galileo and Newton, in traditional physics the fundamental objects have been considered trajectories, dynamical laws and initial conditions. Physical laws say what will happen to a physical object at some later time, given the dynamical laws and the initial conditions at an earlier time. So, for example, one describes what happens to a football, which is kicked with a certain initial speed in a certain direction, via an equation of motion and a prediction about what trajectory the ball will follow, and where it will end up, given those initial conditions.

But can this capture all of what we know, and we may want to know, about physical reality? It turns out that it cannot. There are certain entities, such as information, heat, and the properties of living things, which cannot be accommodated in this conception: this is because they are about what can, or cannot, be made to happen to a physical system; not about what happens to it given initial conditions and laws of motion. Constructor theory supplements the traditional physics viewpoint. It has a radically different mode of explanation, where the main objects are physical transformations, or tasks. Its fundamental statements are about what tasks are possible, what are impossible, and why. This allows one to incorporate more of physical reality, including entities, such as information, that have inherently been regarded as approximate and derivative as a result of the traditional physics take on things.


In constructor theory (CT), dynamical laws and trajectories come much later in the picture. CT’s fundamental objects are tasks. A task is the specification of a physical transformation on some physical system. For example, a die, as in the image to the left.

The object that is changed, is called a substrate. In this case, the die is the substrate. Most properties of the die do not change as the transformation happens: the die stays the same shape, colour, and size… but some of its properties change. Specifically, the only thing whose change we’re focusing on in this particular task is ‘what number the upturned face shows’ – that is specified by the inputs/outputs of the tasks. Shape, colour, size, and ‘what number the upturned face shows’ are all attributes of the die.

To say specifically what attributes are, we need to use an even more basic concept, that of a state of a substrate. The number on the upturned face is a state of the die; so, the upturned face of the die has six possible states.

The most simple attribute is a set containing only one state: ‘having the upturned face in state 3’ is an attribute of the die. But attributes can also contain more than one state: e.g. the parity of the number – odd or even.

So a task is a specification of the physical transformation on some substrate, with some input attribute, and some output attribute.

In our universe, most things don’t perform tasks reliably. Something that performs the task reliably, we call a constructor.

A constructor is an object that can perform the task and stays the same after doing it. It does not have any net change at the end of the process in its ability to cause the transformation: it ends up back capable of doing the task over and over again. That’s what performing the task reliably means.


Now, given any particular task, such as {3→4}, the constructor is capable of performing this task if, whenever given the substrates in the input attributes, it changes them to having the output attributes. By the way, as we said, the constructor itself must not have any net change over the course of the process: it ends up back where it started.

We don’t care what happens when the constructor is given a substrate with a different attribute than the allowed input ones. For instance, a constructor for a task on the die, e.g. {3→4}, when given a non-allowed input, such as a die whose upturned face is 6, may produce anything in output – even destroy it, or turn it into a garden gnome.

In constructor theory, when the laws of physics say that no constructor can perform a given task to arbitrarily high accuracy, that task is impossible. For example, the task of lifting a die from the table is impossible without supplying any energy. However, what is possible is the task of lifting the die and depleting a battery appropriately charged. The battery cannot be part of the constructor, because it gets depleted during the process.

Otherwise, the task is possible – which means that it can be performed in reality to arbitrarily high accuracy and reliability, but need not happen.

In constructor theory all laws of physics are stated by saying what tasks are possible, what are impossible, and why. They are principles, which underlie and supplement the existing most fundamental theories of physics.
From these statements, the traditional description in terms of initial conditions and laws of motion can be recovered in many cases.

But what is cool about constructor theory is that much more can be said – exactly, without approximations. New explanatory, exact laws can be expressed, especially in these fields: Information, Life, Probability, and Thermodynamics. This radically changes the way physics looks at the world, deepening and broadening our understanding. Let the story unfold…