Skip to content

Conditional κ = 0.001602278921983212: two gate-move frame coalescences on PR584 - #588

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
jeremykothe2:free4fc8-coalesced
Oct 12, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
jeremykothe2:free4fc8-coalesced

Conversation

@jeremykothe2

@jeremykothe2 jeremykothe2 commented Oct 12, 2026 •

Copy link
Copy Markdown

Summary

Conditional κ = 0.001602278921983212. This is +1.98e-7 over our PR584 and PR586 (0.001602080856660739) and +6.17e-7 over PR583. The conservative model gives 0.001602278919174953.

This PR is PR584 plus two new frame coalescences in block 25 of the A prefix, on both kernel-carrying providers (ck, 66 calls; atm3, 5 calls):

  • Gate A33 (x491 += x490 at frame [25]) commutes past A34 and A35, which share its source 490 but have different targets. Moved after them, it can be raised to frame [96,25].
  • Gate A46 likewise moves after A48 and is raised to [97,25].

PR583's search missed these because neither gate was its pivot's last gate. Each merge turns two rank-1 payments into one rank-2 payment per call, so the change is {1:−4, 2:+2} per call on top of PR583's six coalescences. Scalar operations and responses are unchanged, as are helper widths and PR582's literal owner map.

The moves are applied by a new typed build step, gate_move_coalesce (code/build_gate_moves.py). For every move it checks commutation, unchanged dirty responses and widths, and the cleanup rule. It has omission, over-promotion and unmoved-raise controls, and each control must be rejected. The paid profile is {1:173404,2:40632,3:23928,4:14024,5:4038,6:4032,8:576,30:1,48:1857}.

How it was found

  • An LP/MILP screen over free dispatch of {ck, atm3, jp8, e8} gave an upper bound of 0.0016015477. The integer solution chose 66/5/1.
  • The owner map comes from an exact-window MILP with the dispatch fixed, warm-started from PR571's owner map. Every solution of that model expands literally through Kőnig colouring, and HiGHS solved it to optimality.

Package

research/complex-571-free4fc8/ contains 22 files. Five sources are pinned externally by manifest and file hashes, and nothing is copied from them:

  • PR568 (research/complex-multicold, 71c99ac);
  • PR569 (research/larger-gain, 897213a);
  • PR571 (research/structural-gain, b7bdc5a);
  • PR575 (research/complex-joint-prefix, eac6f7e);
  • PR583 (research/kernel-frame-coalescing, 89be768).

The package is fully data-driven. data/SPEC.json describes each provider as a typed chain of build steps (pinned base word, then promote, greedy_kernels, joint_prefix, frame_coalesce or gate_move_coalesce, each with its paired omission and coverage audits), plus the dispatch, the owner and plan hashes, and every expected value. The single verify.py and code/ contain no witness constants. They rebuild every provider from the pinned sources, recompute everything, and compare the results with the spec.

Verification

PR568, PR569, PR571 and PR575 are not merged, so fetch their pinned commits first:

