Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions research/atomic-trio-connector/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Atomic triple-sum connector

**Scoped negative result; no new kappa.** One new complete call
`TRIO_{j,k,l}: z += B_j x_j + B_k x_k + B_l x_l` does not improve the charged
universal all-nonzero-row budget on three or five sources. The symbol is
atomic: it contributes one prefix step of weight three, three source-map
applications and one root frame. It does not expose the two partial sums.

This refines the connector-alphabet card. The fixed-alphabet premise that
changes is the ban on combined source queries in
[the universal connector boundary](../universal-connector-boundary/README.md).
Weight-2 DUO steps, a second connector, mutable sources and a larger source
count are not part of this result.

```sh
python3 -B research/atomic-trio-connector/verify.py
```

Expected:

```text
PASS_ATOMIC_TRIO_CONNECTOR three_source_orders=24 misses={3: 8, 5: 8, 6: 8} five_source_words=6048000 full_covers=0 best_coverage=30
```

Python 3.10+ and the standard library suffice. The registered replay is the
same command through `scripts/research_package.py`.

## Interface and price

The predecessor interface is unchanged except for the new symbol. Rows `x_j`,
`y_i` and the connector `z` start arbitrarily dirty. Maps `A_i` and `B_j` are
exact and need not commute. Sources stay read-only. A schedule may use the old
calls `B_j: z += B_j x_j` and `A_i: y_i += A_i z`, plus any number of atomic
triple sums on distinct sources. Paired `A` readouts still see only the
boundaries between B-side calls. Each nonzero output row therefore still needs
two boundaries whose prefixes differ by its mask, and every source must appear
an even number of times for `z` to return to its initial value.

Let `λ_j > 0` be the price of one application of `B_j`, and let `f ≥ 0` be the
price of one B-side root frame: dispatch, private-scratch restoration, head
return and entry/exit. A single toggle costs `λ_j + f`. A triple sum costs
`λ_j + λ_k + λ_l + f`. Charging it as one frame without the three applications,
or as a free fusion of an arbitrary old word, is a different contract and is
not used here.

## Why fewer frames cannot cover

A closed B-side word of `k` calls has at most `k` distinct prefixes. Those
prefixes determine at most `k(k-1)/2` nonzero differences. Covering every
nonzero mask of `n` sources therefore needs `k(k-1)/2 ≥ 2^n - 1`. Restoration
makes `k` even once any number `t ≥ 1` of triple sums is included, because the
application count is `A = k + 2t`.

| Batch | Known repair | Counting | Only shape that could tie that repair | Outcome |
|---|---|---|---|---|
| 3 sources, 7 masks | 6 toggles, 6 applications | `k ≥ 6` and `A ≥ 8` | none | strictly more applications |
| 5 sources, 31 masks | 12 toggles, 12 applications | `k ≥ 10` and, to keep `A ≤ 12`, only `t = 1`, `k = 10`, `A = 12` | 6,048,000 words | none covers all 32 masks |

The three-source repair is the predecessor's four-source word with the idle
source deleted: `B0 B1 B0 B1 B2 B2`. The five-source repair is the predecessor's
twelve-toggle word, which can repeat whichever source is cheapest. Against
either repair, every positive price vector leaves a gap of at least
`2 min λ_j` on the source side and no frame saving.

The four-call three-source words are not covering candidates: four prefixes
give at most six nonzero differences. They do meet that ceiling. All 24 orders
of `{e0+e1+e2, e0, e1, e2}` have four distinct prefixes and miss exactly one
weight-2 mask, eight times each for masks 3, 5 and 6. The word `TRIO, B0, B1, B2`
has prefixes `0, 7, 6, 4` and misses 5. The missing mask is the sum of the four
prefixes in every order.

## Five-source census

Appearances totaling 12, each even and at least 2, must be `4,2,2,2,2`. With
one triple sum, the source of multiplicity 4 may lie inside or outside the
triple. There are 30 inside-heavy patterns and 20 outside-heavy patterns.

