The intermediate-growth cell is real — effective dimension grows without bound, computed on the Grigorchuk group
builds_on: and related:Computed in session, 2026-09-27, pursuing the "nobody has looked" cell of P-025's six-cell grid. Every number below was produced by code written and run in the session; the group orders were checked against the closed form before anything else was trusted.
The question
P-025's grid crosses Gromov's growth trichotomy (polynomial / intermediate / exponential) with manifold-or-not. The Euclidean no-go theorems bound code distance by the graph's separator, d ≲ n^{1−1/D} for a D-dimensional lattice (Bravyi–Terhal); expanders have linear separators and admit good codes. Intermediate growth sits between and no one had measured where.
What was built
The Grigorchuk group acting on the binary tree, generators a, b, c, d (all involutions): a flips the first bit, b = (a, c), c = (a, d), d = (1, b). Its finite quotients G / St(n) were enumerated by BFS and their orders matched the closed form 2^{5·2^{n−3}+2} exactly: 128, 4096, 4,194,304 for n = 3, 4, 5.
Result 1 — growth is intermediate, verified
Ball sizes in the infinite Cayley graph, exact to radius 24 (agreement between the level-8 and level-10 actions confirms faithfulness):
r : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 B(r) : 1 5 11 23 40 68 108 176 271 427 643 999 1487 2259 3313 4973 7213 10661 15303 22431 31949 46341 65527 94511 132748
Fit log B(r) ~ r^α on r ≥ 8: α = 0.68. (Verified 2026-09-28: this is a finite-ball fit at small levels, not the asymptotic exponent. Erschler–Zheng, Inventiones 2020, arXiv:1802.09077, prove lim log log v(n)/log n = α₀ = log 2/log λ₀ ≈ 0.7674 for the first Grigorchuk group, λ₀ the positive root of X³ − X² − 2X − 4; Bartholdi's upper bound is sharp. The 0.68 stands as what small balls show.) Strictly between 0 and 1; inside Bartholdi's bound α ≤ 0.7675. Intermediate.
Result 2 — the effective dimension grows without bound, measured two ways
The local exponent D(r) = d log B / d log r of the infinite graph:
2.4 2.5 3.2 3.2 3.9 3.9 4.6 4.6 5.2 5.2 5.9 5.8 6.4 6.3 7.1 6.9 7.6 7.5 8.2 8.0
rising roughly linearly with r. Analytically, B = exp(c r^α) gives D(r) = α·log B, so D_eff = α ln n — the graph looks D-dimensional at every scale, and D grows with the scale.
Independently, from the spectral gap λ₂/deg of the three finite quotients:
n λ₂/deg D_eff between consecutive quotients (gap ~ n^{−2/D})
128 0.05052
4096 0.01280 5.0 growth predicts 5.7
4194304 0.00321 10.0 growth predicts 10.4Two measurements, one on the infinite graph and one on finite quotients, agree.
For comparison at n = 4096, the Fiedler-cut separator: 2D torus 148 edges · Grigorchuk 416 · 3D torus 940 · 4D torus 1944. At that size the group sits between two and three dimensions. At the next quotient it sits near ten.
What it means for codes
- No single Euclidean bound applies. Bravyi–Terhal's
d ≲ n^{1−1/D}holds at every scale with aDthat keeps growing, so the distance exponentα_max(n) = 1 − 1/D_eff(n) → 1. - But it is amenable. Intermediate growth ⇒ subexponential ⇒ amenable ⇒ Følner sets with vanishing boundary/volume ⇒ separators sublinear ⇒
d = o(n), no good codes. The Cheeger ratio of a ball scales asα(log n)^{1−1/α} ≈ (log n)^{−0.47}, so separators aren / polylog(n). - So the cell is a third regime: distance up to
n / polylog(n)— almost linear, beating every finite Euclidean dimension — on a bounded-degree amenable graph with no expansion. Neither Euclidean (n^{1−1/D}, fixedD) nor expander (n,D = ∞at every scale).
Rate is untouched: whether constant rate coexists with n/polylog distance here is not addressed. Self-correction is untouched. Both are the next questions. Literature check, done the same day: three targeted searches (Grigorchuk + quantum code; intermediate growth + stabilizer/LDPC/toric; self-similar/automaton/branch group + quantum). Nearest work is over abelian groups (Couvreur–Delfosse–Zémor, qLDPC from Cayley graphs of 𝔽₂ⁿ) and expander groups (the quantum Tanner line, whose distance proof needs expansion). Nothing on amenable groups of intermediate growth. As far as three searches can tell, the cell is empty.
First code on the graph — the homological route, and why it fails here
Zémor's construction: qubits on edges of Cay(G/St(n)), X-checks at vertices, Z-checks around faces glued along closed walks of length ≤ R. Everything computed over 𝔽₂:
G/St(3): V=128, E=256 G/St(4): V=4096, E=8192 R ≤ 3 k = 33 d_X = 8 k = 1025 d_X ≤ 8 R ≤ 8 k = 2 d_X = 16 k = 513 d_X ≤ 16
k is large — the graph has many unfilled cycles — but d_X stalls at 16 on both quotients. For a homological code d_X is the systole, and on a quotient it is set by the shortest word that is trivial in G/St(n) and not in G. Computed by BFS in the infinite group:
n 3 4 5 systole 8 16 >27 (consistent with 2^n; radius cap reached) log2|G_n| 7 12 22
systole(n) = 2^n against log₂|G_n| = (5/8)·2^n + 2 — the systole is logarithmic in the number of qubits. So the homological code on this graph has d_X = O(log n), worse than any Euclidean lattice, even though the separator would allow n/polylog. The cause is structural: the group is contracting, so short words reach the level stabiliser. The homological route is closed on this graph, and closed by the group's own defining property.
How to actually put a code on it
The floor (log n, homological) and the ceiling (n/polylog, separator) are far apart, and the gap is the open problem. The route the homological construction cannot take is the one layer codes take in 3D (Williamson–Baspin 2023): use the graph as a host, not as the source of the code. Layer codes embed a good qLDPC code into 3D via surface-code patches and defect lines, and their distance comes from the input code; the host lattice only has to have room for the routing, and what bounds the result is the host's separator — which layer codes saturate (d = L² = n^{2/3}).
The analogous construction here would host a good code on Cay(G/St(n)), with the graph's n/polylog separator as the ceiling. Its feasibility reduces to a computable question: the minimum stretch needed to embed an expander (the input code's Tanner graph) into Cay(G/St(n)). Euclidean hosts force polynomial stretch; the Grigorchuk host, with effective dimension growing as α ln n, might allow polylog. That is the next computation, and it is the one that decides whether the cell holds a code that beats every finite dimension or is merely a curiosity of growth theory.
P-025's grid: the intermediate / non-manifold cell moves from "nobody has looked" to "characterised, open for codes." The general method that produced the grid is in OPS.md.
Run 030, same day — the speculation tested on the k = 1 memory, and two corrections to the above
The speculation was that a host with low effective dimension at small scales and high at large scales could hold a wall whose entropy is set locally (rigid) while its minimum size is set globally (large). Run 030 measured the Ising domain-wall free-energy barrier on Cay(G/St(4)) at T = 1 against three controls at the same n = 4096, by thermodynamic integration at fixed M = 0 (validated on the 64×64 torus to 1% of Onsager). R23_ising_barrier/.
| host, n = 4096 | min bisection | ΔF | ΔE | ρ = TΔS/ΔE |
|---|---|---|---|---|
| 2D torus 64×64 | 128 | 223 | 337 | 0.34 |
| Grigorchuk G/St(4) | ≤ 198 | 326 | 460 ± 15 | 0.29 ± 0.03 |
| 3D torus 16³ | 512 | 1020 | 1024 | 0.004 |
| random 4-regular | 1134 | 1901 | 2574 | 0.26 |
The premise held and the hope had the sign backwards. The entropy term is local — the host's wall wiggles exactly like a 2D wall (0.6–0.75 of entropy per cut edge against 0.89 on the square lattice, 0.01 on the cubic one). But local dimension 2.4 means a codimension-1 wall is a string at the smallest scale, and strings wiggle; rigidity (ρ ≈ 0) is what a membrane has, i.e. high local dimension. The whole gain over 2D — ΔF ×1.46 — is in the minimum cut, ×1.55–1.7. Between the two quotients (n = 128 → 4096) the barrier grows with exponent 0.76 against 0.59 (2D), 0.81 (3D), 0.96 (expander). At this size: a 2D wall on a slightly-better-than-2D cut. Not a fourth mechanism.
Correction 1 — the separator. The Fiedler cut of 416 quoted above is an upper bound and a loose one: METIS finds a balanced bisection of 224, and the wall dynamics at T = 1 reaches 198. By the cut the effective dimension at n = 4096 is 2.2–2.8, not the 5–5.7 from the spectral gap and the ball growth. The gap and the cut are different quantities: edge expansion 0.024 is 3.8× the Cheeger floor λ₂/2 here, 13× on the torus, ~2× on a random regular graph — the host is expander-like in spectrum and lattice-like in isoperimetry, and codes and memories see the isoperimetry. D_eff = α ln n was measured on the gap and on ball volumes; whether the cut exponent climbs with n is now the open question, and it needs only the minimum bisection of G/St(5) (4.2M vertices, METIS-scale, no sampling): ≈ 39,000 says lattice-like (exponent 0.76 held), ≈ 100,000 says climbing.
Correction 2 — T_c. The Ising model on the host orders at T_c ≈ 2.05, below the square lattice's 2.27 at the same degree (random 4-regular ≈ 2.9, cubic 4.5): a triangle (bcd = 1) and 8-cycles at every vertex, and short cycles lower T_c at fixed degree. The host is not "more connected" than 2D in any thermal sense at this size.
New, and worth its own thread: the wall is glassy. On the tori and the expander, every estimator — slow cooling from disorder, heating from the best cut, parallel tempering — agrees on F(M=0) to 1%. On the host they do not. From disorder, cooling and tempering both land in a 270-edge cut family (ΔF = 346, ρ = 0.37); seeded from the 224-edge cut they stay in a family with ΔF = 326 that the dynamics never finds from disorder, though it dominates the partition function by e^{20}. Inside the best family the wall's energy keeps drifting for 10⁵ sweeps with seed-dependent plateaus (435 vs 475). Near-minimal cuts on the self-similar host come in metastable families 25% apart, a golf-course landscape that the Euclidean hosts lack entirely — and the reason run 030's statistic sits unscored at its band's edge (0.29 ± 0.03 against 0.30). For a memory this cuts both ways: metastable walls are slow to form and slow to remove.
Correction 3, same evening — the gap is the Schreier path's, and "scale-dependent dimension" was a polynomial ruler on a doubly-exponential object. The level-n Schreier graph of the group is a path on 2ⁿ leaves (a-edges a perfect matching, b/c/d double edges between, one loop per vertex), and Cay(G/St(n)) covers it: every eigenfunction of the path lifts, so λ₂ of the quotient is at most the path's, ~1/(2ⁿ)². The measured normalised gaps 0.0505, 0.0128, 0.00321 fall by 4× per level — exactly 1/(#leaves)² — so the gap is the path's. Since 2ⁿ = (8/5)(log₂ N − 2), the quotient is, coarsely, a path of length (8/5) log₂ N thickened by fibres of N/2ⁿ vertices, each fibre internally a perfect matching (the one generator that fixes the leaf), with three edges per vertex to the two neighbouring fibres. Gap ~ 1/log² N and separator ~ N/log N are both the path's, and they saturate the upper Cheeger bound the way a torus does along one axis. The D_eff = α ln n read off the gap between consecutive quotients (5.0, 10.0) is what a 1D object of length log N looks like to a ruler that expects n^{−2/D}; the intermediate growth itself is real and lives inside the fibres, not in the coarse geometry. This also reframes the glassy walls of run 030: the near-minimal cuts thread through a fibre, and the fibre's internal structure is where the metastable families come from. Run 031 tests the fibre-count scaling directly.
Correction 4, same evening — the cut is orthogonal to the path, and correction 3's guess about the glassy walls is withdrawn (run 032, falsified). Every near-minimal bisection of Cay(G/St(4)) found in run 030 cuts a-edges only — no b/c/d edge, no within-fibre edge — spread evenly over all eight a-steps of the Schreier path, with every fibre split in half. The cut is lengthwise, invisible to the Schreier projection. A cut with no b/c/d edge is constant on the right cosets g⟨b,c,d⟩ (four elements each, a K₄), so it is a bisection of the coset graph: N/4 vertices, 4-regular via the a-edges. The Cayley graph is that graph's K₄-blow-up. Bisecting the coset graph directly gives 176 at level 4 (0.69 of a fibre; run 030's "≤ 198" is now ≤ 176) and 16 at level 3. So the two quantities come from two different quotients of the same graph: the spectral gap is the Schreier path's (correction 3 stands for the spectrum) and the separator is the coset graph's. The coset graph has normalised gap 0.076 at level 4 against the full graph's 0.0128 and bisects at 8.6% of its edges against 15% for a random 4-regular graph of its order — sparse and frustrated under the balance constraint, half an expander at this size. That is the explanation of the glassy walls that survived a test: minimum bisection of a sparse graph is a spin glass (Fu–Anderson 1986) — exponentially many near-optimal bisections, uncorrelated (the run-030 families agree on 55–67% of each fibre), with barriers that grow with N. The intermediate growth lives in the fibres; so does the cut; and the metastability is the coset graph's landscape, not a fibre's anatomy.
Decision 2026-09-28 (owner): yes. growth-of-groups (self-similar groups, intermediate growth) is to be added to domain-math.js as a map concept, so the empty-cell arc has a node to attach to. The addition itself is a build job for the Claude Code site integration; until it lands, the concept index reports the id as undefined and the build does not fail (docs/design/HANDOFF.md, open question 5).
Back-links (2026-09-29)
Dated pointers added by the codifier from lab/backlinks.py; nothing above this heading was changed.
Correction 1's open question (≈39,000 lattice-like vs ≈100,000 climbing) was answered by run 031: b₅ = 90,112. "systole(n) = 2ⁿ" rests on levels 3–4 and is a prediction for level 5 (N-038 §4).
- Run 031 — confirmed (2026-09-27), via the builds_on thread.
lab/runs/031-grig5-bisection.md: CONFIRMED — scored 2026-09-27 (codifier). - Run 033 — confirmed (2026-09-27, measured), via the builds_on thread.
lab/runs/033-host-primes-cogrowth.md: CONFIRMED — κ = 0.665. - Run 034 — withdrawn (2026-09-27, measured), via the builds_on thread.
lab/runs/034-glass-barrier-coset-graph.md: WITHDRAWN — the instrument failed its own positive control, as the seal said would void it. - Run 035 — falsified (2026-09-27, measured), via the builds_on thread.
lab/runs/035-kuramoto-host-sync.md: FALSIFIED — f = 1.000: all 200 random starts on Cay(G/St(4)) end in non-synchronised equilibria (199 converged to max|θ̇| < 10⁻⁶, one still moving at t = 2000), with r from 0.02 to 0.9 (histogram over [0,.2,.4,.6,.8,.9,.99,.999]: 61, 94, 34, 10, 0, 1, 0, 0). - Run 036 — confirmed (2026-09-27, measured), via the builds_on thread.
lab/runs/036-expansion-profile-coset-graph.md: CONFIRMED — ρ_Φ = 104/134 = 0.776. - Run 041 — unanticipated (2026-09-28, measured), via the builds_on thread.
lab/runs/041-unique-neighbour-expansion.md: Clause 1 withdrawn (control band miscalibrated; - Run 043 — falsified (2026-09-28, measured), via the builds_on thread.
lab/runs/043-growth-axis-on-one-tree.md: FALSIFIED — the relator clause's falsifier fires: Basilica's unique-neighbour minimum at N/8 is 1 of its control's 101 at best-of-20 and 0 of 94 at best-of-40, u/u_random ≤ 0.10, so the square obstruction of N-034 is not specific to the Klein-four contraction;
236 source lines, no addenda.