git fetch origin pull/568/head:pr568 pull/569/head:pr569 pull/571/head:pr571 pull/575/head:pr575 pull/583/head:pr583
for n in 568:71c99ac935a33bb7b59a1b4a7af8725a939b0b90 569:897213a855b7fb8a1b8b0e552a2f5c42e6c1b326 \
         571:b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3 575:eac6f7e 583:89be768; do git worktree add --detach ../pr${n%%:*} ${n#*:}; done
python3 -B research/complex-571-free4fc8/verify.py --work /tmp/571-free4fc8 \
  --source multicold=../pr568/research/complex-multicold \
  --source larger_gain=../pr569/research/larger-gain \
  --source structural_gain=../pr571/research/structural-gain \
  --source joint_prefix=../pr575/research/complex-joint-prefix \
  --source frame_coalescing=../pr583/research/kernel-frame-coalescing

Add --check-pins to check only the package and source pins.

verify.py uses only the standard library. It runs:

  • the full PR558 replay;
  • each provider's build chain, with all of its omission controls (PR568 multi-cut kernels, PR569 promotions, PR575 joint-prefix coverage and rank-five audits);
  • the native chain and exact phase edges for all three providers;
  • binding, the physical owner audit (31 mutants), a fresh invoice, both exact moment engines, the 47 strict outer inequalities for each model, 147 assembly controls, and the phase-timing controls.

Local result (Windows, CPython 3.11.11): the commit was preflighted from a fresh clone first (byte-identical to the generated package, committed blobs equal its MANIFEST, pin check passes). The official run from that clean clone then gave PASS_FREE4FC8_NATIVE_COMPLEX_AND_CITED_BIT, κ 0.001602278921983212, 42/42 stages exit 0, 391 s.

Update (commit 6d0e53b, same κ): the package is hardened with PR586's portable decompressed-content identity checks and controls (3 recompressions accepted; 27 semantic and 27 reference/metadata mutations rejected), and its width metadata is now recomputed from the actual widths. Owner map, profile and κ are unchanged. The official run from a clean clone of 6d0e53b passed: PASS_FREE4FC8B_NATIVE_COMPLEX_AND_CITED_BIT, κ 0.001602278921983212, 43/43 stages exit 0, 445 s.

GitHub CI has not run, and I make no claim about it.

Credits

  • chafreaky: PR586 (portable identity checks and controls adopted in commit 6d0e53b), PR583 (the six frame coalescences this PR extends), PR586 (independent macOS/Linux replay of PR584) and PR579 (the 48/24 mix of PR576 kernel calls and PR575 calls showed that kernel calls should dominate), plus PR577, PR572 and PR551.
  • jon314159: PR575 (the joint prefix in all calls) and PR567.
  • DominikScholz: PR571 (the joint prefix) and PR569 (entrance promotions and their constructor).
  • jeremykothe2: PR576, PR578 and PR574.
  • eumemic: PR564, PR561, PR562, PR558, PR550, PR543, PR507.
  • rohanarun: PR559.
  • Dugongue: PR552 and PR514.
  • icekylinx: PR535 and PR531.
  • DreamingOfClouds: PR484.
  • higherbeing: the open allocator.
  • lydakis: PR275.
  • Douglas Colkitt / CrocSwap: maintenance.
  • The original OpenAI Weighted dual-suffix carriers: conditional κ = 7.9961717358e-5 #109 framework.

AI disclosure and authorship: Claude Opus 5.5 (Anthropic), running in the omp coding harness, did the work for this PR: the coalescence search, the gate-move build step, the spec-driven package and this description. Jeremy Kothe (jeremykothe2) directed and reviewed it and is submitting it.

Scope

The result is conditional on the inherited all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape/exact recovery, analytic transfer and the bit H1–H5 assumptions. It is finite exact evidence. It is not an unconditional theorem, a complete Lean proof, or a practical speedup.

…83 six plus two gate-move coalescences) on the PR582 three-provider witness
@Mister-Meeseeks
Mister-Meeseeks merged commit 1a580ea into CrocSwap:main Oct 12, 2026
This was referenced Oct 12, 2026
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

Thank you @jeremykothe2. This contribution at 6d0e53b66c29abd17981881a09eaff41ac862d85 is incorporated in the reviewed family through #588, published in 9594b61.

Gate moves pass pairwise transvection commutation; raising frames follows moves, cleanup regenerated and responses invariant. Must still validate native frames/phases/owner contracts and full bill. Full original cold replay passed with all provider chains; the integrated public cold command is running separately.

Preserved implementation and research:

The family review and individual disposition record the scope, evidence and attribution. Parallel and intermediate contributions remain credited even where a later composition has a stronger bound. The published multiplication bound remains conditional on the documented compiler, realization, hosting and analytic assumptions; these finite checks are not a full Lean multiplication proof.

@higherbeing

Copy link
Copy Markdown
Contributor

Independent check: the ck, atm3 and jp8 words are coalescence-optimal under single gate moves and frame changes.

I rebuilt the three provider words from the pinned sources (ck content sha efddf09d… reproduced; the full replay gives κ = 0.001602278921983212) and ran a more general search than PR583's coalescer and this PR's gate mover: for every gate, raise or lower its frame to the next or previous chain frame of either register or to their meet; move it up to 40 positions in either direction past commuting gates (two additions commute unless one writes the other's source), then try the same frame changes at the new position; legality by gk_word.profile; accept any change that lowers Σ r·ln(73/r). A second pass anneals over zero-cost plateau moves (two temperatures, 40k iterations each).

  • From the pre-PR583 ck word the search finds exactly eight improvements and ends on this PR's profile {1:2404, 2:572, 3:320, 4:192, 5:56, 6:56, 8:8} (the six coalescences and your two gate moves), so it sees everything both searches saw.
  • On the ck, atm3 and jp8 words of this PR it finds no improvement in any variant, and the annealing never leaves the current Φ downward.

So the next local-word tick needs a transformation other than reordering commuting gates and sliding frames along the existing chains. For orientation, the paid climbs of ck by (section, class, rank): A-phase helpers rank 1 14 %, B-phase helpers rank 1 13 % and rank 2 13 %, B-phase targets rank 1 8 %, final helper climbs 8→9 5 %.

Script: coalesce.py / anneal.py (standard library + the pinned gk modules). Prepared by higherbeing with Claude Code assistance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants