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
136 changes: 136 additions & 0 deletions research/p104-noncarrier-two-add-seam/PROOF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Two ADDs across the 572 seam cannot restore the outside outputs

This is an exact finite exclusion in the rational scalar model of the selected
PR6030 word. It is not a new supplier or a universal P104 obstruction.
All event indices are zero based, and a window is immediately **after** its event.

## Domain

Keep the complete prefix, original event schedule, charts, fields and owned
lifetimes. Immediately after event 13637 (`COPY 778 <- 572` at chart 595),
replace field 572 by a new independent input `z`. The displaced original row is
`ell X`, where `X` consists of all 770 arbitrary original public inputs.

Insert precisely these two ADD opportunities (a zero coefficient is allowed,
so the exclusion also covers using fewer than two):

1. After any event `i` in 13637..13651, add `a * field_u` to `field_v`, with
distinct `u,v` in chart 595. Its six roles are
`[127,572,581,582,731,778]` throughout these windows.
2. After event `j` in `{13652,13654,13655}`, add `b * field_s` to `field_r`,
with distinct `s,r` then at chart 603. The banks are respectively
`[572,740]`, `[572,740]`, `[572,709,740]`.

Both coefficients may be arbitrary rationals. Sources need not be carriers:
these operations may temporarily change original `X` rows. Event 13652 is the
unchanged MOVE of 572 from 595 to 603; event 13654 adds `-572` into 740;
event 13655 brings 709 to 603. CLEAR 778 at 13656 also stays unchanged.

Let `V=127`, the original final chart of 572, and let `O` be the 186 public
roles whose final chart differs from V. The required necessary condition is
that **every O output equal its original unsplit output for every X and z**.

**Result.** None of the `15 * 30 * (2 + 2 + 6) = 4,500` location pairs can
meet that condition. This holds even if erasing z completely were permitted.
Consequently none can supply a legal split with a nonzero V-final z target.

## Exact endpoint polynomial

Use row vectors for input functionals and column vectors for final public
outputs. Let `R_i` be the original prefix at window i and `S_i` the original
public suffix. Let `beta_i` be the propagation, through original events, of
the unit vector placed at 572 at the overwrite. Set

```
e = z - ell X
D = S_cut e_572
A = S_i e_v
B = S_j e_r
b1 = (beta_i)_u
b2 = (beta_j)_s
g = (T_{j<-i})_{s,v}
f = (R_i X)_u + b1 e
h = (R_j X)_s + b2 e
```

Here `e_572,e_v,e_r` are state-coordinate unit vectors; `e` without a
subscript is the scalar functional `z-ell X`. `T_{j<-i}` is the unchanged
intervening linear program. The first source's value is f. Its update changes
the second source's value from h to `h + a*g*f`. Linearity of the retained
suffix gives the complete final public difference:

```
D e + a A f + b B h + a b g B f. (1)
```

This includes original-input defects as well as the z coefficient. It does
not assume that either correction has zero original value. Neither does it
linearize around zero coefficients or discard the interaction term.

Introduce independent rational unknowns `(a,b,c)` in place of `(a,b,a*b)`.
For each outside output and each input column (including z), setting (1) to
zero is a linear equation in these three unknowns. Every actual two-ADD
solution would solve this **more permissive** system with `c=a*b`.
The verifier proves all 4,500 relaxed systems inconsistent. No bounded
coefficient search, root-finding or unproved quadratic-solving step is used.

## Certificates and coverage

The checker authenticates the selected compressed word against SOURCES.json,
replays its exact rational rows and live charts, and constructs reverse public
suffix columns. The complete forward endpoint and reverse transpose agree;
all original owned rows restore and their lifetimes end. This authenticates
the scalar data used here, not the selected native implementation.

For each of all 4,500 location pairs, sparse elimination records a rational
linear combination of original protected-output equations whose left side is
zero and right side is one. A separate checker recomputes the selected original
equations and verifies those dot products directly, without row reduction.
There are 4,262 one-equation and 238 two-equation contradictions. The canonical
certificate transcript SHA-256 is retained in RESULT.json; every replay
recomputes and checks every certificate, not merely its digest.

