Skip to content

Prove six-call two-SWAP cost with arbitrary address spectators - #4939

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
mihir-s-05:research/two-swap-address-spectators
Oct 23, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
mihir-s-05:research/two-swap-address-spectators

Conversation

@mihir-s-05

Copy link
Copy Markdown
Contributor

Two coordinate-SWAP targets still require exactly six paid coordinate-CNOT calls for every finite address dimension n ≥ 2 and scalar-register count R ≥ 2, including free scalar mixing and arbitrarily many restored dirty registers. This resolves the two higher-dimension questions left by commdata2338's #1495 finite certificate. The contribution is a scoped formal-model proof, with no new supplier or κ claim.

The new argument counts writes to each address block row: the two active rows each need at least two writes, and any restored spectator row that is written needs at least two. A hypothetical word of at most five calls therefore never writes an address spectator. Its remaining labels lie in a parabolic subgroup whose projection to GL₂ removes spectator reads in the full formal group algebra. The existing all-register two-coordinate obstruction then excludes the word; a six-call identity attains the bound. The note restates the credited cut proof of the inherited obstruction and explains why neither an unrestricted block projection nor natural-image equality is sufficient.

Only research/two-swap-address-spectators/ is added: the proof, a standard-library verifier, original/actual task card, four exact live source pins, and normal/optimized registered replay.

Validation at 743ddd6 (Windows, CPython 3.12.0, Git 2.47.1):

  • Registered normal and optimized replay and metadata/pin validation pass. Finite checks cover 1,280 transitions, 5,120 row-rank bounds, 2,656 single-write checks, 9,792 subgroup products, and 2,996 write-count vectors.
  • All 20 complete formal six-call endpoints, their reversals and scalar conjugates pass. All 120 single-call omissions and 12 dirty-only faults reject. Controls expose the invalid whole-group projection, natural-representation kernel and changed rank-two tariff.
  • Exact committed-byte comparison and official nine-file export/integrity checks pass. Normal and optimized direct replays also pass from a fresh read-only Git-free export with Git absent from PATH; actual source corruption rejects in both modes and original bytes are restored.
  • python -B scripts/research_selected_baseline.py returns PASS_RESEARCH_BASELINE_BINDINGS_ONLY. This is orientation, not a selected-supplier cold replay.

Reproduce: python -B scripts/research_package.py --package research/two-swap-address-spectators.

The universal conclusion rests on the written argument; the finite fixtures do not establish its universal quantifiers. No independent human or Lean review, native conversion, compiler, hosting, precision/tape, recursive profile or analytic transfer is claimed. The optional full-history publication preflight is unrun because this checkout is shallow; all declared source pins are at the direct parent/base commit and all live inputs are included in the checked export.

Started from canonical main cef4b52, priority revision 7; upstream refresh before submission remained at that commit. The refreshed overlap snapshot covers 311 open PRs and 4,011 Discussion records with complete pagination and no warnings (2026-10-23 02:54–02:56 UTC), plus the complete retained top-level scope inventory. No exact overlap was identified within that coverage; arbitrary diffs and unpublished work are outside it. Original card bit-new-register-model is preserved with a declared scope change to a negative formal-model screen.

Canonical claim and result. Credit commdata2338/#1414/#1495, Gareth Davidson/#1333, Ross Richardson/#1989 and the retained GL2 cut corollary, plus the earlier register-model and cut-method authors recorded in the package. Prepared for Mihir Srivastava with substantial OpenAI Codex assistance; Apache-2.0.

@jwr404

jwr404 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Independent review at head 743ddd6275cfd560d9c3e7825c42545152d14e4c

Requested in the #1166 handoff. The scope is the written proof, steps 1–5. I read it line by line and checked it against a separately written exhaustive search. I found no defect. The six-call minimum follows as stated.

Step-by-step

  1. Normalization. Conjugating N by a scalar map keeps it rank-one and idempotent. Augmentation sends every paid call and T to I_R, so the residual scalar factor is I. ✓
  2. Row-write budget.
    • In the natural representation, a call is I + E_ij ⊗ N, and it changes only block row i, by N·row_j(P).
    • P is invertible, since each factor squares to I because (E_ij ⊗ N)^2 = 0. So row_j(P) has full row rank and every change has rank exactly 1.
    • A row written once keeps its single nonzero change, because other calls only read it.
    • The target delta is (s − I) ⊗ E. This gives rank 2 on rows 0 and 1, and 0 elsewhere. So c_0, c_1 ≥ 2, and a written spectator forces at least 6 calls. ✓
  3. Parabolic projection.
    • Every remaining label I + E_ij with i < 2 lies in H, and so does s.
    • π is a homomorphism by block multiplication: [[A,B],[0,I]][[A',B'],[0,I]] = [[AA', AB'+B],[0,I]].
    • F2[H] ⊂ F2[GL_n] is injective, so formal equality restricts and then pushes forward entrywise. Calls with j ≥ 2 become I_R.
    • I recomputed the n = 3 counterexample (gh = I + E_01 + E_02 + E_21, upper-left block I + E_01). It correctly shows that the step depends on write exclusion. ✓
  4. Cut bound.
    • In the order (0,1),(1,1),(1,0), I+E_01 swaps labels 1↔2 and I+E_10 swaps 2↔3, and s is 1↔3.
    • On ordered pairs, each adjacent transposition reverses exactly one increasing pair, so the crossing rank is 1·rank N = 1.
    • s reverses all three, so the crossing rank is 3·rank E = 6.
    • Subadditivity follows from (UV)[−,+] = U[−,+]V[+,+] + U[−,−]V[−,+]. A ring homomorphism is enough here; faithfulness is not needed. ✓
  5. Attainment. aba = [[0,1],[1,0]] over F2, and (I+([a]+1)E_00)(I+([b]+1)E_00) = I+([ab]+1)E_00. ✓

Independent finite corroboration

This is my own code, with no imports from the package. It is a meet-in-the-middle search over paid words in the formal algebra M_R(F2[GL_n(F2)]). Algebra elements are F2-supported sets of group elements, and free scalar maps are removed per step 1.

n R generators shortest ≤ 5? shortest ≤ 6
2 2 12 — 6
3 2 36 none 6
4 2 72 none —
5 2 120 none (1,163,221 forward states) —
2 3 56 none —

The package verifier also passes, with python3.12 -I -W error -B and with -O, on Linux with CPython 3.12.

Notes, no change needed

  • Step 4 works in the 6-dimensional ordered-pair representation. Because the action of S3 is free, that representation is the regular one; a one-line remark would make this explicit. Only the homomorphism property is used, though.
  • The finite table above is corroboration. It does not replace the uniform proof.

Scope. This is an author-independent check of the written argument and a separate small search. It is not Lean verification, maintainer acceptance or a native-model claim, and there is no κ change.

Reviewed by James Reed with substantial Anthropic Claude (Claude Code) assistance.

@jwr404

jwr404 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Open question 1 (three swaps with spectators) is answered negatively in PR #4950. A regular-representation cut, A = {x : row0(x) < row1(x)} averaged over all orders of the nonzero vectors, gives 3t calls for t swaps at every n. That makes three swaps cost nine. It also reproves this PR's t = 2 result without the projection step. This PR's row budget and model are credited.

@Mister-Meeseeks
Mister-Meeseeks merged commit 3fd7d44 into CrocSwap:main Oct 23, 2026
2 checks passed
Mister-Meeseeks pushed a commit that referenced this pull request Oct 23, 2026
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 #4939 open
question 1. No new kappa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.

3 participants