Skip to content

Prove the uniform CRT evaluator bound with constant 1 - #70

Draft
unpaidmoon wants to merge 1 commit into
cursor/upstream-main-pin-a7d3from
cursor/crt-uniform-evaluator-0a42
Draft

unpaidmoon wants to merge 1 commit into
cursor/upstream-main-pin-a7d3from
cursor/crt-uniform-evaluator-0a42

Conversation

@unpaidmoon

Copy link
Copy Markdown
Owner

Change and mathematical scope

Scoped counting proof for one proposition in Cinna Davis's PR CrocSwap#4100 (CRT.md §2 and the displayed guard comparison in §4). No new κ, and the selected conditional exponent is unchanged.

For every integer p >= 2 and ell >= 1, a sequential evaluator that reconstructs one CRT group of bit length at most p and builds four rotation-switch networks for a batch of at most 8(p+2) axes uses at most

E(p, ell) = 2^{4 ell} (p+2)^{16}

bit-steps. The constant in CrocSwap#4100's displayed bound may therefore be C = 1 on this domain. The same bound is exactly

2^{-G} E(p, ell) <= 2^{-60 ell} (p+2)^{-48},

with G = 64 (ell + ceil(log2(p+2))).

CrocSwap#4100's size paragraph gives group bit length at most p for n >= 4 (log2 T <= b + 1 and nominal p = 6b). The factor 8 is this package's explicit reading of "at most O(p) axis controls", not a new parameter of that construction. The bit-step count is a counting argument. The executed checker uses ordinary arrays and is not a finite-state tape trace.

Not proved: reservoir placement, the ordinary interchange callee, sparse repair, native execution, or the outer multiplication theorem.

Task and overlap

Validation

Python 3.12, standard library only, from the repository root:

python3 scripts/research_package.py --package research/crt-uniform-evaluator --check-only
python3.12 -B research/crt-uniform-evaluator/verify.py
python3 scripts/check_research_commit.py --package research/crt-uniform-evaluator --check-source-history

verify.py prints PASS_CRT_UNIFORM_EVALUATOR. It checks the integer comparisons, the Beneš scan recurrence, schoolbook and division tariffs, 90 agreements with the retained benes compiler, 44 CRT offset fixtures, and rejection of a non-invertible prefix and a non-permutation. Metadata pins and the source-history preflight passed locally. No Lean, Docker, or full CrocSwap#4100 replay was run.

Credit

Cinna Davis supplies the CRT construction, the E(p, ell) shape, and the retained compiler in PR CrocSwap#4100. ToikY's PR CrocSwap#4192 is the predecessor Beneš-scan audit and names this follow-up. PR CrocSwap#4311 records that the evaluator was still open. Prepared by unpaidmoon with substantial Cursor Grok assistance. Apache-2.0. No independent human review or proof-assistant acceptance is claimed.

Open next questions

  1. Does one root-axis query still fit the same bound when every logical access scans a single shared arena, as in PR Audit uniform Beneš compiler with charged sequential arena scans CrocSwap/integer-mult-bounds#4192, after this CRT offset is included? First step: encode the offset as that arena's permutation and compare touch counts. Blocked because Audit uniform Beneš compiler with charged sequential arena scans CrocSwap/integer-mult-bounds#4192 starts from an encoded permutation and is not replayed here.
  2. With C = 1, do reservoir placement and the ordinary interchange callee in CRT.md §3–§4 still fit their stated bills, including the finite elementary fallback? First step: check H >= G on Propose unconditional κ = 0.00173097911567079247276057 via batched CRT CrocSwap/integer-mult-bounds#4100's size family. Blocked because placement geometry is PR Audit CRT reservoir placement and split-axis coordinate descriptors CrocSwap/integer-mult-bounds#4174's obligation.

Workflow feedback (optional)

The CrocSwap#4311 coverage map made the remaining CrocSwap#4100 obligations enumerable. A structured audits field on TASK.json would have made that map unnecessary.

Open in Web Open in Cursor 

Price CRT reconstruction and four rotation networks by explicit sequential
bit-steps, and show they fit 2^{4 ell}(p+2)^{16} for every p >= 2 and ell >= 1
under the stated width and batch caps. The displayed 2^{-G} comparison follows
with the same constant. No new kappa.

Co-authored-by: unpaidmoon <unpaidmoon@users.noreply.github.com>
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