What IIT computes#
Integrated Information Theory (IIT) starts from the properties of experience and formulates them as requirements on the cause–effect power of a physical substrate. PyPhi is a computational implementation of the resulting formalism, IIT 4.0 (Albantakis et al., 2023; Mayner, Marshall & Tononi, 2026). This section explains what PyPhi computes and why, mapping each quantity of the theory to the type or function that computes it, and following one small example the whole way through.
For a broad orientation to the theory itself, see the IIT wiki; the authoritative sources for the formalism are Albantakis et al. (2023) and Mayner, Marshall & Tononi (2026). You don’t need to have read them to follow this section, but the papers are cited for the full derivations that aren’t repeated here.
What PyPhi computes#
Given a substrate (a set of interacting units, defined by how they influence one another) and a state of that substrate, PyPhi answers two questions:
Is a set of units a subject of experience, and how much? IIT identifies the units that form a complex — a set whose cause–effect power is maximally irreducible — and measures its irreducibility as the system integrated information, \(\varphi_s\).
What is the structure of that experience? From the complex, PyPhi unfolds the \(\Phi\)-structure: the distinctions the units specify and the relations among them. The \(\Phi\)-structure’s total irreducibility is the structure integrated information, \(\Phi\) (“big phi”).
The rest of this section builds these two answers up in the order PyPhi computes them.
The pipeline#
PyPhi’s objects mirror the theory’s layering:
The postulates#
IIT derives its formalism from six postulates of physical existence, each the physical counterpart of a property of experience (Albantakis et al., 2023):
Existence — the units must have cause–effect power: they take and make a difference.
Intrinsicality — that power must be intrinsic: the units must take and make a difference within themselves, from their own perspective.
Information — the power must be specific: the system in its state selects a particular cause–effect state, the one with maximal intrinsic information (\(\mathit{ii}\)).
Integration — the power must be unitary: the cause–effect state must be irreducible to independent parts, measured by integrated information over the system’s minimum partition (\(\varphi_s\)).
Exclusion — the power must be definite: exactly one set of units, the one with maximal integrated information, is the complex.
Composition — the power must be structured: subsets of the units (mechanisms) specify cause–effect states over subsets of units (purviews) — the distinctions — which overlap in relations, together forming the \(\Phi\)-structure.
Each page that follows covers one step of the pipeline and the postulate it enforces.
The worked example#
We use one substrate throughout this section: the three-unit logistic network
the IIT 4.0 paper itself uses to introduce the theory (Figs 1, 2 and 4),
available as pyphi.examples.iit4_2023_fig1a_substrate().
import pyphi
pyphi.config.progress_bars = False
substrate = pyphi.examples.iit4_2023_fig1a_substrate()
substrate
| Units | A, B, C |
|---|---|
| State space | binary |
| A | B | C | |
|---|---|---|---|
| A | 1 | 1 | 1 |
| B | 1 | 1 | · |
| C | · | 1 | 1 |
| state | A | B | C |
|---|---|---|---|
| (0,0,0) | 0.119203 | 0.768525 | 0.167982 |
| (1,0,0) | 0.026597 | 0.998887 | 0.5 |
| (0,1,0) | 0.973403 | 0.401312 | 0.167982 |
| (1,1,0) | 0.880797 | 0.994514 | 0.5 |
| (0,0,1) | 0.119203 | 0.0054863 | 0.5 |
| (1,0,1) | 0.026597 | 0.598688 | 0.832018 |
| (0,1,1) | 0.973403 | 0.00111254 | 0.5 |
| (1,1,1) | 0.880797 | 0.231475 | 0.832018 |
The paper analyzes the candidate system \(\{A, B\}\) — written “aB” — in the state where \(A\) is off and \(B\) and \(C\) are on. Analyzing it runs the whole pipeline:
analysis = pyphi.analyze(substrate, (0, 1, 1), subset=(0, 1))
analysis.phi # the system integrated information, φ_s
0.04049680811800574
This value, \(\varphi_s \approx 0.04\), answers the first question: aB exists as one system, and \(\varphi_s\) measures how irreducible it is. (Fig 1E of the paper reports \(0.17\), a value computed before intrinsic information entered the definition of \(\varphi_s\); see Reproduce results from earlier versions of IIT.) The second question — the structure — is answered by the \(\Phi\)-structure it specifies:
(len(analysis.ces.distinctions), analysis.ces.relations.num_relations(), round(float(analysis.ces.big_phi), 3))
(3, 7, 1.563)
Three distinctions, seven relations, and a structure integrated information \(\Phi \approx 1.563\). The following pages cover each of these: the substrate and system it starts from, the system integrated information \(\varphi_s\) that finds the complex, the distinctions and relations that compose the structure, and the \(\Phi\)-structure itself with the full map from paper symbols to PyPhi types.