The ramification ladder — between the one-bit recursion and the carpet lie finitely ramified relatives on which the crossing recursion is exact; climb them and see where the carpet's turn, and its exponent, first appear
no run lists this probe in builds_on:
Why this exists. Filed 2026-10-01 after PN-005 and runs 075–079, before any rung is computed. Thirty runs on the carpets have left one object standing, the crossing polynomial R(p), and one fact about it: iterating it is exactly the percolation recursion of a different lattice, the two-terminal hierarchical lattice in which every bond of the 9×9 block is replaced by a copy of the block glued at its left and right columns. The carpet differs from that lattice by everything that passes between blocks through a shared edge. P-048 named this on the day it was filed (block renormalization is exact on finitely ramified lattices and the carpets are not), and PN-005's House reached the same place blind: a crossing can run through a block top-to-bottom without crossing it, a route the one-bit recursion cannot represent (its FORCED 3). This probe builds the objects in between.
The construction. Fix a census pattern P (9×9, 64 kept, ring kept). Build its generation-g lattice as gen.py does, then thin the bonds that cross block boundaries. A vertical column line x = 9ʲ·m with 9-adic level j = v₉(x) ≥ 1 separates level-j blocks; a horizontal bond across it at row r is kept iff r mod 9ʲ ∈ Dⱼ, where Dⱼ = { c·9ʲ⁻¹ + (9ʲ⁻¹ − 1)/2 : c ∈ S } and S ⊂ {1, …, 7} is a fixed set of k positions, symmetric under c ↦ 8 − c. Row lines likewise. Every other bond is as in the carpet. Call the result F_k(P), the rung-k lattice: across every level-j line, each aligned 9ʲ-row segment carries exactly k bonds (0 where a side is removed), and lower-level blocks across a higher-level line are joined only through that line's designated rows. So F_k is finitely ramified, with 4k terminals per block at the midpoints of the designated sub-blocks of each side. Coordinates are (row, col) as gen.py's masks; the level-1 terminals at k = 1 are N = (0,4), E = (4,8), S = (8,4), W = (4,0). The carpet is the lattice in which the designated set grows with the level (all 9ʲ rows), which is what "infinitely ramified" means here. Positions: S₁ = {4}; S₂ = {2, 6}; S₃ = {1, 4, 7}; S₅ = {1, 3, 4, 5, 7}; S₇ = {1, …, 7}. Corners (0 and 8) are excluded so no terminal belongs to two sides.
Three things are exact about F_k that are not exact about the carpet: - The level-1 block is the carpet's. Inside a 9×9 block nothing is thinned, so the level-1 crossing probability of F_k(P) is R_P(p) for every k. That is the identity control. - The recursion closes. The state of a level-g block is the connectivity partition of its 4k terminals; the level-(g+1) block is 64 independent level-g blocks in the pattern, joined by k bonds per adjacent pair. The distribution of the partition at level g+1 is a fixed function of the distribution at level g. At k = 1 the state space is the 15 partitions of {N, E, S, W}; at k = 2, the 4,140 partitions of eight terminals. - Rung 0 is already in the record. The two-terminal object with its 1-bit state, each terminal column contracted to one node and every bond replaced by a block, is the iterated map of run 075: y₉, g∞, the sign law, all of it. It is not F₀ (which is disconnected) but a different member of the family by construction. The ladder starts from a computed rung.
A fact that bounds the ladder before it is climbed. For every finite k, F_k has no transition: the block holding a terminal reaches the rest of the lattice through its 3k outward bonds, distinct at each level, so R_G(p) ≤ (1 − (1 − p)^{3k})^{G−1} → 0 and p*(g) drifts to 1 with the level, as the gasket's did in runs 049 and 051. That is §45's theorem seen from inside. So a rung has no exponent in the limit; what it has is the carpet's finite-size numbers at the carpet's sizes, and the carpet is the double limit in which k grows with g. The ladder's question is therefore which finite-size features (the turn, the slope at L = 81–6561) a rung already carries, not which class it belongs to. The guard on every rung is the distance of p* from the wall in units of the width, (1 − p*)/w: when it is small the shape is set by the wall at 1, not by the pattern.
What a rung decides. Three quantities per rung, per pattern, at the carpet's sizes (levels 2, 3, 4 ↔ L = 81, 729, 6561): 1. The finite-size slope 1/ν_k over L = 81–6561, by the carpets' estimator read off the exact crossing curves. Against y₉ (rung 0) and the measured 1/ν. 2. The threshold distribution's skewness g₁ at each level, from the exact crossing curve R_{k,g}(p) read as a distribution function. Whether it turns between levels 3 and 4 on T and not on X, as the lattice does (run 073; CASE-28), while rung 0 never turns on any pattern (run 075). 3. The share of the crossing probability carried by routes rung 0 cannot represent: (R − R̃)/R, with R̃ the crossing probability when every sub-block's partition is projected onto its W–E and N–S pairs only, from the same draws. This is PN-005's F4 quantity read on a lattice where it is well defined.
Held with conviction: the turn appears at rung 1, because rung 1 is the first object with the top-to-bottom route, and T turns while X does not. The slope is not settled by rung 1: 1/ν₁(T) lies between y₉(T) = 0.439 and the measured 0.374, and the rungs' values move toward the measured one as k grows, at a rate that is the real finding. Where it breaks: F_k is a different graph from the carpet, not a truncation of it, so 1/ν_k need not be monotone in k; at small k the wall at 1 may set the shape before the pattern does (the guard above); and exact state spaces end at k = 2 (k = 3 has 4.2 million partitions, and the composition sweep over 64 sub-blocks needs a frontier beyond that). From k = 3 the rungs are sampled, not computed.
Two ways to compute a rung, which must agree. (a) Recursion Monte Carlo: draw the 64 sub-block states from the level-g distribution, run union–find on the 64-node block graph with the k joining bonds, record the level-(g+1) partition; a million draws per grid point per level, errors about ten times smaller than lattice sampling, the recursion structure exact. (b) Lattice Monte Carlo: build F_k(P) with gen.py's thinning rule and sample it with perc.c, the carpets' own estimator, unchanged. On F_k the two are the same object, so (b) checks (a) and (a) gives (b) its error-free targets. On the carpet only (b) exists; the ladder is what makes (a) available.
Rungs, in order. Rung 1 on T and X (sealed first; both computations; the turn and y₁). Rung 2 on the same two. Then rung 1 across the fourteen named carpets, so the ladder's exponent can be set against every measured 1/ν at once. Rungs 3 and 5 by lattice Monte Carlo only, on T and X, to see the approach to the carpet.
What would show this probe wrong. Rung 1 shows no turn on T (then the turn needs more boundary state than four terminals carry, and the question moves to rung 2); or the ladder's exponents move away from the measured value as k grows (then F_k is not approaching the carpet at all and the construction, not the carpet, is the wrong object). Either is a result and is filed as one.
Back to the dictionary. §23–24 read locality by spectral dimension and ramification; §45 made ramification an existence criterion for a class, and the bound above is that criterion applied to every rung. The ladder makes ramification a parameter (k) on which the finite-size shape and slope depend, which neither section allows for. If the carpet's numbers at L ≤ 6561 are reproduced at a small k, the carpet's behaviour at every size we can reach is finitely describable even though its class is not. If no finite k reproduces them, the carpet is the first object in the map with no finite description at any truncation, and that is its entry.
Amended 2026-10-01, after run 082 was withdrawn (codifier). Three corrections from the first attempt at rung 1, none of them to the construction: - The F4 share is trivial at k = 1 whenever the middle row has a hole. A sub-block projected onto its W–E and N–S pairs can only be passed straight through, so the projected crossing must run along the middle row, and (4,4) is removed on T, X and most of the census. R̃ ≡ 0 and the share is 1. The share is a rung-2-and-up quantity; item 3 above is restated so. - Rung 1 is wall-bound at the carpet's sizes. (1 − p*)/w was 2.8 (T) and 2.6 (X) at L = 729, below the guard of 3. The no-transition bound is not a limit statement only; with three outward bonds per block the wall sets the shape already at level 3. The first scorable rung is the smallest k whose guard clears 3 at levels 3 and 4 on both patterns, found by a cheap pass and fixed before the clauses are read. - The ladder does not pass between the one-bit map and the carpet. Rung 1's rough slopes (0.33 for T, 0.30 for X) sit below both and in the wrong order, as a gasket-like object would. The one-bit map (0.439, 0.553) sits above the carpet. So the family approaches the carpet from below and the two-terminal object from the other side; "rung 0" was the wrong name for it, and the conviction that rungs lie between was wrong. The sharper question survives: at which k does the ladder recover the carpet's order of T and X, and T's turn. - Exactness. The recursion Monte Carlo does not need the state space enumerated: the level-g sample of partitions is resampled directly at level g + 1. So the recursion runs at every k, and what ends at k = 2 is exact enumeration, not the method. Rungs 3 and 5 are available to the recursion, not only to lattice sampling. - Correction to the state counts. The rung-2 state does not close on 8 terminals: every higher-level join falls on a block's midpoint, which S₂ = {2, 6} does not contain, so rung 2's state is a partition of 12 cells (Bell(12) = 4,213,597), not 4,140. Rungs whose S contains the midpoint (k = 3, 5, 7) close on 4k terminals. Run 084 takes its first scorable rung from {3, 5}.
123 source lines, no addenda.