Distinctions and relations#
The system integrated information \(\varphi_s\) says that a complex exists and how irreducible it is. The composition postulate says what it is: subsets of its units specify their own cause–effect states, and those overlap. Unfolding this internal structure produces the complex’s distinctions and relations — the content of the \(\Phi\)-structure (Albantakis et al., 2023).
import pyphi
pyphi.config.progress_bars = False
substrate = pyphi.examples.iit4_2023_fig1a_substrate()
analysis = pyphi.analyze(substrate, (0, 1, 1), subset=(0, 1))
ces = analysis.ces
Distinctions#
A subset of the complex’s units — a mechanism — specifies a cause and an effect state over subsets of units called purviews. A mechanism together with the cause and effect state it specifies is a distinction. Each distinction is itself required to satisfy the postulates: its cause and effect purviews are the ones over which its cause–effect power is maximally irreducible, measured by the distinction’s integrated information \(\varphi_d\) (Albantakis et al., 2023).
Only distinctions whose states are congruent with the complex’s own cause–effect state belong to it — the specificity required by the information postulate. For the worked example the complex specifies three distinctions:
[(d.mechanism, d.cause_purview, d.effect_purview, round(float(d.phi), 3))
for d in ces.distinctions]
[((0,), (1,), (1,), 0.333),
((1,), (0,), (0, 1), 0.324),
((0, 1), (1,), (0, 1), 0.071)]
Each row is a distinction: its mechanism, the cause purview it constrains, the effect purview it constrains, and its \(\varphi_d\). A single distinction contains the full detail — the mechanism, the two purviews, and the cause and effect repertoires (the probability distributions over purview states it specifies):
ces.distinctions[1] # the mechanism-B distinction, φ_d ≈ 0.32
| Mechanism | B |
|---|---|
| φd | 0.323594 |
| Purview | a |
|---|---|
| φ | 0.323594 |
| Specified state | (1,) |
| Purview | aB |
|---|---|
| φ | 0.861095 |
| Specified state | (1, 0) |
The distinctions’ \(\varphi_d\) values sum to the structure’s distinction total:
round(float(ces.sum_phi_distinctions), 3)
0.728
Relations#
Distinctions are not independent of one another. When the cause or effect purviews of two or more distinctions overlap congruently — covering the same units in the same state — that overlap is itself an irreducible fact about the complex, a relation. A relation binds the distinctions it relates over a shared purview and, like everything else, has an integrated information \(\varphi_r\) measuring its irreducibility (Albantakis et al., 2023).
A relation can also bind a single distinction with itself, where its own
cause and effect purviews overlap congruently — a self-relation. Counting
these, the worked example has seven relations. By default the relation set is
a closed-form summary; individual relations are enumerated explicitly with
materialize():
relations = ces.relations.materialize()
[(round(float(r.phi), 3), r.purview) for r in relations]
[(0.036, {b}),
(0.036, frozenset({b})),
(0.162, {b}),
(0.333, frozenset({b})),
(0.071, {A, b}),
(0.036, {b}),
(0.162, frozenset({A}))]
Each is a congruent overlap over a purview (here, over one unit and over a pair), with its \(\varphi_r\). Their values sum to the structure’s relation total:
round(float(ces.sum_phi_relations), 3)
0.835
Together, the three distinctions and the seven relations are the \(\Phi\)-structure of this complex. The next page assembles them, defines the structure integrated information \(\Phi\) that measures the whole, and gives the complete map from the paper’s symbols to PyPhi’s types.