The intrinsic-information requirement#
The intrinsicality postulate requires that a system’s cause–effect power be assessed from the system’s own perspective. Mayner, Marshall, and Tononi (2026) formulate this as two complementary requirements. To have cause–effect power intrinsically, a system must provide itself with a repertoire of alternative cause–effect states, its intrinsic differentiation, and it must specify one of those alternatives, its intrinsic specification. The two trade off: a system that offers many alternatives specifies each of them weakly, and a system that specifies one state sharply offers few alternatives. Both are measured by the system’s intrinsic information \(\mathit{ii}(s)\), which enters the minimum that defines system integrated information:
This is Eq. 23 of “Intrinsic Cause–Effect Power: The Tradeoff Between Differentiation and Specification” (Entropy 28, 410). \(\mathit{ii}(s)\) is the minimum, across the cause and effect directions, of each direction’s intrinsic information, itself the minimum of that direction’s differentiation \(i^{c/e}_{\mathrm{diff}}(s)\) and specification \(i^{c/e}_{\mathrm{spec}}(s)\) (Section 2.3, preceding Eq. 13):
\(\varphi_c\) and \(\varphi_e\) are the cause- and effect-side integrated information of System integrated information. This page explains the differentiation requirement, follows the measure through small examples, and describes the scope of the requirement.
Differentiation and determinism#
The requirement is easiest to see in the paper’s opening example (Section 2): a single unit implementing deterministic COPY logic. From the outside, an experimenter can set the unit to each of its states in turn, observe that it copies them, and conclude that it has cause–effect power. From the unit’s own perspective, its current state admits exactly one past state and one future state; no alternatives are available to it, so there is no difference for it to make to itself. Intrinsic differentiation quantifies the availability of such alternatives: like entropy, it is zero for a perfectly deterministic system and increases with decreasing determinism (Section 2.2).
Specification behaves in the opposite way. As the paper puts it: “Purely deterministic systems provide no genuine alternatives, and thus their intrinsic differentiation is zero, while purely random systems specify no state, leaving intrinsic specification at zero” (Section 4). A deterministic system therefore has \(\varphi_s = 0\), a maximally noisy system likewise has \(\varphi_s = 0\), and positive intrinsic information requires a balance of the two.
The three-XOR network is the deterministic case:
import pyphi
pyphi.config.progress_bars = False
xor = pyphi.examples.xor_substrate()
analysis = pyphi.analyze(xor, (0, 0, 0))
analysis.phi
0.0
The analysis records where the zero comes from. Both directions are integrated and specify a state, but the effect side has zero differentiation:
sia = analysis.sia
print("φ_c =", float(sia.cause.phi), " φ_e =", float(sia.effect.phi))
print("differentiation:",
{str(d): float(v) for d, v in sia.intrinsic_differentiation.items()})
φ_c = 1.5 φ_e = 3.0
differentiation: {'CAUSE': 1.0, 'EFFECT': 0.0}
The deterministic transition offers no alternative effect, so the effect-side differentiation is \(0\). The cause side records the network’s two-fold predecessor degeneracy: each state is reachable from exactly two prior states, so \(-\log_2 \tfrac{1}{2} = 1\). The cause side is evaluated on the Bayesian posterior over prior states (Eqs. 6 and 11), so it measures predecessor degeneracy and can be positive even for deterministic dynamics; the effect side alone brings the minimum, and with it \(\varphi_s\), to \(0\).
Two ways to reach zero#
A system’s \(\varphi_s\) is zero either because one side’s integration is zero
(some partition makes no difference) or because the requirement binds: both
\(\varphi_c\) and \(\varphi_e\) are positive and \(\mathit{ii}(s)\) is zero.
explain() distinguishes them: the second case carries a
requirement_binding finding, the first does not.
basic = pyphi.analyze(pyphi.examples.basic_substrate(), (1, 1, 0), compute="sia")
(float(basic.cause.phi), float(basic.effect.phi), basic.intrinsic_information,
[f.value for f in basic.explain().findings if f.kind == "requirement_binding"])
(0.20751874963942188, 0.41503749927884376, 0.0, ['differentiation'])
The XOR network above is the same case. A network whose cause side is reducible outright shows \(\varphi_c = 0\) and no such finding; see Read a result.
Reading the two terms#
Both terms are available on the result. On the system irreducibility
analysis, intrinsic_specification gives, per direction, the selectivity
times informativeness of the specified state (Eqs. 7 and 9);
intrinsic_differentiation gives that state’s surprisal (Eqs. 4 and 6);
intrinsic_information is their joint minimum (Eq. 13); and
integrated_fraction is \(\varphi_s / \mathit{ii}(s)\). The two-unit system aB
of the Fig 1A network (Albantakis et al., 2023) has all four:
fig1a = pyphi.examples.iit4_2023_fig1a_substrate()
sia = pyphi.analyze(fig1a, (0, 1, 1), subset=(0, 1)).sia
{str(d): (sia.intrinsic_specification[d], float(sia.intrinsic_differentiation[d]))
for d in sia.intrinsic_specification}
{'CAUSE': (0.8432283973378285, 0.6639637710722008),
'EFFECT': (1.0976297820383176, 0.04049680811800574)}
sia.intrinsic_information, sia.integrated_fraction
(0.04049680811800574, 1.0)
When the requirement sets \(\varphi_s\), explain() reports which direction
and which term did so:
[f for f in sia.explain().findings if f.kind == "requirement_binding"]
[Finding(kind='requirement_binding', label='Intrinsic-information requirement binds', value='differentiation', detail=(('direction', 'EFFECT'), ('ii', 0.04049680811800574), ('φ_s', 0.04049680811800574)), tone='effect')]
Indeterminism and grain#
Any indeterminism provides a repertoire of alternatives, so probabilistic systems have \(\varphi_s > 0\) whenever they are integrated. The requirement can still set the value: for the aB system above, \(\mathit{ii}(s)\) is smaller than \(\min(\varphi_c, \varphi_e)\), so \(\varphi_s\) is about \(0.04\). Slight noise suffices for existence; the three-unit noisy grid computes a small but positive value:
pyphi.analyze(pyphi.examples.grid3_substrate(), (0, 0, 0)).phi
0.024665907374197056
Differentiation is distinct from indeterminism in the micro dynamics. It is a requirement on the availability of alternative cause–effect states, and alternatives can arise from the system’s description and grain as well as from noise: at a macro grain, many micro configurations may realize the same macro state, and that degeneracy can give a macro unit a repertoire of alternatives even when the underlying micro dynamics are nearly deterministic (Sections 2.2 and 4; see Macro units and grains).
Scope of the requirement#
The requirement applies to the system-level quantity \(\varphi_s\). The distinctions, the relations, and their summed structure integrated information \(\Phi\) are defined at the level of mechanisms and are computed the same way whether or not the system’s \(\varphi_s\) is positive. The XOR network’s cause-effect structure:
ces = analysis.ces
(len(ces.distinctions), ces.relations.num_relations(), float(ces.big_phi))
(4, 15, 9.5)
A system with \(\varphi_s = 0\) is not a complex, so this structure is not specified by any existing whole; it remains available for analysis and comparison.
The minimum partition is selected on the normalized integrated information without the intrinsic-information term, and \(\mathit{ii}(s)\) enters the minimum at the selected partition. Specified-state ties are compared on \(\varphi_s\) including the term, so a deterministic system’s tied readings compare equal at zero and the reported state is a canonical representative, while readings tied at positive \(\varphi_s\) escalate to \(\Phi\) (see Control tie-breaking).
Reproducing earlier values#
Albantakis et al. (2023) first defined \(\varphi_s\) as \(\min\{\varphi_c, \varphi_e\}\), and many published values, including those of the deterministic examples in the IIT literature, were computed under that definition. Reproduce results from earlier versions of IIT shows how to reproduce them.