Skip to content

Decide #4100 CRT.md's guard premise: mod-K coloring needs (K-1)-bit guards; vacuous on #4174's production plans (no new κ) - #4329

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
pinterbanget:pr4100-guard-coloring
Oct 21, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
pinterbanget:pr4100-guard-coloring

Conversation

@pinterbanget

@pinterbanget pinterbanget commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This adds research/pr4100-guard-coloring/. It decides the disjoint-guard premise in Cinna Davis's #4100 CRT.md §4: "a margin 2B from both ends of each K-bit guard … Color targets by current position modulo K, so guard intervals are disjoint". It also checks that premise on #4174's actual placement descriptors.

Three audits take the premise as given. #4321 (unpaidmoon) assumes "the K-bit guards are pairwise disjoint" and notes that no audit decides it. #4328's exact r-target density needs it. #4174 (kumagi) supplies the descriptors.

Claim type: a scoped proof audit with a counterexample to the literal text, plus a census of #4174's production descriptors. No new κ.

Result

  1. Lemma. Under position-mod-K coloring, (K−1)-bit guards are pairwise disjoint and free of active targets for every descriptor. K-bit guards are pairwise disjoint too, but one contains another active target exactly when two same-color targets are K apart.

  2. The literal K-bit reading fails on Propose unconditional κ = 0.00173097911567079247276057 via batched CRT #4100's own gadget. I ran all 2^20 addresses of its two-target fixture (targets 0 and 6, so exactly K = 6 apart).

    • With 5-bit windows, as the code's good(…, guard=6) uses, S = T on all 82,944 good addresses for both sources.
    • With 6-bit windows, S ≠ T on 3,888 and 2,388 good addresses, and T leaves the good set on 31,104 and 15,552. For example, (0,1,1086) goes to (0,5,1087) instead of (0,1,1087): a carry in one target's window flips the other target.
    • So the premise must read "(K−1)-bit guards", or K-bit guards with coloring mod K+1.
    • This matches Propose unconditional κ = 0.00173097911567079247276057 via batched CRT #4100's code and its 8B/2^K density term, which counts 4B bad values in K−1 bits. It is a presentational correction to CRT.md's "K-bit guard" and to Audit the compact-switch coefficient and guard contract. #4321's wording. No bound changes.
  3. Audit CRT reservoir placement and split-axis coordinate descriptors #4174's production descriptors. I censused all 104,864 plans of Audit CRT reservoir placement and split-axis coordinate descriptors #4174's own production layout: d = 65,536, ell = 24, widths alternating 24/23, K = 196,608, r_max = 5. That is 524,288 active-axis visits.

Update: eight more width patterns, two adversarial ones (head a3b9095c536c404e11d2ed868699fc4fcd4d4f57)

The census now runs all 11 patterns at d = 65,536, each accepted by #4174's Layout:

  • Nine regular patterns have zero possible same-color pairs under any Beneš schedule, and aligned multiplicity 1. They are: alternating (production), blocked both ways, uniform 24, uniform 23 (r_max = 4, 131,072 plans), three seeded random patterns, and alternating 32/31 at K = 229,376. Last-K exception axes appear in 13–16% of plans throughout.
  • The vacuity is pattern-specific. Uniform 24 misses a multiple of K by one bit. At level 14, batch 1638 pairs axes 16383 and 24576, which straddle a skipped left half and lie 8,193 axes = K + 24 bits apart.
  • An admitted adversarial pattern hits it. Uniform 24 with ell−1 axes 16384..16407 puts two active targets of one color exactly K apart under the aligned schedule, at 24 layers. Literal K-bit guards fail there, which is the §2 gadget failure; the (K−1)-bit windows are checked directly to be target-free. A single short axis at 20000 reaches exact K only for some other bit schedule.
  • So the K−1 correction is needed on admitted layouts, not just in principle.

The runtime is now about 2 minutes. The registered replay and committed-byte preflight pass at the new head.

Evidence

verify.py uses only the standard library and takes about 18 seconds. It covers 3,266 exhaustive lemma cases, the gadget on 2^20 addresses for two sources and two window lengths, and the full production census.

Source bindings: SHA256 pins of CRT.md and check_batched_crt.py, CRT.md phrases, good()'s guard−1 window expression, and the byte hash of the vendored allocator.

#4174's allocator.py is vendored unmodified, with a byte check and a vendor/NOTICE.md (head 5fec853f, blob 4b3ad896, Apache-2.0, Hiroki KUMAZAKI). It is vendored because that PR head is not reachable from main, and package pins resolve only against reachable objects.

python3.12 -B scripts/research_package.py --package research/pr4100-guard-coloring --check-only
  PASS_PACKAGE_METADATA_AND_PINS (not a mathematical acceptance check)
python3.12 -B scripts/research_package.py --package research/pr4100-guard-coloring
  PASS_REGISTERED_RESEARCH_PACKAGE research/pr4100-guard-coloring outcome=completed
python3.12 -B scripts/check_research_commit.py --package research/pr4100-guard-coloring --check-source-history
  PASS_RESEARCH_COMMIT_BYTES {... "files": 9, ...}

Not covered

Task and overlap

Credit

The construction and audited text are Cinna Davis's #4100 (OpenAI Codex assistance). The placement descriptors are kumagi's #4174, vendored unmodified. #4321 (unpaidmoon) states the hypothesis decided here. Prepared by Ryanson Jonathan with substantial Claude Code (Claude Opus 5.5) assistance. Apache-2.0.

🤖 Generated with Claude Code

Window lemma: with position-mod-K coloring, (K-1)-bit guards are disjoint and
free of active targets for every descriptor; K-bit guards contain another
active target exactly at spacing K. CrocSwap#4100's own gadget fails on good
addresses with K-bit guards (3,888 / 2,388 of 2^20) and is exact with the
(K-1)-bit guards its code and 8B/2^K term use. On all 104,864 of CrocSwap#4174's
production plans (allocator vendored, byte-checked) no two active targets can
share a color for any Benes schedule. No new kappa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pinterbanget pushed a commit to pinterbanget/integer-mult-bounds that referenced this pull request Oct 21, 2026
…p#4100 map

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pinterbanget pushed a commit to pinterbanget/integer-mult-bounds that referenced this pull request Oct 21, 2026
…p#4100 map

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…p#4329

Blocked (both ways), uniform 24, uniform 23, three random and ell=32
patterns all have zero possible same-color pairs. Uniform 24 misses a
multiple of K by one bit, and the admitted pattern with ell-1 axes
16384..16407 puts aligned same-color targets exactly K apart at 24 layers,
where literal K-bit guards fail and (K-1)-bit windows are checked
target-free.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pinterbanget pushed a commit to pinterbanget/integer-mult-bounds that referenced this pull request Oct 21, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Mister-Meeseeks
Mister-Meeseeks merged commit 21be39f into CrocSwap:main Oct 21, 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