Skip to content

Refute the rank-dependent fallback swap bound s ≤ 2(m − r): s = 7 at m = 6, r = 3 (no new κ) - #4247

Open
petalas wants to merge 1 commit into
CrocSwap:mainfrom
petalas:research/w5-1020d-fallback-swap-rank-bound
Open

petalas wants to merge 1 commit into
CrocSwap:mainfrom
petalas:research/w5-1020d-fallback-swap-rank-bound

Conversation

@petalas

@petalas petalas commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Result

#4237 proves that the retained BIT fallback elimination makes exactly r opposite-bank swaps and s ≤ 2m − 1 − r same-bank swaps for a rank-r header, so at f ≥ 2 paid_children pays 8m² + 2m − 6 + r + 3s children. Its first open question asks whether s ≤ 2(m − r) always, which would make 8m² + 8m − 6 − 5r the exact rank-r maximum. It does not.

m = 6, r = 3 over Z/3^w (w = 1, 2, 3):  s = 7 > 6,  318 children > 315
every 6 ≤ m ≤ 64, r = m − 3:             s = 7 > 6,  3 children above the formula
every 8 ≤ m ≤ 64, r = 4:                 s = 2(m − 4) + 1, 3 children above the formula

The m = 6 chart over F₃, with axes {0, 1, 2}:

[[1,2,1,0,0,0],[2,0,0,0,2,0],[0,0,2,0,2,0],[1,2,0,0,0,2],[2,1,1,2,1,0],[1,2,0,0,2,2]]

It makes 3 head-phase and 4 tail-phase same-bank swaps. Family A is diag(G6, I) and family B is diag(G6, #4237's rank-one witness). Complete idempotent censuses for (q, m) = (3, 2), (3, 3), (3, 4), (3, 5) and (5, 3) obey the bound, with maximum exactly 2(m − r) per rank. So m = 6 is the smallest violating dimension over F₃.

Claim type: finite certificate. It refutes a conjectured formula through the unchanged retained code. It does not determine the true rank-r maximum. No new κ, no audit of other #4100 premises, no supplier admission and no selected-frontier change. Package: research/fallback-swap-rank-bound. Claim.

Evidence

verify.py checks the SHA256 pins (the same three vendor files #4237 pins), then runs the unchanged prepare/paid_children path:

A separate F_q elimination, cross-checked against the vendor path on the counterexample, runs the censuses (counts matched to q^{r(m−r)}[m choose r]q) and checks that diag(1·e₀ᵀ, I{r−1}) attains 2(m − r) for q ∈ {3, 5}, m ≤ 12.

Reproduce from the repository root:

/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -W error -B research/fallback-swap-rank-bound/verify.py
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -W error -O -B research/fallback-swap-rank-bound/verify.py --quick
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/research_package.py --package research/fallback-swap-rank-bound
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/check_research_commit.py --package research/fallback-swap-rank-bound --check-source-history

Expected status: PASS_FALLBACK_SWAP_RANK_BOUND_REFUTED. Local timing: research_package.py runs both registered commands in 97 s; the full command uses about 95 s of CPU, mostly the (3, 5) census of 1.78 million idempotents; --quick skips only that census and takes about 7 s.

Limitations and unrun obligations

Open next questions

  1. What is the exact rank-r maximum of s for 2 ≤ r ≤ m − 2? Start by bounding the tail-phase swaps in terms of the displaced head rows; the head phase is already capped at m − r.
  2. Can the excess s − 2(m − r) exceed one?
  3. Which header ranks reach the fallback in the auxiliary BIT recurrence? Until the maximum is known, a rank-dependent bill can use only the proved ceiling 2m − 1 − r.

Related open work

Fresh overlap included the open PR list, this account's PRs, the latest 30 handoff comments, a title search for "fallback same-bank swap" and a grep of merged package READMEs for "same-bank" and "2(m − r)".

CI notes

Locally, research_package.py (PASS_REGISTERED_RESEARCH_PACKAGE), check_research_commit.py --check-source-history (PASS_RESEARCH_COMMIT_BYTES) and both registered commands pass on commit 1ed4cf2ed0da7946a06587901356927a5c11c8ca. Hosted CI is green on that head in run 39494001266: plan passed in 2m50s and the package replay in 5m12s. No check failed, and no local obligation was left to CI.

Produced by Nick Petalas. Credit #4237 for the rank law, closed forms, reduction to F_q and rank-one witness; the fallback program and descriptors are retained from source527, commdata2338, Ross Richardson (PR2159/PR2188) and Jose Manuel's continuation; FALLBACK.md comes from #4100. Independent human and formal proof-kernel review are unclaimed. Apache-2.0.

The retained fallback elimination can make 2(m - r) + 1 same-bank swaps.
An m = 6 rank-3 header over Z/3^w and two block families covering every
6 <= m <= 64 pay three children more than 8m^2 + 8m - 6 - 5r. Complete
censuses for m <= 5 over F_3 obey the bound, so m = 6 is the smallest
violating dimension there.
@rcfc-jreed

Copy link
Copy Markdown
Contributor

Independent scoped audit of #4247 fallback swap rank-bound refutation at 1ed4cf2e: 10/10

Code-disjoint local fork. Head 1ed4cf2ed0da7946a06587901356927a5c11c8ca. CLAIM.

No packaging defect. PASS_FALLBACK_SWAP_RANK_BOUND_REFUTED. Pins + vendor SOURCES digests; fork rc=0.

Finite replay ≠ formal proof. James Reed (@rcfc-jreed), with substantial AI assistance (Claude, in Cursor).

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