Skip to content

Construct actual mixed-width CRT row entry with complete lifecycle - #5353

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
aliromman:codex/five-harder-20261023-r1
Oct 24, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
aliromman:codex/five-harder-20261023-r1

Conversation

@aliromman

Copy link
Copy Markdown
Contributor

This construction closes the encoded entry boundary between a real mixed-width CRT row and the retained numerical consumer. It builds canonical paired streams and a sufficient unary precision guide from one sequential tape of declared padded axis records, then invokes the unchanged consumer and retires all 63 owned ports. The topology is compiled data; runtime moduli, coordinates and products are never decoded into host control.

The uniform proof, deterministic receipt and exact source pins define the scope. The complete kappa calculation is unchanged. Encoded upstream state, eight dirty numerical ports and the retained arithmetic contract remain premises. Physical key/ROM transport, production geometry, full E, persistent-bank history, binary arithmetic, native admission and outer recovery remain open.

The actual (5,7,11,13) caller state (1,5,0,9) reconstructs lower11 and right offsets(0,3). The output value is a whole-rotation endpoint; using it as a Beneš micro-row update is invalid. Short axes are idle at rows ell-1 and ell. An intermediate padded target still needs the literal table query.

For source extent L, selected node size n and P=1+sum of its declared widths, the complete source-operation bound is 2^20(P+2)^4 + 2^16(P+2)^2 + 128(L+P+n+1). The proof includes source scans, initialization, all numerical work, output consumption, cleanup and retained backing. This is an upper bound, not a speed measurement.

Validation on CPython 3.12.13, standard library only:

python3.12 -B scripts/research_package.py --package research/crt-mixed-row-entry
python3.12 -B scripts/check_research_commit.py --package research/crt-mixed-row-entry

Both registered warning-strict normal and optimized modes return PASS_ACTUAL_CRT_ROW_ENTRY: 27 actual-source cases, including a complete four-axis forward trace, two idle cases, mixed widths, padded states and six controls. Four disposable code mutations reject in both modes before receipt comparison. Committed bytes, every declared source pin's ancestry, official export integrity and both read-only Git-free export replays pass; all 19 exported files stay unchanged. The full-history wrapper was not run in this shallow checkout. No selected cold replay, production native run, Lean, Docker, independent human or proof-kernel acceptance is claimed. Hosted CI is separate.

Base is canonical main 7c472563474e60185e6ca101a17622133d047e56, priority7, refreshed before submission. The overlap check covers live PR/Discussion bodies and relevant canonical-main notes; arbitrary historical diffs and unpublished work remain outside coverage. Only this package is added.

JoyboyBrian's PR #5219 supplies the unchanged Entry contract; PR #5053 supplies the current-coordinate numerical contract. Hiroki KUMAZAKI supplies the mixed-width Caller. Cinna Davis, Tekalign, ToikY, Jose Manuel, Douglas Colkitt, John-Michael Smith and the retained source authors keep their attribution and notices. Prepared by Ali Romman with substantial OpenAI Codex assistance in proof, implementation, review and verification. Apache-2.0.

@jwr404

jwr404 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Independent review (James Reed, with Claude Code). Head 07a135eee3a8da9392c4a1e01d4b89db05b4ac03.

Verdict: the caller binding and the discriminator are correct, and the replay passes. My checks focus on the semantic binding to Caller.offsets, since I worked on the adjacent CRT width threshold (#4942).

Discriminator, from the pinned source

I used decode_group from research/unconditional-batched-crt/check_batched_crt.py (the decoder crt-mixed-width-caller executes) and Caller.offsets's formula lower · (prefix)⁻¹ mod s_axis, with the prefix running over the left child and then the preceding right moduli:

  • left child (1, 5) on (5, 7) decodes to k_A = 11. This is not the plain CRT value 26, which confirms your point that decode_group inverts the completed child transform rather than reading original digits;
  • the right offsets are (0, 3): 11·35⁻¹ mod 11 = 0, and 11·385⁻¹ mod 13 = 11·5 mod 13 = 3;
  • the whole-rotation endpoints are (0, 12);
  • omitting the preceding right modulus 11 gives 11·35⁻¹ mod 13 = 11·3 mod 13 = 7, the slip the discriminator rejects.

All of these match the PROOF text.

Proof points checked

  • Width margin. 2 ≤ s_i < 2^(h_i) forces h_i ≥ 2. A node at level ≥ 1 has n ≥ 2 axes, so S ≥ 4 and P ≥ 5, and Π s_i < 2^S = 2^(P−1) gives the consumer's complete-product margin. ✓
  • Canonical trimming. Trimming trailing high zeros back to the last ONE, or to a single zero when the field is all zero, yields the minimum-length little-endian encoding without changing the value. ✓
  • The micro-row caution is important and correct. The returned coordinate is a whole-rotation endpoint, and the source's rotation() leaves padded coordinates x ≥ s fixed. Gating a partial Beneš row on x_j < s_j would therefore change the permutation, as your (7,3)/(3,2) control shows.

The registered replay passes locally (PASS_REGISTERED_RESEARCH_PACKAGE … outcome=completed). I did not re-derive the 2^20(P+2)^4 tariff constant, which is inherited from the retained Entry proof, or the storage bound.

@Mister-Meeseeks
Mister-Meeseeks merged commit e36f783 into CrocSwap:main Oct 24, 2026
2 checks passed
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.

3 participants