Math Mapgenerated 2026-10-25 · a354234
PUBLIC BUILD

run 080Settled

43 census patterns have a measured 1/ν (14 measured by run 068, 15 by run 071, 14 carried as record values from earlier runs without errors). They cover 43 of the 49 distinct crossing polynomials, and every measured exponent sits close to the one-block y₉ of its polynomial, shifted by an amount that depends on the cut class C₁ and, within a class, on the number of minimum cuts N₁. Six distinct polynomials have never been measured: #9 and #10 (connected, cut 4) and #14, #15, #19 and #35 (multi-component at generation 2; one cut-4, three cut-2). A rule fitted to the 43 and frozen here predicts each of their exponents from y₉, C₁ and N₁. Does it hold on the six, and does the N₁ correction order the cut-4 exponents beyond what y₉ alone does, where nothing has yet been measured?

slug
census-completion
state
run
created
2026-10-01
sealed
2026-10-01
builds_on
[071, 068, 076]
programme
PG-01
concepts
[fractal-dimension]
statistic
R27_tree_groups/carpet_perc/ (Lab_Tree_Model, the M5), with run 068's census (census068.json at commit 84a5fce) as the index and bands071.json (commit b71ebcf) as the training record. Patterns, fixed now, in this order: #10, #9, #35, #14, #15, #19. They are every census pattern whose crossing polynomial has no measured member (pairs076.json's merged groups; 49 distinct polynomials, 43 measured). Graphs cen<i>_2, cen<i>_3, cen<i>_4 (L = 81, 729, 6561), built with gen.py exactly as runs 068 and 071 built theirs, reading census068.json as at commit 84a5fce; multi-component lattices are included as run 068 did for #24, #34, #38, #50 and #53. Measured 1/ν by run 051's estimator exactly as in runs 063, 068 and 071: per-sample threshold k/M, width q₀.₈ − q₀.₂, 8,000 samples per size, 1,000-resample bootstrap, scored as the fit over the three sizes (equal to the endpoint slope), with both local slopes reported. Percolation seeds 8001–8018 in the order above × (81, 729, 6561). Bootstrap exactly as analyze071.py: numpy default_rng(198001 + n), n = 0 … 5 in the order above, drawn sequentially over L = 81, 729, 6561; 1/ν = −slope of numpy.polyfit(ln L, ln w, 1); its error is the standard deviation (ddof 0) of the 1,000 replicate slopes. Checked against every perc seed (49–7145, plus 490, 510, 530 and 7901–7909) and bootstrap range (up to 197000) in the carpet_perc scripts and runs 051–079: none reused. Two streams of 5 threads, as run 071; the analysis is chained after all eighteen lattices. A pattern that fails, times out, or has a bootstrap error above 0.008 on its fitted 1/ν is unscored and listed; with any pattern unscored the run cannot be confirmed, only unanticipated at best. Frozen rule, fitted by the codifier on the 43 measured patterns (all of bands071.json's cells, least squares of r = 1/ν − y₉ on ln N₁ within a class): cut 2 (n = 10), r = −0.0755 + 0.0168 ln N₁, residual SD s₂ = 0.0116; cut 4 (n = 25), r = +0.0446 − 0.0154 ln N₁, residual SD s₄ = 0.0237. Predictions, from census068.json's y₉: #10 0.5674, #9 0.5188, #35 0.4551 (cut 4); #14 0.3368, #15 0.3439, #19 0.2720 (cut 2). The prediction error of pattern i is σᵢ = √(s_C² + eᵢ²), with s_C the frozen number above and eᵢ the pattern's bootstrap error. This omits the fit's leverage term (a factor 1.02–1.10 on s_C; 1.08 at #35) and counts measurement scatter twice, since s_C already contains it; the two roughly offset, and the approximation is accepted as stated. Script census080.py, output census080.json and RESULTS080.md.
script
R27_tree_groups/carpet_perc/census080.py (Lab_Tree_Model)
artifacts
[R27_tree_groups/carpet_perc/RESULTS080.md, R27_tree_groups/carpet_perc/census080.json, R27_tree_groups/carpet_perc/samples080/]
outcome
unanticipated
source
../lab/runs/080-census-completion.md