For example, the first pair is
`(i,u,v,j,s,r)=(13637,127,572,13652,572,740)`. A contradiction uses output 120's
original input-column equations 0 and 34 with multipliers `-2` and `1`.
The exact right-side sum is 1 and all three unknown coefficients sum to zero.
The literal coordinates and multipliers are in RESULT.json.

Independent literal whole-word execution checks four parameterized production
cases against (1) on **all original input columns and the new z column**.
These include a nonzero interaction term, a correction using 778, a first
update before the ADD into 582, and a changed original row. The literal engine
has its own event loop and row arithmetic, separate from the prefix/suffix
engine. This is implementation cross-checking by an AI-assisted contributor,
not independent human or formal-kernel acceptance.

A synthetic changed-boundary fixture admits a two-ADD non-carrier repair; the
checker does not reject every model by construction. Moving 572 to the wrong
chart is rejected at its actual consumer, and a forged dual is rejected.

A particularly relevant false positive is `127 -> 572` with coefficient 1
after 13651, followed by `740 -> 572` with coefficient 1 after 13654. Its
outside z-leak is zero and z survives publicly, but its outside original-X
rows are wrong. The full equations reject it. This demonstrates why a z-only
check would not settle the claimed question.

## Scope boundary

PR6067 and PR6069 cover corrections that preserve the original scalar rows at
each completed atomic carrier update. Their results do not imply this one:
we allow non-carrier sources and change original rows between two different
charts. Conversely, this package covers only the stated two-ADD locations.
It says nothing about three or more ADDs, different later windows, changed
prefixes, non-unit injection, new routes/storage or changed scheduled events.
It does not audit either predecessor's complete proof or census.

The necessary scalar condition already fails. Therefore no candidate reaches
pairing, productive targets, owned-restoration after a successful edit, native
realization or full paid/ordinary/compiler/outer pricing. Those checks are not
silently counted as passed. The selected word, its five framework assumptions
and kappa remain unchanged.

Prepared for **JoyboyBrian**, with substantial OpenAI Codex assistance.
Apache-2.0. Credit apoursh (PR6067), Jonathan Capalbo (PR6069), JosieElliston
(PR6045), Nick Petalas (PR6040), Matarener (PR5994), flyingviper (PR5718),
Ali Romman and DreamingOfClouds (selected P104 word), and their retained lineage.
81 changes: 81 additions & 0 deletions research/p104-noncarrier-two-add-seam/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# P104: two non-carrier ADDs across the helper 572 seam fail

