Math Mapgenerated 2026-10-25 · a354234
PUBLIC BUILD

run 085Falsified

Run 083 found, on two carpets, that the route the one-block recursion cannot represent is the majority route at every size, that the lag Δ = t − t_coarse between the lattice crossing and the coarse block crossing is about −0.8 of the threshold width on both patterns at both sizes, and that the share of exact ties (Δ = 0) is the one per-sample quantity that separates T from X (10% against 5%). Across the whole census at L = 729, is the lag in width units a lattice-generic number, and is the tie share set by the cut class?

slug
census-coarse-lag
state
run
created
2026-10-01
sealed
2026-10-01
builds_on
[083, 080, 071]
concepts
[fractal-dimension]
programme
PG-01
statistic
R27_tree_groups/carpet_perc/ (Lab_Tree_Model, the M5; after run 084's lattices). perc_coarse.c unchanged from run 083. The 49 completed census members (census080.json, completed_census_members), each on the generation-3 graph (L = 729) its measuring run used, as the record names it — cen<i>_3 for the 35 census-measured members, and for the 14 named carpets C3 (#6, X), U3 (#11, U), P3 (#12, U′), H6 (#17, H), T3 (#26, T), F3 (#27, X1), D3 (#28, Y), I3 (#30, Y1), G3 (#31, X2), B3 (#36, B), E3 (#39, Z), A3 (#40, A), J3 (#41, Z1), V3 (#48, V); H6 is the record's name for H's L = 729 graph, 418,264 bonds — with gen.py write_blocks run for each graph that has no .blk file, the block ids taken from the pattern's kept cells in row-major order as run 083 specified. 16,000 samples per graph; perc seed 8501 + r, where r = 0 … 48 is the member's rank in ascending pattern index; 8 threads. Output samples085/<graph>.txt in run 083's four-column format. No statistic is computed until all 49 files are complete. Per graph, with t = k/M and t_coarse = k_coarse/M: the shares s₋ (Δ < 0), s₀ (Δ = 0) and s₊ with binomial errors; the mean lag ⟨Δ⟩; the mean threshold p̄ = ⟨t⟩; the width w = q₀.₈ − q₀.₂ of t; the lag ratio ρ = ⟨Δ⟩/w; the gap G = p*_map − p̄ with p*_map the 40-digit fixed point of census068.json; the open-block counts at k and k_coarse and the Δ quantiles as run 083 reported them; the median p_med of t and the gap on the median G_med = p*_map − p_med (P-050's G, which was read from the record's medians), beside G. C₁, y₉ and the cut class of each member from census080.json (completed_census_members). The scored quantities: the count of members with ρ in [−1.0, −0.6], boundaries inclusive; Spearman(s₀, C₁) over the 49 by midranks (scipy.stats.spearmanr; C₁ takes four values, so the coefficient's attainable range is narrower than ±1 and the margins below are set with that in mind). Errors of ⟨Δ⟩, w, ρ, p̄ and p_med by bootstrap: for member r, rng = numpy.random.default_rng(249001 + r), 2,000 replicates, each rng.integers(0, 16000, 16000); every error is the replicate standard deviation (ddof = 1). Seeds checked against every perc seed (49–8424, plus 490, 510, 530, 7002) and bootstrap range (up to 240006) in the carpet_perc scripts and runs 051–084: none reused except as control (i) states. Controls, checked first, any failure withdrawing the run: (i) reproduction: perc_coarse on T3 with seed 8302 gives, for the first 1,000 samples, exactly the four columns of samples083/T3.txt (run 083's own stream); (ii) closure: per graph, one deterministic pass adding all M bonds in index order leaves every kept block open and the coarse graph crossed, and every sample line carries a k_coarse; (iii) reseed agreement on the two carpets run 083 measured: for #26 and #6, s₋ within 3 combined binomial errors of run 083's values at 729 (0.8544 ± 0.0028, 0.8516 ± 0.0028) and ⟨Δ⟩ within 3 × √2 × this run's bootstrap error of run 083's (−0.01946, −0.01070); (iv) threshold identity, as a goodness of fit over the 35 census-measured members (OPS.md, 2026-10-01): z = (p_med − p*₇₂₉)/√(err² + err*²), with p_med this run's median of t — the record's p*(L) is the median of the per-sample thresholds (run 051), not the mean — against the measuring run's recorded p* and error at 729, rms z in [0.7, 1.3] and no |z| above 4 over the 35 points, so the variant's thresholds are the census's; the same z with the mean t_mean in place of p_med is reported beside it, not controlled. [Control (iv) amended 2026-10-01 after sampling began and before any statistic of samples085 existed; the body records why.] Script lag085.py, output lag085.json and RESULTS085.md.
script
R27_tree_groups/carpet_perc/perc_coarse.c and lag085.py (Lab_Tree_Model)
artifacts
[R27_tree_groups/carpet_perc/RESULTS085.md, R27_tree_groups/carpet_perc/lag085.json, R27_tree_groups/carpet_perc/samples085/]
outcome
falsified
source
../lab/runs/085-census-coarse-lag.md

Prediction(A) The lag in width units is lattice-generic. ρ = ⟨Δ⟩/w lies in [−1.0, −0.6] on at least 45 of the 49 members. (B) The tie share is a class quantity. Over the 49, Spearman(s₀, C₁) is at or below −0.5. Confirmed if both hold.

Falsifier(A) fewer than 40 members inside [−1.0, −0.6]: the lag is pattern-specific. 40 to 44 inside, unanticipated. (B) Spearman(s₀, C₁) above −0.2: the tie share is not a class quantity, falsified; from −0.2 down to but not including −0.5, unanticipated (boundaries inclusive on the unanticipated side). The run is falsified if either clause is falsified, confirmed if both hold, otherwise unanticipated. A lone surviving A says the lag is a property of the lattice at threshold and the tie share is the pattern's; a lone surviving B says the reverse — the ties sort by class while the lag does not, and the lag is then the quantity to carry to the ladder.

Sealed 2026-10-01, the night run 083 was scored, before any coarse-crossing time exists on a third carpet (codifier). Known at sealing: run 083 in full (two carpets, three sizes); the census's thresholds, widths and exponents (068, 071, 080); P-050's reading of the table, including the gap G on all 49 and its ordering by the ring share (+0.83 on the 35, +0.83 on the hold-out of 14, +0.73 among the twelve cut-4 named carpets). Nothing about Δ on any carpet but T and X.

What this run is for. Run 083 scored one mechanism (the coarse-crossing route as T's channel) and closed it; what it left was two numbers that looked lattice-generic (s₋ ≈ 0.85, ρ ≈ −0.8 on both carpets) and one that looked pattern-specific (the tie share, 10% against 5%). Two patterns cannot tell generic from specific. Forty-nine can. The clauses are written from two patterns and held with conviction: A says the lag, in the lattice's own units, is the same number everywhere; B says the ties are the class's. A is an effect-size band (the bootstrap error of ρ at 16,000 samples is about 0.01, so the band's width is the claim, not the noise); B's margin is set against a null of no ordering (the standard error of a Spearman coefficient over 49 is about 0.14, so −0.5 is three and a half errors from zero). The within-class question — is the tie share ordered by y₉ among the 28 cut-4 members — is reported, not scored: at n = 28 the null's spread is 0.19 and a "no ordering" clause there could only fail to confirm, never confirm anything.

The codifier's lead, held with conviction, and where it was wrong before sealing. The illegal route is lattice-generic: s₋ at 729 lies in [0.80, 0.90] on nearly every member (reported, not scored — a share bounded away from 0 and 1 on two patterns is weak evidence for 49). The gap G is ordered by the tie share, Spearman above +0.6 over the 49 — reported, not scored, because C₁ orders both (T is cut 3 with the larger gap and the larger tie share) and the reading that matters is within cut 4, where the lead predicts +0.5 or more. The lead that died before this seal: G is the lag. The lag is −0.8w and goes to zero with L; G does not (outside the five wall-bound patterns). P-050 records it.

Power, stated. Shares at 16,000 samples have binomial error 0.003; s₀ near 0.05–0.12 is resolved to 0.002. ⟨Δ⟩'s error is about 0.0002 (sd of Δ near 0.02 over √16,000), w's about 0.0002, so ρ's error is about 0.01 and A's band is forty errors wide, twenty from its centre to either edge: a member outside it is outside by effect, not by chance. Over 49 members a per-member test at 3σ would be family-wise (OPS.md, 2026-10-01); A is written as a count, not a per-member pass, for that reason, and control (iv) as a goodness of fit.

The reductio this seal passed first. By construction: ρ is not forced into any band. Δ < 0 holds on about 85% of samples and |Δ| is of order w on T and X, but a pattern on which the coarse graph crosses nearly when the lattice does has ρ near 0, and one on which blocks open late relative to the lattice has ρ below −1; the band is a claim about all 49. The tie share is a lattice event (the bond that completes the lattice crossing completes the last block's internal crossing and the coarse crossing with it), and nothing in C₁ fixes it: cut 2 patterns have crossings that hinge on two bonds, which could make ties common (B's direction) or rare (if the hinge bonds lie between blocks, where a tie cannot occur). B is written in the direction T and X point. Negation: if the lag is pattern-specific, ρ spreads over something like [−1.5, −0.3] and A's count falls below 40; if the ties are set by something other than class, B fires at the census level. What a lone clause decides is in the falsifier line. Cost: perc_coarse at L = 729 took 63 s per 16,000 samples on T at 8 threads (run 083); 49 graphs is about one hour of the M5, two if run 084's chains are still sharing it. Memory 0.06 GB per graph. Time is reported, not a condition.

Reported, not scored. - The full per-member table — s₋, s₀, s₊, ⟨Δ⟩, w, ρ, p̄, G, with errors, beside C₁, N₁, y₉, 1/ν, the ring share and p*_map (ρ and s₀ enter the score only through A's count and B's coefficient). - Within cut 4 (n = 28): Spearman(s₀, y₉) and Spearman(s₀, N₁), with the null's spread (0.19) stated beside them; at this n they are a look, not a test. - The controls' numbers: (i) the match count of 1,000; (ii) the per-graph closure; (iii) the two reseed comparisons for #26 and #6, each as value, 083's value, combined error and z. - s₋ across the census: its range, mean and standard deviation; the members outside [0.80, 0.90]. - G against s₀, s₋, ρ and |⟨Δ⟩| (Spearman over 49 and within cut 4), beside the ring share's +0.83, so P-050's item 1 gets its first look at a per-sample mechanism. - ⟨Δ⟩ against w (the scaling claim of the lead, on 49 points at one size). - The frozen rule's residual 1/ν − y₉ (run 071) against s₀ and ρ, within cut 4. - The open-block counts at k and k_coarse, and the Δ quantiles, as run 083 reported them, for every member. - Control (iv)'s rms z, its maximum |z| and the count beyond 2σ, with the 35 points stated; the 14 named carpets' p̄ beside their stored-sample thresholds, not controlled.

Reviewed before commit by a second reader (OPS.md); its edits are folded in.

Amended 2026-10-01 (codifier), after sampling began and before any statistic of samples085 was computed. Control (iv) as sealed (commit fce281a) read: "threshold identity, as a goodness of fit over the 35 census-measured members (OPS.md, 2026-10-01): z = (p̄ − p*₇₂₉)/√(err² + err*²) against the measuring run's recorded p* and error at 729, rms z in [0.7, 1.3] and no |z| above 4 over the 35 points, so the variant's thresholds are the census's." It compared this run's mean threshold with the record's p*(L), which is the median of the per-sample thresholds (run 051's estimator; the lab checked it against cen56_2). The thresholds are right-skewed, so a correct run would have failed the control: on stored data only — runs 068, 071 and 080's own 729 samples against their own recorded medians, no run-085 sample read — the lab found rms z 3.3 and max |z| 8.1 against the sealed [0.7, 1.3] and 4. At the amendment, samples085 held two complete files (C3, P3) and no analysis had run on them; the lab database's quarantine holds every samples085 set sealed for this run until it is scored. The control now compares medians, which is what it was written to test (that perc_coarse's thresholds are the census's); the mean comparison is reported beside it. G_med is added to the reported list so that P-050's gap and this run's are one number; the dictionary (lab/db/statistics.json) keeps p_med and t_mean apart. The scored clauses A and B are untouched. The precedent is run 082's control (i), found after the results and withdrawn; here the defect was found before any statistic, on stored data, so the seal is amended in place and the amendment is dated. The codifier's error.

Scored 2026-10-02 — falsified

Scored by the codifier from RESULTS085.md and lag085.json (988ad5f), as written.

Controls first — all four pass. (i) perc_coarse on T3 with seed 8302 reproduces samples083/T3.txt on 1,000 of 1,000 lines in all four columns. (ii) The deterministic pass closes all 49 graphs; every line carries a k_coarse. (iii) Reseed against run 083: #26 z = −0.87 on s₋, +0.84 on ⟨Δ⟩; #6 +0.05, −0.29. (iv) As amended, on p_med over the 35: rms z = 0.870, max |z| = 1.90, none beyond 2σ; the t_mean version, reported, gives rms 4.26 and max 10.06 — the amendment was the difference between a correct run and a withdrawn one. The construction check (not a control) passes on all 49 graphs, H6 included, with every block holding exactly its generation-2 bond count.

(A) Falsified. ρ = ⟨Δ⟩/w lies in [−1.0, −0.6] on 18 of 49 members, against the falsifier's 40. The lag in width units is not a lattice constant: median −1.03, range −1.92 (#60) to −0.46 (#38); 30 of the 31 outside the band are below −1.0 — the lag is larger than the width on most of the census, and the two patterns the clause was written from (T −0.77, X −0.84) sit inside the band. By class the medians are −0.96 (cut 2), −0.95 (cut 3), −1.11 (cut 4), −1.09 (cut 5); Spearman(ρ, C₁) = −0.47.

(B) Confirmed. Spearman(s₀, C₁) = −0.719 over the 49, below −0.5. The tie share is a class quantity: median s₀ 0.084, 0.068, 0.037, 0.033 for cuts 2, 3, 4, 5, monotone. Within cut 4 (reported, a look, not a test), s₀ is unordered by y₉ (+0.14) and by N₁ (+0.06) against a null spread of 0.19.

The run is falsified on A. The seal's lone-clause reading holds: the ties sort by class while the lag does not, and the lag is the quantity to carry — it is the pattern-specific one.

What the numbers say beyond the clauses.

  1. The illegal route is the majority on all 49, and more so than two patterns suggested. s₋ runs from 0.686 (#38, the wall-bound cut-2 pattern) to 0.991, mean 0.909; 33 of 49 lie outside the lead's [0.80, 0.90], all but #38 above it. The codifier's reported lead was wrong by direction: T and X, at 0.85, are among the patterns where the one-block recursion's own route is least rare.
  1. The gap is read at one size by the mean lag — and the pre-seal reductio was wrong on its confound half. G_med against |⟨Δ⟩| at 729: Spearman +0.98 over the 49, against the ring share's +0.88 on the same 49; +0.93 within cut 4 (n = 28), where C₁ cannot act (the ring share's within-class figure on this set is not computed; its hold-out figure was +0.73 on a different set). A line through the origin, G = 2.43·|⟨Δ⟩|₇₂₉, leaves rms 0.0056 on a G whose spread is 0.021 (max residual 0.015); the intercept is 0.0001. The reductio that kept "the gap is the coarse lag" out of the clauses said two things: that ⟨Δ⟩ scales with w and vanishes with L while G does not — true, and reconfirmed here (⟨Δ⟩ against w: Spearman −0.82, slope through the origin −0.93) — and that a correlation across the census would be the C₁ confound renamed — false: within cut 4 the ordering is +0.93. The two facts are reconciled by a size-dependent constant: at a fixed L, G ∝ |⟨Δ⟩(L)|, with the constant 2.4 at 729 on the census and about 4.6 at 6561 on T and X (run 083's lags against their gaps: 4.66 and 4.61) — though at 729 the same two patterns give 2.39 and 1.71, so the constant is one number only to the 27% the fit leaves; the lag reads the gap in that size's units, with that scatter. The scale-free ρ orders G only within class (−0.79 in cut 4, −0.03 over all 49), so the class enters ρ and leaves |⟨Δ⟩|. This is P-050's item 1 given a per-sample reading at one size, and the ring share (+0.88 on these 49) has a stronger rival that is a lattice quantity rather than a block one.
  1. The two risers carry the largest lags. #60 (ρ = −1.92) and #63 (−1.85) — the patterns run 087 is reseeding for P-050's fan — are the census's two extremes in lag-per-width; #25 (−1.73) is third. Noted, not read; 087 will say whether their drift is real.
  1. Scaffold S3's removal condition is met as written, and S3 is retained by decision. The condition was a per-sample quantity ordering the frozen rule's residual within cut 4 better than ln N₁: s₀ gives −0.59 and ρ −0.55 against ln N₁'s −0.35, so it is met. What the condition did not ask, and should have, is whether the ordering predicts: leave-one-out rms of the residual over the 49 is 0.0229 with class alone, 0.0226 with class + ln N₁, 0.0245 with class + s₀, 0.0220 with class + ρ — a 10% spread with no stated noise level, nothing clearly ahead of class. S3 is kept on the codifier's decision under a strengthened, predictive removal test adopted after the result; that is recorded as such in PG-01, not as the condition having failed.
  1. Scaffold S4 is not adopted. It was held only if A confirmed. The lag in width units is pattern-specific.

What it does to PG-01. L8 gains its first per-sample reading (item 2) and its next seal: the same lag at 6561 across the census is the direct test of "G = c(L)·|⟨Δ⟩(L)|". The claim has to carry a tolerance — at 729 the line leaves 27% of G's spread, and T and X give c = 2.39 and 1.71 at 729, 1.95 and 2.7 for c(6561)/c(729) — so the seal would predict the 6561 fit's residual share and the ratio's spread across patterns, not one number. S4 is struck; S3 is kept by decision under a predictive removal test.

Lab notes. 49 graphs sampled on the M5 at 8 threads sharing the box with run 084's chains; controls (i) and (ii) before sampling, (iii) and (iv) after; the analysis chained after the 49th file. lag085.json carries 49 sample_set rows and 590 stat rows in row form, loaded into an in-memory database from schema.sql with foreign keys on; three dictionary rows added (gap_med, lag_ratio_band_count, spearman_share_delta_zero_C1). build.py does not yet read row-form JSONs or samples085 — the database chat's next item.

generated 2026-10-25the lab index