Skip to content

Independent verification: QQ16 45-set optimal read-set classification and rank(H|V)=66 of #2389/#2354 (owner bit-function certificate) - #2419

Merged
Mister-Meeseeks merged 4 commits into
CrocSwap:mainfrom
thakrarsagar:loop9d24/i7-s75-qq16-readset-matroid
Oct 15, 2026
Merged

Mister-Meeseeks merged 4 commits into
CrocSwap:mainfrom
thakrarsagar:loop9d24/i7-s75-qq16-readset-matroid

Conversation

@thakrarsagar

@thakrarsagar thakrarsagar commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Status: Independent verification. No new κ, no supplier, no construction. The selected frontier is untouched.

Summary

This PR adds research/qq16-readset-matroid-independent/. It independently checks the new finite claims of #2389 (head aed06c8f8d60ce97b7eb3a7c6c17ad12cbe1e863) and the rank(H|V)=66 premise of #2354 (head 308ebc7405303bb7ed91b012bb705949c6091a16) for the QQ16 common-first-axis hidden-input family on the 96 ordinary ports. The verifier uses only the Python stdlib and exact integer/Fraction arithmetic, reads only main's pinned sources, and imports, copies and executes no PR code.

No discrepancy was found. Every compared value matches the RESULT files of #2389 and #2354:

  • 47 first-axis groups. The axis-2 group C has 30 ports and rank 8, and every other group has independent columns, so rank L = 74.
  • dim V = 88, R_U R_U^T = 48I and R_A R_A^T = 4I. All 768 common-axis routes are bound to registered owners.
  • rank(H|V) = 66, and ker(H|V) = ker R_C = K, of dimension 22.
  • Threshold 66 and exactly 45 optimal 66-port read sets.
  • 22 mandatory ports (1-5 and 93-109) and 29 nuisance coordinates (C − {77}).
  • 77 is the only coloop, and port 77 swaps with exactly 44 ports.
  • Dual vector w = (−1,0,1,0,1,0,1,0) up to sign, with w·r_77 = −4 and α_p ∈ {±1/2}.

How independent is each part?

  • Rank 66 uses a different certificate. The 47 bit functions f_b(d) = bit_0(d b) are linearly independent over owners. The witness is a 47×47 0/1 minor on the identity plus 46 registered owners, with determinant 2^62. Independence gives ker(H|V) = ker L = ker R_C. Neither predecessor uses this route: both use evaluation minors on the same 17 owners.
  • The 45-set classification is independent as an implementation, not as mathematics. It follows the same reduction as Research: adaptive QQ16 reads still need 66 ports; 45 optimal sets #2389's README: supp K forces the 29 omissions, and the dual vector w decides the swap. It was rewritten from main's sources and runs on the 8-row R rather than an 88-dimensional kernel basis. For all 67 candidates it requires a Bareiss rank test and the w·r_x test to agree.
  • Written audit of Research: adaptive QQ16 reads still need 66 ports; 45 optimal sets #2389's adaptive transcript-fiber argument (deterministic, and almost surely for zero-error randomized readers). It is correct as written, given its listed inputs. The audit adds one remark: exactness on the integer points of V already suffices. Bounded coefficient boxes and bounded-error readers are not covered. This is a written check, not a formal proof.
  • Side observations, recorded in RESULT.json but not used for any claim:
    • On the 768 route owners alone, the f_b have rank 44 (45 with the identity).
    • Local review passes found that the identity plus m1 and m4 complete rank 47. That is the minimum: 3 extra owners. The index-order greedy minor happens to use 30 non-route rows (the identity plus 29 non-route registered owners), which is not a requirement.
    • The transposed-action convention also gives rank 47.

Conditional corollary (section 5). #2389's PR description already observes, by port membership, that #2384's second-axis witness (ports 44, 49, 58, 70) lies in C − {77}, so none of the 45 sets reads it. This package adds two things. First, it rechecks #2384's finite witness facts from main's sources: axis 1 = (25,145,4,4), Σ r_p c_p = 0, and B0h(I) = (−1,0,−1,0,0,−1,0,−1). Second, it writes out the explicit corollary. If #2384's zero-observation proof holds, observations are linear and P_{0,A} is invertible, then every reader that is exact on all inputs c + t·w (c ∈ V, t ∈ Q), i.e. on the linear span of the two families, needs at least 67 reads on every terminal path. Exactness on each family separately (V ∪ Q·w) does not give the every-path bound: the same argument still forces 67 reads on the zero-input path, but a reader exact only on V ∪ Q·w can read the 66 ports of U − C and stop whenever one of those answers is nonzero (README section 5; written check, not in verify.py). This is not shown to be tight, and it is not a cost or κ statement.

Base and pins

Reproduce

