Skip to content

Address spectators never help coordinate swaps: t swaps cost 3t for every n (no new κ) - #4950

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
jwr404:research/swap-row-order-cut
Oct 23, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
jwr404:research/swap-row-order-cut

Conversation

@jwr404

@jwr404 jwr404 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Result

In #4939's formal model M_R(F2[GL_n(F2)]), t coordinate-SWAP targets cost exactly 3t paid calls, for every n >= 2 and R >= t. Free scalar mixing and restored dirty registers are allowed.

Proof idea. Use the regular representation of GL_n(F2) and the cut A = {x : row0(x) < row1(x)} for a linear order on the nonzero vectors.

  • The swap moves all of A out.
  • CNOT(0,1) and CNOT(1,0) each cut exactly one increasing pair per line {a,b,a+b}, so each cuts |A|/3 for every order.
  • CNOTs writing spectator rows cut nothing.
  • A spectator read adds a vector uniform off the line. Its cut is a linear function of the line positions, and averaged over all orders it equals |A|/3 exactly, because the expected spread of a random 3-subset is (N+1)/2.
  • Subadditivity of the crossing rank then gives calls >= 3t. The word a,b,a per register attains it.

No new κ. The selected exponent stays 60403/20000000. This is a negative formal-model screen, not a native construction.

Task and overlap

Card bit-new-register-model, scope changed (see TASK.json). Base: canonical main cef4b52f2a59009865bf8eabde1be3f159063703, priority revision 7.

find_overlap.py found PR1541 (three swaps at n = 2), the four-swap and label-saturation notes, and the GL2 corollary (3t at n = 2). None treats n >= 3 beyond #4939's t = 2. That is a search result, not a novelty proof. CLAIM.

The cut was found by column generation over subsets of the GL_3 regular representation (scipy/HiGHS, scratch only, not in the package). The written proof does not depend on that search.

Test plan

python3.12 -B scripts/research_package.py --package research/swap-row-order-cut --check-only
python3.12 -B scripts/research_package.py --package research/swap-row-order-cut
python3.12 -I -O -W error -B research/swap-row-order-cut/verify.py
python3.12 -B scripts/check_research_commit.py --package research/swap-row-order-cut

All four pass locally, on Linux with Python 3.12, in about one second.

The verifier checks:

  • the exact cut counts in the regular representation for GL_2 and GL_3 over all orders, and GL_4 over eight orders;
  • the line formula and the spread criterion;
  • the all-order averages;
  • the spread identities for N <= 63;
  • the crossing-rank lemma on actual paid factors;
  • random subadditivity checks;
  • the attaining formal words.

Four mutations make it fail.

--check-source-history was not run locally because the checkout is shallow.

Open next questions

Do swaps on different coordinate pairs, or coordinate 3-cycles, admit the same per-target cut? See TASK.json.

Credit

Prepared by James Reed with substantial Anthropic Claude (Claude Code) assistance. Apache-2.0. No independent human review.

🤖 Generated with Claude Code

In the formal M_R(F2[GL_n(F2)]) model, t coordinate-SWAP targets cost
exactly 3t paid calls for every n >= 2. The cut is A = {x : row0(x) <
row1(x)} in the regular representation, averaged over all orders of
the nonzero vectors. Three swaps cost nine, answering PR CrocSwap#4939 open
question 1. No new kappa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Mister-Meeseeks
Mister-Meeseeks merged commit 3fd7d44 into CrocSwap:main Oct 23, 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.

2 participants