Reflexively Autocatalytic, Food-generated Sets — A Formal Review
The naïve approach to detecting self-sustaining subsets of a reaction network requires checking all 2|R| subsets—exponential in the number of reactions. Each subset must be tested for simultaneous F-generation and autocatalysis, properties that depend on the closure operator, itself iterative.
Hordijk & Steel (2004) showed this collapses to polynomial time. The mechanism: a fixed-point pruning algorithm that iteratively removes reactions failing the RAF conditions. Because each iteration removes at least one reaction, and removal is monotone (removing a reaction can only shrink the closure, never enlarge it), the algorithm converges in at most |R| iterations.
The monotonicity is essential: if R′ ⊆ R″ then clR′(F) ⊆ clR″(F). This makes the pruning operator a monotone map on a finite lattice, guaranteeing a unique greatest fixed point—the maxRAF.
A CRS is a triple Q = (X, R, C) where:
F ⊆ X is a designated subset of molecule types assumed freely available from the environment. Food molecules are never consumed—they constitute the boundary conditions of the system.
Given R′ ⊆ R, the closure clR′(F) is the smallest superset of F closed under reactions in R′. Constructively:
Convergence in at most |X| steps (each step adds ≥1 molecule type, or terminates).
A subset R′ ⊆ R is a Reflexively Autocatalytic, F-generated set (RAF) if:
Both conditions reference the same closure—this is the self-referential character that makes RAF detection non-trivial.
Consider the following system with X = {f1, f2, a, b, c, p, q}, food F = {f1, f2}:
| Reaction | Reactants | Products | Catalyst |
|---|---|---|---|
| r1 | f1 + f2 | a | b |
| r2 | a | b | a |
| r3 | f1 | c | a |
| r4 | p | q | q |
Closure: clR(F) = {f1, f2, a, b, c}. Reaction r4 requires p ∈ ρ(r4), but p ∉ clR(F)—it cannot fire.
maxRAF = {r1, r2, r3}. All three are F-generated and catalyzed within the closure.
irrRAF = {r1, r2}. This is the autocatalytic core: r1 produces a (catalyzed by b), r2 produces b (catalyzed by a). Mutual dependency — neither alone is a RAF.
Piggybacking: r3 is in the maxRAF but not in any irrRAF. It depends on molecule a (as catalyst) produced by the core, but contributes nothing back. Remove it and {r1, r2} remains a RAF.
The maxRAF algorithm is a greatest fixed-point computation. Starting from the full reaction set, it iteratively prunes reactions that violate RAF conditions:
function maxRAF(X, R, C, F): R' ← R // start with all reactions repeat: changed ← false W ← closure(R', F) // compute cl_{R'}(F) for each r ∈ R': if ρ(r) ⊄ W: // not F-generated R' ← R' \ {r} changed ← true else if ∄ x ∈ W : (x,r) ∈ C: // no catalyst available R' ← R' \ {r} changed ← true until ¬changed return R' // maxRAF (possibly ∅) function closure(R', F): W ← F repeat: W' ← W ∪ { π(r) : r ∈ R', ρ(r) ⊆ W } if W' = W: return W W ← W'
Complexity: The outer loop runs at most |R| times (each pass removes ≥1 reaction or terminates). Each pass computes closure in O(|R| · |X|) and checks each reaction in O(|X|). Total: O(|R|2 · |X|).
Every CRS (X, R, C) with food set F has a unique maximal RAF (possibly empty).
Proof sketch: Let R1, R2 both be RAFs. Then R1 ∪ R2 is also a RAF: clR1∪R2(F) ⊇ clRi(F) for each i, so all reactants remain available and all catalysts remain in the closure. The union of all RAFs is therefore the unique maximum. □
The maxRAF of a CRS can be found in O(|R|2 · |X|) time.
Proof: The pruning algorithm makes at most |R| passes (removing ≥1 reaction per pass). Each pass: closure computation in O(|R| · |X|), plus checking each reaction against the closure in O(|X|). Correctness: the algorithm computes the greatest fixed point of the operator Φ(R′) = {r ∈ R′ : ρ(r) ⊆ clR′(F) ∧ ∃x ∈ clR′(F), (x,r) ∈ C}. By monotonicity (Tarski), this fixed point equals the maxRAF. □
In a random CRS with n molecule types and catalysis probability p (each molecule catalyzes each reaction independently with probability p):
In the binary polymer model with maximum length t: threshold at p ∼ 1/(n · √|R|).
This is Kauffman's (1986) original conjecture, proved rigorously by Mossel & Steel (2005) for certain model classes and by simulation for others. The sharpness of the transition increases with n.
The collection of all RAFs of a CRS forms a partially ordered set under set inclusion, with the maxRAF as the unique maximum element. The minimal non-empty elements are the irreducible RAFs (irrRAFs).
A RAF R′ is irreducible (an irrRAF) if it contains no proper non-empty sub-RAF. Equivalently: removing any single reaction from R′ destroys the RAF property.
A RAF R′ is a CAF if there exists an ordering r1, r2, …, rk of R′ such that for each i:
Every CAF is a RAF. Not every RAF is a CAF—a RAF may require circular catalytic dependencies that have no constructive unfolding. CAFs avoid the "chicken-and-egg" problem: each reaction can fire using only products of earlier reactions plus food.
In the example: {r1, r2} is a RAF but NOT a CAF (r1 needs b as catalyst, which requires a, which requires r1). This mutual dependency is exactly the autocatalytic cycle.
Adjust the catalysis probability p to observe the sharp transition. At low p, no RAF exists. Near the threshold (~0.10–0.15 for this network), a RAF suddenly emerges and grows. This is the Kauffman phase transition in miniature.
Application of RAF theory to an 11-domain scientific network. The question: which subsets of domains form self-sustaining intellectual ecosystems, where each domain's development is catalyzed by insights from other domains within the closure?
| Property | Value |
|---|---|
| Full network RAF | 10/10 reactions in maxRAF |
| Minimal non-trivial RAFs | {1, 6, 7} and {6, 7, 9} |
| Keystone domain | 7 (Autocatalysis) — removal collapses ALL non-trivial RAFs |
| Cluster A internal RAF | {1, 2, 3, 4} — 5/5 reactions, self-contained cycle |
| Loop | Domains | Emergent Property |
|---|---|---|
| Dynamics triad | {6, 7, 9} + 8, 10 | Spontaneous computation |
| Core triad | {1, 6, 7} + 5 | Protected self-organization |
| Topological cycle | {1, 2, 3, 4} | Topological computation |
| Instantiation | + 11 | Physical reality |
| Full stack | All 11 | Conditions for the Flat |