Skip to content

Prove the two-short-row connector obstruction for every modulus - #4600

Open
petalas wants to merge 1 commit into
CrocSwap:mainfrom
petalas:research/w1-1022a-two-row-obstruction
Open

petalas wants to merge 1 commit into
CrocSwap:mainfrom
petalas:research/w1-1022a-two-row-obstruction

Conversation

@petalas

@petalas petalas commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Scoped proof for balanced unsigned depth-four dirty chain connectors, produced by Nick Petalas. This extends #4280's prime-characteristic obstruction to every modulus and supplies a new infinite composite-characteristic construction.

two short rows  =>  m | cL for each short-row length L
unit c         =>  at least three short rows
m = 8t, c = 4t =>  exactly two short rows and exactly 4m calls, for every t >= 1

The necessary condition is not claimed sufficient. The written proof carries both unbounded results; the finite replay checks the new words and an arithmetic relaxation. Only research/depth4-two-row-obstruction/ is added. No new kappa or selected-frontier change.

Evidence

Before: #4280 proves the two-short-row obstruction only when m is prime and gives finite 4m witnesses through m = 64. After: the unit-coefficient obstruction applies to every modulus, while the explicit m = 8t family attains 4m calls with two short rows for every t.

Local CPython 3.12.15, macOS arm64, standard library only:

  • 64 constructed family words, t = 1..64: balanced counts, all chronological interval conditions and separate UT5 products pass.
  • 128 literal replays with dirty registers and noncommuting 2-by-2 maps restore all intermediates and give the required target gain.
  • 436,358 tuples in the necessary two-row algebraic relaxation, including 235,610 with nonzero c: annihilator and divisibility checks pass. These tuples are not claimed to be realizable profile records.
  • 17 rejection controls pass. Normal and optimized registered commands each take less than one second; exported isolated replays take 0.251 s and 0.255 s.
  • PASS_REGISTERED_RESEARCH_PACKAGE, PASS_RESEARCH_COMMIT_BYTES with source-history ancestry, and eight-file committed-export integrity pass at 44640c4a9538d5565d33e6dc218889f130143ce7. The exported verifier passes normally and under -O. Receipts are generated from package and input hashes.

Exact reproduction from the repository root:

/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -W error -B research/depth4-two-row-obstruction/verify.py
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -O -W error -B research/depth4-two-row-obstruction/verify.py
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/research_package.py --package research/depth4-two-row-obstruction
/Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B scripts/check_research_commit.py --package research/depth4-two-row-obstruction --check-source-history

Any CPython 3.12 can replace the local interpreter path. The verifier writes no files and imports no predecessor code.

Limitations and unrun obligations

The theorem concerns balanced unsigned depth-four words and their row-model complexity. It does not classify all two-row nonunit targets, prove a uniform three-row construction for unit targets, or settle the 4m conjecture for every m and c. The all-modulus statements are written proofs, not conclusions extrapolated from the finite domain. Independent human and formal proof-kernel review are unclaimed. No Lean build or selected cold replay was run. Physical routing, storage, precision, admission and a recursive supplier caller remain unpriced; no complete multiplication theorem follows.

Open next questions

  1. Which nonzero coefficients admit exactly two short rows? Enumerate the monotone profiles for a fixed pair L and m-L after applying the new divisibility condition. The condition is not proved sufficient.
  2. Can three short rows realize every unit coefficient for every m >= 6? The new result proves necessity; a uniform construction must retain the rho and beta budgets.

Related open work

Refreshed this account's open PRs created since the CLAIM at 2026-10-22 09:15:33 UTC and read every returned body. Apart from this PR, the results are:

No newer account PR studies this depth-four short-row question, so no cross-PR numeric equality check applies to this refresh. Historical and unpublished coverage remains partial.

Merged predecessors: #4280 supplies the row criterion and prime-modulus lemma; #4249 supplies the interval floor; #4263 supplies the earlier depth-four witnesses. Their 4m values agree numerically with the new family at m = 8,16,24,32,40,48,56,64: lengths 32,64,96,128,160,192,224,256. This package checks its own new words and does not audit their tables. Credit Nick Petalas for these predecessors and Ross Richardson for the #943/#934 complete-call connector lineage. Exact base, source blobs and hashes are in SOURCES.json.

Canonical claim: #1166 (comment)

CI notes

CI blocked by main for head 44640c4a9538d5565d33e6dc218889f130143ce7. In run 39755207549, plan failed in Onboarding helper tests. The log reports 331 tests, four failures and 11 skips. The package replay job was skipped, so hosted CI has not certified this package. Local verification stands as already recorded above.

The four failures are all in tests/test_research_current_status.py:

  • test_current_ci_section_matches_selected_record: the current CI navigation section lacks the selected make frontier4359-verify command.
  • test_current_section_matches_selected_record: the status section contains **0.0023 = 23/10000**, while the assertion requires the literal **0.0023**.
  • test_history_banner_precedes_historical_sections: the opening section lacks the required historical snapshot banner.
  • test_only_the_first_heading_claims_current_or_selected: ## Historical selected status through #1094 still contains selected.

All four reproduce from the exact test and document/record inputs exported from unchanged origin/main at f626db5c3a3d781d8f7695038776c621651f75e1. The focused local command /Users/nick/git/integer-mult-bounds/.venv/bin/python3.12 -B -m unittest discover -s tests -p test_research_current_status.py -v runs six tests with these same four failures and two passes. The export and reproduction log are outside the checkout.

The independently inspected logs of two other contributors' runs have the same four failures and assertions, each reporting 331 tests, four failures and 11 skips:

This is a shared onboarding/documentation failure, independent of the new package. No shared file, package file or commit was changed. DONE remains pending green CI; scratch evidence is retained.

Merge danger

Two-way door. Blast radius: isolated package. No shared code, pinned predecessor, upstream archive or selected record changes.

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.

1 participant