Skip to content

Research note: factor R420 block 9 from 38 to 24 XORs (28 fewer native ADDs, no new κ) - #790

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
commdata2338:seed19-r420-block9-factorization
Oct 16, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
commdata2338:seed19-r420-block9-factorization

Conversation

@commdata2338

Copy link
Copy Markdown
Contributor

Change and mathematical scope

Status: research note with a finite circuit construction and exact verification. No new κ. The selected certificate, its κ (51110230636731/31250000000000000) and upstream/ are unchanged. All files are new, under research/r420-block9-factorization/.

In eumemic's #543 R420 bit word, phase-B block 9 is the 38-XOR slice B[559:597] at frame 551 (rational rank four), on the twelve source registers 8, 13, 33, 39, 42, 47, 80, 85, 88, 94, 114, 119. This PR replaces it with 24 XORs. Regenerating the literal reverse cleanup saves 14 more, at the rank-eight full frame. D, A, the scatter, the retained totals and every other B gate are unchanged.

Quantity Original Replacement
Block 9 XORs 38 24
Literal cleanup gate records 2,661 2,647
Complete native scalar ADDs 26,916 26,888
Local reverse positive prefix bound 2,270,064 2,234,964
Local forward positive prefix bound 144,651 144,651
Paid rank mass 5,112 5,112
  • Exact block identity. Write T_ab = I + e_a e_b^T. The old and new chronological gate lists have the same positive integer transfer matrix, so block 9 computes the same linear map over every commutative ring, F2 included, on arbitrary register contents. The signed inverse is also identical, and the ordered physical output assignment is kept. The complete dirty-restored word is certified over F2; its defining endpoint is not claimed over the integers.
  • Positive bounds do not grow. The positive reverse transfer is entrywise no larger, with 22 strict entries. Block followed by positive reverse improves 102 entries, and its unit-input maximum falls from 973 to 137. The unchanged exterior operations are monotone on nonnegative bounds, so the domination carries through the whole word and no prefix bound increases. The five-stage payload stays at 100 bits and the nine-stage charge at 192 bits.
  • No hidden cost. The change adds no helper, source access, copy, frame change or recursive child. Every register keeps its frame path, and the paid histogram {1:1320, 2:1440, 4:60, 5:120, 8:9} is unchanged. The interface is Conditional κ = 0.001587467473762886: an E8 bit word with 420 helpers, c = 0.001653826988 (+4.18% over #510) #543's original H1–H5, including literal cleanup reversal (H4).
  • Search. A seeded walk factors the block's 12-by-12 transfer matrix from both ends: subtracting a dominated row removes a final gate, subtracting a column removes a first gate, and entries stay nonnegative. With OS seed 19 it ran a fixed 2,000 trials. 372 reached the identity, 236 of those had a dominated positive reverse, and the best has 24 gates. 24 is not claimed minimal.

Predecessor work. Details and pins are in the README and SOURCES.json.

Open obligations.

  • Build the globally hosted owner program, physical invoice and outer assembly for the changed word, and update the supplier bindings. In the nine-stage invoice's scalar term, 9 * 32 * local_additions + bridge_additions, the local saving would remove 8,064 ADDs; nothing hosted is regenerated here.
  • Settle whether 24 gates is minimal for this block.
  • Discharge the inherited all-size compiler, common-label/mutable-basis realization, pooled hosting, normalized residual, precision/tape/exact-recovery and analytic-transfer assumptions.

No κ change follows from the local count: the recursive profile and rounded prefix budgets are unchanged, and the selected assembly is complex-bound.

Research note and proof, frozen circuit, certificate, source pins, validation record, verifier and search.

Overlap. The pre-submission refresh at 05:31 UTC on 13 October searched the titles and bodies of the 320 most recent PRs (#462–#782, all states) and read every R420 circuit PR among them; none changes block 9's gates. main is still at base 66849e1, so no merged change touches the word. #670 (yongjae321) and #674 (x0hu) resynthesize blocks 3 and 5, by local F2 rewrites and explicit sum sharing. #688 (Ali Romman) composes those two, and #681 (alluri-ritual) consolidates #688 with phase-A, D, decoder and complex-supplier work; none of the four touches block 9, and no composition with them is certified here. The one direct interaction is #754 (namredips), which keeps B fixed and rewrites four-wire cleanup windows under a semantic H4′. Two of its 101 windows, [120,124) and [126,130) of the expanded original cleanup (one XOR each), lie inside block 9's reversed segment [120,158), which this PR replaces wholesale, so the two savings are not additive. #710's conjugation lies outside that segment, and #691 (mtpsl) applies the same forward-equality and reverse-domination test to phase-A quad 13. #686, #694, #713, #716, #733, #742, #759 and #774 change the frame-zero compensation D, and #708, #748 and #753 change the phase-A decoder totals; each saves more than 28 ADDs. This PR is the only change to block 9, and unlike several of those D and decoder changes it raises no positive prefix bound.

Validation

From the repository root, with Python 3.11+, a C++17 compiler and Boost headers (no Python packages):

python3 -B research/r420-block9-factorization/verify.py

Expected final line:

PASS_R420_BLOCK9_FACTORIZATION gates=38->24 native_adds=26916->26888 columns=660/900/1380/1620 rank_mass=5112

The driver writes the rebuilt word, exported records, checker receipts and logs to a fresh directory under build/, and compares every proof-relevant field with CERTIFICATE.json. It compares regenerated gzip output by canonical decompressed JSON. The lane's run passed on Linux x86-64 with Python 3.12.3 and GCC 13.3.0.

  • Finite checks.
    • Exact integer transfer, signed inverse and entrywise positive-bound comparisons for the block, in unbounded Python integers.
    • Conditional κ = 0.001587467473762886: an E8 bit word with 420 helpers, c = 0.001653826988 (+4.18% over #510) #543's own E8 label, rational-frame, all-column and H1–H5 checks on both complete words.
    • A separate standard-library interpreter replays all 660 dirty-input columns one at a time in both orientations, and reconstructs every exported MOVE/ADD/COPY/ERASE record, frame path, paid profile and positive prefix. It imports no predecessor checker or search code.
    • The unchanged C++ legality checker and five-, nine- and eleven-stage column checkers run on both words: 900, 1,380 and 1,620 physical columns, with 6, 18 and 24 omitted-bridge controls per word. The C++ and Python prefix and profile results must agree.
    • The checker rejects all 15 new negative controls. They include an integer-correct 25-gate factorization with a worse positive reverse, and a stale literal cleanup that passes the F2 endpoint replay but fails H4.
  • Proof arguments. Equality over every commutative ring follows from the equal integer transfer matrices. The README gives the written argument that reverse domination propagates through the monotone exterior to every prefix of the whole word; the finite prefix replays agree with it but do not replace it.
  • Search reproduction. python3 -B research/r420-block9-factorization/search.py --seed 19 --trials 2000 --output NEW-candidate.json regenerates the frozen candidate in the recorded environment. Verification neither imports the search nor trusts its trace.
  • Repository checks. make selected-record-check passes: PASS selected record, exact kappa, original source inventory and proof supplement: 51110230636731/31250000000000000. git diff --check is clean, and no existing file or upstream/ byte changes. The verifier above was re-run on the submitted commit.
  • Not claimed. This is not a formal verification of the multiplication theorem, not a hosted, invoice or outer-assembly replay, and not a full repository suite, Linux CI or Lean pass. No composition with a concurrent PR is certified, and 24 gates is not claimed minimal.

Sprint: bit-supplier track, OS seed 19. The claim and its result update are recorded locally. Submitted by @commdata2338 with substantial AI assistance, under Apache-2.0: OpenAI Codex (GPT-6-Astra) wrote the analysis, proof and checker, and Claude Code packaged the submission. No independent human peer review is claimed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01X86sCSXdoDd61SDFfC1PKG

Adds research/r420-block9-factorization/. It resynthesizes R420 block 9
(B[559:597], frame 551) of PR543's word by bidirectional nonnegative
integer-matrix factorization, preserving ordered outputs, dirty-input
restoration and frame paths. Block 9 falls from 38 to 24 XORs and the
matching cleanup saves 14 more; complete native ADDs fall from 26,916 to
26,888. Includes an exact certificate, 15 new negative controls and a
reproducible search. No new kappa: the selected certificate and
upstream/ are unchanged.

Sprint track: bit supplier, OS assignment seed 19, base
66849e1.

Submitted by @commdata2338. Prepared with substantial AI assistance:
OpenAI Codex (GPT-6-Astra) wrote the analysis, proof and checker, and
Claude Code (Claude Opus 5.5) packaged the submission. No independent
human peer review is claimed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X86sCSXdoDd61SDFfC1PKG
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

100-PR batch review at 08b4a039ba4938dd4f4c89a69759f49ed21923ef.

This remains open after scoped triage. Next review step: Python/native-map controls pass, then C++ compilation fails because Boost multiprecision headers are unavailable. Finish legality/cohort checks in the existing Linux/Boost environment.

This is a specific continuation point, not a rejection or a request to redo already recorded checks. Completed local evidence is retained separately from outstanding whole-head obligations.

Batch review, attribution and evidence. Thank you for the contribution.

@Mister-Meeseeks
Mister-Meeseeks merged commit 998a33b into CrocSwap:main Oct 16, 2026
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.

2 participants