diff --git a/research/output-sign-restoration-seed51/CERTIFICATE.json b/research/output-sign-restoration-seed51/CERTIFICATE.json new file mode 100644 index 0000000000..161316d326 --- /dev/null +++ b/research/output-sign-restoration-seed51/CERTIFICATE.json @@ -0,0 +1,172 @@ +{ + "basis_columns": 3168, + "boundary_enumeration": { + "admitted": 126, + "price_cases": 384, + "schedules": 21840 + }, + "controls": { + "invalid_inputs": 7, + "mathematical": 7 + }, + "deeper_readers": [ + { + "ADD": 976, + "NEG": 1152, + "data_reads": 3104, + "data_writes": 2128, + "depth": 2, + "descriptor_fields": 6208, + "eager": false, + "instructions": 2128, + "registers": 25 + }, + { + "ADD": 976, + "NEG": 1768, + "data_reads": 3720, + "data_writes": 2744, + "depth": 2, + "descriptor_fields": 7440, + "eager": true, + "instructions": 2744, + "registers": 25 + }, + { + "ADD": 9776, + "NEG": 11552, + "data_reads": 31104, + "data_writes": 21328, + "depth": 3, + "descriptor_fields": 62208, + "eager": false, + "instructions": 21328, + "registers": 33 + }, + { + "ADD": 9776, + "NEG": 17768, + "data_reads": 37320, + "data_writes": 27544, + "depth": 3, + "descriptor_fields": 74640, + "eager": true, + "instructions": 27544, + "registers": 33 + } + ], + "recursive_cases": 384, + "schema": 1, + "seed": 51, + "selected": { + "NEG_saved": 56, + "children": 5, + "eager": { + "ADD": 96, + "NEG": 160, + "data_reads": 352, + "data_writes": 256, + "descriptor_fields": 704, + "instructions": 256 + }, + "framed": { + "ADD": 96, + "NEG": 104, + "data_reads": 296, + "data_writes": 200, + "descriptor_fields": 592, + "instructions": 200 + }, + "matrix": [ + [ + -3, + 3, + -3, + 3, + 1, + -1, + 1, + -1 + ] + ], + "output_width": 1, + "registers": 17, + "tree": { + "children": [ + { + "matrix": [ + [ + -1, + -1, + -1, + -1, + 1, + 1, + 1, + 1 + ] + ] + }, + { + "matrix": [ + [ + 1, + 1, + 1, + 1, + -1, + -1, + -1, + 1 + ] + ] + }, + { + "matrix": [ + [ + -1, + 1, + -1, + 1, + 1, + 1, + 1, + -1 + ] + ] + }, + { + "matrix": [ + [ + -1, + 1, + -1, + 1, + -1, + -1, + -1, + -1 + ] + ] + }, + { + "matrix": [ + [ + -1, + 1, + -1, + 1, + 1, + -1, + 1, + -1 + ] + ] + } + ] + }, + "word_sha256": "02f969a30bfbddcce7a3af7a1c20373c0e94940d1ff03e8c4cb96fb5ff6990cf", + "workspace_width": 8 + }, + "status": "finite recursive interface; no new kappa" +} diff --git a/research/output-sign-restoration-seed51/CLAIM.md b/research/output-sign-restoration-seed51/CLAIM.md new file mode 100644 index 0000000000..f7cbf4c966 --- /dev/null +++ b/research/output-sign-restoration-seed51/CLAIM.md @@ -0,0 +1,89 @@ +# Output sign frames for a sign-drifting recursive reader + +Claimed locally, 2026-10-13 20:10:49 UTC. No pinned coordination issue +exists. Expected finish: 2026-10-13 20:43:52 UTC. + +- Track: recursive interfaces. Fresh OS-random assignment seed: 51. +- Exact base: `1b59b624d21924f8e3537cdc1ac52d3be6eda2fe`. +- Object: fixed linear-reader children `C_i(D,W)=(D+R_i W,-W)`. +- Hypothesis: an alternating sign frame on the smaller output register can + replace intermediate full-workspace restorations, even when every reader + observes the changing workspace. A complete two-pass dirty echo must still + eliminate the incoming workspace from the returned source-dependent output. +- Method: prove the all-input identity; emit only signed two-address ADD and + NEG instructions; replay every source, output and dirty-scratch basis column + independently; compare literal inverse words and complete scalar invoices. +- Seed-selected example: five children, workspace width eight, output width + one. `k=3+2*(seed%2)`, `N=2+seed%9`, `d=1`. +- Deliverable: one scoped research construction, exact certificate, complete + recursive cost/storage recurrence, independent finite replay and meaningful + negative controls. No new kappa or supplier adoption. + +## Three candidates and overlap + +1. Output sign frames for fixed sign-drifting readers. Selected. The original + readers remain unchanged, while the parent changes the output sign between + children. Preliminary complete echo counts save 56 NEG instructions at the + selected dimensions; this remains to be checked by an emitted word. +2. Noncommuting reader compatibility. Rejected as covered by PR1203 and PR1205, + alongside PR1199's diagonal cut planner. Those keep or constrain reader + observations instead of paying for a changing output frame. +3. Exact rational borrowing widths. Rejected due to active discussion1202 and + PR1159's modular borrowing contract. + +Checked 816 open PR titles/bodies and all five current discussions. A semantic +search for output/target frames and negation found supplier geometry and frame +retiming work, but no matching recursive sign-frame wrapper. PR1155's restored +batch model, PR1199's reader counterexample correction, PR1203's noncommuting +wrapper and PR1205's observer distinction are predecessors, not new claims here. +Prior compact-control boundary obstruction PR1108 concerns different primitives. + +Acceptance: prove the stated identity and invoice, reproduce the predicted +finite saving, expose one failure when an output sign or workspace restoration +is omitted, and leave every existing repository file unchanged. Only this +directory will be added. Child source accesses, scratch, inverse calls and +control/preparation costs must be explicit. Physical supplier admission, +rounding, full multiplication formalization and a better exponent are outside +this contribution. + +Prepared by Sagar Thakrar with substantial OpenAI Codex assistance. + +## Submission overlap check + +At 20:23 UTC, inspected 830 open PRs through #1221 and refreshed the +discussion inventory. No matching output-sign boundary wrapper was found. +This is bounded overlap evidence, not proof of novelty. PR1203 and PR1205 +still have the pinned heads listed in SOURCE-PINS.json. PR1211 prices a +different balanced factor-tape traversal; PR1216 excludes cheap CK/JP8 dirty +donors. Neither result establishes or defeats this fixed-reader interface. + +Upstream advanced to `49b3157d1d89adcef16df8be98445451672be5ba` during the +check, adding onboarding and optional package replay tools. Its selected +certificate is unchanged. The exact investigation base remains the original +commit above. The new contribution rules and package guide were inspected; +the requested open-next-question section is included. The existing offline +archive format is retained, without inventing a catalogue assignment for the +user's explicit track. Scope is a refinement of that track and is unchanged +since the local claim. No evidence-driven pivot was needed. + +## Completed result, 2026-10-13 20:30 UTC + +[PR1227](https://github.com/CrocSwap/integer-mult-bounds/pull/1227) submits the +completed scoped construction. The sharp uniform wrapper minimum is +`(k mod 2)N + 2 floor(k/2) min(N,d)`. The complete seed-selected dirty echo +uses 200 scalar instructions versus 256 eager, saving 56 NEG operations; +both words implement the same source-only map and restore all scratch. +The fixed-child and final-observer restrictions are explicit. No new kappa. + +All 21,840 sign schedules, 384 price cases, 384 recursive cases and 3,168 +small-case basis columns pass, plus selected/deeper dense words, inverses, +rational dirty probes, seven mathematical and seven input controls. Python +3.14.8 normal/optimized and 3.11.17 optimized runs pass. Relocation, four +on-disk corruptions, source identities and canonical regeneration pass. + +The immediate submission refresh covered 834 open PRs through #1225. +PR784's sharp bound is for dirty-echo leaf calls, not this boundary alphabet. +No matching output-sign wrapper was found. The repository has neither the +`codex` nor `codex-automation` label. Selected cold replay, Linux, physical +supplier admission, complete formalization and independent human review were +not performed. Hosted CI is separate from the local evidence. diff --git a/research/output-sign-restoration-seed51/README.md b/research/output-sign-restoration-seed51/README.md new file mode 100644 index 0000000000..ade3f00abb --- /dev/null +++ b/research/output-sign-restoration-seed51/README.md @@ -0,0 +1,240 @@ +# Output sign frames replace large workspace restorations + +This is a recursive-interface research construction with a sharp boundary +cost in a restricted model. It does not improve the selected multiplication +exponent. With five fixed children, an eight-coordinate dirty workspace and +one output coordinate, a complete source-dependent echo uses **96 ADD + 104 +NEG**, versus **96 ADD + 160 NEG** with eager restoration. Both restore every +scratch coordinate on every input. The saving is 56 scalar negations. + +The restriction matters: child calls are indivisible. The parent may negate +either the whole output register or the whole workspace between calls. A +compiler that can remove a child's internal drift can beat both words. For +example, the explicit matrix leaves below expose their final negations; direct +evaluation of their sum is cheaper than the echo. This is an exact interface +result, not an optimized matrix algorithm or a runtime benchmark. + +## Interface and exact boundary cost + +Work over the integers, rationals or complex numbers with exact arithmetic. +Let `D` have width `d`, `W` have width `N`, and let fixed children satisfy + +``` +C_i(D,W) = (D + R_i W, -W), i = 1,...,k. +``` + +Each `R_i` is a linear map. A child's private scratch is arbitrary and restored; +its cost includes its reader, source access, source negation and private work. +The caller has both execution directions at the same declared scalar cost. +These children are involutions, but the implementation still emits the literal +reverse word for inverse calls. No sign-controllable reader is assumed. + +The desired batch is `B(D,W)=(D + (sum_i R_i)W,W)`. Eager execution restores +`W` after every child, for `kN` additional scalar NEG instructions. The parent +can instead execute these operations: + +1. Call the first child directly. +2. Before each subsequent child, negate all `d` output coordinates. +3. At exit, negate `W` if `k` is odd, or negate `D` if `k` is even. + +Before child `i`, both registers are in sign `(-1)^(i-1)` relative to the +canonical eager state. Linearity makes the child's increment have that same +sign. It then flips `W`, and the next output negation aligns the two signs +again. The final operation restores both canonical registers. This proves the +batch identity for every dimension and every tuple of linear maps, including +nonzero readers of every changing workspace coordinate. + +The additional cost of this schedule is `2 floor(k/2)d + (k mod 2)N`. +Choosing it when `d=k`. Restoration also +requires `a = k mod 2` and `b = 0 mod 2`. Minimizing `aN+bd` under these +constraints gives the displayed formula, and the two schedules attain it. +Operations in the entrance gap cannot improve this lower bound. + +Thus `d>=N` yields no saving in this model. For `d