python3 -I -B research/qq16-readset-matroid-independent/verify.py

Expected output (about 10 s; the run also enforces byte-equality with RESULT.json):

PASS_QQ16_READSET_INDEPENDENT rank_H_V=66 optimal_sets=45 mandatory=22 nuisance=29 swaps77=44 owner_minor=47x47 pr2384_witness_unread_by_all=True controls=12 no_new_kappa

Other checks run:

  • python3 -B -m unittest research/qq16-readset-matroid-independent/test_verify.py: 5 tests OK.
  • python3 -B scripts/research_package.py --package research/qq16-readset-matroid-independent --check-only: PASS.
  • python3 -B -m unittest discover -s tests -p 'test_research_*.py': 65 OK, 2 skipped (run on the first package commit).
  • All runs used Python 3.14.4. The generic Python 3.12 hook was not run because no 3.12 interpreter was available. The code uses no feature newer than 3.10.

Negative controls (12, all rejected for a recorded reason)

Six controls perturb the sources or the witness, and so test the mathematics:

  • An R entry at (row 0, port 1) changed, which gives set count 46.
  • An R entry at (row 3, port 77) changed. Only the Gram identity catches this one; it is kept to show what the classification alone cannot see.
  • The first axes of ports 77 and 6 swapped.
  • The identity as the only owner, which breaks independence.
  • PR2384 witness port 70 moved to port 1, so some set now reads the witness.
  • A witness sign flipped, which breaks the column relation.

The other six perturb only the claimed constants (coloop 78, count 46, a unique set, threshold 65, port 109 dropped, omission 77→76). These test the claim comparator only.

Two local review passes (not committed) added 11 further mutations, all rejected for the right reasons, and independently recomputed the key numbers with separate scripts.