```text
30 * 10! / (3! 2! 2!) + 20 * 10! / (4! 2!) = 6048000
```

Two generators enumerate every word: multiset permutations with the triple sum
inserted in each slot, and direct placement by index combinations. They agree
on the coverage histogram

| Masks covered | 16 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 28 | 29 | 30 |
|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| Words | 140400 | 878400 | 1162800 | 208800 | 993600 | 1022400 | 399600 | 658800 | 396000 | 57600 | 129600 |

The largest coverage is 30 of 32. No word covers 32. A listed control,
`TRIO_{0,1,2} B0 B0 B0 B1 B2 B3 B3 B4 B4`, is restored and misses at least one
mask; no paired readout emits that mask from the all-ones input.

The predecessor controls are also checked, not re-proved: the ten-toggle word
misses only mask 21, and the twelve-toggle word covers every mask. Identity
schedules for the three-source repair and the twelve-toggle repair are replayed
on basis and mixed inputs, with a dirty connector, forward and backward. The
three-source repair is additionally replayed at length 2 with three
noncommuting source maps. Dropping the mask-7 row is a failure control.

## Open next questions

Could a different single instruction, whose step is not an atomic weight-3 sum
and not a weight-2 DUO, cover all 32 five-source masks in ten B-side calls
while paying at most twelve source applications? That is the only remaining
counting window in which a new B-side step could tie the twelve-toggle leaf
bill and still reduce the frame count. The first step is to fix the step subset
and the even-appearance equation before searching. Weight-2 DUO is discussion
#1403. Two-connector transfers are #1412, #1486 and PR #1438; #1486 has since
reported that four paid transfers do not cover these masks, and this package
does not continue that search.
An interruptible triple that exposes its partial sums is the old toggle
alphabet inside one frame, which this price model does not treat as free.

## Credit and limits

The predecessor is Ross Richardson's universal connector boundary, with the
PR934 binary-query contract. This package adds the atomic triple-sum price and
the three-source and five-source exclusions above. It does not claim priority
for that boundary, for Navinor's DUO proposal, or for the two-connector
transfer results.

No selected supplier, certificate, review ledger or kappa changes. Common-label
realization, frames, hosting, precision, tape and the analytic hypotheses of the
selected construction remain open. The census is a finite exclusion of one
charged symbol on two batch sizes, not a proof-assistant theorem and not a
lower bound for every other connector alphabet.