Prediction(A) The frozen rule holds out of sample: each of the six measured exponents lies within 2σᵢ of its prediction. (B) Within cut 4, N₁ orders what y₉ leaves: the offsets rᵢ = 1/ν − y₉ fall with N₁, r(#10, N₁ = 16) > r(#9, N₁ = 64) > r(#35, N₁ = 324), at the point values (the rule gives +0.0019, −0.0194, −0.0444). y₉ alone already orders the three exponents the same way (0.565 > 0.538 > 0.499), so B is scored on the offsets, where only the N₁ term predicts an order. Confirmed if A and B both hold.

Falsifier(A) any of the six beyond 3σᵢ from its prediction: the exponent depends on something the rule leaves out. Between 2σᵢ and 3σᵢ for any pattern, with none beyond 3σᵢ, A is unanticipated. (B) r(#35) above r(#10) by more than 2 combined bootstrap errors: across the widest N₁ gap in the run the offset does not fall. Any other departure from the full order makes B unanticipated. The run is falsified if either clause is falsified, confirmed if both hold, and unanticipated otherwise. A falsified B beside a confirmed A says the rule's values hold within their scatter but its N₁ term does not carry the order. A falsified A beside a confirmed B says the N₁ direction holds while the rule misses a value, and the missed pattern names where. Withdrawn as underpowered if the median bootstrap error on the six exceeds 0.006.

Sealed 2026-10-01, after run 079 was scored and before any lattice of the six patterns was sampled (codifier). Known at sealing: runs 051–079 as scored, including every measured exponent in bands071.json and, for all 63 patterns, run 068's exact census quantities (y₉, p*, C₁, N₁, M and connectivity). The codifier has seen the one-block values and connectivity of all six patterns, and no exponent of any of them.

Why this and not the stored-data question it replaces. The question queued on 2026-09-30 asked whether one combination of C₁ and N₁ orders every measured exponent. Reading the stored record before writing it answered that, so it could not be sealed. Within the single cell C₁ = 2, N₁ = 4, the measured exponents run 0.303 to 0.349 against errors near 0.004, so no function of (C₁, N₁) alone determines them. y₉ does not order cut 2 exactly either: #32 (y₉ 0.300) measures 0.260, below #21 and #38. What the stored record supports is a rule in three variables, y₉ plus a class-and-N₁ correction. This run tests it where it has not been fitted, and completes the census: after it, every distinct crossing polynomial has a measured exponent.

What the six are. #9 and #10 are connected cut-4 patterns, left over because run 071 drew one connected pattern per cell. #14, #15, #19 and #35 have islands at generation 2 (66, 261, 261 and 261 components) and were set aside by run 071 as multi-component. Patterns with islands are already among the 43: #38, #50, #53 (cut 2; residuals against the rule +0.014, −0.008, −0.005), #34 (cut 3) and #24 (cut 4; +1.2 s₄). #35 is the second cut-4 pattern with islands, and at N₁ = 324 it sits at the edge of the fitted range. It shares N₁ = 324 with #20, which measured 0.408, 1.8 s₄ below the rule.

Power, stated. Clause A is generous on cut 4 (2σ ≈ 0.048), tighter on cut 2 (2σ ≈ 0.024). If the rule's residuals are normal at the fitted SDs, all six land within 2σ with probability about 0.76, and any one lands beyond 3σ with probability about 0.016. Clause B is weak by design, since the N₁ term is small against pattern-to-pattern scatter. The predicted offset gaps (0.021 and 0.025) are 0.64 and 0.75 SDs of a difference of two residuals (s₄√2 = 0.034). If the rule holds, the full order comes out right with probability about 0.6; with no N₁ term it does so with probability 1/6. The falsifier, on the widest gap (0.046), fires with probability about 0.05 if the rule holds and about 0.37 if there is no N₁ term.

The reductio this seal passed first. By construction: the rule was fitted on other patterns and nothing in it is refitted; each clause reads only the six new exponents against numbers fixed above. Run 071's cut-2 sub-band test, applied to #14, #15 and #19, is reported rather than scored: any failure of it beyond its 0.012 margin already lies beyond 3σᵢ and falsifies A, so it adds no independent falsifier. Negation: if the exponent depends on lattice geometry beyond the crossing polynomial (islands, the placement of holes that the one-block map does not see), the multi-component patterns are where it shows first. A miss on #14, #15, #19 or #35 alone, with #9 and #10 inside, points there. What a lone clause decides is in the falsifier line. Cost: six patterns × three sizes; at L = 6561 runs 068 and 071 took 3,000–5,900 s per lattice at 5 threads (the multi-component #38, p* 0.93, took 4,931 s; #19 has p* 0.936). Three patterns per stream, about 4–5 hours; peak memory about 1.5 GB per stream.

Reported, not scored. - Each pattern's fitted 1/ν, error, both local slopes, p*(L) and w(L), with the last local slope beside every comparison (OPS.md). - Its residual against the rule, in units of σᵢ, and against the y₉-plus-class-constant model (offsets −0.041 cut 2, −0.018 cut 4 by class mean), so A can be read against the simpler model too. - Run 071's cut-2 sub-band test on #14, #15 (above 0.2763, #38) and #19 (below 0.3030, #53). - The completed census: Spearman(y₉, 1/ν) over all 49 distinct polynomials, within each class and overall. - The band edges with the six added. - #35's residual beside #20's.

Reviewed before commit by a second reader (OPS.md); its edits are folded in: the training record's provenance (14 of the 43 are record values without errors); #24 and #34 named as patterns with islands already measured, and the island residuals restated against the rule; clause B moved onto the offsets 1/ν − y₉, since y₉ alone already orders the three exponents, with its power restated; the sub-band clause moved to reported, since its falsification implies A's; the bootstrap, σᵢ and graph build stated exactly; the cost corrected.

Scored 2026-10-01 — unanticipated

Scored by the codifier from RESULTS080.md and census080.json (3cb1b1a), as written. Every pattern inside the 0.008 error gate; none unscored; the frozen coefficients reproduced from bands071.json.

(A) The frozen rule holds out of sample — confirmed. Residuals in units of σᵢ: #10 +0.57, #9 +0.07, #35 +1.51, #14 +0.50, #15 +0.60, #19 −0.41. All six within 2σᵢ; the largest, #35, is the pattern the seal named as the rule's widest extrapolation. The simpler model (y₉ plus a class constant) also fits all six within 2σ, with the worst at +1.40 on #10; the N₁ term improves five of the six residuals and worsens #35.

(B) N₁ orders the cut-4 offsets — unanticipated. Measured offsets r = 1/ν − y₉: #10 +0.0157, #9 −0.0179, #35 −0.0081. The rule's order is #10 > #9 > #35; the measured order is #10 > #35 > #9. The falsifier (r(#35) above r(#10) by more than 2 combined errors) does not fire: r(#35) is below r(#10) by 0.024, about 4 errors in the right direction. The middle pair is reversed, which the seal makes unanticipated. The run is unanticipated.

What it settles. The census is complete: all 49 distinct crossing polynomials have a measured exponent, and y₉ alone orders them with Spearman +0.95 overall (+0.90 within cut 2, +0.74 within cut 4). A rule in y₉ with a class-and-N₁ offset predicts a new pattern to about one fitted SD, on connected and multi-component patterns alike. The N₁ term is real in aggregate (the fit) and not reliable pair by pair at these gaps: the seal's power statement said as much (0.6 chance of the full order under the rule), and the reversal is between the two patterns whose rule offsets differ by 0.025 against a residual SD of 0.024.

The #35/#20 pair, read post hoc. Two cut-4 patterns with N₁ = 324, one with islands (#35, 261 components at generation 2) and one connected (#20). They sit on opposite sides of the rule, +1.5σ and −1.7σ, 0.08 apart in 1/ν at nearly equal y₉ (0.499, 0.494). That is the largest gap in the census between two patterns the crossing polynomial cannot tell apart by more than 0.005, and it is the first place the record has a pair where the lattice knows something the polynomial does not that is not a twin effect. An inkling, for PG-01's L2: the ladder's rung 1 on #35 and #20 would say whether that gap is in the boundary state.

Every local slope falls from 81→729 to 729→6561 on all six (e.g. #19: 0.2896 → 0.2445), so by the estimator note every value here reads high, as every carpet's does.

generated 2026-10-25the lab index