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
182 changes: 182 additions & 0 deletions research/t74-2322-move-prices/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
# Exact move prices and owner-fill headroom on the T74 PR2322 words

**Research note; no κ claim.** This note gives exact local-move prices and a certified packing cap for the
words of [PR2322](https://github.com/CrocSwap/integer-mult-bounds/pull/2322) (Vlado Vojdanovski). Those
words underlie the current open T74 line: #2349, #2363 and #2374, whose claim is
κ = 0.0016971949509. It answers one planning question: after owner fills, where can the next gain on
these words come from, and how large can it be?

| finding | value |
|---|---|
| **certified cap, any legal whole-helper owner fill of the PR2322 words** | **b < 0.001697195759** |
| headroom above PR2374's claim | ≤ 8.1e-10 |
| one more PR2322-type handoff (same reshapes) | +4.27e-8 each, linear up to 12 (+5.13e-7) |
| one PR2339-type low alias | −1.91e-7 |
| one PR2339-type high alias | exactly 0 |
| one (1,1)→(2) merge of two rank-1 climbs (no width change) | +1.13e-7 |
| the 26 such target merges that come with PR2339's low aliases, on their own | +2.94e-6 |

All prices are LP-ceiling differences on the PR2322 words, both providers, at a = PR2374's κ.

**Owner fills on these words are finished.** The width-aware bin-pattern LP of
[PR2387](https://github.com/CrocSwap/integer-mult-bounds/pull/2387) /
[PR2360](https://github.com/CrocSwap/integer-mult-bounds/pull/2360) is certified with an exact rational
dual and 800-bit enclosures. It caps every legal whole-helper fill of these words at b < 0.001697195759,
with a W·mu margin of 1.85e-7 and zero dual repair. The certificate does not reject PR2374's claimed
point. PR2374 therefore sits within 8.1e-10 of the cap, and further owner relocations on these words can
add at most that much.

## Mechanism

Under the frame-climb rule, a climb of d dimensions on a register pays one recursive child of rank d.
Local mass equals 1856 plus the sum of helper widths, and the total rank mass is fixed. So a move changes
b only through the **shape** of the children and through the helper widths, which act via the bin
patterns.

`move_prices.py` recounts which register pays each child in the pinned words. It checks every recount
against the word's own reported profile and width inventory, then decomposes the realized changes
exactly; the reshapes add up to the profile change with nothing left over.

- **PR2312 → PR2322.** The four handoffs are:
- remove helpers 619/621/622/623, each (1,1,1,1);
- X lenders 1/4/6/12 go (5,1,1,1)→(2,1,1,1,1,1,1);
- partners 616/617/618/620 go (4,1,1,1,1)→(3,2,1,1,1).

The local change is {1:−2, 2:+2, 3:+1, 4:−1, 5:−1} with one fewer width-4 helper: a net −1.23e-5 per
call in 66304·mu, a small gain. The LP predicts a +1.96e-7 ceiling gain from PR2312 to PR2322; the
realized claims gained +1.69e-7. The underlying prices, LP-ceiling differences, are what this note
reports.
- **PR2269 → PR2339.**
- A low alias's lender takes over the removed helper's climb: (3,2,1,1,1) is removed and the lender
goes (1,1,1,1)→(2,1,1,1,1,1,1,1). The net local change is −h(3), but the width change costs
+0.04137 per call through the bins, a loss of 5.5e-5 per call. Successive low aliases cost more,
because the LP is convex; this is why all 32 cost −9.8e-6 (PR2387).
- A high alias is exactly price-neutral: its local −h(5) equals its bin cost.
- The 26 targets whose climbs changed each gain exactly one (1,1)→(2) merge. That merge has no width
effect and is worth +1.13e-7 by itself.

The independent recount (`independent_recount.py`) was written by a separate AI reviewer subagent
from a plain statement of the frame rules, with its own GF(2) code and no shared code. It reproduces
both providers' profiles, the exact PR2312→PR2322 change set and the site lists below.

## Untried sites (leads, not constructions)

- 33 helpers of the PR2322 words still climb (1,1,1,1). These are the 32 PR2226 low lenders 273..394
plus 653.
- 12 X registers, 31 33 49 55 68 74 80 83 85 88 98 101, still climb (5,1,1,1) and lend no warp.
These are the shapes of PR2322's four lenders before the handoff.
- Block 53 (registers 648–655) has exactly PR2322's pre-handoff pattern: helper 653 (1,1,1,1) next to
four (4,1,1,1,1) partners 648/649/650/652. Its other three slots were already removed. PR2374 notes
that alias 653 was dropped when 651 moved to lender 530.
- The other blocks pair (1,1,1,1) helpers with (4,1,1,1,1,1) mates.

If each extra handoff reproduced PR2322's reshapes, k handoffs would add k × 4.27e-8, up to 12 by the
lender count. Whether any of them admits a coherent rank-zero handoff (frame availability, lifetimes,
warp images, native lowering) is **not checked here**.

## Follow-up: where the target merges come from (`merge_mechanism.py`)

**Mechanism.** Checked on all 26 merged targets in both providers:

- In the PR2269 words each merged target climbs through exactly one intermediate frame that the PR2339
words skip. For example, target 114 goes through dims [1,2,6,7,8] in PR2269 and [2,6,7,8] in PR2339.
- Every gate on the target at that skipped frame comes from a helper that PR2339 removes (608/609/610/612
for target 114).
- Each merged target receives PR2339's anticipatory initial corrections, which run at frame 0 and pay
nothing. In all, 26 of the 32 corrected targets merge.

So a merge is the removed helper's early interaction, replaced by a free frame-0 correction from a frame-0
lender.

**Lenders.** A frame-0 lender that takes over a FULL-ending role must climb to FULL (dimension 9 = H).
Its width therefore becomes 9, and widths can never exceed 9.

On the PR2322 words, the frame-0 helpers end at dimensions {4: 32, 7: 8, 8: 8, 9: 240}. The 32 that end
at dimension 4 are exactly the PR2226 lenders 273..394, which are PR2339's lenders. The 8 + 8 that end at
7 or 8 would hand off at dimension 7–8 into first frames of dimension 4–5. PR2339's handoff screen found
that this fails the rank-zero condition; that finding is inherited here, not re-proved.

Prices on the PR2322 words (LP-ceiling differences):

| lender take-over | status | db per alias | with one merge credited |
|---|---|---|---|
| width-4 → 9 (PR2339 pattern) | rank-zero, realizable | −1.91e-7 | −7.8e-8 |
| width-5 → 9 | no such frame-0 lender | −1.91e-7 | −7.8e-8 |
| width-7 (end dim 7) → 9 | outside rank-zero | +8.5e-7 | +9.6e-7 |
| width-8 (end dim 8) → 9 | outside rank-zero | **+1.43e-6** | +1.54e-6 |

**Answer to the second open question.** Under rank-zero anticipatory borrowing, the target merges come
only with the width-4 → 9 lender change, and every such alias loses even with a full merge credited. The
merges cannot be separated from that change by choosing a different lender. The positive rows are a price
tag on a *changed handoff premise*: lenders ending at dimension 7–8, with 16 frame-0 candidates
(572–575, 580–583, 311, 327, 498, 500, 501, 510, 512, 513). Those prices are optimistic. They omit any
cost of raising the borrowed role's gate frames to contain the lender's frame, which also moves partner
climbs.

## Reproduce

From the repository root, standard library only:

```sh
python3 -I -B research/t74-2322-move-prices/move_prices.py --fetch # ~16 s
python3 -I -B research/t74-2322-move-prices/independent_recount.py # ~10 s
python3 -I -B research/t74-2322-move-prices/merge_mechanism.py # ~11 s
```

`--fetch` fetches `refs/pull/{2312,2322,2269,2339}/head` from the canonical repository if the pinned
commits are absent. The pinned commits are fb76f799, 002304ef, b479fc55 and bf1742ae; each word file
is blob- and sha256-pinned.

Expected final lines:
- `PASS_T74_MOVE_PRICES cap=0.001697195759 handoff_db=+4.272e-08 low_alias_db=-1.906e-07 high_alias_net=0 sites=33/12`
- `PASS_T74_INDEPENDENT_RECOUNT`
- `PASS_T74_MERGE_MECHANISM merged=26 lenders_end4=32 pr2339_alias_db=-7.792e-08 takeover8_db=+1.427e-06`

`vendor/pr2387/` holds byte copies of this author's PR2387 `ceiling_lp.py` and `fill_check80.py` and the
iteration-3 enclosure code, all pinned. `move_prices.py` patches one line of `local_recount` at load time,
to record the register that pays each child. All results were run on CPython 3.14.4; the registered
Python 3.12 replay was not run locally.

## Scope and limits

This is a pricing screen on fixed, pinned words:

- Moves are priced only by their per-register climb reshapes and width change, through the bin-pattern
LP. Windows, families and ports are dropped, so prices are ceiling differences, not realized gains.
- The cap is a certified relaxation ceiling for unsplit helpers on the unchanged PR2269 bin stock, not
a κ.
- No new handoff or merge is constructed.
- Prices are first-order in the sense that they are measured at the PR2322 operating point. The low-
alias row shows that the LP is convex, so large moves need a re-solve, which the script does for the
ladder.

## Open next questions

- **Block 53 handoff.** Does helper 653 admit a PR2322-type coherent handoff to a free (5,1,1,1) X
register, with partners 648/649/650/652? The first step is to rerun PR2322's handoff generator with
653 as the target role. Its price is +4.27e-8. PR2374 dropped alias 653, so its lender conflict is the
blocker to check.
- **Higher-rank lender take-over.** *(This replaces the earlier "target merges without low aliases"
question; the answer above closes it for rank-zero borrowing.)* Can a lender that ends at dimension 7
or 8 take over a removed width-8 helper's role if the role's gate frames are raised to contain the
lender's frame? There are 16 frame-0 candidates on the PR2322 words, priced at up to +1.43e-6 each
before frame-raising costs. The first step is to build one such word with the PR2339 builder,
relaxing condition (d), then recount it with `move_prices.py`'s recount to get the real reshape cost.
- **More handoff patterns.** Which X shapes other than (5,1,1,1), and which partner shapes, give
positive prices? The first step is to tabulate prices for every (lender shape, partner shape) pair
that occurs in the words.

## Credits and licence

- PR2322 (Vlado Vojdanovski): handoffs and words.
- PR2312 and PR2269 (Jeremy Kothe): width exchange and borrow43 words.
- PR2374 and PR2349 (jeremykothe2) and PR2363 (mason-hale): owner fills on PR2322's words.
- PR2226 (Cinna Davis / 1337isnot1337): anticipatory borrowing.
- PR2339 and PR2387 (this author).
- PR2360 (Jeremy Diviney) and PR1129 (Ali Romman): pattern-dual relaxation.
- PR2394 (commdata2338): native anticipatory prefix.
- PR1995 and PR2013: fixed-word frame bounds.
- PR1319 and PR1297: T74 lineage.

Prepared with substantial AI assistance (Claude Code, Anthropic, Claude Opus 5.5). The independent
recount was written by an AI subagent; no independent human review is claimed. Apache-2.0.
18 changes: 18 additions & 0 deletions research/t74-2322-move-prices/SOURCES.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"schema_version": 1,
"base_commit": "0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2",
"files": [
{
"path": "certificates/selected-result.json",
"usage": "provenance",
"git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11",
"sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32"
},
{
"path": "docs/research/agent-task-catalog.json",
"usage": "provenance",
"git_blob": "e8870e5917057d59b730eb14721a778639eca050",
"sha256": "d46eb6d5b3e279428753d770653663fbdf1063e55c255ea073d768f344927ef7"
}
]
}
76 changes: 76 additions & 0 deletions research/t74-2322-move-prices/TASK.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"schema_version": 1,
"task_id": "complex-new-helper-inventory",
"priority_revision": 4,
"base_commit": "0fdd7d82de03e43c9e5a1000dfbcd380d1b687d2",
"original_card": {
"id": "complex-new-helper-inventory",
"question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?",
"starting_points": [
"research/complex-local-word-ceiling/README.md",
"research/heterogeneous-owner-assembly/README.md",
"certificates/selected-result.json",
"research/selected-k8-unrestricted-ends/README.md"
],
"methods": [
"Propose a changed helper inventory and derive an optimistic exact moment.",
"Design a small completed instance and independently verify its endpoint and rank bill."
],
"acceptance_gate": "A new physically realizable contract outside the frozen catalogue whose per-call profile, screened with ceiling.ceiling(), beats the selected word's packing ceiling; a lower cap does not establish identical circuitry or order attainable optima, and is insufficient to pass the stronger-budget target under this model.",
"first_step": {
"command": [
"python3",
"-B",
"research/complex-local-word-ceiling/verify.py"
],
"expected": "PASS_COMPLEX_LOCAL_WORD_CEILING",
"inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.",
"scope": "Positive control and planning budget only; this is not a new construction or full cold replay."
},
"first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin.",
"bottleneck_link": "Packing of the selected word is capped at +0.87% (ceiling model); only a lower local excess spend or a changed coverage law raises the cap.",
"allowed_variations": [
"Narrow to one changed boundary or helper type with explicit counts.",
"If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope."
],
"scope_change_triggers": [
"Mixing only providers already inside the pinned catalogue.",
"Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013."
],
"overlap_terms": [
"helper inventory",
"heterogeneous-owner",
"mutable leaver"
]
},
"scope_status": "refined",
"actual_scope": "On the PR2322 T74 words (the base of the open PR2349/PR2363/PR2374 line): what is the certified owner-fill headroom, and what is the exact LP-ceiling price of each realized or candidate local inventory move (PR2322 handoffs, PR2339 low/high aliases, rank-1 climb merges), with a census of untried PR2322-pattern handoff sites?",
"scope_change_reason": "The card asks whether a new local cost interface can beat current packing. For the live T74 line the useful narrowing is to price concrete inventory moves on the actual PR2322 words with the width-aware LP, after showing packing itself is exhausted, so constructors can see which interface changes are worth building.",
"bottleneck_link": "The complex supplier binds. On the PR2322 words, owner fills are within 8.1e-10 of a certified cap, so further T74 gains must come from local inventory or climb-shape changes; this package prices those moves exactly and points to the largest (rank-1 climb merges, +1.13e-7 each).",
"budget_minutes": 90,
"stop_rule": "Stop after the certified cap, exact decomposition of the two realized changes, prices of four move types, an independent recount and the site census; no handoff construction in this session.",
"outcome": "completed",
"evidence": "move_prices.py: per-register recount of 8 pinned words (each equal to its reported profile and inventory), exact decompositions PR2312->PR2322 and PR2269->PR2339, LP prices, calibration (LP +1.96e-7 vs realized +1.69e-7), certified cap b < 0.001697195759 for every legal whole-helper fill of the PR2322 words (PR2374 not rejected). independent_recount.py (separate implementation by an AI reviewer subagent) reproduces profiles, the change set and the site lists. merge_mechanism.py: all 26 PR2339 target merges come from removed helpers' early gates replaced by frame-0 initial corrections; frame-0 lender census {4:32, 7:8, 8:8, 9:240}; rank-zero aliases lose even with merge credit; higher-rank take-overs priced.",
"author": "Sagar Thakrar",
"ai_assistance": "Prepared with substantial AI assistance: Claude Code (Anthropic, Claude Opus 5.5) wrote move_prices.py and this text; a separate Claude subagent wrote independent_recount.py from a plain-language rule statement without access to the package code. No independent human review is claimed.",
"open_questions": [
{
"question": "Does helper 653 of the PR2322 words admit a PR2322-type coherent handoff to a free (5,1,1,1) X register with partners 648/649/650/652?",
"why_it_matters": "Block 53 has exactly PR2322's pre-handoff shape pattern; the move is priced at +4.27e-8, about a third of the whole PR2363->PR2374 owner gain.",
"first_step": "Rerun PR2322's handoff generator with role 653 and each of the 12 free (5,1,1,1) X registers as candidate lenders.",
"blocked_by": "PR2374 dropped alias 653 when moving 651 to lender 530; lender/lifetime conflicts are unchecked here."
},
{
"question": "Can a frame-0 lender ending at dimension 7 or 8 take over a removed width-8 helper's role (higher-rank handoff), with the role's gate frames raised to contain the lender's frame?",
"why_it_matters": "Rank-zero anticipatory aliases (width-4 -> 9 lenders) lose even with the target merges credited; the 16 frame-0 lenders ending at dimension 7-8 are priced at up to +1.43e-6 per take-over on the PR2322 words before frame-raising costs.",
"first_step": "Build one such word with the PR2339 builder relaxing its condition (d), then recount it with move_prices.py's recount to price the actual reshape of the role and its partners.",
"blocked_by": "The handoff is outside the rank-zero K_G contract of PR2226/PR2339; legality, frame raising and native lowering are unproven."
},
{
"question": "Which other (lender shape, partner shape) handoff patterns occurring in the PR2322 words have positive prices?",
"why_it_matters": "Only (5,1,1,1) lenders are priced here; the 12 such registers limit PR2322-type handoffs to +5.1e-7.",
"first_step": "Enumerate per-register shapes of all X registers and helpers and price each feasible-looking reshape pair with move_prices.applied().",
"blocked_by": "Legality of a handoff depends on frame availability and lifetimes that the pricing screen does not model."
}
]
}
41 changes: 41 additions & 0 deletions research/t74-2322-move-prices/VERIFY.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"schema_version": 1,
"status": "ready",
"python": "3.12",
"requirements": [],
"inputs": [],
"commands": [
{
"argv": [
"{python}",
"-I",
"-B",
"{package}/move_prices.py",
"--fetch"
],
"timeout_seconds": 300,
"checks": "Fetches pinned PR2312/2322/2269/2339 heads if absent; recounts 8 pinned words against their reports; exact decompositions; prices four move types; certifies the PR2322-word owner-fill cap b < 0.001697195759 and checks PR2374 is not rejected (control). Expect PASS_T74_MOVE_PRICES."
},
{
"argv": [
"{python}",
"-I",
"-B",
"{package}/independent_recount.py"
],
"timeout_seconds": 300,
"checks": "Separate implementation: both providers' profiles equal the reports; exact PR2312->PR2322 change set; 33 (1,1,1,1) helpers and 12 free (5,1,1,1) X registers. Expect PASS_T74_INDEPENDENT_RECOUNT."
},
{
"argv": [
"{python}",
"-I",
"-B",
"{package}/merge_mechanism.py",
"--fetch"
],
"timeout_seconds": 300,
"checks": "Mechanism of the 26 PR2339 target merges (both providers), frame-0 lender census on the PR2322 words, and LP prices of lender take-over variants. Expect PASS_T74_MERGE_MECHANISM."
}
]
}
Loading
Loading