Prepared by Riquelme Soares (@hevlyo) with substantial Cursor agent assistance.
New work is Apache-2.0. No independent human peer review is asserted.
24 changes: 24 additions & 0 deletions research/atomic-trio-connector/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"schema_version": 1,
"base_commit": "ef5f39403610d231a0c27e8a6b4f08c10209bcd6",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11",
"sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "c05fafaa25ba95b2d5af86b1800427198e3d20eb",
"sha256": "89b5928bc92c81e2647b6d702a7ad85a6795b8f44e2eb267b2ff3145d8f2b2ce"
},
{
"path": "research/universal-connector-boundary/README.md",
"usage": "input",
"git_blob": "d277f7c5830b1f2bc42e1ff41ab86e7d7564929f",
"sha256": "23415f7829ab8d80a783142f10f7d31abbce84579362769984680af3df954476"
}
]
}
60 changes: 60 additions & 0 deletions research/atomic-trio-connector/TASK.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"schema_version": 1,
"task_id": "connector-alphabet-change",
"priority_revision": 2,
"base_commit": "ef5f39403610d231a0c27e8a6b4f08c10209bcd6",
"original_card": {
"id": "connector-alphabet-change",
"question": "Does one explicit extension of the connector alphabet offer a favorable completed budget?",
"starting_points": [
"research/universal-connector-boundary/README.md",
"certificates/selected-result.json"
],
"methods": [
"Construct and charge a legal extra operation on a minimal instance.",
"Prove a target-specific bound after adding one specified operation family."
],
"acceptance_gate": "State which fixed-alphabet premise changes and charge its implementation; do not declare it free.",
"first_step": {
"command": [
"python3",
"-B",
"research/universal-connector-boundary/verify.py"
],
"expected": "PASS_UNIVERSAL_CONNECTOR_BOUNDARY",
"inspect": "Reproduce the 945-pairing control, then read Exact interface to list the allowed calls.",
"scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay."
},
"first_experiment": "Add exactly one legally priced operation and test a tiny dirty-input instance before enumerating larger cases.",
"bottleneck_link": "A new legal connector operation could change recursive interface cost; a larger census in the same alphabet is a separate side result.",
"allowed_variations": [
"Choose one additional operation and a small source count for its first counterexample."
],
"scope_change_triggers": [
"Keeping the alphabet and only increasing the source count; record this as a changed assignment."
],
"overlap_terms": [
"universal connector",
"source-toggle",
"connector alphabet"
]
},
"scope_status": "refined",
"actual_scope": "Does one atomic triple-sum call, priced as three source-map applications plus one root frame, lower the completed universal all-nonzero-row budget on three sources or on five sources?",
"scope_change_reason": "The card allows one additional operation on a small source count. The operation is fixed as the atomic weight-3 sum TRIO_{j,k,l}, and the batches are the universal 7-mask and 31-mask targets. The old alphabet, weight-2 DUO steps, a second connector, mutable sources and a larger source count are excluded.",
"bottleneck_link": "A cheaper legal connector operation would lower recursive interface cost. This symbol does not: on the universal batches its fully charged source-side bill stays at least two cheapest applications above the known repairs, so it does not change the paid recursive profile.",
"budget_minutes": 60,
"stop_rule": "Stop once the three-source counting bound and the five-source ten-call census are checked. Do not search longer TRIO words, six sources, internal partial-sum readouts, DUO steps or a second connector.",
"outcome": "negative-result",
"evidence": "verify.py: all 24 three-source four-call orders miss one weight-2 mask; both generators agree that 0 of 6048000 five-source ten-call words cover 32 masks (best 30); identity and length-2 matrix replays of the known repairs pass; dropping mask 7 fails closed.",
"author": "Riquelme Soares (@hevlyo)",
"ai_assistance": "Substantial Cursor agent assistance in the obstruction argument, the dual census, the verifier and the write-up. No proof assistant was used.",
"open_questions": [
{
"question": "Is there a single new B-side instruction, other than an atomic weight-3 sum or a weight-2 DUO, that covers all 32 five-source masks in ten calls while paying at most twelve source applications?",
"why_it_matters": "That is the only counting window in which a new B-side step could tie the twelve-toggle leaf bill and still reduce the frame count.",
"first_step": "Fix the step subset and the even-appearance equation, and reject the symbol if its application count already exceeds twelve before searching words.",
"blocked_by": "Discussion #1403 claims weight-2 DUO. Discussions #1412 and #1486 plus PR #1438 study two-connector transfers; #1486 reports that four paid transfers do not cover these masks, and this package does not continue that search. An interruptible triple is the old toggle alphabet inside one frame, which this price model does not treat as free."
}
]
}
20 changes: 20 additions & 0 deletions research/atomic-trio-connector/VERIFY.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"schema_version": 1,
"status": "ready",
"python": "3.12",
"requirements": [],
"inputs": [
"research/universal-connector-boundary/README.md"
],
"commands": [
{
"argv": [
"{python}",
"-B",
"{package}/verify.py"
],
"timeout_seconds": 300,
"checks": "Three-source weight-2 obstruction, five-source candidate count, dual census of all 6048000 ten-call words, known ten- and twelve-toggle controls, dirty identity and length-2 matrix replays, and the positive leaf-price gap."
}
]
}
Loading