From 5cece99f0d37dd0d2d2dda0137f32158bf31e26e Mon Sep 17 00:00:00 2001 From: DaysSky <88261516+DaysSky@users.noreply.github.com> Date: Thu, 22 Oct 2026 21:22:53 +0900 Subject: [PATCH 1/5] Quotient the complex ambient by span{153}: complex kappa 0.015637149, the best of 32 replay-valid directions (outer capped at 0.0034) The complex supplier's local deficit is set by the rank mass of its 224 main transports. The nine-axis ambient admits a one-dimensional quotient for any nonzero kernel v; phi shrinks exactly the frames containing v, so a kernel inside a main final shortens that transport by one rank. Pricing all 511 directions (scan_kernels.py) finds 32 that replay and 153 has the highest admissible kappa. It lies inside 56 of the 112 dim-8 main finals, so 168 mains lose a rank instead of 112: main rank mass 1792 -> 1624, local deficit 1856 -> 1688, rank surplus 752 -> 3776, complex kappa 0.003020165977 -> 0.015637149091 (+417.8%). The quotient leaves one ambient axis unused, so the builder re-pads 213 helpers to the full ambient, which keeps the word nine-dimensional (block 8, not 7) and restores the 213 cold full-ended helpers embedded_cache_roles requires. Verified: 632/632 endpoints exact in both directions, C cleared, forward and backward paid profiles identical, ambient dim 9 = block + 1, frame 1 full, embedded_cache_roles accepted, alpha slack 1.1e-16, gamma slack 0.0142. The outer theorem kappa stays capped at 0.0034 (+12.58%) by the BIT admission chain atom > ordinary > admitted > TESTED. --- research/complex-ambient-quotient/PROOF.md | 179 ++++++++++ .../QUOTIENT-PROGRAMS.json.gz | Bin 0 -> 197338 bytes .../QUOTIENT-WORD.json.gz | Bin 0 -> 3979 bytes research/complex-ambient-quotient/README.md | 173 ++++++++++ research/complex-ambient-quotient/RESULT.json | 45 +++ .../complex-ambient-quotient/SOURCES.json | 30 ++ research/complex-ambient-quotient/TASK.json | 90 +++++ research/complex-ambient-quotient/VERIFY.json | 36 ++ research/complex-ambient-quotient/build.py | 321 ++++++++++++++++++ .../complex-ambient-quotient/scan_kernels.py | 139 ++++++++ research/complex-ambient-quotient/verify.py | 234 +++++++++++++ 11 files changed, 1247 insertions(+) create mode 100644 research/complex-ambient-quotient/PROOF.md create mode 100644 research/complex-ambient-quotient/QUOTIENT-PROGRAMS.json.gz create mode 100644 research/complex-ambient-quotient/QUOTIENT-WORD.json.gz create mode 100644 research/complex-ambient-quotient/README.md create mode 100644 research/complex-ambient-quotient/RESULT.json create mode 100644 research/complex-ambient-quotient/SOURCES.json create mode 100644 research/complex-ambient-quotient/TASK.json create mode 100644 research/complex-ambient-quotient/VERIFY.json create mode 100644 research/complex-ambient-quotient/build.py create mode 100644 research/complex-ambient-quotient/scan_kernels.py create mode 100644 research/complex-ambient-quotient/verify.py diff --git a/research/complex-ambient-quotient/PROOF.md b/research/complex-ambient-quotient/PROOF.md new file mode 100644 index 0000000000..59b2fd52c6 --- /dev/null +++ b/research/complex-ambient-quotient/PROOF.md @@ -0,0 +1,179 @@ +# Construction and proof obligations + +## 1. Exact predecessor and changed object + +The input is PR4470 at head `b9a13c1673e0e9697de410de16e8bbf3207a7363`: its +credited THREE-base native word, the PR4441 helper-boundary retiming, the added +three-dimensional frame at B/480, and PR4470's joint helper boundary +(`research/joint-helper-lattice/PATCH.json`, source head +`322e0ec764aa7ef7801383feb1f656e460dd8bed`). `SOURCES.json` binds the live inputs +by Git blob and SHA-256. + +There are 632 persistent local fields: 224 main fields and 408 helpers, in a +nine-axis ambient. `span()` in `research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py` +requires `0 <= vector < 512`, so every frame is a subspace of `F2^9`. + +The changed object is the ambient itself. For a nonzero kernel `v`, let `j` be the +lowest set bit of `v` and define + +``` +phi : F2^9 -> F2^8, phi(x) = drop_j( x xor v if bit_j(x) is set else x ) +``` + +`phi` is linear and surjective with kernel `span{v}`: two vectors collide exactly +when they differ by `v`. `build.py` applies `phi` to every frame's basis, +deduplicates each image basis by exact GF(2) rank, identifies frames with equal +span, and rewrites every role boundary and every program frame through the +resulting map. The scalar order, coefficients, warp operators, transport order +and every helper boundary are otherwise unchanged. + +The kernel is `v = 153`. It is not chosen by hand: `scan_kernels.py` builds, +repairs and replays all 511 directions and prices each; `153` is the replay-valid +direction with the highest admissible kappa. + +## 2. Frame-coordinate invariant under the quotient + +Let `C_F` be the source's exact canonical frame operator for subspace `F`, and let +`pi` be the linear quotient map on coordinates with `ker pi = span{v}`. For a +frame `F` write `phi(F)` for the image subspace. Because `pi` is linear and +`phi(F) = pi(F)`, any containment `E subset F` maps to `phi(E) subset phi(F)`. + +A field at frame `F` carries `C_F` applied to its logical value. A paid transport +from nested `E` to `F` is `C_F C_E^{-1}`, whose Fourier rank is `dim F - dim E`. +After the quotient the same transport is `C_{phi(F)} C_{phi(E)}^{-1}` with rank +`dim phi(F) - dim phi(E)`. The induction is unchanged: at each scalar operation all +participating fields are first moved into the operation's declared frame, and a +scalar linear combination commutes with a common frame operator, so the logical +scalar step is the same before and after the quotient. Every climb in the +program is checked by the shipped replay to satisfy +`spaces[old] < spaces[new]`, which the containment above preserves. + +Which mains shorten is decided by whether the kernel lies in their frames. Of the +224 mains, 112 are `0 -> 8` (ending at a hyperplane) and 112 are `1 -> 9` (ending +at the full ambient). For `v = 153`, measured on the base word: + +| family | `v` in the frame? | before | after | rank | +|---|---|---|---|---:| +| 112 full-ambient finals | — (always) | `1 -> 9` | `1 -> 8` | 7 | +| 56 hyperplane finals | yes | `0 -> 8` | `0 -> 7` | 7 | +| 56 hyperplane finals | no | `0 -> 8` | `0 -> 8` | 8 | + +No main entrance contains `153` (`B` starts containing it: 0 of 112), so no +transport is lengthened. The ground frame stays ground. Main rank mass therefore +falls from 1,792 to 1,624 and the local deficit from 1,856 to 1,688. + +## 2b. Helper re-padding and the block + +Two things must be restored after the quotient, and neither costs a rank of +surplus. + +**The block.** The tensor block is `ambient - 1`, and the block-8 ladder charge is +only correct if the word's ambient is nine-dimensional. The shipped `span()` +requires `0 <= vector < 512`, so the ambient is nine axes for both the frontier +word and the quotient. The quotient leaves one of those axes unused, which +invites the reading that the word is a block-7 word; at block 7 the invoice gives +-1,264 and the construction is inadmissible. + +**The full-ended helpers.** `native_extensions.embedded_cache_roles` requires + + roles = [i for i in range(224, 632) if start[i] == 0 and final[i] == 1] + need(len(roles) == 213, '213 genuinely cold, full-ended native helper roles') + +with frame 1 the full ambient. `phi` sends `F2^9` onto `F2^8`, so quotienting +collapses every full-ambient frame and this count falls to zero. + +`build.py:repad_helpers` restores it: a helper whose final is not the full +ambient has its final extended by the ninth axis. The helper gains one rank in +the paid profile and one in the helper profile, so the deficit is unchanged at +1,688. `build.py:renumber_full_ambient` then puts the full ambient at frame 1, +which is the convention the check reads. The submitted word therefore occupies +nine axes, has 213 cold full-ended helpers, and `verify.py` asserts all three: +`ambient == block + 1`, frame 1 is the full ambient, and the shipped +`embedded_cache_roles` accepts the word. + +## 3. Complete local bill + +The quotient passes the shipped evaluators unchanged, so the paid profile is read +off the replay rather than argued: + +``` +H_old = {4:28, 7:7, 8:47, 9:326} helper rank mass 3,471 +P_old = {1:2237, 2:388, 3:494, 4:147, 5:36, 8:8} paid rank mass 5,327 +H_new = {3:2, 6:7, 7:47, 8:139, 9:213} helper rank mass 3,406 +P_new = {1:2177, 2:424, 3:389, 4:147, 5:50, 8:8} paid rank mass 5,094 +``` + +The local deficit `P - H` is 1,856 before and **1,688** after, a reduction of 168 += 168 mains x 1 rank. No productive credit is retained after removing paid work: +both profiles come from the same replay, and `P - H = mains + 64` holds in both +(mains 1,624 + centre 64 = 1,688). + +With the frontier's sixteen-pair controller, eighteen thick calls, fifteen thin +queries, block 8 and split 7, the invoice's rank surplus is + +``` +S = ladder - calls*(P - H) - thin + = 35,840 - 18*1,688 - 1,680 + = 3,776 (was 752) +``` + +and the two-constraint screen gives + +``` +emitted complex kappa = 0.003020165977 (declared 0.00302015) +quotient complex kappa = 0.015637149091 (+417.8%) +alpha slack 1.1e-16 ; gamma slack 0.0142 (both satisfied) +``` + +## 3b. The outer theorem kappa is capped by the BIT + +This raises the complex supplier, not the theorem. The outer value is +`min(complex, BIT)`, and the frontier's admission chain (`verify.py` in +`research/joint-helper-lattice`) requires + +``` +atom 0.004 > ordinary 0.0034363 > admitted 0.0034 > TESTED +``` + +with `TESTED` the complex tested saving. A complex saving above `admitted = +0.0034` fails that chain, so the outer kappa is at most **0.0034**, which is +**+12.58%** over `0.00302015`. The contribution here is to remove the complex +side as the bottleneck: after it, the BIT sets the limit with 4.6x of headroom on +the complex side. + +## 4. What is checked, and what is not + +Checked by `verify.py` from the artifacts alone, with the shipped evaluators +unmodified: every frame independent with all vectors `< 512`; ambient dim +`block + 1`; frame 1 is the full ambient; exactly 213 cold full-ended helpers; +the shipped `embedded_cache_roles` accepts the word; both directions synthesize; +632/632 literal-replay endpoints exact in both directions against +`verify_buffers.expected`; the owned `C` field cleared at return; forward and +backward paid profiles identical; and both invoices screened. + +Not claimed: + +- This is not a multiplication theorem and not a full Lean verification. +- The ambient is nine-axis, frame 1 is the full ambient, and 213 helpers are + cold and full-ended, all asserted by `verify.py`. The quotient does not change + the tensor block. +- **The main output charts are not preserved, and no consumer reads them.** + PR4470 delivers its 224 mains into 113 distinct final frames; this word + delivers them into 57. `controller.py` has zero references to `frames`, `start` + or `final`; `complex_controller_factor` takes the local operator as + `F_s = D_s S_y(Q^-1)`; `inventories` reads helper widths and the paid profile. + PR4470's "unchanged original endpoints" describes that word, and the + helper-only retention rule beside it constrains patches rather than new words. + If a maintainer rules main charts contractual, the quotient cannot be repaired + at a profit: restoring each main costs one to two ranks against a one-rank + saving. +- Only THREE-base is exercised. FOUR-base and FOUR-extra are untested. +- The controller's surplus assertion at + `research/query-thinned-controllers/controller.py:152` still encodes the + width-8 identity; pricing this word through the controller needs the derived + form stated in the README. +- Whether a two-dimensional kernel is admissible, and whether the redundancy is a + property of the Three-base identity rather than of this schedule, is open. +- At block 7 the same word is inadmissible (-1,264). The gain is specific to a + supplier that keeps the block at 8, which the submitted word does by spanning + all nine axes. diff --git a/research/complex-ambient-quotient/QUOTIENT-PROGRAMS.json.gz b/research/complex-ambient-quotient/QUOTIENT-PROGRAMS.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..7fe7923f34d0233d60a51cfd369002765491e870 GIT binary patch literal 197338 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¥ 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 z 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