**Scoped exact exclusion; no new kappa.** On the selected PR6030 word,
none of 4,500 declared two-ADD location pairs restores every outside-V output
following the unit overwrite of helper 572 after event 13637. The corrections
may temporarily change original input rows, so this is outside the carrier-only
models of [PR6067](https://github.com/CrocSwap/integer-mult-bounds/pull/6067)
and [PR6069](https://github.com/CrocSwap/integer-mult-bounds/pull/6069).

The first ADD is at chart 595 after any event 13637..13651. The second is at
chart 603 after 13652,13654 or13655. All original events, fields, charts and
lifetimes stay fixed. Coefficients are arbitrary rationals, including zero.
Every original input and the new independent z are symbolic. [PROOF.md](PROOF.md)
specifies the complete domain and endpoint polynomial.

All cases fail even after relaxing the product `a*b` to an independent third
unknown. Each has an exact independently checked linear contradiction:
4,262 use one equation and 238 use two. Four separate literal whole-word checks
validate the polynomial on all input columns, including a nonzero interaction
term. A synthetic changed-boundary two-ADD repair is accepted, while a wrong
seam chart and a forged contradiction certificate are rejected. A retained false positive clears the z-leak but corrupts original inputs.
[RESULT.json](RESULT.json) retains the deterministic certificate digest and counts.

The scientific base is canonical main `721c03822c421b7f7fcbb2598993b947c4d88419`,
priority 8, selected conditional kappa 0.003125804. The canonical investigation is
[Discussion 6074](https://github.com/CrocSwap/integer-mult-bounds/discussions/6074).

## Reproduce

Python 3.12 and its standard library, from the repository root:

```sh
python3.12 -I -B research/p104-noncarrier-two-add-seam/verify.py
python3.12 -I -O -B research/p104-noncarrier-two-add-seam/verify.py
python3.12 -B scripts/research_package.py --package research/p104-noncarrier-two-add-seam
```

Direct normal replay took about 8.6 seconds on macOS arm64. Both registered
modes have 30-second limits. Every guard remains active under `-O`.
`--write` regenerates only this package's RESULT.json; default replay is read-only.
There are no executable pending-PR dependencies: the sole external live input
is the selected WORD.json.gz, source-pinned in SOURCES.json and declared in VERIFY.json.

## Coverage and overlap

This follows the original-row-changing correction question in PR6067 at
`4d629cf0d20a06d65b3ba0cf3a34e105128725e3` and PR6069 at
`b3f5aabddbae2d65f80bb8356e6993e0a65cd245`. Their carrier-only exclusions are
credited rather than replayed. The package derives its boundary data directly
from the selected word; neither pending proof is an executable dependency.

Preclaim overlap read 341 open PRs,5,722 discussion records and 8,348 local notes.
That metadata coverage is not a novelty guarantee or a search of historical
diffs/unpublished work. The companion receiver-recoding task concerns helper 469
and is separate. No fixed-invoice repacking or selected-word application audit
is repeated here.

The full necessary endpoint condition fails, so there is no edited supplier to
price. No native/compiler/caller/precision/outer replay, selected cold replay,
Lean, Docker or full multiplication proof is supplied. No universal bound or
claim about more edits follows. The five selected assumptions remain.

## Open next questions

A longer source-bound correction or a different chronological window remains
outside this exclusion. Before a new search, supply a concrete candidate word
that changes the failed original-input equations, then check its full symbolic
endpoint, pairing, lifetime and complete bill. No broader search is proposed
merely because this bounded model failed. Structured first steps and blockers
are in TASK.json.

## Credit

Prepared for **JoyboyBrian**, with substantial OpenAI Codex assistance in
triage, derivation, implementation and verification. This is AI-assisted
research, not independent human or proof-kernel approval. Apache-2.0.

Credit apoursh (PR6067), Jonathan Capalbo (PR6069), JosieElliston (PR6045),
Nick Petalas (PR6040), Matarener (PR5994), flyingviper (PR5718), Ali Romman,
DreamingOfClouds (PR6030/5907) and the retained P104/native/compiler lineage.
Frozen predecessor packages and the selected construction are unchanged.
42 changes: 42 additions & 0 deletions research/p104-noncarrier-two-add-seam/RESULT.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"V_chart": 127,
"cases": 4500,
"claim": "Every declared two-ADD seam fails exact outside-V restoration, even with ab independent.",
"controls": {
"bilinear_case": true,
"consistent_system": true,
"forged_dual_rejected": true,
"literal_full_column_cases": 4,
"synthetic_noncarrier_repair": true,
"wrong_seam_rejected": true,
"z_only_false_positive": true
},
"dual_sha256": "324b646386e6776953c9d3ad52e03ad9d76738c0ca2fc061e20c106e21f73846",
"dual_size_counts": {
"1": 4262,
"2": 238
},
"first_dual": {
"case": [
13637,
127,
572,
13652,
572,
740
],
"dual": [
[
120,
0,
"-2"
],
[
120,
34,
"1"
]
]
},
"outside_public_roles": 186
}
24 changes: 24 additions & 0 deletions research/p104-noncarrier-two-add-seam/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"schema_version": 1,
"base_commit": "721c03822c421b7f7fcbb2598993b947c4d88419",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a",
"sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec",
"sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81"
},
{
"path": "research/p104-helper470-twin-rung-removal/WORD.json.gz",
"usage": "input",
"git_blob": "22f9ab02d1b73ea0aa4b07ce445a14cc2602c760",
"sha256": "7834725d9e34ee846a9ccc615221ea81e0201613938afa185d2eda0c9a6c232f"
}
]
}
Loading
Loading