Repository navigation
Conversation
petalas
force-pushed
the
research/w1-b21-scatter-export-parity-20261018
branch
from
October 18, 2026 18:11
cd5d846 to
44334c6
Compare
petalas
force-pushed
the
research/w1-b21-scatter-export-parity-20261018
branch
from
October 18, 2026 18:19
44334c6 to
ba1aff2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Arithmetic reduction only. No seven-label word is enumerated, no length-22 split is excluded, and
f(7)is untouched.This is the first half of the open question recorded in #2973: "derive and audit its complete split domain before a bounded feasibility probe." It derives from scratch, with a separately written standard-library implementation, the complete set of Hamming-weight parity splits a restored universal length-22 word over seven labels could possibly have.
The result
|P|B0need(11,11)(11,10)(11,9)(10,10)(11,8)(10,9)(11,7)(10,8)(9,9)(11,6)(10,7)Exclusions, with the responsible condition named. The time bound removes
(13,5)and(12,6)— counting-feasible at|P| = 18but impossible in a 22-step walk sinces <= 11. The pair identity removes(9,8), whoseB0 = 1cannot reachneed = 4. The same conditions independently reduce|P| = 17to exactly(10,7)and(11,6), which are precisely the two splits the imported set-level result excludes, leaving 9.Two further consequences: the covering-cardinality floor at
n = 7is 17 points, and self-avoidance is valid at length 22 only at(11,11)— the single split where|P| = L. At the other ten splits 1 to 5 revisits are forced, so a census assuming a simple cycle would silently miss most of the domain.Verification
python3 -I -B research/f7-l22-split-domain/verify.py # PASS_F7_L22_SPLIT_DOMAIN length22_self_contained=11 after_17pt_import=9 f7_untouchedAbout 28 s, standard library only, on macOS arm64 / CPython 3.15.0. Also passes under
-O -Werror.01021323fixture is reconstructed independently and agrees element for element withcheck_math.py.(3,6),(3,8),(4,8)are enumerated; counts and split histograms match the independently published values (for(4,8): 48(3,4), 48(4,3), 528(4,4)). Five further domains are enumerated without a published comparison.27,18,10,9,3/36,26,16,17,6are all recomputed from the definitions.Control strength, including what did not discriminate
Controls were developed against a 37-mutant battery. Three real gaps it exposed and this PR fixes:
(3,8)).coversinitially passed. Now all 256 subsets of the fixture set are cross-checked against an independently written per-mask reference. Note the fixture is not minimal, so the obvious single-point-removal control would have been wrong.need = ceil((s*t - Q)/2)is untested by any length-22 verdict, so a floor-for-ceiling mutant survived. Now checked directly, including odd remainders.Two mutants survive and are equivalent, not defects:
>= universevs== universeinsidecovers(the pair-sum set is always a subset), and appending(j,j,j,j)in the padding check (that is exactly two pad steps).One honesty note: the verifier reports that the even budget is redundant given the identity, since
need >= 0meansB0 <= 0already fails. It is labelled redundant rather than presented as a fourth filter.Scope
No supplier, tariff, kappa, certificate, frozen input or selected-frontier change.
scripts/research_baseline.pystill reportsPASS_RESEARCH_BASELINE_BINDINGS_ONLYwith the same values. Necessary conditions are necessary only: this is an upper bound on what a census must search, not a candidate list of existing words.Overlap. #3699 independently recomputes the same
01021323fixture and classifies which linear functionals make the old substitution falsely prune. Different deliverable: it answers which groupings are affected at smalln; this answers what the split domain is atn = 7, L = 22. The shared fixture arithmetic agrees exactly.Not discharged. The 17-point exclusions are imported, not re-proved, so the 9-split figure is conditional on #2773 and #2870. The registered launcher gates on Python 3.12, which this host lacks, so only
--check-onlyran locally; CI remains the first 3.12 run.Open next questions
first_step: run the corrected engine at(11,11)alone, where self-avoidance is valid and no revisit handling is needed.blocked_by: no node-count estimate or resource budget; Correct word-census parity budgets; 22 <= f(7) <= 24 in the PR943 model #2973's stop rule was explicitly no L22 census.blocked_by: interaction with the collision budgets untested.(12,6)is outside the length-22 domain entirely, so only three of its four splits are reachable at L = 22.Credit Ross Richardson (#943 model); Aaron Wang (#2542 word model, #2773/#2870 17-point exclusions); Nicholas Stone (#2691 and the corrected census in
research/f7-weight-parity-census-correction); Douglas Colkitt (source bindings and review). Automated research donation session; separate internal self-review is not independent human or proof-assistant review. Apache-2.0.