2. The Framework

Constructor Theory

The framework presented here was inspired by, and aspires to be consistent with, David Deutsch’s Constructor Theory. Deutsch’s Theory was created by and for physicists, including the requisite esoteric mathematics (or maths, for the oceanically challenged). Nevertheless, I have found it useful as a grounding basis for much of philosophy, including ontology, epistemology, teleology, causation, and Consciousness.

The basic premise of Constructor Theory is that all physical theories can be described in terms of which transformations of matter (processes or tasks) are possible, which are impossible, and why.  In the shorthand of the current framework, a “task” consists of an input configuration of matter (which can be described by a finite set of physical variables), an output configuration of matter (ditto), and a Constructor which performs the task by generating the output when presented with the input. Constructor Theory proper requires that the Constructor is (mostly) unchanged by the process and is then capable of repeating the process. (The current framework will loosen this constraint, see below). So the basic (oversimplified) unit of Constructor Theory (altered slightly for the current framework) is a task, which looks like this:

where x1, x2, etc. are the input variables and y1, y2, etc. are the output variables.

One important consideration in Constructor Theory is that the outputs of tasks can become the inputs of other tasks.  Constructor Theory specifically states that any regular network of tasks is a task. Thus, tasks can be combined such that any regular network of tasks can be considered a new, higher level task with a new higher-level (super) Constructor.

Note: the sub-tasks are still tasks in their own right.


The Psychule Theory needs to expand somewhat on the concept of the Constructor, because sometimes we will need to contemplate processes wherein the “Constructor” is actually changed by the process. Some of these would be called “one-off” processes in mechanistic theory. Sometimes it might be useful to consider the constructor as a state-machine, in which case the constructor is changed by the process, but only to one of a limited number of states, with the assumption that further processing can return the constructor to its original state. Finally, sometimes we will need to consider extended systems as “constructors”. Such a system might involve an extended period of time during which internal sub-parts of the system come into and out of existence. “Natural Selection” is the paradigm such system.

With this in mind, because the ultimate goal of this theory is to describe consciousness, and the pertinent processes will be described using mechanisms which are not significantly changed during those processes, the standard expression of a process in the current framework will be:

Input (x1, x2, … xn) –>[mechanism]–> Output (y1, y2, …ym)

Markov blankets

I recently discovered that this framework is equivalent to the concept called a Markov blanket. See Wikipedia entry here. The term (according to Wikipedia) is mostly associated with statistics and machine learning, and was apparently coined by Judea Pearl in 1988. However, recent work, see here, but especially including this summary, describes how Markov blankets apply to neurons and the brain in general.

To put it simply, the Markov blanket of a node, or mechanism in the current framework, is the collection of interactions going into (the inputs) and out of (the outputs of) the node.