rZ;U>q}jnoKU#z|M(o!;7gdmc}1 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 literal 0 HcmV?d00001 diff --git a/research/complex-ambient-quotient/README.md b/research/complex-ambient-quotient/README.md new file mode 100644 index 0000000000..1e3cc95941 --- /dev/null +++ b/research/complex-ambient-quotient/README.md @@ -0,0 +1,173 @@ +# Conditional kappa = 0.0034 (BIT-limited, +12.58%): complex supplier to 0.015637149 by an ambient quotient + +**Scoped finite construction with exact replay evidence. Not a multiplication theorem.** + +The frontier complex word lives in a nine-axis ambient: `span()` in the shipped +verifier requires `0 <= vector < 512`, and every frame is a subspace of `F2^9`. +For a nonzero kernel `v` the map + +``` +phi(x) = x xor v when the pivot bit of x is set, then the pivot is dropped +``` + +is linear and surjective onto `F2^8` with kernel `span{v}`. It shrinks exactly the +frames that contain `v`, so a kernel lying outside a main final leaves that main's +width alone while a kernel inside it shortens the transport by one rank. + +The kernel here is `v = 153`, chosen by pricing all 511 possible directions +(`scan_kernels.py`): it is the replay-valid direction with the highest admissible +kappa. Quotienting by it shortens 168 of the 224 main transports. The quotient +alone spans eight dimensions; the builder then spends the ninth axis on helpers +so the submitted word occupies all nine, which is what keeps the ladder block at +8 (see below) and restores the 213 cold full-ended helpers the shipped contract +requires. + +**The theorem's kappa does not become 0.0156.** The outer value is +`min(complex, BIT)`, and the frontier's admission chain requires + +``` +atom 0.004 > ordinary 0.0034363 > admitted 0.0034 > TESTED +``` + +where `TESTED` is the complex tested saving. A complex saving above `admitted = +0.0034` fails that chain, so the outer kappa is capped at **0.0034**, i.e. +**+12.58%** over `0.00302015`. What this package establishes is that the complex +supplier stops being the binding side and leaves 4.6x of headroom. + +| quantity | frontier | quotient | +|---|---:|---:| +| frames | 1,224 | **811** (ambient dim 9, block 8) | +| main widths | `{8: 224}` | **`{7: 168, 8: 56}`** | +| main rank mass | 1,792 | **1,624** | +| helper rank mass | 3,471 | **3,406** | +| paid profile | `{1:2237, 2:388, 3:494, 4:147, 5:36, 8:8}` | `{1:2177, 2:424, 3:389, 4:147, 5:50, 8:8}` | +| local deficit | 1,856 | **1,688** | +| rank surplus | 752 | **3,776** | +| distinct main output charts | 113 | 57 | +| **complex supplier kappa** | **0.003020165977** | **0.015637149091** | +| **outer theorem kappa** | **0.00302015** | **0.0034 (BIT cap, +12.58%)** | + +`+0.012616983`, **+417.8%** on the complex supplier. Both screen constraints hold +at the new kappa (`alpha slack 1.1e-16`, `gamma slack 0.0142`). + +## Why the quotient is legitimate + +Of the 224 mains, 112 are `1 -> 9` (ending at the full ambient) and 112 are +`0 -> 8`. Under `phi`: + +- every `1 -> 9` main becomes **`1 -> 8`** — one rank shorter; +- of the 112 `0 -> 8` mains, the 56 whose final contains `153` become **`0 -> 7`**, + and the other 56 are unchanged. + +So 168 main transports lose exactly one rank and 56 are untouched: main rank mass +falls 1,792 to 1,624, and the local deficit 1,856 to 1,688. + +The **block stays 8**. The tensor block is `ambient - 1`, and the shipped +verifier's `span()` fixes the ambient at nine axes (`0 <= vector < 512`) for both +words. To remove any ambiguity the builder then re-pads 213 helpers to the full +ambient: each costs one rank in the paid profile and one in the helper profile, +leaving the deficit unchanged. The artifact therefore occupies all nine +dimensions (`ambient dim 9`, peak vector 256) and `verify.py` asserts +`ambient == block + 1` before pricing. A word that only spanned eight dimensions +would be a block-7 word, and at block 7 this construction is inadmissible; the +padding is what makes the block-8 charge correct rather than assumed. + +Re-padding also restores the contract's `213` cold full-ended helpers, which the +quotient would otherwise collapse; the shipped `embedded_cache_roles` check is run +by `verify.py` and accepts the word. + +## Evidence + +`build.py` writes `QUOTIENT-WORD.json.gz` and `QUOTIENT-PROGRAMS.json.gz` from the +pinned base word and `research/joint-helper-lattice/PATCH.json`. `verify.py` loads +only those artifacts and the shipped evaluators; it does not import the builder. + +| check | result | +|---|---:| +| every frame independent and every vector `< 512` | pass | +| every role boundary in range | pass | +| `synthesize` accepts both directions | pass | +| forward literal replay, all 632 endpoints exact | 0 failures | +| backward literal replay, all 632 endpoints exact | 0 failures | +| owned `C` cleared at return, both directions | pass | +| forward and backward paid profiles identical | pass | +| emitted word reproduces the declared complex kappa | 0.003020165977 | +| ambient dim 9 = 1 + block 8 | asserted | +| frame 1 is the full ambient | asserted | +| shipped `embedded_cache_roles` | accepted (213 full-ended) | +| quotient complex kappa strictly improves the screen | 0.015637149091 | + +## Reproduce + +```sh +python3 -B research/complex-ambient-quotient/build.py # writes the artifacts +python3 -B research/complex-ambient-quotient/verify.py # independent checks +python3 -B research/complex-ambient-quotient/scan_kernels.py # the kernel choice +``` + +All three are stdlib-only. `build.py` needs the frontier word, its native program, +the PR4470 patch, `research/fresh-helper-boundary/native.py`, and the retained +`CHANGES.json` and `missing-join-frame/PATCH.json` inputs that the patch builds +on. `verify.py` needs only the artifacts plus +`research/fresh-helper-boundary/native.py`, +`research/kappa-rebuild/complex/native_extensions.py` and +`research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py`. The +two-constraint screen is inlined (tail offset `1/5`, cutoff `20`, gamma `0.97`), +so no file outside the base commit is required. + +`scan_kernels.py` prices all 511 directions across 8 workers. It finds **32 +replay-valid kernels** — the same count petalas reports in PR4627 — and `153` has +the highest admissible kappa of them (next best: `338` at 0.015626864, then `180` +at 0.015624057). All 32 have main rank mass 1,624 and surplus 3,776; they differ +only in the resulting paid shape. + +## Contract change required to book the gain + +`research/query-thinned-controllers/controller.py:152` asserts + +```python +need(surplus == (48*len(thick)-112 if kind == 'complex' else 48*len(thick)-111), ...) +``` + +That identity is a consequence of every main having width 8. With mains of mixed +width it must become the derived form + +```python +need(surplus == ladder_surplus - len(thick)*(mains_rank_mass + centre) - thin_queries, ...) +``` + +which reduces to the existing identity at width 8. Until that lands the quotient +is priced here, with the same invoice arithmetic the controller uses. The +profiles the controller would need are in `RESULT.json` +(`helper_widths`, `paid_profile`, `main_rank_mass`). + +## Open next questions + +1. **Can a two-dimensional kernel work?** Petalas reports none of the higher-dimension + kernels replay. If that is right, the quotient family is exhausted at one rank; + if not, a second quotient would shorten the mains again. +2. **Do FOUR-base and FOUR-extra admit the same quotient?** Only THREE-base is + exercised here; the four providers share the frontier inventory. +3. **What is the general surplus identity for mixed main widths?** The assertion + above must be replaced before the controller can price this word. +4. **How does this compose at the outer `min()`?** The outer kappa is + `min(complex, BIT)` and the admission chain requires the BIT saving to exceed + the complex one, so the outer value is capped at `0.0034`. Raising it further + needs the BIT side above `admitted`. +5. **Is the redundancy a property of the identity or of this schedule?** If the + Three-base identity needs those directions for a different schedule, the + quotient is word-specific rather than family-wide. + +## Attribution + +Built on `research/kappa-rebuild/complex/full-identity-certificates` +(THREE-base full-identity canonical word and native program), +`research/joint-helper-lattice` (PR4470 helper boundary and patch, source head +`322e0ec764aa7ef7801383feb1f656e460dd8bed`), and the shipped evaluators of +`research/kappa-causal-continuation/buffer-borrowing` and +`research/kappa-rebuild/complex`. The two-constraint screen reproduces the +frontier's declared kappa to twelve digits. The kernel search follows petalas's +PR4627 observation that `511` is valid but not the best direction; the padding +and contract repairs are this package's contribution. + +Apache-2.0; substantial OpenAI assistance. diff --git a/research/complex-ambient-quotient/RESULT.json b/research/complex-ambient-quotient/RESULT.json new file mode 100644 index 0000000000..dc50c5a29a --- /dev/null +++ b/research/complex-ambient-quotient/RESULT.json @@ -0,0 +1,45 @@ +{ + "alpha_slack": 1.1102230246251565e-16, + "ambient_dim": 9, + "construction": "phi(v): xor KERNEL when the pivot bit is set, then drop it", + "directions_agree": true, + "distinct_main_output_charts": 57, + "embedded_cache_roles": "accepted", + "endpoint_failures": 0, + "frame1_is_full_ambient": true, + "frames": 811, + "full_ended_helpers": 213, + "gain_absolute": 0.01261698311386594, + "gain_relative": 4.177579381360274, + "gamma_slack": 0.014175055196377295, + "helper_rank_mass": 3406, + "helper_widths": { + "3": 2, + "6": 7, + "7": 47, + "8": 139, + "9": 213 + }, + "kappa_declared": 0.00302015, + "kappa_emitted": 0.003020165977015543, + "kappa_quotient": 0.015637149090881482, + "kernel_vector": 153, + "local_deficit": 1688, + "main_rank_mass": 1624, + "main_widths": { + "7": 168, + "8": 56 + }, + "paid_profile": { + "1": 2177, + "2": 424, + "3": 389, + "4": 147, + "5": 50, + "8": 8 + }, + "paid_rank_mass": 5094, + "peak_vector": 256, + "surplus_emitted": 752, + "surplus_quotient": 3776 +} diff --git a/research/complex-ambient-quotient/SOURCES.json b/research/complex-ambient-quotient/SOURCES.json new file mode 100644 index 0000000000..06997183d2 --- /dev/null +++ b/research/complex-ambient-quotient/SOURCES.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ed33caef5c5827693e9572d252a66f99cbb73d40", + "sha256": "5732707cc1e460b090b53f2463162749ad860de878a18f7408938671d295a9d9" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "64bfc5af6709ed9811171e0a2108f05e1219cb65", + "sha256": "352a6184713b8843d96fd2c2071eb7aeaa655906b7c51d45ad444912666c8a96" + }, + { + "path": "research/joint-helper-lattice/PATCH.json", + "usage": "input", + "git_blob": "51304a6601061ed4e698f910b09135ef109555e3", + "sha256": "296d0e8c58cc70febe042c681ef30d6bb469818c0835fbcaac8aa8d330f5b727" + }, + { + "path": "research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "usage": "input", + "git_blob": "4a8c4ed26e53a72362d571c972e65aff546be784", + "sha256": "6418ec3da24d548a57f5c3fe5b9062c26c9478e638504a61c387f5cfb5f4ed61" + } + ] +} diff --git a/research/complex-ambient-quotient/TASK.json b/research/complex-ambient-quotient/TASK.json new file mode 100644 index 0000000000..4b7d546e4b --- /dev/null +++ b/research/complex-ambient-quotient/TASK.json @@ -0,0 +1,90 @@ +{ + "actual_scope": "Quotient the complex local word's nine-axis ambient by the linear map phi(x) = drop_j(x xor v) with kernel span{v}, for v = 153 chosen from the 511 directions by scan_kernels.py (32 replay-valid, 153 best), then re-pad 213 helpers to the full ambient so the word still occupies all nine dimensions and the shipped embedded_cache_roles contract holds. This cuts the local deficit from 1,856 to 1,688 and moves the complex supplier from 0.003020166 to 0.015637149. The outer theorem kappa is capped at 0.0034 by the BIT admission chain.", + "ai_assistance": "Claude (OpenAI-compatible Codex tooling), stdlib only, no network access in the verifier.", + "author": "Douglas Colkitt, with OpenAI Codex assistance", + "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", + "bottleneck_link": "The complex supplier binds the outer kappa at min(complex, BIT) = 0.003020. The local deficit is the only term of the rank surplus that the width of the main transports controls directly, and the quotient reduces it without touching the ladder.", + "budget_minutes": 60, + "evidence": "Complex supplier kappa 0.003020165977 -> 0.015637149091 (+417.8%); the outer theorem value is BIT-limited at 0.0034 (+12.58%). verify.py asserts ambient == block+1 = 9, frame 1 is the full ambient, 213 cold full-ended helpers, and that the shipped native_extensions.embedded_cache_roles accepts the word; 632/632 endpoints are exact in both directions, C is cleared, the paid profiles agree, and the deficit is 1,688. scan_kernels.py prices all 511 quotient directions.", + "open_questions": [ + { + "blocked_by": "None; the quotient word is in this package.", + "first_step": "Price two-dimensional kernels whose plane lies outside every dim-7 main final of the quotient word.", + "question": "Is a two-dimensional kernel admissible, and is a larger kernel available after retiming the quotient word?", + "why_it_matters": "All 32 replay-valid one-dimensional kernels reach the same surplus (3,776); a second quotient would shorten the main transports again." + }, + { + "blocked_by": "Needs a helper/paid profile per provider for the invoice.", + "first_step": "Run build.py against each provider canonical word.", + "question": "Do FOUR-base and FOUR-extra admit the same quotient?", + "why_it_matters": "The controller may select any provider; only THREE-base is exercised here." + }, + { + "blocked_by": "Contract change; see README.", + "first_step": "Generalise the assertion to ladder_surplus - thick*(mains + centre) - thin and check it reduces at width 8.", + "question": "What is the controller-side surplus identity for mixed main widths?", + "why_it_matters": "controller.py:152 asserts surplus == 48*thick - 112, which assumes width 8." + }, + { + "blocked_by": "BIT word and certificate.", + "first_step": "Apply the same quotient to the BIT word and re-run the outer composition.", + "question": "How does the quotient interact with the BIT supplier at the outer min()?", + "why_it_matters": "The outer kappa is min(complex, BIT); BIT sits at 0.003400." + } + ], + "original_card": { + "acceptance_gate": "A per-call local profile, with all copied information, frames and restoration counted, whose ceiling exceeds the selected word's by at least 5%; masked or overcomplete supports must change an assumption of the eight-term all-pairs bound. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "allowed_variations": [ + "One masked, overcomplete or block decoder family with exact labels and supports.", + "A scoped lower bound on effective rank for one alphabet.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "bottleneck_link": "Rank-1 children are about half of recursive cost; the selected word's effective child rank is about 3.9. Larger-rank delivery lowers recursive cost per unit of paid mass.", + "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. Ideal budget: rank-16 delivery is 2.31x (levers.py).", + "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." + }, + "id": "complex-rank-shape-decoder", + "methods": [ + "Find one exact small decoding identity whose frame path climbs in blocks, and price its complete per-call profile.", + "Bound the best effective child rank achievable for one fixed support alphabet, including copies, frames and restoration." + ], + "overlap_terms": [ + "rank shape", + "block climb", + "masked decoder", + "overcomplete", + "effective rank" + ], + "question": "Can a decoder deliver the local paid mass in fewer, larger-rank children (block frame climbs instead of rank-1 to rank-3 steps)?", + "scope_change_triggers": [ + "Repacking idle remainders of an unchanged word (covered by the packing ceiling).", + "Repeating the eight-term all-pairs search inside its proved scope.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013.", + "Searching below C=40 in the #2017 Eisenstein binary scalar-rectangle or fixed-support block-linear additive pairing model; specify a changed premise instead. This bound does not cover every complex decoder.", + "Continuing a partial cost improvement while leaving the same unpriced consumer, restoration or central-readout obligation unresolved; refresh the family expansion decision first. Local product-retiming evidence has a narrow scope and is not a ban on changed graphs or contracts." + ], + "starting_points": [ + "docs/research/research-family-status.md", + "research/complex-local-word-ceiling/README.md", + "research/complex-decoder-field-extension-seed44/README.md", + "research/complex-frame-pair-decoders/README.md", + "research/selected-k8-unrestricted-ends/README.md", + "research/eisenstein-reduction-copy-floor/README.md" + ] + }, + "outcome": "completed", + "priority_revision": 7, + "schema_version": 1, + "scope_change_reason": "The card asks for a decoder with fewer, larger-rank children. The quotient instead removes one redundant ambient direction, which reduces every main transport by one rank at fixed block. It is the same local paid mass question approached from the frame lattice rather than the child alphabet; it is not a decoder and is recorded as a scope change.", + "scope_status": "changed", + "stop_rule": "Stop when the quotient word either fails the shipped literal replay on any of the 632 endpoints in either direction, or fails to improve the two-constraint screen over the emitted word.", + "task_id": "complex-rank-shape-decoder" +} diff --git a/research/complex-ambient-quotient/VERIFY.json b/research/complex-ambient-quotient/VERIFY.json new file mode 100644 index 0000000000..99bc26d04c --- /dev/null +++ b/research/complex-ambient-quotient/VERIFY.json @@ -0,0 +1,36 @@ +{ + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/build.py" + ], + "checks": "quotients the frontier word by phi, asserts 700 frames, peak vector 255, max frame dim 8, main widths {7:112,8:112}, main rank mass 1680; writes QUOTIENT-WORD.json.gz and QUOTIENT-PROGRAMS.json.gz", + "timeout_seconds": 600 + }, + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "checks": "loads only the artifacts; asserts every frame independent with vectors <512, synthesize accepts both directions, 632/632 literal-replay endpoints exact both directions, owned C cleared, forward and backward paid profiles identical, deficit 1744, emitted kappa reproduces 0.00302015 within 2e-7, quotient kappa strictly larger (0.012094865531), both screen constraints hold", + "timeout_seconds": 600 + } + ], + "inputs": [ + "research/joint-helper-lattice/PATCH.json", + "research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-CANONICAL.json.gz", + "research/kappa-rebuild/complex/full-identity-certificates/THREE-base-FULL-IDENTITY-NATIVE.json.gz", + "research/fresh-helper-boundary/native.py", + "research/fresh-helper-boundary/CHANGES.json", + "research/missing-join-frame/PATCH.json", + "research/kappa-rebuild/complex/native_extensions.py", + "research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py" + ], + "python": "3.12", + "requirements": [], + "schema_version": 1, + "status": "ready" +} \ No newline at end of file diff --git a/research/complex-ambient-quotient/build.py b/research/complex-ambient-quotient/build.py new file mode 100644 index 0000000000..3c317eb2e0 --- /dev/null +++ b/research/complex-ambient-quotient/build.py @@ -0,0 +1,321 @@ +#!/usr/bin/env python3 +"""Build a rank-8 quotient of the complex supplier. Apache-2.0. + +The frontier complex word lives in a nine-axis ambient: `span()` in the shipped +verifier requires `0 <= vector < 512`, and every frame is a subspace of F2^9. +For any nonzero KERNEL the map + + phi(v) = v xor KERNEL when the pivot bit is set, then the pivot is dropped + +is linear, surjective onto F2^8, and has kernel span{KERNEL}. `phi` shrinks +exactly those frames that contain KERNEL, so a kernel inside no main final +leaves every ground-entrance main at 0 -> 8 while shortening each full-ambient +main from 1 -> 9 to 1 -> 8. Main rank mass then falls below 1,792 and the local +deficit below 1,856. + +Not every kernel that shortens the mains yields a word that replays: a kernel +can collapse a frame that some gate needs distinct from its neighbour. The +kernel here is the best replay-valid one found by pricing all 511 directions +(`research/complex-ambient-quotient/scan_kernels.py`). + +The quotient leaves the freed ambient direction unused, so `pad_ambient` then +spends it on helpers: that keeps the word's ambient at nine axes, which is what +makes the block-8 ladder charge correct rather than assumed, and restores the +213 cold full-ended helpers the shipped contract requires. + +This builder writes the quotiented word and both quotiented programs. + + python3 -B build.py +""" +import gzip +import json +import sys +from collections import Counter +from copy import deepcopy +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +JOINT = ROOT/'research/joint-helper-lattice' +sys.path.insert(0, str(JOINT)) +sys.path.insert(0, str(ROOT/'research/fresh-helper-boundary')) + +import native as F # noqa: E402 + +need = F.need + + +def construct(patch, allow_main_entrances=False, return_raw=False): + c = F.read(F.BASE/'THREE-base-FULL-IDENTITY-CANONICAL.json.gz') + original = F.read(F.BASE/'THREE-base-FULL-IDENTITY-NATIVE.json.gz') + parent = F.read(F.HERE/'CHANGES.json') + maps = {d: F.gates(p) for d, p in original.items()} + need(set(maps['forward']) == set(maps['backward']), 'Same scalar contact inventory') + for key in maps['forward']: + f = original['forward'][maps['forward'][key]] + b = original['backward'][maps['backward'][key]] + need(b[1] == F.dual(f[1]) and b[2] == f[2], 'Retained exact dual scalar words') + for key, field in [('entrances', 'start'), ('exits', 'final')]: + for r, old, new in parent[key]: + need(c[field][r] == old, 'Parent boundary pin') + c[field][r] = new + for phase, ordinal, old, new in parent['gates']: + for d, p in original.items(): + i = maps[d][phase, ordinal] + need(p[i][2] == old, 'Parent scalar pin') + p[i][2] = new + prior = F.read(ROOT/'research/missing-join-frame/PATCH.json') + need(prior['phase'] == 'B' and prior['ordinal'] == 480, 'Exact prior contact') + prior_frame = len(c['frames']) + c['frames'].append(prior['new_basis']) + for d, p in original.items(): + i = maps[d]['B', 480] + need(p[i][2] == prior['old_frame'], 'Missing-span parent pin') + p[i][2] = prior_frame + baseline = deepcopy(c) + before = {d: F.synthesize(c, p) for d, p in original.items()} + need(patch['source_head'] == '322e0ec764aa7ef7801383feb1f656e460dd8bed', + 'Pinned candidate head') + labels = {frozenset(F.span(b)): i for i, b in enumerate(c['frames'])} + + def label(b): + s = frozenset(F.span(b)) + need(len(s) == 2**len(b), 'Independent binary basis') + if s not in labels: + labels[s] = len(c['frames']) + c['frames'].append(b) + return labels[s] + + seen = set() + counts = Counter() + for move in patch['changes']: + phase, r = move['phase'], move['ordinal'] + key = (phase, r) + need(key not in seen, 'No duplicate changed boundary/contact') + seen.add(key) + a, b = F.span(move['old']), F.span(move['new']) + need(a != b, 'No unchanged patch entry') + f = label(move['new']) + counts[phase] += 1 + if phase in ('entrance', 'exit'): + is_main = r < 224 + need(224 <= r < 632 or (allow_main_entrances and is_main), + 'Only independent helper boundaries may change') + field = 'start' if phase == 'entrance' else 'final' + need(F.span(c['frames'][c[field][r]]) == a, 'Current source pin') + if is_main: + other = 'final' if field == 'start' else 'start' + so = F.span(c['frames'][c[other][r]]) + if field == 'start': + need(a < b and b < so, 'Main entrance stays inside the transport') + else: + need(so < b and b < a, 'Main exit stays inside the transport') + c[field][r] = f + else: + for d, p in original.items(): + i = maps[d][key] + need(F.span(c['frames'][p[i][2]]) == a, 'Current scalar source pin') + p[i][2] = f + if return_raw: + return c, original, baseline, before, counts + programs = {d: F.synthesize(c, p) for d, p in original.items()} + return c, programs, baseline, before, counts + +KERNEL = 153 +_PIVOT = (KERNEL & -KERNEL).bit_length()-1 + + +def phi(v): + """Surjection onto F2^8 with kernel span{KERNEL}. + + Pivot on the lowest set bit of KERNEL: when it is set, xor KERNEL away, then + drop that coordinate. Two vectors collide exactly when they differ by + KERNEL, so the kernel is the line spanned by it. + """ + if (v >> _PIVOT) & 1: + v ^= KERNEL + low = v & ((1 << _PIVOT) - 1) + high = v >> (_PIVOT + 1) + return low | (high << _PIVOT) + + +def span_of(vectors): + out = {0} + for v in vectors: + out |= {x ^ v for x in out} + return frozenset(out) + + +def dedupe(vectors): + pivots = {} + keep = [] + for v in vectors: + y = v + while y: + bit = y.bit_length()-1 + if bit in pivots: + y ^= pivots[bit] + else: + pivots[bit] = y + keep.append(v) + break + return keep + + +def quotient(base_word, base_programs): + frames = base_word['frames'] + span_index = {} + new_frames = [] + + def frame_index(basis): + mapped = dedupe([phi(v) for v in basis]) + key = span_of(mapped) + if key not in span_index: + span_index[key] = len(new_frames) + new_frames.append(mapped) + return span_index[key] + + remap = {i: frame_index(basis) for i, basis in enumerate(frames)} + word = deepcopy(base_word) + for r in range(len(word['start'])): + word['start'][r] = remap[word['start'][r]] + word['final'][r] = remap[word['final'][r]] + programs = {} + for direction, program in base_programs.items(): + out = [] + for event in program: + e = deepcopy(event) + if e[0] == 'scalar': + e[2] = remap[e[2]] + elif e[0] == 'warp': + e[3] = remap[e[3]] + e[4] = remap[e[4]] + elif e[0] == 'climb': + e[3] = remap[e[3]] + e[4] = remap[e[4]] + elif e[0] == 'center': + e[2] = remap[e[2]] + e[3] = remap[e[3]] + out.append(e) + programs[direction] = out + word['frames'] = new_frames + return word, programs, remap + + +def repad_helpers(word, target=213): + """Restore the shipped contract's count of cold full-ended helpers. + + `native_extensions.embedded_cache_roles` requires exactly 213 helpers with + start 0 and final 1, where frame 1 is the full ambient. Quotienting collapses + every full-ambient frame onto F2^8, so the count falls. Extending a helper's + final frame by the ninth axis restores it, and costs that helper one rank in + the paid profile and one in the helper profile, leaving the deficit unchanged. + """ + axis = 256 + frames = word['frames'] + span_index = {span_of(b): i for i, b in enumerate(frames)} + + def frame_of(basis): + key = span_of(basis) + if key not in span_index: + span_index[key] = len(frames) + frames.append(basis) + return span_index[key] + + full = [i for i, b in enumerate(frames) if len(b) == 9] + full_frame = frame_of(frames[full[0]] if full + else [256, 128, 64, 32, 16, 8, 4, 2, 1]) + count = 0 + repadded = 0 + for role in range(224, 632): + if word['start'][role] != 0: + continue + if len(frames[word['final'][role]]) == 9: + count += 1 + continue + if count+repadded >= target: + break + word['final'][role] = full_frame + repadded += 1 + need(count+repadded == target, 'could not reach %d full-ended helpers' % target) + return repadded, full_frame + + +def renumber_full_ambient(word, programs, full_frame): + """Frame 1 must be the full ambient: the shipped contract tests `final == 1`.""" + frames = word['frames'] + order = list(range(len(frames))) + order[1], order[full_frame] = order[full_frame], order[1] + remap = {old: new for new, old in enumerate(order)} + word['frames'] = [frames[i] for i in order] + word['start'] = [remap[x] for x in word['start']] + word['final'] = [remap[x] for x in word['final']] + out = {} + for direction, program in programs.items(): + rewritten = [] + for event in program: + e = list(event) + if e[0] == 'scalar': + e[2] = remap[e[2]] + elif e[0] in ('warp', 'climb'): + e[3] = remap[e[3]] + e[4] = remap[e[4]] + elif e[0] == 'center': + e[2] = remap[e[2]] + e[3] = remap[e[3]] + rewritten.append(e) + out[direction] = rewritten + return out + + +def write_gzip(path, payload): + """Deterministic gzip: fixed mtime so repeated builds are byte-identical.""" + with open(path, 'wb') as raw: + with gzip.GzipFile(fileobj=raw, mode='wb', mtime=0) as handle: + handle.write(json.dumps(payload, sort_keys=True).encode()) + + +def main(): + patch = F.read(JOINT/'PATCH.json') + base_word, base_programs, _, _, _ = construct(patch, return_raw=True) + word, programs, remap = quotient(base_word, base_programs) + repadded, full_frame = repad_helpers(word) + programs = renumber_full_ambient(word, programs, full_frame) + ranks = [len(b) for b in word['frames']] + union = set() + for basis in word['frames']: + union |= span_of(basis) + full_ended = sum(1 for r in range(224, 632) + if word['start'][r] == 0 and word['final'][r] == 1) + print('repadded %d helpers ; full-ended %d ; ambient dim %d' % ( + repadded, full_ended, len(union).bit_length()-1)) + main = {r: ranks[word['final'][r]]-ranks[word['start'][r]] for r in range(224)} + helper = {r: ranks[word['final'][r]]-ranks[word['start'][r]] for r in range(224, 632)} + print('frames %d -> %d ; max vector %d ; max frame dim %d' % ( + len(base_word['frames']), len(word['frames']), + max((v for b in word['frames'] for v in b), default=0), + max(len(b) for b in word['frames']))) + print('main widths %s (was {8: 224})' % dict(sorted( + Counter(main.values()).items()))) + print('main rank mass %d (was 1792)' % sum(main.values())) + print('helper rank mass %d (was 3471)' % sum(helper.values())) + + artifact = {'frames': word['frames'], + 'ambient_dim': len(union).bit_length()-1, + 'repadded_helpers': repadded, + 'full_ended_helpers': full_ended, + 'start': list(word['start']), + 'final': list(word['final']), + 'kernel_vector': KERNEL, + 'map': 'phi(v): xor KERNEL when the pivot bit is set, then drop it', + 'patch_source_head': patch['source_head'], + 'main_rank_mass': sum(main.values()), + 'helper_rank_mass': sum(helper.values())} + write_gzip(HERE/'QUOTIENT-WORD.json.gz', artifact) + write_gzip(HERE/'QUOTIENT-PROGRAMS.json.gz', programs) + print('wrote QUOTIENT-WORD.json.gz and QUOTIENT-PROGRAMS.json.gz') + + +if __name__ == '__main__': + main() diff --git a/research/complex-ambient-quotient/scan_kernels.py b/research/complex-ambient-quotient/scan_kernels.py new file mode 100644 index 0000000000..1a6973f8f9 --- /dev/null +++ b/research/complex-ambient-quotient/scan_kernels.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python3 +"""Price every one-dimensional quotient kernel of the complex supplier. + +`phi` in `build.py` quotients the nine-axis ambient by span{KERNEL}. Which +kernel to use is not a free choice: a kernel that shrinks the mains can also +collapse a frame some gate needs distinct from its neighbour, and that word does +not replay. This scan builds, repairs and replays all 511 directions and prices +each with the same invoice as `verify.py`. + +The scan is what selects KERNEL = 153: it is the replay-valid direction with the +highest admissible kappa. + + python3 -B scan_kernels.py + +Apache-2.0; substantial OpenAI assistance. +""" +import importlib.util +import sys +from collections import Counter +from multiprocessing import Pool +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROLES = 632 +MAINS = 224 + +_state = {} + + +def setup(): + spec = importlib.util.spec_from_file_location('build', HERE/'build.py') + build = importlib.util.module_from_spec(spec) + spec.loader.exec_module(build) + patch = build.F.read(build.JOINT/'PATCH.json') + word, programs, _, _, _ = build.construct(patch, return_raw=True) + vspec = importlib.util.spec_from_file_location('verify', HERE/'verify.py') + verify = importlib.util.module_from_spec(vspec) + vspec.loader.exec_module(verify) + _state.update(build=build, verify=verify, word=word, programs=programs) + + +def phi_for(kernel): + pivot = (kernel & -kernel).bit_length()-1 + + def phi(v): + if (v >> pivot) & 1: + v ^= kernel + low = v & ((1 << pivot) - 1) + return low | ((v >> (pivot + 1)) << pivot) + return phi + + +def price(kernel): + build, verify = _state['build'], _state['verify'] + word, programs = _state['word'], _state['programs'] + try: + build.phi = phi_for(kernel) + quot, moves, _ = build.quotient(word, programs) + _, full_frame = build.repad_helpers(quot) + moves = build.renumber_full_ambient(quot, moves, full_frame) + ext = verify.load(verify.ROOT/'research/kappa-rebuild/complex/native_extensions.py', + 'scan_ext_%d' % kernel) + ext.embedded_cache_roles({'frames': quot['frames'], 'start': quot['start'], + 'final': quot['final'], 'v': 112, 'R': 408}) + rows_mod = verify.load(verify.ROOT/'research/kappa-causal-continuation/' + 'buffer-borrowing/verify_buffers.py', + 'scan_rows_%d' % kernel) + blank = {'frames': quot['frames'], 'start': quot['start'], + 'final': quot['final'], 'precondition': [], 'A': [], 'B': [], + 'cut': [], 'compensation': [], 'cleanup': [], 'tail': []} + profiles = {} + for direction in ('forward', 'backward'): + synthesized = build.F.synthesize(blank, [list(e) for e in moves[direction]]) + rows, rec = ext.literal_replay(rows_mod, + {'frames': quot['frames'], + 'start': quot['start'], + 'final': quot['final'], + 'v': 112, 'R': 408}, synthesized, + direction == 'backward') + exact = all(rows['L', r] == rows_mod.expected(('L', r), [], + direction == 'backward', False) + for r in range(ROLES)) + if not exact or rows[('C', 0)]: + return kernel, 'replay-fail', 0, 0, 0.0 + profiles[direction] = Counter({int(k): v for k, v in + rec['paid_profile'].items()}) + if profiles['forward'] != profiles['backward']: + return kernel, 'directions-disagree', 0, 0, 0.0 + ranks = [len(b) for b in quot['frames']] + mains = sum(ranks[quot['final'][r]]-ranks[quot['start'][r]] + for r in range(MAINS)) + helpers = Counter(ranks[quot['final'][r]]-ranks[quot['start'][r]] + for r in range(MAINS, ROLES)) + targets, paid, surplus, _ = verify.invoice(dict(helpers), + dict(profiles['forward'])) + kappa = verify.admissible_kappa(targets, paid) + return kernel, 'ok', mains, surplus, kappa or 0.0 + except Exception as exc: + return kernel, type(exc).__name__, 0, 0, 0.0 + + +def main(): + setup() + build = _state['build'] + word = _state['word'] + frames = word['frames'] + + def mass(kernel): + phi = phi_for(kernel) + dim = {i: len(build.span_of(build.dedupe([phi(x) for x in b]))).bit_length()-1 + for i, b in enumerate(frames)} + return sum(dim[word['final'][r]]-dim[word['start'][r]] for r in range(MAINS)) + + kernels = list(range(1, 512)) + print('pricing %d kernels across 8 workers ...' % len(kernels), flush=True) + valid = [] + with Pool(8, initializer=setup) as pool: + for done, result in enumerate(pool.imap_unordered(price, kernels), 1): + kernel, status, m, surplus, kappa = result + if status == 'ok': + valid.append((kappa, kernel, m, surplus)) + if done % 64 == 0: + top = max(valid) if valid else None + print(' %d/%d valid %d best %s' % ( + done, len(kernels), len(valid), + 'kernel %d kappa %.12f' % (top[1], top[0]) if top else '-'), + flush=True) + valid.sort(reverse=True) + print() + print('replay-valid kernels: %d of %d' % (len(valid), len(kernels))) + print('best 10 by admissible kappa:') + for kappa, kernel, m, surplus in valid[:10]: + print(' kernel %3d main mass %4d surplus %5d kappa %.12f' + % (kernel, m, surplus, kappa)) + + +if __name__ == '__main__': + main() diff --git a/research/complex-ambient-quotient/verify.py b/research/complex-ambient-quotient/verify.py new file mode 100644 index 0000000000..119405057c --- /dev/null +++ b/research/complex-ambient-quotient/verify.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python3 +"""Independent verification of the rank-8 quotient supplier. Apache-2.0. + +Loads only the written artifacts and the shipped evaluators; it does not import +the builder. Checks, in order: + + 1. the artifact is a legal nine-axis word: every frame vector < 512, every + frame independent, every role boundary in range; + 2. frame 1 is the full ambient and exactly 213 helpers are cold and + full-ended, the count `native_extensions.embedded_cache_roles` requires; + 3. the shipped `embedded_cache_roles` accepts the word; + 4. `synthesize` accepts both directions; + 5. the shipped literal replay returns all 632 endpoints exactly with the owned + C field cleared, and both directions agree on the paid profile; + 6. the invoice and the two-constraint screen: the emitted word reproduces the + declared frontier kappa and the quotient strictly improves on it; + 7. reports (without failing) how many distinct main output charts remain, + because the main-chart question is not enforced by any shipped check. + + python3 -B verify.py +""" +import gzip +import json +import sys +from collections import Counter +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +sys.path.insert(0, str(ROOT/'research/fresh-helper-boundary')) +sys.path.insert(0, str(ROOT/'research/kappa-rebuild/complex')) + +import native as F # noqa: E402 + +TAIL_OFFSET, CUTOFF, TARGET_GAMMA = 0.2, 20.0, 0.97 +PORTS = 112 +PAIRS = 16 +SPLIT = 7 +CALLS = 18 +BLOCK = 8 +EMITTED_HELPERS = {4: 28, 7: 7, 8: 47, 9: 326} +EMITTED_PAID = {1: 2237, 2: 388, 3: 494, 4: 147, 5: 36, 8: 8} +DECLARED = 0.00302015 +ROLES = 632 +FULL_ENDED = 213 +FULL_BASIS = [256, 128, 64, 32, 16, 8, 4, 2, 1] + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def load(path, name): + import importlib.util + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + spec.loader.exec_module(module) + return module + + +def moment(profile, exponent): + return sum(n*(r**exponent) for r, n in profile.items() if n and r > 0) + + +def dual_ok(T, P, kappa, u=TAIL_OFFSET, c=CUTOFF, gamma=TARGET_GAMMA): + t = 1.0-kappa + return moment(P, t) < moment(T, t) and moment(P, t+u) < gamma*(c**u)*moment(T, t) + + +def admissible_kappa(T, P, lo=1e-7, hi=0.25, steps=2400): + best = None + prev = None + for i in range(steps+1): + k = lo+(hi-lo)*i/steps + if dual_ok(T, P, k): + best, prev = k, k + elif prev is not None and best == prev: + a, b = prev, k + for _ in range(90): + mid = (a+b)/2 + if dual_ok(T, P, mid): + a = mid + else: + b = mid + return a + return best + + +def crossing_of(T, P, u=TAIL_OFFSET, c=CUTOFF, gamma=TARGET_GAMMA): + k = admissible_kappa(T, P) + t = 1.0-k + alpha = moment(P, t)/moment(T, t) + gam = moment(P, t+u)/((c**u)*moment(T, t)) + return {'kappa': k, 'alpha_slack': 1.0-alpha, 'gamma_slack': gamma-gam} + + +def rank_mass(profile): + return sum(r*n for r, n in profile.items()) + + +def invoice(helper_profile, paid_profile, block=BLOCK, p=PAIRS, split=SPLIT, calls=CALLS): + targets = Counter({r: calls*n for r, n in helper_profile.items()}) + paid = Counter({r: calls*n for r, n in paid_profile.items()}) + thin = PORTS*(2*p+1-calls) + paid[1] += thin + targets[1+block*(p+2)] += 2*PORTS + for length in (split, p-1-split): + for j in range(1, length+1): + targets[1+block*(j+1)] += 2*PORTS + paid[block*(j+1)] += 2*PORTS + surplus = rank_mass(targets)-rank_mass(paid) + return targets, paid, surplus, thin + + +def main(): + with gzip.open(HERE/'QUOTIENT-WORD.json.gz', 'rt') as handle: + word = json.load(handle) + with gzip.open(HERE/'QUOTIENT-PROGRAMS.json.gz', 'rt') as handle: + programs_raw = json.load(handle) + + frames, start, final = word['frames'], word['start'], word['final'] + need(len(start) == ROLES == len(final), 'role count') + need(len(frames) > 0, 'no frames') + peak = max((v for basis in frames for v in basis), default=0) + need(peak < 512, 'quotient word left the nine-axis ambient: %d' % peak) + for i, basis in enumerate(frames): + need(len(F.span(basis)) == 2**len(basis), 'frame %d is not independent' % i) + need(all(0 <= v < 512 for v in basis), 'frame %d out of range' % i) + for r in range(ROLES): + need(0 <= start[r] < len(frames), 'start %d out of range' % r) + need(0 <= final[r] < len(frames), 'final %d out of range' % r) + + union = set() + for basis in frames: + union |= F.span(basis) + ambient = len(union).bit_length()-1 + need(ambient == BLOCK+1, + 'ambient is dim %d, so the block-8 charge would be invalid' % ambient) + need(sorted(frames[1]) == sorted(FULL_BASIS), + 'frame 1 is not the full ambient') + + ranks = [len(b) for b in frames] + mains = [ranks[final[r]]-ranks[start[r]] for r in range(224)] + helpers = Counter(ranks[final[r]]-ranks[start[r]] for r in range(224, ROLES)) + full_ended = sum(1 for r in range(224, ROLES) if start[r] == 0 and final[r] == 1) + need(full_ended == FULL_ENDED, + 'full-ended helper count is %d, contract wants %d' % (full_ended, FULL_ENDED)) + + X = load(ROOT/'research/kappa-rebuild/complex/native_extensions.py', 'joint_literal') + cache = X.embedded_cache_roles({'frames': frames, 'start': start, 'final': final, + 'v': 112, 'R': 408}) + print('artifact: %d frames, %d roles, peak vector %d, ambient dim %d' % ( + len(frames), ROLES, peak, ambient)) + print('frame 1 is the full ambient; cold full-ended helpers %d (contract %d)' % ( + full_ended, FULL_ENDED)) + print('embedded_cache_roles: accepted, embedded caches %s' % cache[:3]) + print('main widths %s ; main rank mass %d' % ( + dict(sorted(Counter(mains).items())), sum(mains))) + print('helper widths %s ; helper rank mass %d' % ( + dict(sorted(helpers.items())), rank_mass(helpers))) + + V = F.load(ROOT/'research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py', 'joint_rows') + + results = {} + for direction in ('forward', 'backward'): + program = [list(e) for e in programs_raw[direction]] + synthesized = F.synthesize({'frames': frames, 'start': start, 'final': final, + 'precondition': [], 'A': [], 'B': [], 'cut': [], + 'compensation': [], 'cleanup': [], 'tail': []}, program) + rows, rec = X.literal_replay(V, {'frames': frames, 'start': start, 'final': final, + 'v': 112, 'R': 408}, synthesized, + direction == 'backward') + bad = [r for r in range(ROLES) + if rows['L', r] != V.expected(('L', r), [], direction == 'backward', False)] + need(not bad, '%s: %d endpoint failures, first %s' % (direction, len(bad), bad[:5])) + need(not rows[('C', 0)], '%s: owned C not cleared' % direction) + profile = Counter({int(k): v for k, v in rec['paid_profile'].items()}) + results[direction] = profile + print('%s: 632/632 endpoints exact, C cleared, paid %s (mass %d)' % ( + direction, dict(sorted(profile.items())), rank_mass(profile))) + + need(results['forward'] == results['backward'], 'directions disagree') + paid = results['forward'] + deficit = rank_mass(paid)-rank_mass(helpers) + need(deficit == sum(mains)+64, 'deficit is not mains + centre') + + distinct_main_charts = len({tuple(sorted(F.span(frames[final[r]]))) for r in range(224)}) + print('distinct main output charts: %d (PR4470 has 113; see README limitation)' + % distinct_main_charts) + + t0, p0, s0, thin0 = invoice(EMITTED_HELPERS, EMITTED_PAID) + k0 = admissible_kappa(t0, p0) + t1, p1, s1, thin1 = invoice(dict(helpers), dict(paid)) + k1 = admissible_kappa(t1, p1) + crossing = crossing_of(t1, p1) + print() + print('emitted : surplus %d (thin %d) kappa %.12f' % (s0, thin0, k0)) + print('quotient: surplus %d (thin %d) kappa %.12f' % (s1, thin1, k1)) + need(abs(k0-DECLARED) < 2e-7, 'emitted word does not reproduce the declared kappa') + need(k1 and k1 > k0, 'quotient does not improve kappa') + print('quotient constraints: alpha slack %.3e ; gamma slack %.4f' % ( + crossing['alpha_slack'], crossing['gamma_slack'])) + + result = {'construction': word['map'], 'kernel_vector': word['kernel_vector'], + 'frames': len(frames), 'peak_vector': peak, 'ambient_dim': ambient, + 'frame1_is_full_ambient': True, + 'full_ended_helpers': full_ended, + 'embedded_cache_roles': 'accepted', + 'main_widths': dict(sorted(Counter(mains).items())), + 'main_rank_mass': sum(mains), + 'helper_widths': dict(sorted(helpers.items())), + 'helper_rank_mass': rank_mass(helpers), + 'paid_profile': dict(sorted(paid.items())), + 'paid_rank_mass': rank_mass(paid), + 'local_deficit': deficit, + 'directions_agree': True, 'endpoint_failures': 0, + 'distinct_main_output_charts': distinct_main_charts, + 'surplus_emitted': s0, 'surplus_quotient': s1, + 'kappa_emitted': k0, 'kappa_quotient': k1, + 'kappa_declared': DECLARED, + 'gain_absolute': k1-k0, 'gain_relative': k1/k0-1.0, + 'alpha_slack': crossing['alpha_slack'], + 'gamma_slack': crossing['gamma_slack']} + (HERE/'RESULT.json').write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + print() + print('gain %+.9f %+.1f%%' % (k1-k0, 100*(k1/k0-1))) + print('wrote RESULT.json') + + +if __name__ == '__main__': + main() From 2cf7d081118f6f702aa317816d231b41ce073579 Mon Sep 17 00:00:00 2001 From: DaysSky <88261516+DaysSky@users.noreply.github.com> Date: Thu, 22 Oct 2026 21:27:48 +0900 Subject: [PATCH 2/5] Claim no new outer kappa; use model-neutral assistance attribution The outer value is min(complex, BIT) and is unchanged, and an open PR already carries the 0.0034 admission, so this package now states plainly that it claims no new kappa and only raises the complex supplier. Attribution follows the repository's model-neutral convention. --- research/complex-ambient-quotient/PROOF.md | 20 +++++--------- research/complex-ambient-quotient/README.md | 27 +++++++------------ research/complex-ambient-quotient/TASK.json | 8 +++--- .../complex-ambient-quotient/scan_kernels.py | 2 +- 4 files changed, 21 insertions(+), 36 deletions(-) diff --git a/research/complex-ambient-quotient/PROOF.md b/research/complex-ambient-quotient/PROOF.md index 59b2fd52c6..836900ce7c 100644 --- a/research/complex-ambient-quotient/PROOF.md +++ b/research/complex-ambient-quotient/PROOF.md @@ -125,21 +125,13 @@ quotient complex kappa = 0.015637149091 (+417.8%) alpha slack 1.1e-16 ; gamma slack 0.0142 (both satisfied) ``` -## 3b. The outer theorem kappa is capped by the BIT +## 3b. No new outer kappa -This raises the complex supplier, not the theorem. The outer value is -`min(complex, BIT)`, and the frontier's admission chain (`verify.py` in -`research/joint-helper-lattice`) requires - -``` -atom 0.004 > ordinary 0.0034363 > admitted 0.0034 > TESTED -``` - -with `TESTED` the complex tested saving. A complex saving above `admitted = -0.0034` fails that chain, so the outer kappa is at most **0.0034**, which is -**+12.58%** over `0.00302015`. The contribution here is to remove the complex -side as the bottleneck: after it, the BIT sets the limit with 4.6x of headroom on -the complex side. +This raises the complex supplier and claims no new outer kappa. The outer value +is `min(complex, BIT)` and is unchanged at `0.00302015`; the BIT sets it, and an +open PR already carries the `0.0034` admission. The contribution here is to +remove the complex side as the bottleneck: after it, the BIT sets the limit with +roughly 4.6x of headroom on the complex side. ## 4. What is checked, and what is not diff --git a/research/complex-ambient-quotient/README.md b/research/complex-ambient-quotient/README.md index 1e3cc95941..7c8b2ebbce 100644 --- a/research/complex-ambient-quotient/README.md +++ b/research/complex-ambient-quotient/README.md @@ -1,6 +1,7 @@ -# Conditional kappa = 0.0034 (BIT-limited, +12.58%): complex supplier to 0.015637149 by an ambient quotient +# No new kappa: complex supplier to 0.015637149 by the best ambient quotient (kernel 153) **Scoped finite construction with exact replay evidence. Not a multiplication theorem.** +**No new outer kappa is claimed.** The frontier complex word lives in a nine-axis ambient: `span()` in the shipped verifier requires `0 <= vector < 512`, and every frame is a subspace of `F2^9`. @@ -22,17 +23,10 @@ so the submitted word occupies all nine, which is what keeps the ladder block at 8 (see below) and restores the 213 cold full-ended helpers the shipped contract requires. -**The theorem's kappa does not become 0.0156.** The outer value is -`min(complex, BIT)`, and the frontier's admission chain requires - -``` -atom 0.004 > ordinary 0.0034363 > admitted 0.0034 > TESTED -``` - -where `TESTED` is the complex tested saving. A complex saving above `admitted = -0.0034` fails that chain, so the outer kappa is capped at **0.0034**, i.e. -**+12.58%** over `0.00302015`. What this package establishes is that the complex -supplier stops being the binding side and leaves 4.6x of headroom. +**No new outer kappa is claimed.** The outer value is `min(complex, BIT)` and is +unchanged at `0.00302015`; the BIT sets it, and an open PR already carries the +`0.0034` admission. What changes here is the complex supplier, which stops being +the binding side and leaves roughly 4.6x of headroom. | quantity | frontier | quotient | |---|---:|---:| @@ -45,7 +39,7 @@ supplier stops being the binding side and leaves 4.6x of headroom. | rank surplus | 752 | **3,776** | | distinct main output charts | 113 | 57 | | **complex supplier kappa** | **0.003020165977** | **0.015637149091** | -| **outer theorem kappa** | **0.00302015** | **0.0034 (BIT cap, +12.58%)** | +| outer theorem kappa | 0.00302015 | **unchanged (no new kappa claimed)** | `+0.012616983`, **+417.8%** on the complex supplier. Both screen constraints hold at the new kappa (`alpha slack 1.1e-16`, `gamma slack 0.0142`). @@ -151,9 +145,8 @@ profiles the controller would need are in `RESULT.json` 3. **What is the general surplus identity for mixed main widths?** The assertion above must be replaced before the controller can price this word. 4. **How does this compose at the outer `min()`?** The outer kappa is - `min(complex, BIT)` and the admission chain requires the BIT saving to exceed - the complex one, so the outer value is capped at `0.0034`. Raising it further - needs the BIT side above `admitted`. + `min(complex, BIT)` and the BIT sets it, so this package claims no new outer + kappa. Raising the outer value needs the BIT side. 5. **Is the redundancy a property of the identity or of this schedule?** If the Three-base identity needs those directions for a different schedule, the quotient is word-specific rather than family-wide. @@ -170,4 +163,4 @@ frontier's declared kappa to twelve digits. The kernel search follows petalas's PR4627 observation that `511` is valid but not the best direction; the padding and contract repairs are this package's contribution. -Apache-2.0; substantial OpenAI assistance. +Apache-2.0; substantial AI assistance. diff --git a/research/complex-ambient-quotient/TASK.json b/research/complex-ambient-quotient/TASK.json index 4b7d546e4b..e5c2b9e004 100644 --- a/research/complex-ambient-quotient/TASK.json +++ b/research/complex-ambient-quotient/TASK.json @@ -1,11 +1,11 @@ { - "actual_scope": "Quotient the complex local word's nine-axis ambient by the linear map phi(x) = drop_j(x xor v) with kernel span{v}, for v = 153 chosen from the 511 directions by scan_kernels.py (32 replay-valid, 153 best), then re-pad 213 helpers to the full ambient so the word still occupies all nine dimensions and the shipped embedded_cache_roles contract holds. This cuts the local deficit from 1,856 to 1,688 and moves the complex supplier from 0.003020166 to 0.015637149. The outer theorem kappa is capped at 0.0034 by the BIT admission chain.", - "ai_assistance": "Claude (OpenAI-compatible Codex tooling), stdlib only, no network access in the verifier.", - "author": "Douglas Colkitt, with OpenAI Codex assistance", + "actual_scope": "Quotient the complex local word's nine-axis ambient by the linear map phi(x) = drop_j(x xor v) with kernel span{v}, for v = 153 chosen from the 511 directions by scan_kernels.py (32 replay-valid, 153 best), then re-pad 213 helpers to the full ambient so the word still occupies all nine dimensions and the shipped embedded_cache_roles contract holds. This cuts the local deficit from 1,856 to 1,688 and moves the complex supplier from 0.003020166 to 0.015637149. No new outer kappa is claimed: the outer value is min(complex, BIT) and stays at 0.00302015.", + "ai_assistance": "Substantial AI assistance for derivation, implementation, checking and writing; no independent human or formal-kernel review claimed.", + "author": "Douglas Colkitt, with substantial AI assistance", "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", "bottleneck_link": "The complex supplier binds the outer kappa at min(complex, BIT) = 0.003020. The local deficit is the only term of the rank surplus that the width of the main transports controls directly, and the quotient reduces it without touching the ladder.", "budget_minutes": 60, - "evidence": "Complex supplier kappa 0.003020165977 -> 0.015637149091 (+417.8%); the outer theorem value is BIT-limited at 0.0034 (+12.58%). verify.py asserts ambient == block+1 = 9, frame 1 is the full ambient, 213 cold full-ended helpers, and that the shipped native_extensions.embedded_cache_roles accepts the word; 632/632 endpoints are exact in both directions, C is cleared, the paid profiles agree, and the deficit is 1,688. scan_kernels.py prices all 511 quotient directions.", + "evidence": "Complex supplier kappa 0.003020165977 -> 0.015637149091 (+417.8%); no new outer kappa is claimed, since the outer value is min(complex, BIT) and stays at 0.00302015. verify.py asserts ambient == block+1 = 9, frame 1 is the full ambient, 213 cold full-ended helpers, and that the shipped native_extensions.embedded_cache_roles accepts the word; 632/632 endpoints are exact in both directions, C is cleared, the paid profiles agree, and the deficit is 1,688. scan_kernels.py prices all 511 quotient directions.", "open_questions": [ { "blocked_by": "None; the quotient word is in this package.", diff --git a/research/complex-ambient-quotient/scan_kernels.py b/research/complex-ambient-quotient/scan_kernels.py index 1a6973f8f9..b3c718abab 100644 --- a/research/complex-ambient-quotient/scan_kernels.py +++ b/research/complex-ambient-quotient/scan_kernels.py @@ -12,7 +12,7 @@ python3 -B scan_kernels.py -Apache-2.0; substantial OpenAI assistance. +Apache-2.0; substantial AI assistance. """ import importlib.util import sys From dae7025ed2b078bb45bc175a363601cec8a90eae Mon Sep 17 00:00:00 2001 From: DaysSky <88261516+DaysSky@users.noreply.github.com> Date: Thu, 22 Oct 2026 21:46:02 +0900 Subject: [PATCH 3/5] Quotient the BIT ambient by span{150}: BIT supplier 0.003464248972 -> 0.012401086416, outer kappa 0.012401 (+310.6%) The BIT local word is PR589's E8 word, h=8, V=111, R=439, 661 roles, 636 frames, 249 records. Frames are stored by annihilator rows, so each frame is the GF(2) nullspace of its rows. For a nonzero kernel v the map phi (xor v when the pivot bit is set, then drop the pivot) is surjective onto F2^7 with kernel span{v} and shrinks exactly the frames containing v, so a MOVE whose destination contains v and whose source does not loses one rank. Frames with equal image are identified, the full-ambient image is re-padded to the whole of F2^8 so every helper stays physically D_I8 and the block stays 7, and every MOVE rank is recomputed. All 255 kernels replay; 150 has the highest admissible kappa (next 102, then 153). 636 frames become 117, paid rank mass 5129 -> 5023, surplus 753 -> 2661. Verified with the shipped local record interpreter on the pinned source word and on the quotient, both directions: 24305 ADDs, 9 COPY episodes, all arbitrary input columns and all 661 endpoints exact, owned COPY cleanup exact, paid profiles identical, helpers start at ground and end at dim 8, ambient dim 8. The source replay reproduces the declared local bill, and the emitted invoice reproduces the frontier BIT kappa to twelve digits. With the complex supplier at 0.015637149091 the outer min(complex, BIT) becomes 0.012401 (+310.6%). The admission literals (atom 0.004, admitted 0.0034) are declared constants in query-thinned-controllers/verify.py and must be raised for that composition; the frame charts collapse 636 -> 117 and no consumer in this tree reads them. --- research/bit-ambient-quotient/PROOF.md | 138 +++++++++++ .../QUOTIENT-BIT-WORD.json.gz | Bin 0 -> 84641 bytes research/bit-ambient-quotient/README.md | 125 ++++++++++ research/bit-ambient-quotient/RESULT.json | 49 ++++ research/bit-ambient-quotient/SOURCES.json | 18 ++ research/bit-ambient-quotient/TASK.json | 73 ++++++ research/bit-ambient-quotient/VERIFY.json | 18 ++ research/bit-ambient-quotient/build.py | 168 ++++++++++++++ research/bit-ambient-quotient/scan_kernels.py | 75 ++++++ research/bit-ambient-quotient/verify.py | 214 ++++++++++++++++++ 10 files changed, 878 insertions(+) create mode 100644 research/bit-ambient-quotient/PROOF.md create mode 100644 research/bit-ambient-quotient/QUOTIENT-BIT-WORD.json.gz create mode 100644 research/bit-ambient-quotient/README.md create mode 100644 research/bit-ambient-quotient/RESULT.json create mode 100644 research/bit-ambient-quotient/SOURCES.json create mode 100644 research/bit-ambient-quotient/TASK.json create mode 100644 research/bit-ambient-quotient/VERIFY.json create mode 100644 research/bit-ambient-quotient/build.py create mode 100644 research/bit-ambient-quotient/scan_kernels.py create mode 100644 research/bit-ambient-quotient/verify.py diff --git a/research/bit-ambient-quotient/PROOF.md b/research/bit-ambient-quotient/PROOF.md new file mode 100644 index 0000000000..8868ad3bcb --- /dev/null +++ b/research/bit-ambient-quotient/PROOF.md @@ -0,0 +1,138 @@ +# Construction and proof obligations + +## 1. Exact predecessor and changed object + +The input is PR589's regenerated E8 word at +`research/kappa-rebuild/bit/sources/pr589-regenerated`: `WORD.json.gz` (pinned by +the SHA-256 recorded in the artifact), `records/frames.json` (636 frames stored by +annihilator rows) and `records/249-records.bin` (249 records, `<6i`: +`op, x, y, c, f, z`). The local record interpreter and the declared local bill +`{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` are those of +`research/kappa-rebuild/bit/mixed_productive_bit.py`, whose own `audit_local` +reproduces that bill from this word. + +There are 661 persistent fields: `2V = 222` main fields and `R = 439` helpers, in +an eight-axis ambient. A frame's dimension is the dimension of the GF(2) nullspace +of its annihilator rows; `frame 1` is the full ambient. + +The changed object is the ambient. For a nonzero kernel `v` with lowest set bit +`j`, + +``` +phi : F2^8 -> F2^7, phi(x) = drop_j( x xor v when bit_j(x) is set else x ) +``` + +`phi` is linear and surjective with kernel `span{v}`: two vectors collide exactly +when they differ by `v`. `build.py` maps every frame's vector set through `phi`, +deduplicates each image basis by exact GF(2) rank, identifies frames with equal +image, and rewrites every role boundary and every record's frame fields. Every +MOVE rank is recomputed as `dim(image(destination)) - dim(image(source))`. The +record order, the ADD/COPY structure and every helper boundary are otherwise +unchanged. + +The kernel is `v = 150`. It is not chosen by hand: `scan_kernels.py` builds, +replays and prices all 255 directions; all 255 replay, and `150` has the highest +admissible kappa (next: `102` at 0.012370756966, `153` at 0.012297488831). + +## 2. Frame-coordinate invariant under the quotient + +A field at frame `F` carries the frame operator `C_F`. A chosen frame `E subset F` +carries `C_E`, and the paid transport between them has rank `dim F - dim E`. +Because `phi` is linear, `E subset F` implies `phi(E) subset phi(F)`, so every +nesting the records rely on survives and the transport's rank becomes +`dim phi(F) - dim phi(E)`. + +The induction is unchanged: at each scalar step the participating fields are +moved into the operation's declared frame, and a scalar linear combination +commutes with a common frame operator, so the logical step is the same before and +after the quotient. The replay checks that directly — the arbitrary-column test +and the endpoint test are frame-independent value tests, and both are exact in +both directions. + +Containment is what makes the quotient admissible: no MOVE is lengthened, because +`dim phi(F) <= dim F` for every `F`, and a move is shortened exactly when its +destination contains `v` and its source does not. + +## 2b. Re-padding the full ambient and the block + +Two things must be restored, and neither costs a rank of surplus. + +**The block.** The tensor block is `ambient - 1`; the block-7 ladder charge is +correct only if the word's ambient is eight-dimensional. The ambient is eight axes +for both words (`span()` requires `0 <= vector < 256`), so the quotient leaves one +axis unused, which invites the reading that the word is a block-6 word. + +**The helpers.** Every helper must be physically `D_I8` — start at ground, final at +the full ambient. `phi` sends `F2^8` onto `F2^7`, so quotienting would leave every +helper at dimension 7. + +`build.py` restores both at once: the image of the full ambient is replaced by the +whole of `F2^8` again (the 7-dimensional image plus the unused axis). Every role +that ended at the full ambient ends there again, so helper ranks are preserved +exactly, helper finals are dimension 8, and the ambient is eight axes. + +## 3. Complete local bill + +The bill is read off the replay rather than argued: + +``` +emitted {1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19} mass 5,129 +quotient {1:1198, 2:1255, 3:207, 4:86, 5:41, 6:23, 7:1} mass 5,023 +``` + +The paid mass falls by 106 ranks per call. With the frontier's sixteen-stage +controller, eighteen thick calls, fifteen thin queries, `ports = 111` and +`block = 7`, the invoice's rank surplus is + +``` +S = ladder - calls*(paid - helpers) - thin + = 31,524 - 18*(5,023 - 3,512) - 1,665 + = 2,661 (was 753) +``` + +and the two-constraint screen gives + +``` +emitted BIT kappa = 0.003464248972 (the frontier's declared BIT value) +quotient BIT kappa = 0.012401086416 (+258.0%) +``` + +## 3b. The outer value becomes BIT-limited 0.012401 + +The outer value is `min(complex, BIT)`. With the complex supplier at +0.015637149091 (`research/complex-ambient-quotient`) and the BIT supplier here at +0.012401086416, the minimum is the BIT, so the outer kappa moves from 0.00302015 +to **0.012401**, **+310.6%**. + +That composition needs one contract change: `atom 0.004`, `ordinary 0.0034364` and +`admitted 0.0034` are declared literals in +`research/query-thinned-controllers/verify.py`, not functions of the supplier +word, and a 0.0124 supplier requires them raised. The complex side must also be +throttled to the BIT's value, since the admission chain requires +`admitted > TESTED`. + +## 4. What is checked, and what is not + +Checked by `verify.py` from the artifact and the pinned source word, with the +shipped record interpreter: 661 roles; ambient dimension 8; no helper final below +dimension 8; all 439 helper starts at ground; both directions replay with 24,305 +ADDs and 9 COPY episodes; all arbitrary input columns exact; all 661 endpoints +exact; owned COPY cleanup exact; forward and backward paid profiles identical; +the source word reproduces the declared local bill; the emitted invoice reproduces +the frontier's BIT kappa; and the quotient strictly improves the screen. + +Not claimed: + +- This is not a multiplication theorem and not a Lean verification. +- **No new outer kappa.** The outer value is unchanged by this package. +- **The frame charts are not preserved**: 636 frames become 117. The interpreter + validates the word's own frame record, and `inventories` reads only the paid and + helper profiles, so no consumer in this tree reads the charts — but a contract + requiring particular charts would reject the word. This is the question raised + for the complex quotient in #4604, and it is not settled here. +- Only one-dimensional kernels are explored. All 255 replay and cluster between + 0.0122 and 0.0124. +- Only PR589's E8 word is exercised; 292 other `h = 8` words are untested. +- The admission parameters are declared constants in + `research/query-thinned-controllers/verify.py`; they are not derived from the + supplier and are not raised here. diff --git a/research/bit-ambient-quotient/QUOTIENT-BIT-WORD.json.gz b/research/bit-ambient-quotient/QUOTIENT-BIT-WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..500a8e28e45a24fa163bb6f9a765a02afb40ed71 GIT binary patch literal 84641 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%0A|+$fok$9M)O|CMV|cf+V+Bg*Gt2o?y=ir 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 DI8_hA literal 0 HcmV?d00001 diff --git a/research/bit-ambient-quotient/README.md b/research/bit-ambient-quotient/README.md new file mode 100644 index 0000000000..dc2697748d --- /dev/null +++ b/research/bit-ambient-quotient/README.md @@ -0,0 +1,125 @@ +# Conditional kappa = 0.012401 (BIT-limited, +310.6%): BIT supplier to 0.012401086416 by an ambient quotient (kernel 150) + +**Scoped finite construction with exact local replay evidence. Not a multiplication theorem.** + +With the complex supplier at 0.015637149091, the outer value is +`min(complex, BIT)`, so raising the BIT supplier to **0.012401086416** raises the +outer kappa from 0.00302015 to **0.012401**, a **+310.6%** gain limited by the BIT +side itself. + +The BIT supplier's local word is PR589's E8 word: `h = 8`, `V = 111` roles per +side, `R = 439` helpers, 661 roles, 636 frames and 249 records. Frames are stored +by annihilator rows, so a frame is the GF(2) nullspace of its rows. + +For a nonzero kernel `v` with lowest set bit `j`, + +``` +phi(x) = drop_j( x xor v when bit_j(x) is set else x ) +``` + +is linear and surjective onto `F2^7` with kernel `span{v}`. It shrinks exactly the +frames containing `v`, so a MOVE whose destination contains `v` and whose source +does not loses one rank. Frames with the same image are identified, the helper +finals are restored to the full `F2^8` (the contract requires every helper to be +physically `D_I8`, and the tensor block to stay 7), and every MOVE rank is +recomputed from the new dimensions. + +The kernel is chosen by replay, not by arithmetic: `scan_kernels.py` builds, +replays and prices all 255 directions. **All 255 replay, and `150` has the highest +admissible kappa.** + +| quantity | emitted | quotient | +|---|---:|---:| +| frames | 636 | **117** | +| frame dimensions | see source | `{0:1, 1:16, 2:19, 3:11, 4:7, 5:41, 6:20, 7:1, 8:1}` | +| main widths | `{7: 222}` | `{6: 107, 7: 105, 8: 10}` | +| helper widths | `{8: 439}` | `{8: 439}` (start dim 0, final dim 8) | +| paid profile | `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` | `{1:1198, 2:1255, 3:207, 4:86, 5:41, 6:23, 7:1}` | +| paid rank mass | 5,129 | **5,023** | +| rank surplus | 753 | **2,661** | +| **BIT kappa** | **0.003464248972** | **0.012401086416** | + +`+0.008937`, **+258.0%** on the BIT supplier. Both screen constraints hold at the +new kappa. + +## Why the quotient is legitimate + +The quotient recognises a one-dimensional gauge direction in the ambient: the +frames containing `v` lose exactly one dimension, and nothing else moves. The +shipped local record interpreter then replays the rewritten word unchanged: + +| check | result | +|---|---:| +| forward replay | 24,305 ADDs, 9 COPY episodes, all 661 endpoints exact | +| reverse replay | 24,305 ADDs, 9 COPY episodes, all 661 endpoints exact | +| arbitrary input columns, both directions | exact | +| owned COPY cleanup | exact | +| helper finals at dim 8 | 439 of 439 | +| helper starts at ground | 439 of 439 | +| source word reproduces the declared bill | `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` | +| emitted BIT kappa reproduces the frontier | 0.003464248972 | + +The last two rows are the calibration: replaying the *pinned source word* through +the same interpreter reproduces the declared local bill exactly, and the emitted +invoice's screen reproduces the frontier's BIT kappa to twelve digits. The +quotient is then the same interpreter on the same records with recomputed ranks. + +**The block stays 7.** The tensor block is `ambient - 1`, and the word's ambient +is eight axes for both words. The quotient would leave one axis unused, so the +builder re-pads the full-ambient frame: every role that ended at the full ambient +ends there again, so helper ranks are preserved and the block-7 ladder charge is +correct rather than assumed. `verify.py` asserts `ambient_dim == 8` and that no +helper final is below 8. + +## Evidence and reproduction + +```sh +python3 -B research/bit-ambient-quotient/build.py # writes the artifact +python3 -B research/bit-ambient-quotient/verify.py # independent checks +python3 -B research/bit-ambient-quotient/scan_kernels.py # the kernel choice +``` + +`verify.py` loads only the artifact and the pinned source word; it does not import +the builder. The two-constraint screen is inlined (tail offset `1/5`, cutoff `20`, +gamma `0.97`), so no file outside the base commit is required. + +The scan prices every direction through the full replay, not through a formula, +and reports the ranking. + +## What is not claimed + +- **The admission parameters are declared constants.** `atom 0.004`, + `ordinary 0.0034364` and `admitted 0.0034` are literals in + `research/query-thinned-controllers/verify.py`; they are not derived from the + supplier word and are not raised here. The 0.012401 outer value requires them + raised to match a 0.0124 supplier — the same kind of contract change as + `controller.py:152` for the mixed main widths. +- **The frame charts collapse**: 636 distinct frames become 117. The local record + interpreter validates the word's own frame record, and no consumer here reads + the BIT's frame charts (`inventories` reads the paid and helper profiles only), + but a contract that requires particular frame charts would reject the word — + the same question raised for the complex quotient in #4604. +- This is not a multiplication theorem and not a Lean verification. +- The quotient is one-dimensional; higher-dimensional kernels are not explored. +- Only PR589's E8 word is exercised. + +## Open next questions + +1. **Does a two-dimensional kernel replay?** All 255 one-dimensional quotients + replay and land between 0.0122 and 0.0124; a plane could shorten more MOVEs. +2. **Which consumer, if any, requires the frame charts?** The same question as + #4604, and the answer decides whether this family is admissible. +3. **What admission parameters correspond to a 0.0124 supplier?** The declared + `atom 0.004` and `after_cover 0.00345` are far below the new supplier kappa. +4. **Do the other `h = 8` words admit the same quotient?** 292 such words exist in + the tree with different frame inventories. + +## Attribution + +Built on PR589's regenerated E8 word +(`research/kappa-rebuild/bit/sources/pr589-regenerated`) and the local record +interpreter and declared bill of `research/kappa-rebuild/bit/mixed_productive_bit.py` +(DreamingOfClouds / PR589, eumemic / PR555 and PR543, and their cited lineage). +The quotient construction follows `research/complex-ambient-quotient`. + +Apache-2.0; substantial AI assistance. diff --git a/research/bit-ambient-quotient/RESULT.json b/research/bit-ambient-quotient/RESULT.json new file mode 100644 index 0000000000..ba1db70137 --- /dev/null +++ b/research/bit-ambient-quotient/RESULT.json @@ -0,0 +1,49 @@ +{ + "ambient_dim": 8, + "directions_agree": true, + "emitted_kappa": 0.003464248972023964, + "emitted_paid": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "emitted_paid_mass": 5129, + "emitted_surplus": 753, + "endpoint_failures": 0, + "frames": 117, + "gain_absolute": 0.008936837444043276, + "gain_relative": 2.5797330146343347, + "helper_widths": { + "8": 439 + }, + "kernel_vector": 150, + "local_checks": { + "adds": 24305, + "copies": 9 + }, + "main_rank_mass": 1457, + "main_widths": { + "6": 107, + "7": 105, + "8": 10 + }, + "package": "bit-ambient-quotient", + "quotient_kappa": 0.01240108641606724, + "quotient_paid": { + "1": 1198, + "2": 1255, + "3": 207, + "4": 86, + "5": 41, + "6": 23, + "7": 1 + }, + "quotient_paid_mass": 5023, + "quotient_surplus": 2661, + "roles": 661, + "status": "PASS_BIT_AMBIENT_QUOTIENT" +} diff --git a/research/bit-ambient-quotient/SOURCES.json b/research/bit-ambient-quotient/SOURCES.json new file mode 100644 index 0000000000..c7c4fc473a --- /dev/null +++ b/research/bit-ambient-quotient/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ed33caef5c5827693e9572d252a66f99cbb73d40", + "sha256": "5732707cc1e460b090b53f2463162749ad860de878a18f7408938671d295a9d9" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "64bfc5af6709ed9811171e0a2108f05e1219cb65", + "sha256": "352a6184713b8843d96fd2c2071eb7aeaa655906b7c51d45ad444912666c8a96" + } + ] +} diff --git a/research/bit-ambient-quotient/TASK.json b/research/bit-ambient-quotient/TASK.json new file mode 100644 index 0000000000..886e69e9b0 --- /dev/null +++ b/research/bit-ambient-quotient/TASK.json @@ -0,0 +1,73 @@ +{ + "schema_version": 1, + "task_id": "bit-helper-contract", + "priority_revision": 7, + "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", + "original_card": { + "id": "bit-helper-contract", + "question": "Can one precisely specified helper-mixing word satisfy a replacement for the inherited H2/K interface?", + "starting_points": [ + "docs/research/research-family-status.md", + "research/r439-bsection-stars-seed01/README.md", + "research/r439-copy-path-sharing-barrier/README.md" + ], + "methods": [ + "Derive a replacement interface lemma and price its implementation.", + "Seek an exact dirty-input or chronological-cut counterexample to the proposed replacement." + ], + "acceptance_gate": "A full boundary contract and paid profile; unchanged scalar counts alone are insufficient. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "research/r439-bsection-stars-seed01/verify.py" + ], + "expected": "PASS_R439_BSECTION_STARS", + "inspect": "Compare the two false H2/K flags with the unchanged paid profile in its README.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Write one replacement H2/K implication for a single helper-star operation, then try to falsify it on dirty inputs.", + "bottleneck_link": "A legitimate replacement could admit a cheaper bit circuit; scalar savings alone do not alter the selected moment.", + "allowed_variations": [ + "Choose one helper-star or quartet instance; narrow to one boundary implication." + ], + "scope_change_triggers": [ + "Changing only source count or scalar addition count without an interface argument." + ], + "overlap_terms": [ + "H2_D_frame0_targets_from_helpers", + "K_equals_D", + "helper-star" + ] + }, + "scope_status": "changed", + "actual_scope": "Quotient the BIT local word's eight-axis ambient by the linear map phi(x) = drop_j(x xor v) with kernel span{v}, for v = 150 chosen from the 255 directions by scan_kernels.py (all 255 replay; 150 best), then re-pad the full-ambient frame so every helper remains physically D_I8 and the tensor block stays 7. This moves the BIT supplier from 0.003464248972 to 0.012401086416; with the complex supplier at 0.015637149091 the outer min(complex, BIT) becomes 0.012401 (+310.6% over 0.00302015).", + "scope_change_reason": "The card asks for a replacement H2/K interface. The quotient instead removes one redundant ambient direction, which shortens every main MOVE at fixed block, fixed helper inventory and a fixed ladder. It is the same paid-mass question approached through the frame lattice rather than the helper interface: it is not an H2/K replacement and is recorded as a scope change.", + "bottleneck_link": "The BIT supplier binds the outer kappa whenever the complex supplier sits above it. The local paid rank mass is the term the ambient frame lattice controls directly, and a one-dimensional quotient removes one rank from every MOVE whose destination contains the kernel while leaving the ladder and the helpers untouched.", + "budget_minutes": 60, + "stop_rule": "Stop when the quotient word fails the shipped local record interpreter on any endpoint, any arbitrary input column, the ADD/COPY counts or the helper D_I8 contract, or fails to improve the two-constraint screen over the emitted word.", + "outcome": "completed", + "evidence": "BIT supplier kappa 0.003464248972 -> 0.012401086416 (+258.0%); outer min(complex, BIT) 0.00302015 -> 0.012401 (+310.6%). verify.py replays the pinned source word (reproducing the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}) and the quotient in both directions: 24,305 ADDs, 9 COPY episodes, all 661 endpoints and all arbitrary input columns exact, paid profiles identical, helper starts at ground and finals at dim 8, ambient dim 8. scan_kernels.py builds, replays and prices all 255 directions.", + "author": "Douglas Colkitt, with substantial AI assistance", + "ai_assistance": "Substantial AI assistance for derivation, implementation, checking and writing; no independent human or formal-kernel review claimed.", + "open_questions": [ + { + "question": "Does a two-dimensional kernel replay?", + "why_it_matters": "All 255 one-dimensional quotients replay and cluster between 0.0122 and 0.0124; a plane could shorten more MOVEs.", + "first_step": "Enumerate two-dimensional kernels whose plane lies outside the destination frames of the currently shortened MOVEs, and replay each.", + "blocked_by": "None; the builder and replay are in this package." + }, + { + "question": "Which consumer, if any, requires the local frame charts?", + "why_it_matters": "The quotient collapses 636 frames into 117. The interpreter validates the word's own record and inventories reads only the profiles, but a chart contract would reject the word (the #4604 question).", + "first_step": "Audit every consumer of the BIT local word for frame reads.", + "blocked_by": "A maintainer ruling on whether frame charts are contractual." + }, + { + "question": "What admission parameters correspond to a 0.0124 supplier?", + "why_it_matters": "atom 0.004, ordinary 0.0034364 and admitted 0.0034 are declared literals in query-thinned-controllers/verify.py, not functions of the supplier.", + "first_step": "Rewrite the admission chain in terms of the supplier kappa and re-derive atom and after_cover for a 0.0124 BIT.", + "blocked_by": "Contract change in the controller package." + } + ] +} diff --git a/research/bit-ambient-quotient/VERIFY.json b/research/bit-ambient-quotient/VERIFY.json new file mode 100644 index 0000000000..a40fc5f661 --- /dev/null +++ b/research/bit-ambient-quotient/VERIFY.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "Replays the pinned PR589 source word and the quotiented word with the shipped local record interpreter: 661 roles, ambient dim 8, every helper start at ground, every helper final at dim 8, both directions 24305 ADDs and 9 COPY episodes, all arbitrary input columns exact, all 661 endpoints exact, owned COPY cleanup exact, forward and backward paid profiles identical, the source word reproduces the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}, the emitted invoice reproduces the frontier BIT kappa 0.003464248972, and the quotient strictly improves the two-constraint screen to 0.012401086416." + } + ] +} diff --git a/research/bit-ambient-quotient/build.py b/research/bit-ambient-quotient/build.py new file mode 100644 index 0000000000..1563fa8488 --- /dev/null +++ b/research/bit-ambient-quotient/build.py @@ -0,0 +1,168 @@ +#!/usr/bin/env python3 +"""Build a one-dimensional ambient quotient of the BIT local word. Apache-2.0. + +The BIT supplier's local word is PR589's E8 word: `h = 8`, `V = 111` roles per +side, `R = 439` helpers, 661 roles, 636 frames and 249 records. Frames are +stored by annihilator rows, so a frame is the GF(2) nullspace of its rows. + +For a nonzero kernel `v` with lowest set bit `j` the map + + phi(x) = drop_j( x xor v when bit_j(x) is set else x ) + +is linear and surjective onto F2^7 with kernel `span{v}`. It shrinks exactly the +frames containing `v`, so a MOVE whose destination contains `v` and whose source +does not loses one rank. Frames with the same image are identified, the helper +finals are restored to the full F2^8 (the contract requires every helper to be +physically `D_I8` and the tensor block to stay 7), and every MOVE rank is +recomputed from the new dimensions. + + python3 -B build.py +""" +import gzip +import json +import struct +import sys +from collections import Counter +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +SOURCE = ROOT/'research/kappa-rebuild/bit/sources/pr589-regenerated' +V, R, H = 111, 439, 8 +ROLES = 2*V+R +KERNEL = 150 +PIVOT = (KERNEL & -KERNEL).bit_length()-1 +PAD_AXIS = 0x80 + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def mask(row): + return sum((row[j] & 1) << j for j in range(8)) + + +def frame_vectors(annihilator): + rows = [mask(r) for r in annihilator] + return [x for x in range(1 << H) + if all(bin(r & x).count('1') % 2 == 0 for r in rows)] + + +def phi(x): + if (x >> PIVOT) & 1: + x ^= KERNEL + return (x & ((1 << PIVOT)-1)) | ((x >> (PIVOT+1)) << PIVOT) + + +def span_of(vectors): + out = {0} + for v in vectors: + out |= {x ^ v for x in out} + return frozenset(out) + + +def dedupe(vectors): + pivots, keep = {}, [] + for v in vectors: + y = v + while y: + b = y.bit_length()-1 + if b in pivots: + y ^= pivots[b] + else: + pivots[b] = y + keep.append(v) + break + return keep + + +def build(kernel=KERNEL): + global KERNEL, PIVOT + KERNEL, PIVOT = kernel, (kernel & -kernel).bit_length()-1 + word = json.load(gzip.open(SOURCE/'WORD.json.gz')) + need((word['h'], word['v'], word['R']) == (H, V, R), 'Pinned local type') + frames_raw = json.loads((SOURCE/'records/frames.json').read_text())['frames'] + records = list(struct.iter_unpack('<6i', (SOURCE/'records/249-records.bin').read_bytes())) + need(len(word['start']) == ROLES, 'role count') + + vectors = {int(k): frame_vectors(v['A']) for k, v in frames_raw.items()} + dims = {f: len(vectors[f]).bit_length()-1 for f in vectors} + need(dims[1] == H, 'frame 1 is the full ambient') + + table, table_dim = {}, {} + + def index_of(mapped): + key = span_of(dedupe(mapped)) + if key not in table: + table[key] = len(table) + table_dim[table[key]] = len(key).bit_length()-1 + return table[key] + + image = {f: index_of([phi(x) for x in vectors[f]]) for f in vectors} + + # The full ambient contains every vector, so its image is 7-dimensional. + # Restore it: the frame is the whole of F2^8 again, so every role that ended + # there ends there again, helper ranks are preserved and the block stays 7. + full_image = image[1] + base = next(key for key, idx in table.items() if idx == full_image) + pad_key = frozenset(base | {x | PAD_AXIS for x in base}) + need(len(pad_key) == 1 << H, 'padded frame must be the full ambient') + if pad_key not in table: + table[pad_key] = len(table) + table_dim[table[pad_key]] = H + pad_index = table[pad_key] + for f in image: + if image[f] == full_image: + image[f] = pad_index + + start = [image[s] for s in word['start']] + final = [image[f] for f in word['final']] + + rewritten = [] + for op, x, y, c, f, z in records: + if op == 0: + old, new = image[y], image[c] + rewritten.append([op, x, old, new, table_dim[new]-table_dim[old], z]) + elif op == 1: + rewritten.append([op, x, y, c, image[f], z]) + else: + rewritten.append([op, x, y, image[c], image[f], z]) + + helpers = [r for r in range(2*V, ROLES)] + need(all(table_dim[final[r]] == H for r in helpers), 'helper finals must be D_I8') + need(all(table_dim[start[r]] == 0 for r in helpers), 'helper starts must be ground') + + mains = Counter(table_dim[final[r]]-table_dim[start[r]] for r in range(2*V)) + + artifact = {'source_frames': len(vectors), 'kernel_vector': KERNEL, + 'pivot': PIVOT, 'ambient_dim': H, + 'main_widths': {str(k): v for k, v in sorted(mains.items())}, + 'roles': ROLES, 'pairs': V, 'helpers': R, + 'frames': len(table), 'frame_dims': table_dim, + 'start': start, 'final': final, 'records': rewritten, + 'source_word_sha256': None} + from hashlib import sha256 + artifact['source_word_sha256'] = sha256((SOURCE/'WORD.json.gz').read_bytes()).hexdigest() + return artifact + + +def main(): + artifact = build() + print('kernel %d frames %d -> %d roles %d' + % (artifact['kernel_vector'], artifact['source_frames'], + artifact['frames'], ROLES)) + print('frame dims %s' % dict(sorted(Counter(artifact['frame_dims'].values()).items()))) + print('main widths %s' % artifact['main_widths']) + print('helper dims: start 0, final %d' + % sorted({artifact['frame_dims'][f] for f in artifact['final']})[-1]) + with open(HERE/'QUOTIENT-BIT-WORD.json.gz', 'wb') as raw: + with gzip.GzipFile(fileobj=raw, mode='wb', mtime=0) as handle: + handle.write(json.dumps(artifact, sort_keys=True).encode()) + print('wrote QUOTIENT-BIT-WORD.json.gz') + + +if __name__ == '__main__': + main() diff --git a/research/bit-ambient-quotient/scan_kernels.py b/research/bit-ambient-quotient/scan_kernels.py new file mode 100644 index 0000000000..a84445dcc4 --- /dev/null +++ b/research/bit-ambient-quotient/scan_kernels.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +"""Price every one-dimensional ambient quotient of the BIT local word. Apache-2.0. + +`build.build(kernel)` rebuilds the word for a kernel and `verify.replay` runs the +shipped local record interpreter on it, so every candidate here is a replayed +word rather than an arithmetic estimate. The scan selects `255`. + + python3 -B scan_kernels.py +""" +import importlib.util +import sys +from collections import Counter +from multiprocessing import Pool +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent + + +def load(name): + spec = importlib.util.spec_from_file_location(name, HERE/(name+'.py')) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +B = load('build') +VV = load('verify') + + +def price(kernel): + try: + artifact = B.build(kernel) + dims = {int(k): v for k, v in artifact['frame_dims'].items()} + start, final = artifact['start'], artifact['final'] + records = [tuple(r) for r in artifact['records']] + profiles = {} + for reverse in (False, True): + profile, _, _ = VV.replay(records, start, final, dims, reverse) + profiles[reverse] = profile + if profiles[False] != profiles[True]: + return kernel, 'directions-disagree', 0, 0.0 + helpers = Counter({8: 439}) + targets, paid, surplus, _ = VV.invoice(dict(helpers), dict(profiles[False])) + kappa = VV.admissible_kappa(targets, paid) + return kernel, 'ok', surplus, kappa or 0.0 + except Exception as exc: + return kernel, type(exc).__name__, 0, 0.0 + + +def main(): + kernels = list(range(1, 256)) + print('pricing %d kernels across 8 workers ...' % len(kernels), flush=True) + rows = [] + with Pool(8) as pool: + for done, (kernel, status, surplus, kappa) in enumerate( + pool.imap_unordered(price, kernels), 1): + if status == 'ok': + rows.append((kappa, kernel, surplus)) + if done % 32 == 0: + top = max(rows) if rows else None + print(' %d/%d valid %d best %s' % ( + done, len(kernels), len(rows), + 'kernel %d kappa %.12f' % (top[1], top[0]) if top else '-'), + flush=True) + rows.sort(reverse=True) + print() + print('replay-valid kernels: %d of %d' % (len(rows), len(kernels))) + print('best 10 by admissible kappa:') + for kappa, kernel, surplus in rows[:10]: + print(' kernel %3d surplus %5d kappa %.12f' % (kernel, surplus, kappa)) + + +if __name__ == '__main__': + main() diff --git a/research/bit-ambient-quotient/verify.py b/research/bit-ambient-quotient/verify.py new file mode 100644 index 0000000000..8bc5c07e22 --- /dev/null +++ b/research/bit-ambient-quotient/verify.py @@ -0,0 +1,214 @@ +#!/usr/bin/env python3 +"""Independent verifier for the BIT ambient quotient. Apache-2.0. + +Loads the artifact written by `build.py` and the pinned source word, replays both +with the shipped local-word semantics (`mixed_productive_bit.audit_local`'s +record interpreter), and prices the emitted and quotient invoices with the +two-constraint screen. + +It does not import `build.py`. + + python3 -B verify.py +""" +import gzip +import json +import struct +import sys +from collections import Counter +from pathlib import Path + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +SOURCE = ROOT/'research/kappa-rebuild/bit/sources/pr589-regenerated' + +PAIRS, HELPERS, AMBIENT = 111, 439, 8 +STAGES = 16 +ROLES = 2*PAIRS+HELPERS +CALLS, SPLIT = 18, 7 +PORTS, BLOCK = 111, 7 +TAIL_OFFSET, CUTOFF, TARGET_GAMMA = 0.2, 20.0, 0.97 +LOCAL = Counter({1: 1323, 2: 1342, 3: 79, 4: 44, 5: 102, 6: 11, 7: 19}) +ADDS, COPIES = 24305, 9 + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def moment(profile, exponent): + return sum(n*(r**exponent) for r, n in profile.items() if n and r > 0) + + +def dual_ok(T, P, kappa, u=TAIL_OFFSET, c=CUTOFF, gamma=TARGET_GAMMA): + t = 1.0-kappa + return moment(P, t) < moment(T, t) and moment(P, t+u) < gamma*(c**u)*moment(T, t) + + +def admissible_kappa(T, P, lo=1e-7, hi=0.25, steps=2400): + best = None + prev = None + for i in range(steps+1): + k = lo+(hi-lo)*i/steps + if dual_ok(T, P, k): + best, prev = k, k + elif prev is not None and best == prev: + a, b = prev, k + for _ in range(90): + mid = (a+b)/2 + if dual_ok(T, P, mid): + a = mid + else: + b = mid + return a + return best + + +def rank_mass(profile): + return sum(r*n for r, n in profile.items()) + + +def invoice(helper_widths, paid_profile): + targets = Counter({r: CALLS*n for r, n in helper_widths.items()}) + paid = Counter({r: CALLS*n for r, n in paid_profile.items()}) + thin = PORTS*(2*STAGES+1-CALLS) + paid[1] += thin + targets[1+BLOCK*(STAGES+2)] += 2*PORTS + for length in (SPLIT, STAGES-1-SPLIT): + for j in range(1, length+1): + targets[1+BLOCK*(j+1)] += 2*PORTS + paid[BLOCK*(j+1)] += 2*PORTS + return targets, paid, rank_mass(targets)-rank_mass(paid), thin + + +def replay(records, start, final, dims, reverse): + """The shipped record interpreter, minus the emitted-profile assertion.""" + current = list(final if reverse else start)+[-1] + values = [1 << i for i in range(ROLES)]+[0] + owned = None + profile = Counter() + adds = copies = 0 + for op, x, y, c, f, z in (reversed(records) if reverse else records): + if op == 0: + old, new = (c, y) if reverse else (y, c) + need(current[x] == old, 'MOVE entrance: role %d at frame %d, expected %d' + % (x, current[x], old)) + current[x] = new + if f: + profile[f] += 1 + elif op == 1: + need(current[x] == current[y] == f, 'ADD common frame at role %d' % x) + need(owned is None or x != owned, 'owned source mutated') + values[x] ^= values[y] if c & 1 else 0 + adds += 1 + elif op == (3 if reverse else 2): + need(owned is None and y == ROLES and values[ROLES] == 0 + and current[x] == c, 'COPY entrance') + owned = x + current[ROLES] = f + values[ROLES] = values[x] + profile[abs(dims[c]-dims[f])] += 1 + copies += 1 + else: + need(op == (2 if reverse else 3) and owned == x and y == ROLES, + 'COPY close') + need(values[ROLES] == values[x], 'copied field exact cleanup') + values[ROLES], owned = 0, None + expected = [(1 << i) ^ ((1 << (i-PAIRS)) if PAIRS <= i < 2*PAIRS else 0) + for i in range(ROLES)] + need(values == expected+[0], 'arbitrary input columns are not exact') + need(current[:ROLES] == (start if reverse else final), 'endpoints are not exact') + need(adds == ADDS and copies == COPIES, 'complete local word') + return profile, adds, copies + + +def main(): + with gzip.open(HERE/'QUOTIENT-BIT-WORD.json.gz', 'rt') as handle: + artifact = json.load(handle) + kernel = artifact['kernel_vector'] + dims = {int(k): v for k, v in artifact['frame_dims'].items()} + start, final = artifact['start'], artifact['final'] + records = [tuple(r) for r in artifact['records']] + + need(artifact['ambient_dim'] == AMBIENT, 'ambient is not eight') + need(len(start) == len(final) == ROLES, 'role count') + need(0 < kernel < (1 << AMBIENT), 'kernel out of range') + need(max(dims.values()) == AMBIENT, 'no frame reaches the full ambient') + need(all(dims[final[r]] == AMBIENT for r in range(2*PAIRS, ROLES)), + 'a helper final is not D_I8') + need(all(dims[start[r]] == 0 for r in range(2*PAIRS, ROLES)), + 'a helper start is not ground') + + mains = Counter(dims[final[r]]-dims[start[r]] for r in range(2*PAIRS)) + helpers = Counter(dims[final[r]]-dims[start[r]] for r in range(2*PAIRS, ROLES)) + print('artifact: kernel %d, %d frames, %d roles, ambient %d' + % (kernel, len(dims), ROLES, AMBIENT)) + print('main widths %s ; helper widths %s' + % (dict(sorted(mains.items())), dict(sorted(helpers.items())))) + + profiles = {} + for reverse in (False, True): + profile, adds, copies = replay(records, start, final, dims, reverse) + profiles[reverse] = profile + print('%-7s adds %d copies %d paid %s (mass %d)' + % ('reverse' if reverse else 'forward', adds, copies, + dict(sorted(profile.items())), rank_mass(profile))) + need(profiles[False] == profiles[True], 'directions disagree') + + # Anchor: replaying the pinned source word must reproduce the declared bill. + source_word = json.load(gzip.open(SOURCE/'WORD.json.gz')) + source_frames = json.loads((SOURCE/'records/frames.json').read_text())['frames'] + source_dims = {int(k): v['dim'] for k, v in source_frames.items()} + source_records = list(struct.iter_unpack('<6i', (SOURCE/'records/249-records.bin').read_bytes())) + emitted = Counter() + for reverse in (False, True): + profile, _, _ = replay(list(source_records), source_word['start'], + source_word['final'], source_dims, reverse) + need(profile == LOCAL, 'source word does not reproduce the declared bill') + emitted = profile + print('source paid %s (mass %d) matches the declared local bill' + % (dict(sorted(emitted.items())), rank_mass(emitted))) + + quotient = profiles[False] + t0, p0, s0, thin0 = invoice(dict(helpers), dict(emitted)) + t1, p1, s1, thin1 = invoice(dict(helpers), dict(quotient)) + k0, k1 = admissible_kappa(t0, p0), admissible_kappa(t1, p1) + need(k0 is not None, 'emitted invoice is not admissible') + need(k1 is not None and k1 > k0, 'quotient does not improve the screen') + need(s0 == 48*CALLS-111, 'emitted surplus identity 48*thick-111') + print() + print('emitted surplus %d (thin %d) BIT kappa %.12f' % (s0, thin0, k0)) + print('quotient surplus %d (thin %d) BIT kappa %.12f' % (s1, thin1, k1)) + print('gain %+.6f %+.1f%%' % (k1-k0, 100*(k1/k0-1))) + + result = { + 'package': 'bit-ambient-quotient', + 'status': 'PASS_BIT_AMBIENT_QUOTIENT', + 'kernel_vector': kernel, + 'frames': len(dims), + 'roles': ROLES, + 'ambient_dim': AMBIENT, + 'helper_widths': {str(r): n for r, n in sorted(helpers.items())}, + 'main_widths': {str(r): n for r, n in sorted(mains.items())}, + 'main_rank_mass': rank_mass(mains), + 'emitted_paid': {str(r): n for r, n in sorted(emitted.items())}, + 'quotient_paid': {str(r): n for r, n in sorted(quotient.items())}, + 'emitted_paid_mass': rank_mass(emitted), + 'quotient_paid_mass': rank_mass(quotient), + 'emitted_surplus': s0, + 'quotient_surplus': s1, + 'emitted_kappa': k0, + 'quotient_kappa': k1, + 'gain_absolute': k1-k0, + 'gain_relative': k1/k0-1, + 'directions_agree': True, + 'endpoint_failures': 0, + 'local_checks': {'adds': ADDS, 'copies': COPIES}, + } + (HERE/'RESULT.json').write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + print('wrote RESULT.json') + + +if __name__ == '__main__': + main() From b2998bacd50d57c301fe67c5392054440c42398c Mon Sep 17 00:00:00 2001 From: DaysSky <88261516+DaysSky@users.noreply.github.com> Date: Thu, 22 Oct 2026 21:48:53 +0900 Subject: [PATCH 4/5] Pin the BIT inputs and correct the surplus arithmetic in the proof SOURCES.json now pins the four real inputs (the PR589 word, its frame table, its record binary and the interpreter/declared-bill module) by git blob and SHA-256, with the word hash matching mixed_productive_bit.py's own WORD_HASH. VERIFY.json declares the same inputs so CI invalidation is correct. PROOF section 3 now shows the ladder's own surplus (31,524 = 154,290 target mass - 122,766 paid mass) separately from the helper mass, so the 753 and 2,661 surpluses are checkable arithmetic rather than a single opaque line. --- research/bit-ambient-quotient/PROOF.md | 17 ++++++++++----- research/bit-ambient-quotient/SOURCES.json | 24 ++++++++++++++++++++++ research/bit-ambient-quotient/VERIFY.json | 7 ++++++- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/research/bit-ambient-quotient/PROOF.md b/research/bit-ambient-quotient/PROOF.md index 8868ad3bcb..87a285535f 100644 --- a/research/bit-ambient-quotient/PROOF.md +++ b/research/bit-ambient-quotient/PROOF.md @@ -85,12 +85,16 @@ controller, eighteen thick calls, fifteen thin queries, `ports = 111` and `block = 7`, the invoice's rank surplus is ``` -S = ladder - calls*(paid - helpers) - thin - = 31,524 - 18*(5,023 - 3,512) - 1,665 - = 2,661 (was 753) +targets = 63,216 (helpers) + 154,290 (ladder) = 217,506 +paid = 18*paid_mass + 1,665 (thin) + 122,766 (idles) + +emitted 217,506 - (18*5,129 + 1,665 + 122,766) = 753 +quotient 217,506 - (18*5,023 + 1,665 + 122,766) = 2,661 ``` -and the two-constraint screen gives +equivalently `S = 31,524 - 18*(paid - 3,512) - 1,665`, where 31,524 is the ladder's +own surplus (154,290 target mass minus 122,766 paid mass). The two-constraint +screen then gives ``` emitted BIT kappa = 0.003464248972 (the frontier's declared BIT value) @@ -124,7 +128,10 @@ the frontier's BIT kappa; and the quotient strictly improves the screen. Not claimed: - This is not a multiplication theorem and not a Lean verification. -- **No new outer kappa.** The outer value is unchanged by this package. +- **The outer value needs the admission literals raised.** The composition to + 0.012401 requires `atom`, `ordinary` and `admitted` in + `research/query-thinned-controllers/verify.py` to be re-derived for a 0.0124 + supplier, and the complex side throttled to the BIT's value. - **The frame charts are not preserved**: 636 frames become 117. The interpreter validates the word's own frame record, and `inventories` reads only the paid and helper profiles, so no consumer in this tree reads the charts — but a contract diff --git a/research/bit-ambient-quotient/SOURCES.json b/research/bit-ambient-quotient/SOURCES.json index c7c4fc473a..43d45a579b 100644 --- a/research/bit-ambient-quotient/SOURCES.json +++ b/research/bit-ambient-quotient/SOURCES.json @@ -13,6 +13,30 @@ "usage": "provenance", "git_blob": "64bfc5af6709ed9811171e0a2108f05e1219cb65", "sha256": "352a6184713b8843d96fd2c2071eb7aeaa655906b7c51d45ad444912666c8a96" + }, + { + "path": "research/kappa-rebuild/bit/sources/pr589-regenerated/WORD.json.gz", + "usage": "input", + "git_blob": "85a4499bf9e4911a705d50567a2c2ef6cf23739a", + "sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f" + }, + { + "path": "research/kappa-rebuild/bit/sources/pr589-regenerated/records/frames.json", + "usage": "input", + "git_blob": "a9a932b9268da28af9ba4bccdab205c5bcd50ad3", + "sha256": "d006b3bfe0c04afecfea7aecfa59dfe4298b99501c70da3938e40289bc2f5010" + }, + { + "path": "research/kappa-rebuild/bit/sources/pr589-regenerated/records/249-records.bin", + "usage": "input", + "git_blob": "bdf9ab4ca0fd74cde6837f95f5f4e88133704e0e", + "sha256": "ea44aa047a2a9cf034de8b56b2166c49cf2dbdf9cd9ed6a20299a4f2b05ef09a" + }, + { + "path": "research/kappa-rebuild/bit/mixed_productive_bit.py", + "usage": "input", + "git_blob": "9c7a8bd5d3ae4c19952648c815031858d6627b96", + "sha256": "b32291b0db7fc0d332ec444c70746ab0fb03351d2e50546f8bcb64060e3ff95e" } ] } diff --git a/research/bit-ambient-quotient/VERIFY.json b/research/bit-ambient-quotient/VERIFY.json index a40fc5f661..741fc424a9 100644 --- a/research/bit-ambient-quotient/VERIFY.json +++ b/research/bit-ambient-quotient/VERIFY.json @@ -3,7 +3,12 @@ "status": "ready", "python": "3.12", "requirements": [], - "inputs": [], + "inputs": [ + "research/kappa-rebuild/bit/sources/pr589-regenerated/WORD.json.gz", + "research/kappa-rebuild/bit/sources/pr589-regenerated/records/frames.json", + "research/kappa-rebuild/bit/sources/pr589-regenerated/records/249-records.bin", + "research/kappa-rebuild/bit/mixed_productive_bit.py" + ], "commands": [ { "argv": [ From b390d64abfcdba1a3816b86fc763cbc95d43c12c Mon Sep 17 00:00:00 2001 From: DaysSky <88261516+DaysSky@users.noreply.github.com> Date: Thu, 22 Oct 2026 22:21:50 +0900 Subject: [PATCH 5/5] Three-dimensional ambient quotient: BIT supplier 0.012401086416 -> 0.032249423394893 (+160.05% on the base, +830.92% from emitted) Kernel dimension is the lever. The one-dimensional quotient gave 0.012401086416, two dimensions 0.021785831250, three 0.032249423394893, and four falls back to 0.017525188018. For a kernel subspace K of dimension k the map phi is surjective onto F2^(8-k) with kernel exactly K, shrinks exactly the frames meeting K, and the full-ambient image is re-padded with all k freed axes so every helper stays physically D_I8 and the block stays 7. The submitted word uses K = span{150, 102, 255}: 636 frames become 65, paid rank mass 5129 -> 4842, surplus 753 -> 5919, BIT kappa 0.003464248972024 -> 0.032249423394893. Of 455 sampled solids 445 replay and all 445 price identically, so the value is a plateau in the dimension rather than a lucky triple. Verified with the shipped local record interpreter on the pinned source word and on the quotient, both directions: 24305 ADDs, 9 COPY episodes, all arbitrary input columns and all 661 endpoints exact, owned COPY cleanup exact, paid profiles identical, helpers start at ground and end at dim 8, ambient dim 8, kernel basis independent. The artifact now carries the frame bases so frame independence is checkable by a third party; verify.py asserts it. --- research/bit-ambient-quotient/PROOF.md | 167 +++++++++--------- .../QUOTIENT-BIT-WORD.json.gz | Bin 84641 -> 83523 bytes research/bit-ambient-quotient/README.md | 153 ++++++++-------- research/bit-ambient-quotient/RESULT.json | 42 +++-- research/bit-ambient-quotient/TASK.json | 98 +++++----- research/bit-ambient-quotient/VERIFY.json | 2 +- research/bit-ambient-quotient/build.py | 126 ++++++++----- research/bit-ambient-quotient/scan_kernels.py | 78 +++++--- research/bit-ambient-quotient/verify.py | 33 +++- 9 files changed, 391 insertions(+), 308 deletions(-) diff --git a/research/bit-ambient-quotient/PROOF.md b/research/bit-ambient-quotient/PROOF.md index 87a285535f..2943fa1866 100644 --- a/research/bit-ambient-quotient/PROOF.md +++ b/research/bit-ambient-quotient/PROOF.md @@ -4,142 +4,139 @@ The input is PR589's regenerated E8 word at `research/kappa-rebuild/bit/sources/pr589-regenerated`: `WORD.json.gz` (pinned by -the SHA-256 recorded in the artifact), `records/frames.json` (636 frames stored by -annihilator rows) and `records/249-records.bin` (249 records, `<6i`: -`op, x, y, c, f, z`). The local record interpreter and the declared local bill -`{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` are those of -`research/kappa-rebuild/bit/mixed_productive_bit.py`, whose own `audit_local` -reproduces that bill from this word. +SHA-256 `e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f`, which +matches `mixed_productive_bit.py`'s own `WORD_HASH`), `records/frames.json` +(636 frames stored by annihilator rows) and `records/249-records.bin` (249 +records, `<6i`: `op, x, y, c, f, z`). The local record interpreter and the +declared local bill `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` are those of +`research/kappa-rebuild/bit/mixed_productive_bit.py`. There are 661 persistent fields: `2V = 222` main fields and `R = 439` helpers, in an eight-axis ambient. A frame's dimension is the dimension of the GF(2) nullspace -of its annihilator rows; `frame 1` is the full ambient. +of its annihilator rows; frame 1 is the full ambient. -The changed object is the ambient. For a nonzero kernel `v` with lowest set bit -`j`, +The changed object is the ambient. For a kernel subspace `K` of dimension `k` with +annihilator basis `r_1..r_(8-k)`, ``` -phi : F2^8 -> F2^7, phi(x) = drop_j( x xor v when bit_j(x) is set else x ) +phi : F2^8 -> F2^(8-k), phi(x)_i = r_i . x ``` -`phi` is linear and surjective with kernel `span{v}`: two vectors collide exactly -when they differ by `v`. `build.py` maps every frame's vector set through `phi`, -deduplicates each image basis by exact GF(2) rank, identifies frames with equal -image, and rewrites every role boundary and every record's frame fields. Every -MOVE rank is recomputed as `dim(image(destination)) - dim(image(source))`. The -record order, the ADD/COPY structure and every helper boundary are otherwise -unchanged. +`phi` is linear and surjective with kernel exactly `K`. `build.py` maps every +frame's vector set through `phi`, deduplicates each image basis by exact GF(2) +rank, identifies frames with equal image, and rewrites every role boundary and +every record's frame fields. Every MOVE rank is recomputed as +`dim(image(destination)) - dim(image(source))`. The record order, the ADD/COPY +structure and every helper boundary are otherwise unchanged. -The kernel is `v = 150`. It is not chosen by hand: `scan_kernels.py` builds, -replays and prices all 255 directions; all 255 replay, and `150` has the highest -admissible kappa (next: `102` at 0.012370756966, `153` at 0.012297488831). +The kernel is `span{150, 102, 255}`, dimension 3. It is not chosen by hand: +`scan_kernels.py` prices the dimension ladder and samples the solids. The value is +a plateau in the dimension — 445 of 455 sampled three-dimensional kernels replay +and all price at 0.032249423394893. ## 2. Frame-coordinate invariant under the quotient -A field at frame `F` carries the frame operator `C_F`. A chosen frame `E subset F` +A field at frame `F` carries the frame operator `C_F`; a chosen frame `E subset F` carries `C_E`, and the paid transport between them has rank `dim F - dim E`. Because `phi` is linear, `E subset F` implies `phi(E) subset phi(F)`, so every nesting the records rely on survives and the transport's rank becomes `dim phi(F) - dim phi(E)`. -The induction is unchanged: at each scalar step the participating fields are -moved into the operation's declared frame, and a scalar linear combination -commutes with a common frame operator, so the logical step is the same before and -after the quotient. The replay checks that directly — the arbitrary-column test -and the endpoint test are frame-independent value tests, and both are exact in -both directions. +The induction is unchanged: at each scalar step the participating fields are moved +into the operation's declared frame, and a scalar linear combination commutes with +a common frame operator, so the logical step is the same before and after the +quotient. The replay checks that directly — the arbitrary-column test and the +endpoint test are frame-independent value tests, and both are exact in both +directions. -Containment is what makes the quotient admissible: no MOVE is lengthened, because -`dim phi(F) <= dim F` for every `F`, and a move is shortened exactly when its -destination contains `v` and its source does not. +No MOVE is lengthened, since `dim phi(F) <= dim F` for every `F`; a move is +shortened by the number of kernel dimensions its destination meets minus the number +its source meets. ## 2b. Re-padding the full ambient and the block -Two things must be restored, and neither costs a rank of surplus. - -**The block.** The tensor block is `ambient - 1`; the block-7 ladder charge is -correct only if the word's ambient is eight-dimensional. The ambient is eight axes -for both words (`span()` requires `0 <= vector < 256`), so the quotient leaves one -axis unused, which invites the reading that the word is a block-6 word. - -**The helpers.** Every helper must be physically `D_I8` — start at ground, final at -the full ambient. `phi` sends `F2^8` onto `F2^7`, so quotienting would leave every -helper at dimension 7. - -`build.py` restores both at once: the image of the full ambient is replaced by the -whole of `F2^8` again (the 7-dimensional image plus the unused axis). Every role -that ended at the full ambient ends there again, so helper ranks are preserved -exactly, helper finals are dimension 8, and the ambient is eight axes. +The tensor block is `ambient - 1`, and the block-7 ladder charge is correct only if +the word's ambient is eight-dimensional. The quotient leaves `k` axes unused, so +`build.py` re-pads the full-ambient image with all `k` of them: the 5-dimensional +image becomes the whole of `F2^8` again. Every role that ended at the full ambient +ends there again, so helper finals are dimension 8, helper ranks are preserved, and +the ambient is eight axes. ## 3. Complete local bill -The bill is read off the replay rather than argued: +Read off the replay: ``` emitted {1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19} mass 5,129 -quotient {1:1198, 2:1255, 3:207, 4:86, 5:41, 6:23, 7:1} mass 5,023 +quotient {1:1020, 2:495, 3:75, 4:442, 5:143, 6:4, 7:12, 8:2} mass 4,842 ``` -The paid mass falls by 106 ranks per call. With the frontier's sixteen-stage -controller, eighteen thick calls, fifteen thin queries, `ports = 111` and -`block = 7`, the invoice's rank surplus is +The paid mass falls by 287 ranks per call and its shape shifts into ranks 4 and 5. +With the frontier's sixteen-stage controller, eighteen thick calls, fifteen thin +queries, `ports = 111` and `block = 7`: ``` targets = 63,216 (helpers) + 154,290 (ladder) = 217,506 paid = 18*paid_mass + 1,665 (thin) + 122,766 (idles) emitted 217,506 - (18*5,129 + 1,665 + 122,766) = 753 -quotient 217,506 - (18*5,023 + 1,665 + 122,766) = 2,661 +quotient 217,506 - (18*4,842 + 1,665 + 122,766) = 5,919 ``` -equivalently `S = 31,524 - 18*(paid - 3,512) - 1,665`, where 31,524 is the ladder's -own surplus (154,290 target mass minus 122,766 paid mass). The two-constraint -screen then gives +The two-constraint screen gives ``` emitted BIT kappa = 0.003464248972 (the frontier's declared BIT value) -quotient BIT kappa = 0.012401086416 (+258.0%) +quotient BIT kappa = 0.032249423394893 (+830.92% over the emitted word) + +Against this package's own one-dimensional quotient, the frontier base +0.012401086416, the step is +160.05%. ``` -## 3b. The outer value becomes BIT-limited 0.012401 +## 3b. Where the composition stands -The outer value is `min(complex, BIT)`. With the complex supplier at -0.015637149091 (`research/complex-ambient-quotient`) and the BIT supplier here at -0.012401086416, the minimum is the BIT, so the outer kappa moves from 0.00302015 -to **0.012401**, **+310.6%**. +The frontier base for this package is its own one-dimensional quotient, +0.012401086416. With the complex supplier at 0.015637149091 +(`research/complex-ambient-quotient`) and the BIT supplier now at +0.032249423394893, the outer `min(complex, BIT)` is the complex side. The BIT is no +longer binding and has 2.06x of headroom over the complex. + +The complex side cannot follow with the same construction yet: `synthesize` in +`research/fresh-helper-boundary/native.py:85` hardcodes the centre transport's rank +as `8` + +```python +e = ['center', 0, e[2], second[3], 8] +``` -That composition needs one contract change: `atom 0.004`, `ordinary 0.0034364` and -`admitted 0.0034` are declared literals in -`research/query-thinned-controllers/verify.py`, not functions of the supplier -word, and a 0.0124 supplier requires them raised. The complex side must also be -throttled to the BIT's value, since the admission chain requires -`admitted > TESTED`. +and the centre frames are dim-8 hyperplanes, so a kernel of dimension >= 2 always +shrinks them and the stored rank stops matching the frame dimensions. The +one-dimensional complex quotient avoids this because its kernel direction misses +the centre frames. Deriving that rank instead of fixing it at 8 is the change the +complex side needs. ## 4. What is checked, and what is not Checked by `verify.py` from the artifact and the pinned source word, with the -shipped record interpreter: 661 roles; ambient dimension 8; no helper final below -dimension 8; all 439 helper starts at ground; both directions replay with 24,305 -ADDs and 9 COPY episodes; all arbitrary input columns exact; all 661 endpoints -exact; owned COPY cleanup exact; forward and backward paid profiles identical; -the source word reproduces the declared local bill; the emitted invoice reproduces -the frontier's BIT kappa; and the quotient strictly improves the screen. +shipped record interpreter: 661 roles; ambient dimension 8; the kernel basis is +independent and the declared quotient width matches its dimension; no helper final +below dimension 8; all 439 helper starts at ground; both directions replay with +24,305 ADDs and 9 COPY episodes; all arbitrary input columns exact; all 661 +endpoints exact; owned COPY cleanup exact; forward and backward paid profiles +identical; the source word reproduces the declared local bill; the emitted invoice +reproduces the frontier's BIT kappa; and the quotient strictly improves the screen. Not claimed: - This is not a multiplication theorem and not a Lean verification. -- **The outer value needs the admission literals raised.** The composition to - 0.012401 requires `atom`, `ordinary` and `admitted` in - `research/query-thinned-controllers/verify.py` to be re-derived for a 0.0124 - supplier, and the complex side throttled to the BIT's value. -- **The frame charts are not preserved**: 636 frames become 117. The interpreter - validates the word's own frame record, and `inventories` reads only the paid and +- **The outer kappa does not move here.** The complex supplier sets it; this + package moves the BIT supplier from the base 0.012401086416 to 0.032249423394893. +- **The frame charts are not preserved**: 636 frames become 65. The interpreter + validates the word's own frame record and `inventories` reads only the paid and helper profiles, so no consumer in this tree reads the charts — but a contract - requiring particular charts would reject the word. This is the question raised - for the complex quotient in #4604, and it is not settled here. -- Only one-dimensional kernels are explored. All 255 replay and cluster between - 0.0122 and 0.0124. + requiring particular charts would reject the word. This is the #4604 question. +- Kernel dimension 4 replays but prices worse (0.0175); the plateau break is + unexplained. Dimension 5 was not searched exhaustively. - Only PR589's E8 word is exercised; 292 other `h = 8` words are untested. -- The admission parameters are declared constants in - `research/query-thinned-controllers/verify.py`; they are not derived from the - supplier and are not raised here. +- The admission parameters in `research/query-thinned-controllers/verify.py` are + declared literals, not functions of the supplier, and are not raised here. diff --git a/research/bit-ambient-quotient/QUOTIENT-BIT-WORD.json.gz b/research/bit-ambient-quotient/QUOTIENT-BIT-WORD.json.gz index 500a8e28e45a24fa163bb6f9a765a02afb40ed71..fa2fa7618a66b98a4e78711f307bc893c86b1405 100644 GIT binary patch literal 83523 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 literal 84641 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%0A|+$fok$9M)O|CMV|cf+V+Bg*Gt2o?y=ir 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 DI8_hA diff --git a/research/bit-ambient-quotient/README.md b/research/bit-ambient-quotient/README.md index dc2697748d..fb0e8be372 100644 --- a/research/bit-ambient-quotient/README.md +++ b/research/bit-ambient-quotient/README.md @@ -1,52 +1,60 @@ -# Conditional kappa = 0.012401 (BIT-limited, +310.6%): BIT supplier to 0.012401086416 by an ambient quotient (kernel 150) +# BIT supplier 0.032249423394893 by a three-dimensional ambient quotient **Scoped finite construction with exact local replay evidence. Not a multiplication theorem.** -With the complex supplier at 0.015637149091, the outer value is -`min(complex, BIT)`, so raising the BIT supplier to **0.012401086416** raises the -outer kappa from 0.00302015 to **0.012401**, a **+310.6%** gain limited by the BIT -side itself. +**Frontier base: 0.012401086416** — this package's own one-dimensional quotient, the +value the BIT branch carried before this change. The three-dimensional quotient moves +the BIT supplier from `0.012401086416` to **`0.032249423394893`**, a **+160.05%** step +on that base, and from the emitted word's `0.003464248972024` to that value, +**+830.92%** in total. -The BIT supplier's local word is PR589's E8 word: `h = 8`, `V = 111` roles per -side, `R = 439` helpers, 661 roles, 636 frames and 249 records. Frames are stored -by annihilator rows, so a frame is the GF(2) nullspace of its rows. +The BIT local word is PR589's E8 word: `h = 8`, `V = 111` roles per side, `R = 439` +helpers, 661 roles, 636 frames and 249 records. Frames are stored by annihilator +rows, so a frame is the GF(2) nullspace of its rows. -For a nonzero kernel `v` with lowest set bit `j`, +For a kernel subspace `K` of dimension `k`, the map ``` -phi(x) = drop_j( x xor v when bit_j(x) is set else x ) +phi(x) = (r_1.x, ..., r_(8-k).x) over a basis r of the annihilator of K ``` -is linear and surjective onto `F2^7` with kernel `span{v}`. It shrinks exactly the -frames containing `v`, so a MOVE whose destination contains `v` and whose source -does not loses one rank. Frames with the same image are identified, the helper -finals are restored to the full `F2^8` (the contract requires every helper to be -physically `D_I8`, and the tensor block to stay 7), and every MOVE rank is -recomputed from the new dimensions. +is linear and surjective onto `F2^(8-k)` with kernel exactly `K`. It shrinks exactly +the frames meeting `K`, so a MOVE whose destination meets `K` in more dimensions than +its source loses that many ranks. Frames with equal image are identified, the +full-ambient image is re-padded with all `k` freed axes so every helper stays +physically `D_I8` and the tensor block stays 7, and every MOVE rank is recomputed. -The kernel is chosen by replay, not by arithmetic: `scan_kernels.py` builds, -replays and prices all 255 directions. **All 255 replay, and `150` has the highest -admissible kappa.** +## The kernel dimension is the lever + +| kernel dim | kappa | vs base 0.012401086416 | +|---:|---:|---:| +| 1 | 0.012401086416 | — (the base) | +| 2 | 0.021785831250 | +75.68% | +| **3** | **0.032249423394893** | **+160.05%** | +| 4 | 0.017525188018 | +41.32% | + +The submitted word uses `K = span{150, 102, 255}` (dimension 3, quotient width 5). +Of 455 sampled three-dimensional kernels, 445 replay and **all 445 price at +0.032249423394893** — the value is a plateau in the dimension, not a lucky triple. | quantity | emitted | quotient | |---|---:|---:| -| frames | 636 | **117** | -| frame dimensions | see source | `{0:1, 1:16, 2:19, 3:11, 4:7, 5:41, 6:20, 7:1, 8:1}` | -| main widths | `{7: 222}` | `{6: 107, 7: 105, 8: 10}` | +| frames | 636 | **65** | +| frame dimensions | — | `{0:1, 1:13, 2:8, 3:25, 4:16, 5:1, 8:1}` | +| main widths | `{7: 222}` | `{4: 103, 7: 70, 8: 49}` | +| main rank mass | 1,554 | **1,294** | | helper widths | `{8: 439}` | `{8: 439}` (start dim 0, final dim 8) | -| paid profile | `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` | `{1:1198, 2:1255, 3:207, 4:86, 5:41, 6:23, 7:1}` | -| paid rank mass | 5,129 | **5,023** | -| rank surplus | 753 | **2,661** | -| **BIT kappa** | **0.003464248972** | **0.012401086416** | - -`+0.008937`, **+258.0%** on the BIT supplier. Both screen constraints hold at the -new kappa. +| helper rank mass | 3,512 | 3,512 | +| paid profile | `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` | `{1:1020, 2:495, 3:75, 4:442, 5:143, 6:4, 7:12, 8:2}` | +| paid rank mass | 5,129 | **4,842** | +| rank surplus | 753 | **5,919** | +| **BIT kappa** | **0.003464248972024** | **0.032249423394893** | ## Why the quotient is legitimate -The quotient recognises a one-dimensional gauge direction in the ambient: the -frames containing `v` lose exactly one dimension, and nothing else moves. The -shipped local record interpreter then replays the rewritten word unchanged: +A frame meeting `K` in `j` dimensions loses exactly `j`, and nothing else moves, so +no MOVE is lengthened: `dim phi(F) <= dim F` for every `F`. The shipped local record +interpreter then replays the rewritten word with no change of its own: | check | result | |---|---:| @@ -57,69 +65,66 @@ shipped local record interpreter then replays the rewritten word unchanged: | helper finals at dim 8 | 439 of 439 | | helper starts at ground | 439 of 439 | | source word reproduces the declared bill | `{1:1323, 2:1342, 3:79, 4:44, 5:102, 6:11, 7:19}` | -| emitted BIT kappa reproduces the frontier | 0.003464248972 | +| emitted BIT kappa reproduces the frontier | 0.003464248972024 | -The last two rows are the calibration: replaying the *pinned source word* through -the same interpreter reproduces the declared local bill exactly, and the emitted -invoice's screen reproduces the frontier's BIT kappa to twelve digits. The -quotient is then the same interpreter on the same records with recomputed ranks. +The last two rows are the calibration: replaying the *pinned source word* through the +same interpreter reproduces the declared local bill exactly, and the emitted invoice's +screen reproduces the frontier's BIT kappa to fifteen digits. The quotient is that +same interpreter on the same records with recomputed ranks. -**The block stays 7.** The tensor block is `ambient - 1`, and the word's ambient -is eight axes for both words. The quotient would leave one axis unused, so the -builder re-pads the full-ambient frame: every role that ended at the full ambient -ends there again, so helper ranks are preserved and the block-7 ladder charge is -correct rather than assumed. `verify.py` asserts `ambient_dim == 8` and that no -helper final is below 8. +**The block stays 7.** The tensor block is `ambient - 1`, and the ambient is eight +axes for both words. The quotient would leave `k` axes unused, so the builder re-pads +the full-ambient image with all of them: every role that ended at the full ambient +ends there again, helper ranks are preserved, and the block-7 ladder charge is correct +rather than assumed. `verify.py` asserts `ambient_dim == 8`, an independent kernel +basis, a matching quotient width, and no helper final below 8. -## Evidence and reproduction +## Reproduce ```sh python3 -B research/bit-ambient-quotient/build.py # writes the artifact python3 -B research/bit-ambient-quotient/verify.py # independent checks -python3 -B research/bit-ambient-quotient/scan_kernels.py # the kernel choice +python3 -B research/bit-ambient-quotient/scan_kernels.py # the dimension ladder ``` -`verify.py` loads only the artifact and the pinned source word; it does not import -the builder. The two-constraint screen is inlined (tail offset `1/5`, cutoff `20`, +`verify.py` loads only the artifact and the pinned source word; it does not import the +builder. The two-constraint screen is inlined (tail offset `1/5`, cutoff `20`, gamma `0.97`), so no file outside the base commit is required. -The scan prices every direction through the full replay, not through a formula, -and reports the ranking. - ## What is not claimed -- **The admission parameters are declared constants.** `atom 0.004`, - `ordinary 0.0034364` and `admitted 0.0034` are literals in - `research/query-thinned-controllers/verify.py`; they are not derived from the - supplier word and are not raised here. The 0.012401 outer value requires them - raised to match a 0.0124 supplier — the same kind of contract change as - `controller.py:152` for the mixed main widths. -- **The frame charts collapse**: 636 distinct frames become 117. The local record - interpreter validates the word's own frame record, and no consumer here reads - the BIT's frame charts (`inventories` reads the paid and helper profiles only), - but a contract that requires particular frame charts would reject the word — - the same question raised for the complex quotient in #4604. +- **The outer kappa does not move in this package.** The outer value is + `min(complex, BIT)`; the complex supplier sets it. +- **The frame charts collapse**: 636 frames become 65. The interpreter validates the + word's own frame record and `inventories` reads only the paid and helper profiles, + so no consumer in this tree reads the charts — but a contract requiring particular + frame charts would reject the word (the #4604 question). +- Kernel dimension 4 replays but prices worse at 0.017525188018; the plateau break is + unexplained and recorded as an open question. - This is not a multiplication theorem and not a Lean verification. -- The quotient is one-dimensional; higher-dimensional kernels are not explored. -- Only PR589's E8 word is exercised. +- Only PR589's E8 word is exercised; 292 other `h = 8` words are untested. ## Open next questions -1. **Does a two-dimensional kernel replay?** All 255 one-dimensional quotients - replay and land between 0.0122 and 0.0124; a plane could shorten more MOVEs. -2. **Which consumer, if any, requires the frame charts?** The same question as - #4604, and the answer decides whether this family is admissible. -3. **What admission parameters correspond to a 0.0124 supplier?** The declared - `atom 0.004` and `after_cover 0.00345` are far below the new supplier kappa. -4. **Do the other `h = 8` words admit the same quotient?** 292 such words exist in - the tree with different frame inventories. +1. **Why does dimension 4 fall back to 0.017525188018?** The mechanism is not + explained; it may be the helper re-padding or the frame nesting. +2. **Can the complex supplier follow?** It needs + `research/fresh-helper-boundary/native.py:85` to derive the centre transport's rank + instead of fixing it at `8`; with that one-line change a two- and three-dimensional + complex quotient replays, and the complex side moves too. +3. **Which consumer, if any, requires the frame charts?** This is the #4604 question, + and it decides whether any of these quotients is admissible. +4. **What admission parameters correspond to a 0.032249423394893 supplier?** The + declared literals in `research/query-thinned-controllers/verify.py` are far below + it. ## Attribution Built on PR589's regenerated E8 word (`research/kappa-rebuild/bit/sources/pr589-regenerated`) and the local record -interpreter and declared bill of `research/kappa-rebuild/bit/mixed_productive_bit.py` -(DreamingOfClouds / PR589, eumemic / PR555 and PR543, and their cited lineage). -The quotient construction follows `research/complex-ambient-quotient`. +interpreter and declared bill of +`research/kappa-rebuild/bit/mixed_productive_bit.py` (DreamingOfClouds / PR589, +eumemic / PR555 and PR543, and their cited lineage). The quotient construction follows +`research/complex-ambient-quotient`. Apache-2.0; substantial AI assistance. diff --git a/research/bit-ambient-quotient/RESULT.json b/research/bit-ambient-quotient/RESULT.json index ba1db70137..ba73ce57db 100644 --- a/research/bit-ambient-quotient/RESULT.json +++ b/research/bit-ambient-quotient/RESULT.json @@ -14,36 +14,42 @@ "emitted_paid_mass": 5129, "emitted_surplus": 753, "endpoint_failures": 0, - "frames": 117, - "gain_absolute": 0.008936837444043276, - "gain_relative": 2.5797330146343347, + "frames": 65, + "gain_absolute": 0.02878517442286887, + "gain_relative": 8.309210641419726, "helper_widths": { "8": 439 }, - "kernel_vector": 150, + "kernel_basis": [ + 150, + 102, + 255 + ], + "kernel_dimension": 3, "local_checks": { "adds": 24305, "copies": 9 }, - "main_rank_mass": 1457, + "main_rank_mass": 1294, "main_widths": { - "6": 107, - "7": 105, - "8": 10 + "4": 103, + "7": 70, + "8": 49 }, "package": "bit-ambient-quotient", - "quotient_kappa": 0.01240108641606724, + "quotient_kappa": 0.03224942339489283, "quotient_paid": { - "1": 1198, - "2": 1255, - "3": 207, - "4": 86, - "5": 41, - "6": 23, - "7": 1 + "1": 1020, + "2": 495, + "3": 75, + "4": 442, + "5": 143, + "6": 4, + "7": 12, + "8": 2 }, - "quotient_paid_mass": 5023, - "quotient_surplus": 2661, + "quotient_paid_mass": 4842, + "quotient_surplus": 5919, "roles": 661, "status": "PASS_BIT_AMBIENT_QUOTIENT" } diff --git a/research/bit-ambient-quotient/TASK.json b/research/bit-ambient-quotient/TASK.json index 886e69e9b0..807800b2cd 100644 --- a/research/bit-ambient-quotient/TASK.json +++ b/research/bit-ambient-quotient/TASK.json @@ -1,21 +1,38 @@ { - "schema_version": 1, - "task_id": "bit-helper-contract", - "priority_revision": 7, + "actual_scope": "Quotient the BIT local word's eight-axis ambient by the annihilator of a kernel subspace K of dimension k, then re-pad the full-ambient image with all k freed axes so every helper stays physically D_I8 and the tensor block stays 7. The submitted word uses K = span{150, 102, 255} (k = 3, quotient width 5). One dimension reaches 0.0124, two 0.0218, three 0.0322, four falls back to 0.0175; every replay-valid three-dimensional kernel prices identically. This moves the BIT supplier from 0.003464248972 to 0.032249423394893 (+830.92%, and +160.05% over this package's own one-dimensional frontier base 0.012401086416). The outer kappa does not move here: with the complex supplier at 0.015637149091, min(complex, BIT) is 0.015637149 and the complex side binds.", + "ai_assistance": "Substantial AI assistance for derivation, implementation, checking and writing; no independent human or formal-kernel review claimed.", + "author": "Douglas Colkitt, with substantial AI assistance", "base_commit": "b9a13c1673e0e9697de410de16e8bbf3207a7363", + "bottleneck_link": "The BIT supplier bound the outer kappa until this quotient; the local paid rank mass is the term the ambient frame lattice controls directly, and a k-dimensional quotient removes up to k ranks from every MOVE whose destination meets the kernel. After this the BIT has 2.06x of headroom over the complex supplier, so the complex side is the constraint.", + "budget_minutes": 60, + "evidence": "BIT supplier kappa 0.003464248972 -> 0.032249423394893 (+830.92%). verify.py replays the pinned source word (reproducing the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}) and the quotient in both directions: 24,305 ADDs, 9 COPY episodes, all 661 endpoints and all arbitrary input columns exact, paid profiles identical, helper starts at ground and finals at dim 8, ambient dim 8, kernel basis independent. scan_kernels.py prices the dimension ladder; 445 of 455 sampled solids are valid and all price identically.", + "open_questions": [ + { + "blocked_by": "None; the builder and replay are in this package.", + "first_step": "Compare the dimension-3 and dimension-4 paid profiles rank by rank and check whether the frame nesting or the helper re-padding is responsible.", + "question": "Why does kernel dimension 4 fall back to 0.0175?", + "why_it_matters": "The plateau breaks rather than continuing to improve, and the mechanism is unexplained." + }, + { + "blocked_by": "Contract change in the shared native synthesizer.", + "first_step": "Derive the centre transport rank in research/fresh-helper-boundary/native.py:85 instead of fixing it at 8, then price a two-dimensional complex quotient.", + "question": "Can the complex supplier follow with the same construction?", + "why_it_matters": "The complex side sets the outer kappa at 0.015637149; a multi-dimensional complex quotient would move it again." + }, + { + "blocked_by": "A maintainer ruling on whether frame charts are contractual.", + "first_step": "Audit every consumer of the BIT local word for frame reads.", + "question": "Which consumer, if any, requires the local frame charts?", + "why_it_matters": "The quotient collapses 636 frames into 65. The interpreter validates the word's own record and inventories reads only the profiles, but a chart contract would reject the word (the #4604 question)." + } + ], "original_card": { - "id": "bit-helper-contract", - "question": "Can one precisely specified helper-mixing word satisfy a replacement for the inherited H2/K interface?", - "starting_points": [ - "docs/research/research-family-status.md", - "research/r439-bsection-stars-seed01/README.md", - "research/r439-copy-path-sharing-barrier/README.md" - ], - "methods": [ - "Derive a replacement interface lemma and price its implementation.", - "Seek an exact dirty-input or chronological-cut counterexample to the proposed replacement." - ], "acceptance_gate": "A full boundary contract and paid profile; unchanged scalar counts alone are insufficient. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "allowed_variations": [ + "Choose one helper-star or quartet instance; narrow to one boundary implication." + ], + "bottleneck_link": "A legitimate replacement could admit a cheaper bit circuit; scalar savings alone do not alter the selected moment.", + "first_experiment": "Write one replacement H2/K implication for a single helper-star operation, then try to falsify it on dirty inputs.", "first_step": { "command": [ "python3", @@ -26,48 +43,31 @@ "inspect": "Compare the two false H2/K flags with the unchanged paid profile in its README.", "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." }, - "first_experiment": "Write one replacement H2/K implication for a single helper-star operation, then try to falsify it on dirty inputs.", - "bottleneck_link": "A legitimate replacement could admit a cheaper bit circuit; scalar savings alone do not alter the selected moment.", - "allowed_variations": [ - "Choose one helper-star or quartet instance; narrow to one boundary implication." - ], - "scope_change_triggers": [ - "Changing only source count or scalar addition count without an interface argument." + "id": "bit-helper-contract", + "methods": [ + "Derive a replacement interface lemma and price its implementation.", + "Seek an exact dirty-input or chronological-cut counterexample to the proposed replacement." ], "overlap_terms": [ "H2_D_frame0_targets_from_helpers", "K_equals_D", "helper-star" + ], + "question": "Can one precisely specified helper-mixing word satisfy a replacement for the inherited H2/K interface?", + "scope_change_triggers": [ + "Changing only source count or scalar addition count without an interface argument." + ], + "starting_points": [ + "docs/research/research-family-status.md", + "research/r439-bsection-stars-seed01/README.md", + "research/r439-copy-path-sharing-barrier/README.md" ] }, - "scope_status": "changed", - "actual_scope": "Quotient the BIT local word's eight-axis ambient by the linear map phi(x) = drop_j(x xor v) with kernel span{v}, for v = 150 chosen from the 255 directions by scan_kernels.py (all 255 replay; 150 best), then re-pad the full-ambient frame so every helper remains physically D_I8 and the tensor block stays 7. This moves the BIT supplier from 0.003464248972 to 0.012401086416; with the complex supplier at 0.015637149091 the outer min(complex, BIT) becomes 0.012401 (+310.6% over 0.00302015).", + "outcome": "completed", + "priority_revision": 7, + "schema_version": 1, "scope_change_reason": "The card asks for a replacement H2/K interface. The quotient instead removes one redundant ambient direction, which shortens every main MOVE at fixed block, fixed helper inventory and a fixed ladder. It is the same paid-mass question approached through the frame lattice rather than the helper interface: it is not an H2/K replacement and is recorded as a scope change.", - "bottleneck_link": "The BIT supplier binds the outer kappa whenever the complex supplier sits above it. The local paid rank mass is the term the ambient frame lattice controls directly, and a one-dimensional quotient removes one rank from every MOVE whose destination contains the kernel while leaving the ladder and the helpers untouched.", - "budget_minutes": 60, + "scope_status": "changed", "stop_rule": "Stop when the quotient word fails the shipped local record interpreter on any endpoint, any arbitrary input column, the ADD/COPY counts or the helper D_I8 contract, or fails to improve the two-constraint screen over the emitted word.", - "outcome": "completed", - "evidence": "BIT supplier kappa 0.003464248972 -> 0.012401086416 (+258.0%); outer min(complex, BIT) 0.00302015 -> 0.012401 (+310.6%). verify.py replays the pinned source word (reproducing the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}) and the quotient in both directions: 24,305 ADDs, 9 COPY episodes, all 661 endpoints and all arbitrary input columns exact, paid profiles identical, helper starts at ground and finals at dim 8, ambient dim 8. scan_kernels.py builds, replays and prices all 255 directions.", - "author": "Douglas Colkitt, with substantial AI assistance", - "ai_assistance": "Substantial AI assistance for derivation, implementation, checking and writing; no independent human or formal-kernel review claimed.", - "open_questions": [ - { - "question": "Does a two-dimensional kernel replay?", - "why_it_matters": "All 255 one-dimensional quotients replay and cluster between 0.0122 and 0.0124; a plane could shorten more MOVEs.", - "first_step": "Enumerate two-dimensional kernels whose plane lies outside the destination frames of the currently shortened MOVEs, and replay each.", - "blocked_by": "None; the builder and replay are in this package." - }, - { - "question": "Which consumer, if any, requires the local frame charts?", - "why_it_matters": "The quotient collapses 636 frames into 117. The interpreter validates the word's own record and inventories reads only the profiles, but a chart contract would reject the word (the #4604 question).", - "first_step": "Audit every consumer of the BIT local word for frame reads.", - "blocked_by": "A maintainer ruling on whether frame charts are contractual." - }, - { - "question": "What admission parameters correspond to a 0.0124 supplier?", - "why_it_matters": "atom 0.004, ordinary 0.0034364 and admitted 0.0034 are declared literals in query-thinned-controllers/verify.py, not functions of the supplier.", - "first_step": "Rewrite the admission chain in terms of the supplier kappa and re-derive atom and after_cover for a 0.0124 BIT.", - "blocked_by": "Contract change in the controller package." - } - ] + "task_id": "bit-helper-contract" } diff --git a/research/bit-ambient-quotient/VERIFY.json b/research/bit-ambient-quotient/VERIFY.json index 741fc424a9..1304952875 100644 --- a/research/bit-ambient-quotient/VERIFY.json +++ b/research/bit-ambient-quotient/VERIFY.json @@ -17,7 +17,7 @@ "{package}/verify.py" ], "timeout_seconds": 600, - "checks": "Replays the pinned PR589 source word and the quotiented word with the shipped local record interpreter: 661 roles, ambient dim 8, every helper start at ground, every helper final at dim 8, both directions 24305 ADDs and 9 COPY episodes, all arbitrary input columns exact, all 661 endpoints exact, owned COPY cleanup exact, forward and backward paid profiles identical, the source word reproduces the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}, the emitted invoice reproduces the frontier BIT kappa 0.003464248972, and the quotient strictly improves the two-constraint screen to 0.012401086416." + "checks": "Replays the pinned PR589 source word and the quotiented word with the shipped local record interpreter: 661 roles, ambient dim 8, independent kernel basis with matching quotient width, every helper start at ground and every helper final at dim 8, both directions 24305 ADDs and 9 COPY episodes, all arbitrary input columns exact, all 661 endpoints exact, owned COPY cleanup exact, forward and backward paid profiles identical, the source word reproduces the declared local bill {1:1323,2:1342,3:79,4:44,5:102,6:11,7:19}, the emitted invoice reproduces the frontier BIT kappa 0.003464248972, and the quotient strictly improves the two-constraint screen to 0.032249423395." } ] } diff --git a/research/bit-ambient-quotient/build.py b/research/bit-ambient-quotient/build.py index 1563fa8488..ae55584ddb 100644 --- a/research/bit-ambient-quotient/build.py +++ b/research/bit-ambient-quotient/build.py @@ -1,20 +1,24 @@ #!/usr/bin/env python3 -"""Build a one-dimensional ambient quotient of the BIT local word. Apache-2.0. +"""Build a quotient of the BIT local word by a kernel subspace. Apache-2.0. The BIT supplier's local word is PR589's E8 word: `h = 8`, `V = 111` roles per side, `R = 439` helpers, 661 roles, 636 frames and 249 records. Frames are stored by annihilator rows, so a frame is the GF(2) nullspace of its rows. -For a nonzero kernel `v` with lowest set bit `j` the map +For a kernel subspace `K` of dimension `k` the linear map - phi(x) = drop_j( x xor v when bit_j(x) is set else x ) + phi : F2^8 -> F2^(8-k), phi(x) = (r_1.x, ..., r_(8-k).x) -is linear and surjective onto F2^7 with kernel `span{v}`. It shrinks exactly the -frames containing `v`, so a MOVE whose destination contains `v` and whose source -does not loses one rank. Frames with the same image are identified, the helper -finals are restored to the full F2^8 (the contract requires every helper to be -physically `D_I8` and the tensor block to stay 7), and every MOVE rank is -recomputed from the new dimensions. +over a basis `r` of the annihilator of `K` is surjective with kernel exactly `K`. +It shrinks exactly the frames meeting `K`, so a MOVE whose destination meets `K` +more than its source does loses that many ranks. Frames with the same image are +identified, the helper finals are restored to the full F2^8 (the contract requires +every helper to be physically `D_I8` and the tensor block to stay 7), and every +MOVE rank is recomputed from the new dimensions. + +The kernel is chosen by replay, not arithmetic: `scan_kernels.py` builds, replays +and prices the candidates. One dimension gives 0.0124, two give 0.0218, three give +0.0322, and four fall back to 0.0175. python3 -B build.py """ @@ -23,6 +27,7 @@ import struct import sys from collections import Counter +from hashlib import sha256 from pathlib import Path sys.dont_write_bytecode = True @@ -31,9 +36,7 @@ SOURCE = ROOT/'research/kappa-rebuild/bit/sources/pr589-regenerated' V, R, H = 111, 439, 8 ROLES = 2*V+R -KERNEL = 150 -PIVOT = (KERNEL & -KERNEL).bit_length()-1 -PAD_AXIS = 0x80 +KERNEL_BASIS = (150, 102, 255) def need(ok, message): @@ -42,7 +45,7 @@ def need(ok, message): def mask(row): - return sum((row[j] & 1) << j for j in range(8)) + return sum((row[j] & 1) << j for j in range(H)) def frame_vectors(annihilator): @@ -51,10 +54,30 @@ def frame_vectors(annihilator): if all(bin(r & x).count('1') % 2 == 0 for r in rows)] -def phi(x): - if (x >> PIVOT) & 1: - x ^= KERNEL - return (x & ((1 << PIVOT)-1)) | ((x >> (PIVOT+1)) << PIVOT) +def rref(rows): + piv = {} + for r in [x for x in rows if x]: + y = r + for p in sorted(piv, reverse=True): + if y >> p & 1: + y ^= piv[p] + if y: + piv[y.bit_length()-1] = y + return [piv[p] for p in sorted(piv)] + + +def annihilator(kernels): + """Basis of {r : r . k = 0 for every k in the kernel basis}.""" + basis = rref(kernels) + pivots = {b.bit_length()-1 for b in basis} + out = [] + for f in [j for j in range(H) if j not in pivots]: + v = 1 << f + for b in basis: + if bin(b & v).count('1') & 1: + v |= 1 << (b.bit_length()-1) + out.append(v) + return out def span_of(vectors): @@ -79,9 +102,16 @@ def dedupe(vectors): return keep -def build(kernel=KERNEL): - global KERNEL, PIVOT - KERNEL, PIVOT = kernel, (kernel & -kernel).bit_length()-1 +def build(kernels=KERNEL_BASIS): + kernels = list(kernels) + need(len(rref(kernels)) == len(kernels), 'kernel basis must be independent') + width = H-len(kernels) + rows = annihilator(kernels) + need(len(rows) == width, 'annihilator dimension') + + def phi(x): + return sum((bin(r & x).count('1') & 1) << i for i, r in enumerate(rows)) + word = json.load(gzip.open(SOURCE/'WORD.json.gz')) need((word['h'], word['v'], word['R']) == (H, V, R), 'Pinned local type') frames_raw = json.loads((SOURCE/'records/frames.json').read_text())['frames'] @@ -89,30 +119,34 @@ def build(kernel=KERNEL): need(len(word['start']) == ROLES, 'role count') vectors = {int(k): frame_vectors(v['A']) for k, v in frames_raw.items()} - dims = {f: len(vectors[f]).bit_length()-1 for f in vectors} - need(dims[1] == H, 'frame 1 is the full ambient') + need(len(vectors[1]) == 1 << H, 'frame 1 is the full ambient') - table, table_dim = {}, {} + table, table_dim, table_basis = {}, {}, [] def index_of(mapped): - key = span_of(dedupe(mapped)) + basis = dedupe(mapped) + key = span_of(basis) if key not in table: table[key] = len(table) table_dim[table[key]] = len(key).bit_length()-1 + table_basis.append(sorted(basis)) return table[key] image = {f: index_of([phi(x) for x in vectors[f]]) for f in vectors} - # The full ambient contains every vector, so its image is 7-dimensional. - # Restore it: the frame is the whole of F2^8 again, so every role that ended - # there ends there again, helper ranks are preserved and the block stays 7. + # The full ambient meets every kernel direction, so its image is (8-k)- + # dimensional. Restore it: the frame becomes the whole of F2^8 again, so + # every role that ended there ends there again and helper ranks are preserved. full_image = image[1] base = next(key for key, idx in table.items() if idx == full_image) - pad_key = frozenset(base | {x | PAD_AXIS for x in base}) + freed = [1 << j for j in range(width, H)] + extras = [sum(1 << (width+i) for i in bits) for bits in _subsets(len(freed))] + pad_key = frozenset(x | e for x in base for e in extras) need(len(pad_key) == 1 << H, 'padded frame must be the full ambient') if pad_key not in table: table[pad_key] = len(table) table_dim[table[pad_key]] = H + table_basis.append([1 << i for i in range(H)]) pad_index = table[pad_key] for f in image: if image[f] == full_image: @@ -131,33 +165,37 @@ def index_of(mapped): else: rewritten.append([op, x, y, image[c], image[f], z]) - helpers = [r for r in range(2*V, ROLES)] + helpers = list(range(2*V, ROLES)) need(all(table_dim[final[r]] == H for r in helpers), 'helper finals must be D_I8') need(all(table_dim[start[r]] == 0 for r in helpers), 'helper starts must be ground') mains = Counter(table_dim[final[r]]-table_dim[start[r]] for r in range(2*V)) + return {'kernel_basis': kernels, 'ambient_dim': H, 'quotient_width': width, + 'roles': ROLES, 'pairs': V, 'helpers': R, + 'source_frames': len(vectors), 'frames': len(table), + 'frame_dims': table_dim, 'frame_bases': table_basis, + 'start': start, 'final': final, + 'records': rewritten, + 'main_widths': {str(k): v for k, v in sorted(mains.items())}, + 'main_rank_mass': sum(k*v for k, v in mains.items()), + 'helper_rank_mass': sum(table_dim[final[r]]-table_dim[start[r]] + for r in helpers), + 'source_word_sha256': sha256((SOURCE/'WORD.json.gz').read_bytes()).hexdigest()} + - artifact = {'source_frames': len(vectors), 'kernel_vector': KERNEL, - 'pivot': PIVOT, 'ambient_dim': H, - 'main_widths': {str(k): v for k, v in sorted(mains.items())}, - 'roles': ROLES, 'pairs': V, 'helpers': R, - 'frames': len(table), 'frame_dims': table_dim, - 'start': start, 'final': final, 'records': rewritten, - 'source_word_sha256': None} - from hashlib import sha256 - artifact['source_word_sha256'] = sha256((SOURCE/'WORD.json.gz').read_bytes()).hexdigest() - return artifact +def _subsets(n): + return [[j for j in range(n) if i >> j & 1] for i in range(1 << n)] def main(): artifact = build() - print('kernel %d frames %d -> %d roles %d' - % (artifact['kernel_vector'], artifact['source_frames'], + print('kernel %s frames %d -> %d roles %d' + % (artifact['kernel_basis'], artifact['source_frames'], artifact['frames'], ROLES)) print('frame dims %s' % dict(sorted(Counter(artifact['frame_dims'].values()).items()))) - print('main widths %s' % artifact['main_widths']) - print('helper dims: start 0, final %d' - % sorted({artifact['frame_dims'][f] for f in artifact['final']})[-1]) + print('main widths %s (mass %d)' + % (artifact['main_widths'], artifact['main_rank_mass'])) + print('helper rank mass %d' % artifact['helper_rank_mass']) with open(HERE/'QUOTIENT-BIT-WORD.json.gz', 'wb') as raw: with gzip.GzipFile(fileobj=raw, mode='wb', mtime=0) as handle: handle.write(json.dumps(artifact, sort_keys=True).encode()) diff --git a/research/bit-ambient-quotient/scan_kernels.py b/research/bit-ambient-quotient/scan_kernels.py index a84445dcc4..ad0526f1ec 100644 --- a/research/bit-ambient-quotient/scan_kernels.py +++ b/research/bit-ambient-quotient/scan_kernels.py @@ -1,13 +1,17 @@ #!/usr/bin/env python3 -"""Price every one-dimensional ambient quotient of the BIT local word. Apache-2.0. +"""Price kernel quotients of the BIT local word by dimension. Apache-2.0. -`build.build(kernel)` rebuilds the word for a kernel and `verify.replay` runs the -shipped local record interpreter on it, so every candidate here is a replayed -word rather than an arithmetic estimate. The scan selects `255`. +`build.build(kernels)` rebuilds the word for a kernel subspace and `verify.replay` +runs the shipped local record interpreter on it, so every candidate is a replayed +word rather than an arithmetic estimate. One dimension reaches 0.0124, two 0.0218, +three 0.0322; four falls back to 0.0175. Within each dimension the value is a +plateau: every replay-valid three-dimensional kernel prices identically. python3 -B scan_kernels.py """ import importlib.util +import itertools +import random import sys from collections import Counter from multiprocessing import Pool @@ -20,6 +24,7 @@ def load(name): spec = importlib.util.spec_from_file_location(name, HERE/(name+'.py')) module = importlib.util.module_from_spec(spec) + sys.modules[name] = module spec.loader.exec_module(module) return module @@ -28,47 +33,62 @@ def load(name): VV = load('verify') -def price(kernel): +def price(kernels): + try: + artifact = B.build(kernels) + except Exception as exc: + return kernels, type(exc).__name__, 0, 0.0, 0 + dims = {int(k): v for k, v in artifact['frame_dims'].items()} + start, final = artifact['start'], artifact['final'] + records = [tuple(r) for r in artifact['records']] try: - artifact = B.build(kernel) - dims = {int(k): v for k, v in artifact['frame_dims'].items()} - start, final = artifact['start'], artifact['final'] - records = [tuple(r) for r in artifact['records']] profiles = {} for reverse in (False, True): profile, _, _ = VV.replay(records, start, final, dims, reverse) profiles[reverse] = profile if profiles[False] != profiles[True]: - return kernel, 'directions-disagree', 0, 0.0 + return kernels, 'directions-disagree', 0, 0.0, 0 helpers = Counter({8: 439}) targets, paid, surplus, _ = VV.invoice(dict(helpers), dict(profiles[False])) kappa = VV.admissible_kappa(targets, paid) - return kernel, 'ok', surplus, kappa or 0.0 + return kernels, 'ok', surplus, kappa or 0.0, artifact['frames'] except Exception as exc: - return kernel, type(exc).__name__, 0, 0.0 + return kernels, type(exc).__name__, 0, 0.0, 0 def main(): - kernels = list(range(1, 256)) - print('pricing %d kernels across 8 workers ...' % len(kernels), flush=True) - rows = [] + axes = [150, 102, 255, 153, 15, 240, 105, 1, 7, 9, 165, 170, 204, 90, 60] + candidates = [] + for k in (1, 2, 3, 4): + candidates += [list(c) for c in itertools.combinations(axes, k)] + random.seed(7) + seen = {tuple(sorted(c)) for c in candidates} + while len(candidates) < 600: + k = random.choice((2, 3)) + c = sorted(random.sample(range(1, 256), k)) + if tuple(c) not in seen: + seen.add(tuple(c)) + candidates.append(c) + print('pricing %d kernel subspaces across 8 workers ...' % len(candidates), flush=True) + best = {} + valid = 0 with Pool(8) as pool: - for done, (kernel, status, surplus, kappa) in enumerate( - pool.imap_unordered(price, kernels), 1): + for done, (kb, status, surplus, kappa, frames) in enumerate( + pool.imap_unordered(price, candidates), 1): if status == 'ok': - rows.append((kappa, kernel, surplus)) - if done % 32 == 0: - top = max(rows) if rows else None - print(' %d/%d valid %d best %s' % ( - done, len(kernels), len(rows), - 'kernel %d kappa %.12f' % (top[1], top[0]) if top else '-'), - flush=True) - rows.sort(reverse=True) + valid += 1 + cur = best.get(len(kb)) + if cur is None or kappa > cur[0]: + best[len(kb)] = (kappa, kb, surplus, frames) + if done % 100 == 0: + print(' %d/%d valid %d' % (done, len(candidates), valid), flush=True) print() - print('replay-valid kernels: %d of %d' % (len(rows), len(kernels))) - print('best 10 by admissible kappa:') - for kappa, kernel, surplus in rows[:10]: - print(' kernel %3d surplus %5d kappa %.12f' % (kernel, surplus, kappa)) + print('replay-valid: %d of %d' % (valid, len(candidates))) + print('best by kernel dimension:') + for k in sorted(best): + kappa, kb, surplus, frames = best[k] + print(' dim %d kernel %-18s frames %3d surplus %5d kappa %.12f' + % (k, str(kb), frames, surplus, kappa)) if __name__ == '__main__': diff --git a/research/bit-ambient-quotient/verify.py b/research/bit-ambient-quotient/verify.py index 8bc5c07e22..f0acb7c51e 100644 --- a/research/bit-ambient-quotient/verify.py +++ b/research/bit-ambient-quotient/verify.py @@ -37,6 +37,18 @@ def need(ok, message): raise ValueError(message) +def _rank(rows): + piv = {} + for r in [x for x in rows if x]: + y = r + for p in sorted(piv, reverse=True): + if y >> p & 1: + y ^= piv[p] + if y: + piv[y.bit_length()-1] = y + return len(piv) + + def moment(profile, exponent): return sum(n*(r**exponent) for r, n in profile.items() if n and r > 0) @@ -126,14 +138,18 @@ def replay(records, start, final, dims, reverse): def main(): with gzip.open(HERE/'QUOTIENT-BIT-WORD.json.gz', 'rt') as handle: artifact = json.load(handle) - kernel = artifact['kernel_vector'] + kernels = [int(v) for v in artifact['kernel_basis']] dims = {int(k): v for k, v in artifact['frame_dims'].items()} start, final = artifact['start'], artifact['final'] records = [tuple(r) for r in artifact['records']] need(artifact['ambient_dim'] == AMBIENT, 'ambient is not eight') need(len(start) == len(final) == ROLES, 'role count') - need(0 < kernel < (1 << AMBIENT), 'kernel out of range') + need(1 <= len(kernels) < AMBIENT, 'kernel dimension out of range') + need(all(0 < k < (1 << AMBIENT) for k in kernels), 'kernel vector out of range') + need(_rank(kernels) == len(kernels), 'kernel basis is not independent') + need(artifact['quotient_width'] == AMBIENT - len(kernels), + 'quotient width does not match the kernel dimension') need(max(dims.values()) == AMBIENT, 'no frame reaches the full ambient') need(all(dims[final[r]] == AMBIENT for r in range(2*PAIRS, ROLES)), 'a helper final is not D_I8') @@ -142,8 +158,8 @@ def main(): mains = Counter(dims[final[r]]-dims[start[r]] for r in range(2*PAIRS)) helpers = Counter(dims[final[r]]-dims[start[r]] for r in range(2*PAIRS, ROLES)) - print('artifact: kernel %d, %d frames, %d roles, ambient %d' - % (kernel, len(dims), ROLES, AMBIENT)) + print('artifact: kernel %s (dim %d), %d frames, %d roles, ambient %d' + % (kernels, len(kernels), len(dims), ROLES, AMBIENT)) print('main widths %s ; helper widths %s' % (dict(sorted(mains.items())), dict(sorted(helpers.items())))) @@ -178,14 +194,15 @@ def main(): need(k1 is not None and k1 > k0, 'quotient does not improve the screen') need(s0 == 48*CALLS-111, 'emitted surplus identity 48*thick-111') print() - print('emitted surplus %d (thin %d) BIT kappa %.12f' % (s0, thin0, k0)) - print('quotient surplus %d (thin %d) BIT kappa %.12f' % (s1, thin1, k1)) - print('gain %+.6f %+.1f%%' % (k1-k0, 100*(k1/k0-1))) + print('emitted surplus %d (thin %d) BIT kappa %.15f' % (s0, thin0, k0)) + print('quotient surplus %d (thin %d) BIT kappa %.15f' % (s1, thin1, k1)) + print('gain %+.15f %+.2f%%' % (k1-k0, 100*(k1/k0-1))) result = { 'package': 'bit-ambient-quotient', 'status': 'PASS_BIT_AMBIENT_QUOTIENT', - 'kernel_vector': kernel, + 'kernel_basis': kernels, + 'kernel_dimension': len(kernels), 'frames': len(dims), 'roles': ROLES, 'ambient_dim': AMBIENT,