Skip to content

Research: seven-source singleton universal path — length 18 excluded, f(7) >= 20 (no new kappa) - #2542

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
navinor:research/agent-58-f7-singleton-b859517b
Oct 16, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
navinor:research/agent-58-f7-singleton-b859517b

Conversation

@navinor

@navinor navinor commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Seven-source singleton universal path: f(7) >= 20 (no new kappa)

Contributor: Aaron Wang, with help from opencode (substantial AI assistance in scoping, implementation, verification and writing; no independent human review claimed). No kappa, supplier, certificate or selected-frontier change.

Change and mathematical scope

In the PR 943 prefix-walk model (#943, research/universal-connector-boundary), a restored source word w over n singleton labels is universal when paired readouts realize every mask, D(w) = {q_s xor q_t} = F2^n; f(n) is the minimum universal word length. The pinned record (#1185, research/universal-connector-six-source) leaves 18 <= f(7) <= 24 with f(7) explicitly open. This package removes 18:

No universal seven-source word of length 18 exists. Hence f(7) >= 20 and the gap is 20 <= f(7) <= 24.

The alphabet is singletons only. The charged DUO pair-source family (#2396, #2128, #2156) and the 63-mask weight-1/2/3 sparse family (#2229, #2236, #2397) are distinct scopes and are recorded as concurrent, not overlapping.

Method

Smallest falsifying instance first: the engine rebuilds the pinned research/universal-connector-six-source/EXPECTED.json byte-for-byte (945 words max 31/32; 10,395 words max 49/64; 945,945 words max 59/64; records SHA-256 3dcc5689…, 491b295f…, 3d711ffa…), plus the counting lower bounds 10/14/18 and the Gray constructions. The pinned record is f(5) = 12, f(6) = 16; the assignment's placeholder values were corrected by reading the pinned packages.

Then the length-18 census at n = 7, via the prefix vertex set P = E union O (even/odd weight):

  1. Position parity gives |E|, |O| <= 9; counting gives |E||O| >= 64, C(|E|,2) + C(|O|,2) >= 63.
  2. A pair-representation identity (machine-checked rows in CERTIFICATE.json, independently re-derived by collision-multiset enumeration) contradicts the 17-point splits (9,8) and (8,9): full odd coverage forces sum_x A_x B_x >= 4, full even coverage bounds the same sum by 1. So |P| = 18 and every universal 18-word would walk a simple 18-cycle with the forced (9,9) split and collision budget e_ex + b_ex <= 9.
  3. engine.cyclic_census(7, 18, budget=9, simple=True) exhausts the restricted-growth direction words (complete under coordinate relabeling, a hypercube automorphism) with those proved-necessary prunes: 15,775,992 nodes, 312,064 simple 18-cycles, 0 universal words. Shards partition the tree; leaf counts agree with an unsharded run exactly.

Controls and non-vacuity: the cyclic census's leaf set equals the reference canonical word set exactly at n = 5 length 10 and n = 6 length 12; zero universal words at n = 5 length 10 and n = 6 length 14 reproduces f(5) = 12, f(6) = 16 from the other side; planted hits are found at n = 5 length 12 and n = 6 length 16 and re-checked; the set-level engine agrees with a brute-force census of all 20,160,075 ten-point sets of F2^5 (99,200 covers, none cycle-realisable) and reproduces the community nine-point result (7,888,725 sets, max 29, zero covers, #1166 (comment)). independent.py re-checks coverage with the dual predicate, realizes cycles with subset dynamic programming, and re-derives the identity rows without the closed-form bound.

Reproduction and checks

From the repository root:

python3 -I -B research/universal-f7-singleton-seedb859517b/verify.py
python3 -I -B research/universal-f7-singleton-seedb859517b/independent.py
python3 -I -B research/universal-f7-singleton-seedb859517b/test_engine.py
python3 scripts/research_package.py --package research/universal-f7-singleton-seedb859517b --check-only

Observed markers:

PASS_F7_SINGLETON_GAP_VERIFY f(7) >= 20 (length 18 excluded) cycles=312064 universal_words=0 nodes=15775992 seconds=72.2
PASS_F7_INDEPENDENT {"control_sets": "ok", "lemma_rows": {...}, "witnesses_replayed": 0}
Ran 22 tests in 154.694s — OK
PASS_PACKAGE_METADATA_AND_PINS (not a mathematical acceptance check)

The decisive census is search.py (about 15 minutes, resumable from per-shard checkpoints): PASS_F7_SINGLETON_GAP f(7)>=20 L18-excluded.

Scope and open questions

A finite exclusion inside PR 943's abstract interface; no instantiation in the selected supplier and no kappa claim. Open: whether a universal seven-source singleton word of length 20 or 22 exists or the Gray bound 24 is sharp; and whether any 18-point cover of F2^7 exists at all (the set-level restricted addition basis value r((C2)^7), whose six-source analogue the community records as 14 after Gavrylkiv). Structured next questions are in TASK.json and the package README.

…s (f(7) >= 20)

Aaron Wang, with help from opencode (substantial AI assistance; no independent human review claimed). Reproduces the pinned f(5)=12 / f(6)=16 censuses byte-for-byte, proves by an exact pair-representation identity that no 17-point set covers F2^7, and exhausts all canonical length-18 seven-source words (15,775,992 nodes, 312,064 simple 18-cycles, zero universal words) to narrow the recorded gap 18 <= f(7) <= 24 to 20 <= f(7) <= 24. No kappa, supplier or selected-frontier change.
@NicholasStone

Copy link
Copy Markdown
Contributor

Correction to the WORD-census evidence: #2973 (head 91bde9fedb6a1872906876e60235af8b8a45f732) confirms that cyclic_census uses bit-0 groups with fixed collision budgets derived for weight parity. A concrete simple balanced n4 L8 universal counterexample is 01021323 (bit0 split6,2, excess8 > wrongly substituted budget5). Old traversal agreement is therefore insufficient to justify the word exclusion.

The corrected weight-parity engine independently restores L18 (9,9) with 951,416 nodes/zero hits and completes all five admissible L20 splits with zero hits; every run uncapped, exit0, complete=true, and then freshly replayed from the packaged source. With exact split classification, parity-swap and padding, the new finite result is 22 <= f(7) <= 24 inside PR943's abstract singleton word model. No selected-frontier/kappa change. Independent validation covers 164 small complete comparisons and 36 capped n7 comparisons, plus proof controls. Frozen predecessor packages are preserved. Actual-size bit0 SET-level enumeration remains algebraically valid, so unrelated later set-level proofs are not revoked. See PR2973 for the proof, exact receipts, source pins, limitations and predecessor attribution. Substantial OpenAI Codex assistance; no independent human review claimed.

@navinor

navinor commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Corrective review (sweep #8): the word-census justification, reproduced independently

Replying to Nicholas Stone's correction on this PR (#2542 (comment)). I reproduced the finding before writing this reply.

1. Reproduced: the counterexample. A fresh standard-library CPython 3.12 script, written against the definitions in PR 2973's MATH.md section 4 (#2973, fetched at head 91bde9fedb6a1872906876e60235af8b8a45f732), confirms every stated number for the balanced n=4 L=8 word 01021323:

  • each of the 4 labels occurs exactly twice; all eight nonclosing prefix states are distinct; q_8 = 0 (restored, simple, balanced);
  • prefix set {0,1,2,3,4,6,8,12}; pair-XOR coverage is all 16 masks, so the word is universal;
  • weight split (4,4); bit-0 split (6,2);
  • wrongly substituted budget C(4,2)+C(4,2)-7 = 5; bit-0 collision excess 8; correct bit-0 budget C(6,2)+C(2,2)-7 = 9.

Replaying this package's own engine.py::cyclic_census accounting on that word (states grouped by nq & 1, single caller budget) rejects the walk at cumulative excess 8 with the substituted budget 5, and admits it with the correct budget 9. Script output: PASS bit0_collision_excess=8 old_prune_rejects=True (8 > 5) and PASS corrected_budget_admits=True (8 <= 9). As PR 2973 notes, this establishes unsoundness of the prune; it is not by itself a seven-label counterexample at length 18 or 20.

2. Reproduced: the budget substitution. This package's decisive invocation is engine.cyclic_census(7, 18, budget=9, simple=True). The engine groups prefix states by bit 0 (elif nq & 1 in cyclic_census), while budget=9 = C(9,2)+C(9,2)-63 is the pair-identity budget derived for the (9,9) weight-parity split. Time parity fixes the sizes of the weight classes; it does not fix the sizes of the bit-0 classes (PR 2973 MATH.md section 4: for bit-0 sizes 10+d,10-d the valid budget is 27+d^2, not invariably 27). PR 2973's corrected engine groups by Hamming-weight parity ("groups":"hamming_weight_parity" in its receipts) and uses each target split's own budgets even_budget = C(S,2)+C(T,2)-63 and odd_budget = S*T-64. The substitution is the error; the number 9 itself is correct for a weight-parity (9,9) census.

3. Affected sentences in our records (word-level claims resting on the old traversal-agreement justification):

  • PR body, blockquote: "No universal seven-source word of length 18 exists. Hence f(7) >= 20 and the gap is 20 <= f(7) <= 24."
  • PR body, method step 3: "with those proved-necessary prunes: 15,775,992 nodes, 312,064 simple 18-cycles, 0 universal words." The bit-0 fixed-budget prune is not proved necessary.
  • PR body, controls: "the cyclic census's leaf set equals the reference canonical word set exactly at n = 5 length 10 and n = 6 length 12" and "Shards partition the tree; leaf counts agree with an unsharded run exactly." Traversal agreement between implementations that share a prune proves replay fidelity, not the necessity of the shared prune; PR 2973 states this directly ("Reproducing node counts between the old Python and C implementations proves traversal agreement, not the necessity of their shared prune").
  • Receipt markers PASS_F7_SINGLETON_GAP_VERIFY f(7) >= 20 (length 18 excluded) cycles=312064 universal_words=0 nodes=15775992 and PASS_F7_SINGLETON_GAP f(7)>=20 L18-excluded (search.py, EXPECTED.json, CERTIFICATE.json) are historical outputs of the unsound filter, not self-standing proof.
  • Package wording carrying the same claim: research/universal-f7-singleton-seedb859517b/README.md ("the proved-necessary prunes above", the length-18 blockquote), CLAIM.md ("each prune a proved necessary condition"), TASK.json ("Delivered: length 18 excluded, so f(7) >= 20 ..."), CERTIFICATE.json and EXPECTED.json ("f(7) >= 20 (length 18 excluded)").

4. What stands, and on whose evidence. The conclusion "no universal seven-source word of length 18 exists" stands. It now stands on PR 2973's corrected weight-parity engine by Nicholas Stone (NicholasStone) (#2973), which independently restores the L18 (9,9) census at 951,416 nodes and zero hits, uncapped, exit 0, complete=true, and completes all five admissible L20 splits with zero hits; corroborated by PR 3005 by Nick Petalas (petalas) (#3005, open at writing time). What falls is our justification and gap wording: the census receipts above no longer support the exclusion on their own, "proved-necessary prunes" is withdrawn as applied to the bit-0 fixed-budget prune, and the corrected finite result 22 <= f(7) <= 24 (PR 2973) supersedes our "20 <= f(7) <= 24" gap phrasing.

5. SET-level claims are unaffected and are not demoted. PR 2973 scopes this explicitly ("Actual-size bit0 SET-level enumeration remains algebraically valid"): the pair-representation identity rows, the identity contradiction of the 17-point splits (9,8)/(8,9), the reduction of L=18 to simple (9,9) cycles, the counting lower bounds and the verified Gray constructions are not revoked. The 17-point cover chain remains completed at set level by PR 2773 (#2773) and PR 2870 (#2870). PR 2973's MATH.md section 7 records this scoping.

6. Record state in main. PR 2973 is merged and its package research/f7-weight-parity-census-correction/ records the correction in main's tree, with an affected-material inventory in MATH.md section 8 that prescribes preserving frozen predecessor bytes rather than silently changing pinned sources. I therefore opened no separate docs PR: the correction is already recorded in main, and the demotion above applies to how our merged records read against it.

Correction comment on this PR: #2542 (comment)
Correction comment on the sibling PR: #2634 (comment)
PR 2973 (correction, merged): #2973
PR 3005 (independent corroboration, open at writing time): #3005

Contributor: Aaron Wang, with help from opencode (no model named; substantial AI assistance in scoping, verification and writing; no independent human review claimed). All cited PRs were verified with gh pr view --json author,title at writing time: PR 2542 and PR 2634 by Aaron Wang (navinor), PR 2973 by Nicholas Stone (NicholasStone), PR 3005 by Nick Petalas (petalas).

Mister-Meeseeks pushed a commit that referenced this pull request Oct 17, 2026
…ngth degree-filter justification

Checks the retained PR #2542 joint_covers set enumerator, at its actual
coordinate-bit-0 split sizes, against a separate unpruned subset oracle:
all 32,906 zero-containing sets of F2^n for n = 1..4 and all 200 exact
split/filter domains agree (covers 1, 4, 64, 23,552; minimum-degree-two
subcounts 0, 1, 20, 5,074), confirming on the actual function the
set-level scope that PR #2973 states. The minimum-length universal word
010122 (prefix set {0,1,2,3,4}, vertex 4 of degree one) refutes the
docstring's claim that minimal words walk a Hamiltonian cycle, so the
optional degree-two filter is justified only under |P| = L >= 4; the
(3,2) call returns 18 covers unfiltered and none filtered. A pinned
call-site map finds six Python word calls plus PR #2691's native rule
on the invalid balanced budget and four set calls with the filter off;
PR #2773's set rows reproduce without the word engine, conditional on
its recorded Sidon floors. No new bound, f(7) claim or kappa change.

Adds research/f7-set-word-pruning-boundary/ only.

Submitted by @commdata2338 with substantial AI assistance (OpenAI Codex
research and implementation; packaged with Claude Code).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X86sCSXdoDd61SDFfC1PKG
Mister-Meeseeks pushed a commit that referenced this pull request Oct 17, 2026
…its simple-word boundary

Proves that Engine::capacity, the parity-capacity filter in conorholds'
simple length-22 exclusion, is a necessary condition for simple
restored universal words under its four-low, three-high projection,
including pairs between different blocks at one repeated low vertex,
and that each of the sixteen low-linear parity changes preserves its
verdict. A separately written position-pair oracle agrees with the
compiled predicate on all 791,827 declared gap inputs (53,379 accepted,
not claimed to be words); all 176 projections of a universal simple
24-step word pass, 120 with repeated low vertices; parity-reset and
omitted-pair mutants are detected. The universal word
010201030102010345464546 has 23 distinct prefixes and is rejected
because nine positions at low zero carry eight high states, so the
filter needs the simplicity premise that the predecessor's length-22
branch has; this is not a source bug or a length-22 counterexample.
It also reconstructs PR #2973's 01021323 calibration and pins the old
bit-0 call sites of PR #2542, #2634 and #2691. Complete censuses, the
other propagation rules, the published classification premises and
the non-simple branch are not checked. No new kappa.

Adds research/connector-capacity-parity-audit/ only.

Submitted by @commdata2338 with substantial AI assistance (OpenAI Codex
research and implementation; packaged with Claude Code).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X86sCSXdoDd61SDFfC1PKG
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