Math Mapgenerated 2026-10-25 · a354234
PUBLIC BUILD

run 089Falsified

The one-block map f = R_P carries the depth-k threshold law to the depth-(k+1) law by one fixed function, h = f⁻¹: Q_{k+1} = h ∘ Q_k, so the step map Q_{k+1} ∘ Q_k⁻¹ is h at every depth and, by Koenigs, the map is linear in a coordinate φ with φ ∘ h = λ⁻¹·φ. The lattice has a step map too — g_L = Q_{9L} ∘ Q_L⁻¹, the function that carries the threshold law at L to the law at 9L, read off the stored samples — and nobody has asked whether it is one function. Is the carpet an iterated map at reachable sizes: is g₈₁ the same function as g₇₂₉?

slug
step-map-and-koenigs
state
run
created
2026-10-02
sealed
2026-10-02
builds_on
[075, 073, 083]
concepts
[fractal-dimension]
programme
PG-01
statistic
A Claude Code session; no sampling. Lattice part, scored. For X (#6; samples063/C2, C3, C4 at L = 81, 729, 6561; 8,000 each) and T (#26; samples053/T2, T3, T4): the empirical quantile function Q_L of t = k/M; the step map g_L(p) = Q_{9L}(F_L(p)) with F_L the empirical CDF, defined on the support of the law at L; the comparison grid: the 19 quantiles p_j = Q₇₂₉(j/20), j = 1 … 19, of the 729 law, on which both g₈₁ and g₇₂₉ are defined; d_j = g₈₁(p_j) − g₇₂₉(p_j); errors by a joint bootstrap of the three files, 2,000 replicates, numpy.random.default_rng(279001 + 3·b + i) for file i = 0, 1, 2 (L = 81, 729, 6561) in replicate b = 0 … 1999 (279001–285000 for X; T uses 285001 + 3·b + i, 285001–291000), each replicate rng.integers(0, 8000, 8000); the error of d_j the replicate standard deviation (ddof = 1); z_j = d_j/err_j; the scored statistic for X is the rms of z_j over the 19 nodes and the largest |z_j| (OPS.md, family-wise; the nodes are correlated, so the rms is read against the bootstrap's own null: the same rms computed between two independent halves of the 729 file is reported beside it). Seeds checked against every bootstrap range in the carpet_perc scripts and runs 051–088 (up to 269115): none reused; no perc seed is used. Koenigs part, reported. For T, X, and all 63 patterns: p*, λ and the inverse Koenigs series ψ with ψ(λw) = f(ψ(w)), ψ(0) = p*, ψ′(0) = 1 (coefficients exact from f's Taylor expansion at p*, as map075.py's c₂ = f″(p*)/(2λ(λ − 1)) begins it), at 60 working digits; φ = ψ⁻¹ by Newton near p*, extended to all of (0, 1) by φ(p) = λᴺ·φ(hᴺ(p)) with the smallest N bringing hᴺ(p) within the series' radius, h by Newton on f with φ′ along the orbit as the product of 1/f′; the map's Koenigs skewness s_P = g₁ of φ(U), U uniform, by tanh-sinh quadrature split at p* (run 075's g∞ is this number by another route); φ″/φ′ at p* and at the lattice's mean threshold t̄_L for each L; the lattice's thresholds pushed through φ, u = φ(t), and their g₁ by unbiased k-statistics with the same bootstrap replicates, beside the first-order expectation g₁ᵘ ≈ g₁ᵖ + 3σ_L·φ″(t̄_L)/φ′(t̄_L). Controls, checked first, any failure withdrawing the run: (i) the empirical quantile route reproduces cumulant073.json's g₁ at 81 and 729 for T and X to 1e−9 before any step map is formed; (ii) linearization: |φ(f(p)) − λ·φ(p)| < 1e−12·max(1, |φ(p)|) on 200 points of (0.01, 0.99), both patterns; (iii) identity with run 075: s_P agrees with map075.json's g∞ for T and X to 1e−7, and the skewness of φ⁻¹(λ^(−k)·φ(U)) agrees with map075.json's g₁ at depths 1–4 to 1e−6. Output stepmap089.json (with a top-level rows list, docs/DATABASE.md; dictionary rows added for every new name) and RESULTS089.md.
script
R27_tree_groups/carpet_perc/stepmap089.py (Claude Code session, numpy and mpmath)
artifacts
[R27_tree_groups/carpet_perc/RESULTS089.md, R27_tree_groups/carpet_perc/stepmap089.json]
outcome
falsified
source
../lab/runs/089-step-map-and-koenigs.md

Prediction(A) X is an iterated map at these sizes: g₈₁ and g₇₂₉ agree on the 19 nodes — rms z within [0.7, 1.3] and no |z_j| above 3.5 — after the half-file null is checked to lie in the same band. Confirmed if it holds.

Falsifier(A) rms z above 2.0, or any |z_j| above 4.5: the function that carries X's law from 81 to 729 is not the function that carries it from 729 to 6561 — the lattice's recursion changes with level, and no one-dimensional coordinate, Koenigs or other, makes it linear; falsified. rms z in (1.3, 2.0] with no node above 4.5: unanticipated. If the half-file null itself falls outside [0.7, 1.3], the rms is read against the null's value instead (confirmed within 0.3 of it, falsified beyond twice it), and the substitution is stated. One clause; the run takes its outcome.

Sealed 2026-10-02, before any lattice step map or any Koenigs function has been formed (codifier). Known at sealing: run 075's depth-k map skewness on all 63 (T −0.3753, +0.0439, +0.3156, +0.4339 at depths 1–4, g∞ = +0.5106; X −0.2669, +0.0594, +0.2123, +0.2612, g∞ = +0.2822) and its c₂ = f″(p*)/(2λ(λ − 1)), which is half of ψ″(0); run 073's lattice skewness in p (T +0.129, +0.363, +0.172; X +0.132, +0.267, +0.413) and widths (T 0.0360, 0.0152, 0.0068; X 0.0264, 0.0077, 0.0023); the lattice's mean thresholds (T 0.777, 0.787, 0.788 against p* = 0.832 — the whole 6561 sample lies below p*, 6.5 widths away; X 0.717, 0.722, 0.723 against 0.740, seven widths); P-050's reading that the block's bond-order law is left-skewed at generation 1 on all 63. Known by first-order estimate, and stated so the seal cannot claim it later: the second reader back-solved φ″(p*) ≈ +5.6 on T and +2.9 on X from run 075's depths, so pushing the stored lattice samples through φ should enlarge T's 729→6561 fall (from −0.19 in p to about −0.33 in u) and leave X's u-skewness near 0.36, 0.33, 0.43 — neither pattern self-similar in the map's coordinate. That is why the Koenigs part is reported and not scored: its outcome on the stored samples is first-order predictable, and the lattice's distance from p* means the map's φ is sampled far from where it was built.

What this run is for. Every reading of the hump has been a reading of one moment (g₁) in one coordinate (p). The step map is the whole function that carries one size's law to the next, and the question "is the lattice an iterated map" is coordinate-free: if g₈₁ = g₇₂₉, the lattice has a Koenigs coordinate of its own — some φ_lat in which it is multiplication by 9^(−1/ν) — whatever that φ_lat is and however it differs from the map's. Skewness changing with size does not decide this (the map's own p-skewness changes at every depth while its step map is one function), which is what makes clause A a test and not a restatement of run 073. T's step maps are reported, not scored: if its turn is real (run 081), a fixed step map cannot produce a skewness that rises and then falls, so T's clause would be run 073's clause again; it is read beside 081.

The codifier's lead, held with conviction. X is an iterated map at these sizes: g₈₁ and g₇₂₉ agree, and X's rising skewness is the curvature of one fixed step map, as the one-block map's is. T's two step maps differ, with the difference concentrated in the upper tail (the turn is a tail event, run 083's open-block counts said the Δ ≥ 0 part is where the shape moves). Where it breaks: if X fails A, the carpet is not a one-dimensional recursion at any size we can reach, and PG-01's "finite boundary state" is right in the strongest sense — the state has more than one dimension and its one-dimensional marginal never linearizes. That would not kill the programme; it would say the ladder is the only instrument, and the step-map difference g₈₁ − g₇₂₉ is the function a rung has to reproduce.

Power, stated. Quantile errors at 8,000 samples are about 0.3% of the width per node near the centre and 1% in the tails; the step map's values at 6561 have errors near 0.0001 on X. The 19 nodes are correlated, so rms z is not χ²-distributed; the half-file null (two independent halves of the 729 file, each 4,000, pushed through the same construction) calibrates it, and the clause reads against the band only if the null sits in it. A's falsifier at rms 2.0 is twice the null, which a correct iterated map does not reach by chance.

The reductio this seal passed first. By construction: g_L is estimated from the L and 9L files only, so g₈₁ and g₇₂₉ share one file (729) — the bootstrap is joint over the three files for that reason, and the shared file's noise enters both with opposite sign, which the joint replicates carry. The comparison grid is the 729 law's quantiles, inside both supports. Negation: if the lattice's recursion changes with level on X, g₈₁ and g₇₂₉ differ by a smooth function of order the width's change, which at 729's width (0.0077) against errors near 0.0002 is tens of errors — the test has the power to fail. Cost: minutes; mpmath on two polynomials for the reported part, numpy for the scored part; the 63-pattern Koenigs table under an hour.

Reported, not scored. - T's step maps g₈₁ and g₇₂₉ on T's own 729 grid, their rms z and largest |z|, and the node-by-node difference as a function — the shape of the turn, if it is one. - The map's h = f⁻¹ against each lattice step map on the same grid: the function the lattice does that the map does not, per pattern and per step; its value at the lattice's fixed point (the gap) and its slope there (9^(−1/ν) against 1/λ). - s_P for all 63 against run 075's g∞ (the identity), 1/ν, y₉ and the ring share; φ″/φ′ at p* and at t̄_L. - The lattice's u-skewness at the three sizes for T and X, the exact pushforward beside the first-order expectation; the same for the 14 named carpets from their stored samples. - Control (i)'s and (iii)'s differences.

Reviewed before commit by a second reader (OPS.md); its edits are folded in: the Koenigs clauses of the first draft were first-order predictable from run 075's c₂ and the lattice's distance from p*, and were moved to reported with the expectation stated; the scored clause is the coordinate-free step-map test; the numerics moved to the inverse series at 60 digits with reachable tolerances; the lattice's location against p* added to what was known.

Scored 2026-10-02 — falsified

Scored by the codifier from RESULTS089.md and stepmap089.json (e5ad050), as written. Run 090 was sealed (bef286e) after e5ad050 was committed and before the codifier had read it; 090's clause does not use the step map or the Koenigs coordinate.

Controls first — all three pass. (i) The quantile route reproduces cumulant073.json's g₁ at 81 and 729 on both patterns to 5.3e−10 or better (limit 1e−9), checked before any step map was formed. (ii) |φ(f(p)) − λφ(p)| at most 9.2e−48 on 200 points (limit 1e−12). (iii) s_P agrees with run 075's g∞ to 7.5e−11 on X and 1.5e−8 on T (limit 1e−7; T's difference is the size of run 075's own last change at k = 20), and the depth-1–4 skewnesses agree to 3e−15 (limit 1e−6). The half-file null sits at rms z 1.064 (max 2.02) on X and 1.065 (1.82) on T — inside [0.7, 1.3], so clause A is read against the band as written.

(A) Falsified. On X, g₈₁ and g₇₂₉ differ on the 729 law's 19 quantiles with rms z = 3.093 against the falsifier's 2.0; the largest |z| is 4.45 at node 4, under the 4.5 node criterion (and above the prediction's own 3.5), so the run falls on the rms alone. The departure is an order of magnitude below the seal's negation estimate (tens of errors): it is a few errors per node. The function that carries X's law from 81 to 729 is not the function that carries it from 729 to 6561: at reachable sizes the lattice is not an iterated map, and no one-dimensional coordinate makes its recursion linear. The codifier's lead was wrong on X; it was also wrong on where T's difference lives (below).

What the numbers say beyond the clause.

  1. On X the failure is a translation, as far as these nodes can tell. Every d_j is positive, between +0.00037 and +0.00066, mean +0.00054 — 7% of the 729 width — against per-node errors of 0.00014–0.00023; the weighted χ² about the weighted mean is 4.3 on 18 degrees of freedom (19 nodes). The nodes share files and their errors are positively correlated, so that χ² is not a calibrated test, and the pattern of d_j (0.00037–0.00047 at nodes 10–14, around the fixed point; 0.00055–0.00066 at nodes 2–7, 9, 17 and 19; node 1 at 0.00040 and nodes 15, 16, 18 at 0.00051–0.00053) is at most a shallow U, under 1.5 errors deep, which node 1 does not follow. The reading is that g₈₁ and g₇₂₉ have one shape and a level-dependent position: the step map's fixed point moves from 0.723994 to 0.723446 — the drift a constant shift implies, within one error, not a separate observation — and the two least-squares slopes are 0.2983 and 0.2991, both on 9^(−1/ν) = 0.2981. On that reading, a recursion that is one function up to a drift of its fixed point is a correction to scaling in the location, not in the shape — the thing the ladder (L2) would have to reproduce is a constant per level, not a function. This is a reading; the next seal under L1 tests it on the fourteen named carpets (below).
  1. On T the difference reads as a function, largest in the lower tail. Reported, not scored: rms z 4.20, max |z| 7.39 at node 1, the lowest quantile; d_j falls from +0.0028 at node 1 to +0.0009 at node 16 and rises to +0.0021 at node 19 (χ² 26.9 on 18 degrees of freedom, p ≈ 0.08 and uncalibrated for the same reason as X's; the node 1 − node 16 contrast, 0.0019 against about 0.0006, is what separates it from a constant). The turn is a tail event, as the lead said, but largest on the early-crossing side — the quantiles at which the sample percolates at a lower bond fraction than the median — and not only the late side the lead named. In L11's language that is the cheapest-path tail. Run 083 placed the moving shape in the Δ ≥ 0 route; the two readings are of different objects (a route split against a quantile) and are not reconciled here.
  1. The map's h is not the lattice's step map, by a constant the lattice does not close. At the lattice fixed point h − id is +0.0114 and +0.0118 on X and +0.0255, +0.0268 on T — the gap of L8, read as a function value. The slopes: X's lattice slope 0.298–0.299 equals 9^(−1/ν) and 1/λ = 0.2965 is within 0.003 of it; T's lattice slope 0.432–0.452 against 9^(−1/ν) = 0.439 and 1/λ = 0.381 — on T the one-block map's multiplier is 12–16% short of the two lattice slopes (13% against 9^(−1/ν)), on X under 1%. The multiplier is where T's map and lattice disagree; the gap is where both do.
  1. The Koenigs part came out as the seal said it would. The u-skewness follows the first-order expectation on every size and pattern (X +0.323, +0.321, +0.431 against +0.293, +0.317, +0.428; T +0.518, +0.533, +0.241 against +0.476, +0.520, +0.244), and on the 14 named carpets the first-order column tracks the exact one to 0.05 or better except U′ (#12, φ″/φ′ = 16.7, the one pattern where the lattice is far from the series' first term). T's turn survives the change of coordinate (+0.533 → +0.241 in u), as the seal's reading required. s_P against 1/ν −0.73, y₉ −0.77, ring share +0.69 over the 49 — the ordering run 075 found, in a coordinate-free number.

Two departures from the seal's wording, both in the reported part, both stated in RESULTS089 and accepted. The moments of φ(U) were taken as ∫ zⁿψ′(z) dz in the Koenigs variable by Gauss–Legendre at 48 and 96 nodes (agreeing to 1e−14), with the split at p* kept as z = 0, in place of tanh-sinh in p; the result is checked by control (iii) at 1e−7 and passes at 1.5e−8. The half-file null was read as the 729 → 6561 step map estimated from each half of the 729 file and differenced on the grid; that is one of two readings of "two independent halves" and calibrates the rms of z under the null as the seal intended.

What it does to PG-01. L1's chain — is the turn in the route the one-bit map discards (083), is the lattice an iterated map (089) — now has a no on the second and a reading in its place: X's recursion is one function up to a drift of its fixed point; T's is not, with the difference in the early-crossing tail. The next seal under L1 is the same construction on the fourteen named carpets at 81, 729, 6561 (stored samples, zero compute): for each, the step-map difference d_j on its own 729 grid, scored on whether it is a constant (X's kind) or a function (T's kind), and whether the function's depth in width units orders with the pattern's 729 → 6561 skewness change — the turn as a step-map quantity rather than a moment. If the translation reading holds, the ladder (L2) gains a target: on X a rung has to reproduce a per-level constant, not a function.

Lab notes. Claude Code session on the M5, 4.5 minutes; seeds 279001–291000 checked unused. 152 stat rows in row form, eight dictionary rows added. The pre-commit lab/db/build.py check failed on R23_ising_barrier: graph 'run' has no row in adapters_pg02.GRAPHS — the PG-02 adapter reading untracked files in R23_ising_barrier/, not this run's rows; the database chat's item. The codifier ran a path-limited git status on R23_ising_barrier while scoring, against OPS; nothing was written by it and it is not repeated.

Note, 2026-10-02 (post-score; from the sighted pass SIGHTED-D1D3.md, 0a809f3, for a seal draft held rather than sealed)

The step-map difference d_j on X and T is within what the stored first four cumulants predict. With the Cornish–Fisher quantile Q̂_L(u) = p_med + √k₂·[CF(z) − CF(0)] built from cumulant073.json's k₂, k₃, k₄ per size and the predicted step maps ĝ_L = Q̂_{9L}∘F̂_L, the excess e = d − d̂ in units of w₇₂₉ has ‖e‖₂ = 0.044 on X and 0.044 on T against 99th-percentile null values of 0.074 and 0.115 (2,000 joint replicates, seeds 307001–313000 and 301001–307000; the cumulants recomputed per replicate). Item 2's "T's difference reads as a function, largest in the lower tail" is therefore the shape the stored skewness and kurtosis changes imply through the expansion, and item 1's translation on X is the stored fixed-point drift: at 8,000 samples per size the second coordinate of the recursion is carried by the cumulants. The seal draft that would have scored this on the other twelve named carpets is held — its clause could not fail at this resolution — and the reading stands as a note until a sharper instrument (D4′, the per-sample attainment record) exists.

generated 2026-10-25the lab index