Scope, inherited assumptions, unresolved obligations

  • This is a finite exact replay on one fixed 96-port family. The classification covers all C(96,66) read sets structurally, without enumeration. It is not a formalization of the adaptive theorem and not a QQ16, supplier or multiplication theorem.
  • Inherited from Research: adaptive QQ16 reads still need 66 ports; 45 optimal sets #2389/Prove the sharp 66-port threshold for a QQ16 witness family #2354, not re-derived here:
    • the definitions of H and f_b and the side-effect-free observation contract;
    • the column-list owner action convention (the transposed convention also gives 47);
    • that registered owners are elements of G (supported by the packet's cover_map_semantics);
    • that the first axis is entry 0 of idle_children[0].orthogonal_axes.
  • Not replayed here, and not by the predecessors either: the P_{0,A} equivalence and the ordered F0/B1 maps, retained tail and zero observations.
  • The section 5 corollary additionally inherits Research: the QQ16 66-port read set still loses selected inputs #2384's zero-observation proof. Whether 67 reads suffice is open: reads on the witness ports return arrays built from two functions, so the oracle model needs re-pricing.
  • Open next questions are listed in the README and TASK.json.

Overlap and credit

Overlap was refreshed at about 09:00Z: open and recent PRs (QQ16 / 2389 / 2384 / read set), #1163, #2205 and sibling local task cards. No one else has an independent check of #2389. #2416 (ToikY) is about a different QQ16 object, the A-copy cut cost.

This builds on and credits:

The joint-query NOTICE is retained by link. Licence: Apache-2.0.

Sprint and attribution

  • Sprint track: 75-84, independent verification. OS-random seed: 75.
  • Claim: Start here: coordinating human and agent research #1163 (comment)
  • Contributor: @thakrarsagar, with substantial AI assistance from Claude (Anthropic, Claude Opus 5.5 via Claude Code, run in an automated research-sprint loop). The AI did the derivation, implementation, checking and writing. No independent human review is claimed.

🤖 Generated with Claude Code

thakrarsagar and others added 4 commits October 15, 2026 14:03
Rebuilds the QQ16 common-first-axis family from main's pinned sources
(joint-query packet R_rows/U_ports/map_registry; DATA-PHASES first axes)
without PR2354/PR2389 code. Classifies optimal 66-port read sets through
the complement identity V cap {c_S=0} = ker R_T and the column matroid of
the 8-row R_C (45 sets, 22 mandatory, 29 nuisance, coloop 77, 44 swaps),
and certifies rank(H|V)=66 by a 47x47 owner bit-function minor
(det 2^62) instead of 17-owner evaluation minors. Adds a written audit of
the adaptive transcript-fiber argument and 10 rejecting controls.
Independent verification only; no kappa.

Prepared by thakrarsagar with substantial AI assistance from Claude.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Recheck from main's sources the finite facts of PR2384's second-axis
witness (ports 44,49,58,70; chart axis 1 = (25,145,4,4); sum r_p c_p = 0;
B0 h(I) = (-1,0,-1,0,0,-1,0,-1)) and show its support lies in the 29
nuisance ports, so no family-optimal 66-port set reads it. Records the
conditional corollary (>= 67 reads for readers exact on both families,
assuming PR2384's zero-observation proof) and two more rejecting controls.
No kappa.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Credit PR2389's PR description for the port-membership observation that
  PR2384's witness is unread by all 45 sets; label as new only the
  from-source witness recheck and the conditional >=67 corollary.
- State that the section-2 classification is PR2389's reduction implemented
  independently; the rank-66 owner certificate is the different method.
- Correct the non-route owner statement: route owners give rank 44, and
  identity + m1 + m4 (reported by local review passes) complete rank 47; the
  29 non-route rows are an artefact of index-order greedy selection.
- WITNESS_2384 ports/coefficients are inputs; axes and B0h(I) are compared.
- Split controls into 6 source/witness and 6 claim-comparator controls.
- Note cover_map_semantics support and inverse-robustness for owner rows.

No change to verify.py or RESULT.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lary

The README summary and TASK.json evidence said the 67-read bound holds for
readers "exact on both (hidden) families". Read as exactness on the union
V u Q w, that is false: a reader can read the 66 ports of U - C and stop
whenever an answer is nonzero. The formal statement and proof in section 5
already assume exactness on all c + t w (c in V, t in Q); the summaries now
say so, and section 5 records why the span hypothesis is needed.

Also fix an off-by-one side observation: the index-order greedy minor uses
30 non-route rows (the identity plus 29 non-route registered owners), not 29.

Wording only; verify.py, RESULT.json, tests and replay output are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@thakrarsagar

Copy link
Copy Markdown
Contributor Author

Correction after independent re-audit

An independent re-audit of this PR found two wording errors. Neither affects verify.py, RESULT.json, the tests, the controls or the replay output. Fixed in e2d7d53 (README.md and TASK.json only) and in this PR's description.

  1. Corollary hypothesis misstated in the summaries (major). The README summary, the TASK.json evidence string and this PR's description said that a reader "exact on both (hidden) families" needs at least 67 reads on every terminal path. The natural reading is exactness on each family, i.e. on the union V ∪ Q·w, and under that reading the claim is false. Under the same inherited assumptions, a reader can first read the 66 ports of U − C (the optimal set that omits 77). If any answer is nonzero, the input is in V and those reads determine the target (K_{U−C} = K), so the reader stops after 66 reads. If all answers are zero, the input is in K ∪ Q·w. One more read of port 44 returns c_44·f_2 or −t·f_25, and these are distinguishable (f_2 ≠ 0, f_2(I) = 0, f_25(I) = 1). The formal statement in README section 5 ("exact on all inputs c + t w (c ∈ V, t ∈ Q)") and its proof were already correct, because the proof compares c + t·w with c + (t+1)·w for arbitrary c ∈ V. The summaries now state this span hypothesis. Section 5 now also explains why the span is needed: exactness on V ∪ Q·w still forces 67 reads on the zero-input path, but not on every path. That remark is a written check only. verify.py does not test it.
  2. Off-by-one in a side observation (minor). "The index-order greedy minor happens to use 29 non-route rows" now reads "30 non-route rows (the identity plus 29 non-route registered owners)". RESULT.json lists 47 minor rows, 17 of them route owners, and the identity is not among those 17. This observation is not used for any claim.

No claimed number, verifier, receipt, control or pin changed. README.md and TASK.json are not hash-pinned by verify.py.

Re-run on e2d7d53 (Python 3.14.4, local):

  • python3 -I -B research/qq16-readset-matroid-independent/verify.py → PASS_QQ16_READSET_INDEPENDENT rank_H_V=66 optimal_sets=45 mandatory=22 nuisance=29 swaps77=44 owner_minor=47x47 pr2384_witness_unread_by_all=True controls=12 no_new_kappa (exit 0; includes the 12 negative controls and the byte-equality check against RESULT.json)
  • python3 -B -m unittest research/qq16-readset-matroid-independent/test_verify.py → 5 tests OK
  • python3 -B scripts/research_package.py --package research/qq16-readset-matroid-independent --check-only → PASS_PACKAGE_METADATA_AND_PINS
  • python3 -B -m unittest discover -s tests -p 'test_research_*.py' → 65 tests OK (2 skipped)

(thakrarsagar; prepared with Claude Opus 5.5)

@Mister-Meeseeks
Mister-Meeseeks merged commit 5763846 into CrocSwap:main Oct 15, 2026
43 of 61 checks passed
@thakrarsagar
thakrarsagar deleted the loop9d24/i7-s75-qq16-readset-matroid branch October 18, 2026 08:08
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