Repository navigation
Conversation
petalas
force-pushed
the
research/w5-b21-todo-20261018
branch
from
October 18, 2026 17:29
7aea8a4 to
0935ca3
Compare
The CrocSwap#2973 correction reports that the retained PR2542/PR2634/PR2691 word engines group prefix states by coordinate bit 0 while applying a collision budget derived for Hamming-weight parity. That report singles out bit 0. This package tests the changed hypothesis that the substitution is not a bit-0 artifact but a property of the L/2 substitution for any functional other than the parity one. It recomputes the 01021323 fixture from scratch, then classifies all 2^n - 1 nonzero linear functionals on nine small singleton prefix-walk domains with n <= 7 and L <= 14. At (4,10) and (5,12) the substitution falsely prunes a universal word for every functional of Hamming weight <= n-2 and for none of weight >= n-1. At (4,8) the same holds except for one weight-2 functional. Bit 0 is the first member of that class, not a special case. The package also proves and machine-checks the alternation lemma l(q_{i+1}) XOR l(q_i) = v_{w_i}, which identifies the all-ones functional as the only one whose class value alternates with time and therefore the only one for which the L/2 substitution has a justification. Scope: finite certificate on a stated small domain plus one scoped lemma. The seven-label decision regime (7,18) and (7,20) is not reached; the only seven-label domain here is vacuous. No new f(7) bound, no kappa, no selected-frontier change, and no claim that any old exclusion is right or wrong. Co-Authored-By: Nick Petalas <petalas@users.noreply.github.com>
petalas
force-pushed
the
research/w5-b21-todo-20261018
branch
from
October 18, 2026 17:33
0935ca3 to
13db47d
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
f(7)bound, no selected-frontier change. Scoped result: a finite certificate on a stated small domain plus one machine-checked lemma.L/2substitution for any functional other than the parity one.(4,10)and(5,12)the substitution falsely prunes a universal word for every nonzero functional of Hamming weight<= n-2, and for none of weight>= n-1. At(4,8)the same holds except one weight-2 functional (1010). Bit 0 is the first member of that class.l(q_{i+1}) XOR l(q_i) = v_{w_i}, which identifies the all-ones functional as the only functional whose class value alternates with time, and therefore the only one for which theL/2substitution has any justification.Independent recomputation of the retained fixture
Word
01021323,n=4, L=8, recomputed from scratch:S + S == F2^4(4,4)/0(6,2)/82C(4,2)-75C(6,2)+C(2,2)-798 > 5rejects a universal word;8 <= 9does not. These match #2973 MATH.md section 4.Exhaustive functional classification
Every restricted-growth word whose
q_0..q_{L-1}are distinct and whose last step returns toq_0, classified against all2^n - 1nonzero linear functionals:nLAt
(4,8)the verifier finds 22 universal simple words and 6 bit-0 false prunes. Both figures agree with the independent #3096 audit, which I did not consult while writing the enumerator.Scope and what is deliberately not claimed
cyclic_census(7, 18, budget=9, simple=True); PR2634/PR2691 extend toL = 20. The only seven-label domain here is(7,14), which has zero universal simple words and is vacuous.weight >= n-1safety is not proved. It is an empirical regularity of these two domains.(5,10),(6,12),(6,14),(7,14)contain no universal word, so "no false prune" there is a statement about an empty set.substituted budget = -1at(6,12)and-21at(7,14)is recorded as an observation about where the old substitution is meaningless, not offered as a correction.Test plan
python3 -I -O -Werror -B research/f7-bit0-functional-classification/verify.py→PASS_F7_BIT0_FUNCTIONAL_CLASSIFICATIONpython3 -I -O -Werror -B research/f7-bit0-functional-classification/test_verify.py→ 18 tests,OKpython3 -B scripts/research_package.py --package research/f7-bit0-functional-classification --check-only→PASS_PACKAGE_METADATA_AND_PINSpython3.12is not installed on the contributor host; both commands were run under CPython 3.15.0, standard library only, and both pass)verify.pycontains no dependency on repository files and imports no predecessor code. A separately written unpruned enumerator (product(range(n), repeat=L), filtered afterwards) is asserted to agree with the primary pruned enumerator onsimple_closed_wordsanduniversal_wordsat(3,6),(3,8),(4,8)on every run. That cross-check is what caught an off-by-one in the walk's starting step during development.Open next questions
(7,18)/(7,20)functional census — the only domain that changes a maintained decision; needs its own resource budget.>= n-1never fires here; and what the two exceptions (mask1010at(4,8), mask11010at(5,12)) mean.Credit
Nicholas Stone wrote the word-census correction (#2973); James Reed wrote the bit-0 small-domain audit (#3096); Ross Richardson supplied the PR943 singleton prefix-walk model; Douglas Colkitt supplied selected source bindings and review. This package independently re-derives the retained numbers and adds the functional classification and the alternation lemma. It replaces none of them.
CI replay result (post-push update). After the PR was opened, the repository replay job for this package ran and passed on the canonical host under Python 3.12: check
replay (research/f7-bit0-functional-classification)=success,plan=success, mergeable stateclean. That closes the interpreter-version caveat on the contributor host; the local run was CPython 3.15.0 and the registered replay is the authoritative 3.12 run.