diff --git a/research/fine-expansion-page-admission/CHECKPOINT.md b/research/fine-expansion-page-admission/CHECKPOINT.md new file mode 100644 index 0000000000..d125a99d37 --- /dev/null +++ b/research/fine-expansion-page-admission/CHECKPOINT.md @@ -0,0 +1,74 @@ +# Recoverable wave 9 checkpoint + +Worker: analytic_join. Track 50/75, approved narrow source-admission pivot. +Canonical parent: `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +Worktree: `/workspace/scratch/a365d332d434/worker-analytic-wave9`. +Branch: `research/fine-expansion-page-admission-20261109`. +Package: `research/fine-expansion-page-admission`. + +## Completed findings + +The source-relative proof admits the actual full-period explicit expansion +page producer for its stated finite source/precision domain. It proves the +original-coordinate halo and all multiplicities, coefficient positivity, +near-unit upper-endpoint acceptance and header/precision guards. It spends +the existing forward normalizer K_f with final J=K_f-D, reaches the public +middle's half-disk from actual quarter-disk ingress, and gives the explicit +component-l1 prefix allowance (12*2^-J+2)2^-q. Gaussian Gamma is unchanged; +both S factors and outer recovery remain separate. + +The declared direct schedule retains all costs. Mandatory per-axis Tile +writes are Omega(DTq), and the specified full-axis FieldMove route costs +Omega(Tq log T). This is an admitted slow reference for future grouped-map +comparison, not a fast production prefix or a general lower bound. + +The dimension-changing return adapter is implemented and runs the real +native words and public codec. It borrows/copies an encoded T Count and +pays the T-record clock, dummy native input, protected return and cleanup. +Its prepared q/J format boundary is explicit. No complete expansion +controller, Tile, coefficient producer or production Fourier was executed. + +## Executed verification + +- Metadata/source pins: `PASS_PACKAGE_METADATA_AND_PINS`. +- Registered normal and optimized replay: both + `PASS_FINE_EXPANSION_PAGE_ADMISSION`; identical mathematical/native + receipts; complete registered run 7.865 seconds on Python 3.12.14. +- Thirty canonical files, six exact public files, 22 source clauses and + 21 altered-clause controls authenticated. +- Exact independent finite evidence: 4,320 headers, 7,557 blocks, 68,013 + quadratic identities, 288,036 residue multiplicities, 16 positive-lower + countermodels, 16 near-unit countermodels, 768 reciprocal/unit cases, + 240 budgets, four axis layouts and 26 stage invoices. +- Real native T16/S9 q12/J3 output matches the independent oracle, with + maximum component-l1 projection error 3/8192. Protected return, short/ + long fields, old S record clock, native/count/work aliases, borrowed + origins, cleanup and real coarse-grid erasure controls pass. + +The first native attempt correctly failed because the fixture tried to +initialize the marker already owned by a freshly constructed Tape. The +fixture now erases that marker before initializing; all inherited guards +and sources are unchanged. `evidence/attempt-1.json` preserves the failure. +The first successful adapter receipt in `evidence/normal.json` predates +the final sixth retained public proof; the final source-bound passes are +in `evidence/registered.json` and `evidence/REPLAY.json`. + +## Reproduction and next action + +```sh +python3 -B scripts/research_package.py --package research/fine-expansion-page-admission +python3 -B scripts/check_research_commit.py --package research/fine-expansion-page-admission --check-modes +``` + +After the staged-tree/mode gate, freeze the commit and tree for lead source +review and publication. The lead owns remote actions; this worker creates +no upstream PR or external post. The tested base is preserved. Exact source +dependency commits and hashes are in `SOURCES.json`/`DEPENDENCIES.json`. +Any final commit identifier is supplied by the containing Git commit and +the lead's durable recovery manifest, avoiding self-referential file hashes. + +Outstanding: independently admitted grouped Broad source/physical cost, +production scalar/Fourier/native contracts, the opposite transform and +complete CRT/integer recovery. No selected certificate, full bound or +foundational assumption is changed. The temporary local worktree is not +durable by itself; only the lead's verified remote branch will be durable. diff --git a/research/fine-expansion-page-admission/CLAUSES.json b/research/fine-expansion-page-admission/CLAUSES.json new file mode 100644 index 0000000000..3ae1ad3092 --- /dev/null +++ b/research/fine-expansion-page-admission/CLAUSES.json @@ -0,0 +1,178 @@ +{ + "schema_version": 1, + "scope": "AST source binding only; no projected execution or formal semantic acceptance.", + "clauses": [ + { + "path": "research/physical-gaussian-expansion/expansion_geometry.py", + "names": [ + "ProductionBlock", + "__init__" + ], + "sha256": "bc060d1d52efb44004016b7a5390552f9057f492d38304857e50f54f085523d2" + }, + { + "path": "research/physical-gaussian-expansion/expansion_geometry.py", + "names": [ + "BlockGeometry", + "__init__" + ], + "sha256": "1ea95794efa09125cc12bff37d617ee0590ec7dd718da227a33ca93694e7e9ff" + }, + { + "path": "research/physical-gaussian-expansion/expansion_geometry.py", + "names": [ + "BlockGeometry", + "prepare_quadratics" + ], + "sha256": "ec7f9e782818eb1dabee90e87a278a778529f696e655bb7e11e236d81e8a4225" + }, + { + "path": "research/physical-gaussian-expansion/expansion_geometry.py", + "names": [ + "BlockGeometry", + "exponent" + ], + "sha256": "05877b418f6bcfc482d0f8864679cebf4573f0891653293478009e99612443f7" + }, + { + "path": "research/physical-gaussian-expansion/expansion_records.py", + "names": [ + "compile_frame" + ], + "sha256": "55bd55077a8e80dac157c347d897ea1e87d7b390ab65e209916f78515de33536" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "names": [ + "stencil_bounds" + ], + "sha256": "6d658a8850f036dbb54ebb48c3838154a9a2f153b156931804aee3bb76cfa284" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "names": [ + "compile_tile" + ], + "sha256": "345fb7d48359c49c9812bea144195987a8f8eb37bd87158a1608237948b3ca4b" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "names": [ + "TileGeometry", + "__init__" + ], + "sha256": "81984c23f7c8b129f5a16d7922b153c469311bab5e672a0132ece0222cee4566" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "names": [ + "ProductionTile", + "__init__" + ], + "sha256": "36202b5dd3e2519ace31daa4d8476f94140be9f586c058cb66eb4db392f1cb82" + }, + { + "path": "research/physical-gaussian-expansion/expansion_prepare.py", + "names": [ + "prepare_page" + ], + "sha256": "85d5305cbab581630de99fe35b7dcb5a2d180aa05c266136f012f0b4e9836a44" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_prepare.py", + "names": [ + "TilePreparation", + "run_explicit" + ], + "sha256": "5650bb2cf73c7599eb2145a60f2f9fa1fac165d414d1e3bc371f17f8bfa416f6" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_prepare.py", + "names": [ + "TilePreparation", + "run_production" + ], + "sha256": "4c0633aedfe97e444882d862edc06684e54a2f2a8c42e0b363a9f9d5994280cf" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile.py", + "names": [ + "Tile", + "run" + ], + "sha256": "8f467f2d3bc7a1eb5be0ccd09a0dfd41dfadb9eb893ebd5b99da160095c890c5" + }, + { + "path": "research/physical-gaussian-expansion/expansion_block.py", + "names": [ + "Block", + "scalar" + ], + "sha256": "20eec59f19402fa84ce02b4d8881e0a619c57f8ea4b7b844f22860a39297afef" + }, + { + "path": "research/physical-gaussian-expansion/expansion_block.py", + "names": [ + "Block", + "run" + ], + "sha256": "ef6d60b4132c152b40cd9fc71592d1fc596da335fcbf082866606f200dfd536a" + }, + { + "path": "research/physical-gaussian-core/gaussian_exponentials.py", + "names": [ + "Exponentials", + "positive_interval" + ], + "sha256": "fd81d34e25b14fc62ff416d578cfbe916eadc96f292a80fae33c5c7646cfef13" + }, + { + "path": "research/physical-gaussian-core/gaussian_exponentials.py", + "names": [ + "Exponentials", + "grid_interval" + ], + "sha256": "2ecc3f807dc07dc2f7394cd87a35ecfffed11ae57af47965959108f1dd8a81d6" + }, + { + "path": "research/physical-gaussian-tensor/tensor_moves.py", + "names": [ + "FieldMove", + "run" + ], + "sha256": "c05401dfbfe30d7c5d9798bdf9d88c611f48330a0b16092142f031025d873601" + }, + { + "path": "research/physical-gaussian-tensor/tensor_moves.py", + "names": [ + "FieldMove", + "stage" + ], + "sha256": "4f8e859cd7c86f3660e8441af1e5b9aab47102e762a905572f4b8f45b5d6d6e3" + }, + { + "path": "research/physical-tensor-crt-sandwich-recovery/sandwich.py", + "names": [ + "Sandwich", + "ingress" + ], + "sha256": "032f585adc3c96ba803a7995a6aaac32670700c1c37ad8d411066ee2c9dc8841" + }, + { + "path": "research/fine-expansion-page-admission/retained/boundary_codec.py", + "names": [ + "Codec", + "prepare_return" + ], + "sha256": "f19cc2b50aa92efbf0179f5d547078e1ebfd55cf8ce650d03dc4382e793bdb22" + }, + { + "path": "research/fine-expansion-page-admission/retained/boundary_codec.py", + "names": [ + "Codec", + "return_component" + ], + "sha256": "7ead0c8ad320b7782c0fc351242b19490811d4e3003c15b60f02fdac6acfb1d4" + } + ] +} diff --git a/research/fine-expansion-page-admission/DEPENDENCIES.json b/research/fine-expansion-page-admission/DEPENDENCIES.json new file mode 100644 index 0000000000..a935ea98c4 --- /dev/null +++ b/research/fine-expansion-page-admission/DEPENDENCIES.json @@ -0,0 +1,53 @@ +{ + "schema_version": 1, + "files": [ + { + "path": "research/fine-expansion-page-admission/retained/middle-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "8db3cc1e98ba295cec4d752478431515e159c34f", + "source_path": "research/cached-chirp-cyclic-join/PROOF.md", + "git_blob": "2f434e4b55550032656d95b558563c9f5c3df839", + "sha256": "1119909d64ed3af1637e039ea1c60ff5457ec987828c8f2a137a93a07155cc6d" + }, + { + "path": "research/fine-expansion-page-admission/retained/ledger-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "76a84e1c4bfa4035e5ee85410dbfc4541f0da168", + "source_path": "research/core-group-scale-ledger/PROOF.md", + "git_blob": "3e580dee35c9b597d9b66932282fefa4ef92306a", + "sha256": "59ee004f3d69e70abf8a7fd82f99312b31d4ad32fed3d6866d61e197177599a4" + }, + { + "path": "research/fine-expansion-page-admission/retained/caller-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "96211247643059ae48af4c7d9dc960034798935d", + "source_path": "research/fine-recovery-catalogue-obstruction/PROOF.md", + "git_blob": "08a808b09c4a888d27f468f236ba6ca1d7881ac4", + "sha256": "0dde51f56eee2c711afa3b5c1e4f783ad0b057b7c206aa931b260c407236dfdd" + }, + { + "path": "research/fine-expansion-page-admission/retained/boundary_codec.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "73d5adaba2b7dc662e86eb901e81369a3f73be9f", + "source_path": "research/core-halo-source-bridge/boundary_codec.py", + "git_blob": "5fdbd993cc4d9087e509fec2d9fb6e34912fa232", + "sha256": "e28149c32d9a53fbbe9b93c67bc0b85f1587747f74fa0452b6ff26618972eace" + }, + { + "path": "research/fine-expansion-page-admission/retained/halo_tapes.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "73d5adaba2b7dc662e86eb901e81369a3f73be9f", + "source_path": "research/core-halo-source-bridge/retained/halo/sparse-halo-tape-transaction/tapes.py", + "git_blob": "b3dfa43ba0d08c6393731ac3cd2857a92e4c8aa2", + "sha256": "80b246fafae0adf53af7561e1be59f4374e6294d66bb7a12ef9524b9ef4f2a78" + }, + { + "path": "research/fine-expansion-page-admission/retained/reference-PROOF.md", + "git_blob": "cabc570bb170b8cf17a34ca457b7ffa6adb17c07", + "sha256": "24ce857bfef43e8e104110bde5c3a702a13f6b0f021f3b2bf3e85d6c026e89b3", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "4509310a9a58d4c41c74029f899cbf36be1af9a1", + "source_path": "research/reference-ideal-compression-join/PROOF.md" + } + ] +} diff --git a/research/fine-expansion-page-admission/NOTICE.md b/research/fine-expansion-page-admission/NOTICE.md new file mode 100644 index 0000000000..86caf2993d --- /dev/null +++ b/research/fine-expansion-page-admission/NOTICE.md @@ -0,0 +1,38 @@ +# Credit, license and evidence status + +Prepared for **@CubeJerry** with substantial OpenAI assistance in source +audit, mathematical proof, exact independent checks, code and packaging. +Same-team lead review is recorded separately. No independent human or +formal proof-kernel acceptance is claimed. The repository Apache-2.0 +license applies; all retained original notices remain unchanged. + +- Jose Manuel (@jmbarrancoml), CrocSwap/integer-mult-bounds#3878, supplies + the actual explicit expansion producer, Tile and original-coordinate + geometry. His #3851/#3935 and their nested native/ring/Gaussian sources + supply the unchanged cohort, encoded words and field movement. +- JoyboyBrian, CrocSwap/integer-mult-bounds#5056, proves the actual signed + internal contraction; #6085 proves the encoded coefficient enclosure. + Those universal results and the nested Machin/interval work are retained + premises and are not claimed as new here. +- Hiroki KUMAZAKI (@kumagi), CrocSwap/integer-mult-bounds#5295, supplies the + actual five-residual accuracy and axis telescope. Ali Romman (@aliromman), + CrocSwap/integer-mult-bounds#5325, supplies the different old Tensor error + composition and remains credited in the overlap boundary. +- The above original packages retain Hanson Sun, Artus Krohn-Grimberghe, + Chafik Boukhalfa, Mason Hale, Dugongue, Vlado, RaD/hipotures, the inherited + FFT/Karatsuba/q-calculus authors, Harvey–van der Hoeven, the OpenAI + manuscript contributors and Douglas Colkitt, together with their nested + archive and license notices. Their complete canonical bytes are unchanged. +- The public @CubeJerry packages at 73d5adaba2b7dc662e86eb901e81369a3f73be9f, + 76a84e1c4bfa4035e5ee85410dbfc4541f0da168, + 4509310a9a58d4c41c74029f899cbf36be1af9a1, + 96211247643059ae48af4c7d9dc960034798935d and + 8db3cc1e98ba295cec4d752478431515e159c34f supply the exact public codec, + normalizer, Reference, caller and middle boundaries. Their retained files + are byte-exact and pinned in `DEPENDENCIES.json`. + +The new checker uses independently written exact integer/Fraction reasoning +for headers, halos, exponent identities, normalization and route counts. +It imports no predecessor numerical checker. The native witness executes +only the real dimension-changing return adapter under the original loader, +not coefficient production, complete expansion or production Fourier. diff --git a/research/fine-expansion-page-admission/OVERLAP.md b/research/fine-expansion-page-admission/OVERLAP.md new file mode 100644 index 0000000000..7c6c0ae9e9 --- /dev/null +++ b/research/fine-expansion-page-admission/OVERLAP.md @@ -0,0 +1,27 @@ +# Bounded overlap audit and scoped novelty + +Canonical base: 7c49fe32c55de02c2c873655c804b16e4c3fef0a. The lead refreshed +canonical main and live PRs at the wave transition. This is a bounded exact +source/PR audit, not an exhaustive absence-of-overlap claim. + +| Predecessor and exact head | Already established | Distinct boundary here | +| --- | --- | --- | +| #3878, 1a86a8fb73bb7a0982fff99852a031832c191902 | Actual explicit Tile, block geometry, coefficient factorization and local expansion, including fine theta | Complete original-period explicit-page/header and coefficient-acceptance admission; no claim to new local expansion | +| #5056, fe624453057b7f0cb42870a594d314a148b9fb84 | Actual signed-stage inward norm and original-coordinate axis recurrence | Reused to establish the reached middle radius for the newly admitted full-period source | +| #5295, 351975ee703ec5aa1b18f70f73700d434026199a | Five-residual local accuracy and actual-input telescope; matching producer/page admission left open | Bind all actual producer arguments and positivity/unit checks; spend the fine-family forward normalizer | +| #6085, 9fc80f1db55d4939c7b53c0799e6840cce35fbf8 | Uniform encoded scalar enclosure and narrow-Axis argument admission | Reuse scalar theorem; independently bind expansion A/K/B families and the preparer's extra strict positivity/upper-unit checks | +| #5325, bea42af24ee9850949a4b48d329a7dc85de72b11 | Old Tensor restored error telescope and normalization | Different fine-family Gaussian K_f/K_c policy and changing-volume common-grid return; no generic telescope novelty | +| #3851, 7ab67b4a84d28cd562b9711aa315ca5b47822b37; #3935, f687fa171ef760fa98a4be1289717b47dd4ee0b3 | Physical Gaussian cohort and old paired production Tensor | Exact explicit expansion API only; none of the old paired guards is waived | +| Public caller audit 96211247643059ae48af4c7d9dc960034798935d | Old catalogue cannot admit the fine family; complete integer recovery includes both S factors | Source-specific explicit-page replacement admission, not rehabilitation of the rejected old caller | +| Public middle 8db3cc1e98ba295cec4d752478431515e159c34f | Actual cached/Cyclic/common-grid interface conditional on a half-disk supplied input | Supply a numerically admitted slow-reference prefix and pay its enlarged return; retain the middle's backend premises | +| Public ledger 76a84e1c4bfa4035e5ee85410dbfc4541f0da168 and Reference join 4509310a9a58d4c41c74029f899cbf36be1af9a1 | Compression normalizer policy and exact H/N comparison | Preserve their existing K_c and the exact normalized compression term, without new restoration | +| Concurrent broad Core work in another active session | Separate grouped source/implementation responsibility | Excluded; no edit, duplicate implementation or claim of its execution | + +The originally broad prefix question would repeat known generic error and +norm proofs. The single approved pivot is the source-specific producer/page +admission plus the preserved forward-normalizer and enlarged-return seam. +The complete direct cost is checked before claiming usefulness: it fails +the target fast bound. Its literal output/routing invoice is a scoped +limitation, not a general Gaussian or multiplication lower bound. The +admitted exact reference is useful for independently testing a future +grouped source map; that future implementation needs its own proof. diff --git a/research/fine-expansion-page-admission/PR-BODY.md b/research/fine-expansion-page-admission/PR-BODY.md new file mode 100644 index 0000000000..c1cb17a692 --- /dev/null +++ b/research/fine-expansion-page-admission/PR-BODY.md @@ -0,0 +1,94 @@ +## Problem and exact result + +The fine-family compression ledger and cached middle still need an actual +expansion source. The old paired production Tensor catalogue cannot admit +that family. Existing local expansion and error theorems do not by themselves +prove that the exact explicit coefficient/page producer accepts a complete +original period, or that its enlarged T-record return matches the common +codec's record clock. + +This source-bound enabling/audit package proves that admission for the +unchanged explicit Tile API: q>=101, integer alpha>=2 with alpha²=unit invariant, +not an invalid inference from interval containment alone. + +For the already declared forward K_f>=D, exactly J=K_f-D final shift bits +spend the Tile sequence's built-in D bits. The admitted slow-reference +prefix reaches the middle's half-disk from quarter-disk ingress and has +maximum-coordinate component-l1 error below + +```text +(12*2^-J+2)*2^-q <= 14*2^-q. +``` + +Its restored contribution is funded by q>=Gamma+tau_exp+5 when the exact +normalized compression contracts. Gamma=K_f+K_c remains the existing +Gaussian dyadic restoration; both S factors and other outer recovery scales +are separate. A real native return adapter pays a new T-record clock and +the final codec shift, with borrowed encoded T and explicit q/J templates. + +## Novelty and predecessor credit + +CrocSwap/integer-mult-bounds#3878 already covers fine theta, #5056 proves +actual inward norm, #5295 proves the five-residual error telescope, and +#6085 proves the encoded scalar enclosure. These are credited premises; +the new implication is the complete expansion producer/page admission and +its preserved-normalizer/changing-volume boundary. #5325 covers a different +old Tensor normalization. #3851/#3935 provide the unchanged native cohort +and source, and their old production guards remain untouched. + +The exact public dependencies are the @CubeJerry middle +8db3cc1e98ba295cec4d752478431515e159c34f, ledger +76a84e1c4bfa4035e5ee85410dbfc4541f0da168, Reference join +4509310a9a58d4c41c74029f899cbf36be1af9a1, caller audit +96211247643059ae48af4c7d9dc960034798935d and codec +73d5adaba2b7dc662e86eb901e81369a3f73be9f. `DEPENDENCIES.json` +binds their retained files; `SOURCES.json` pins 30 live canonical inputs +at main 7c49fe32c55de02c2c873655c804b16e4c3fef0a. + +## Complete cost and limits + +This is a declared slow reference, not a fast Broad controller. Its full +online bill is O(Tq(log T+D log²(q+2))+TJ), plus charged source preparation, +headers, page reuse and retained historical backing. Mandatory Tile writes +cost Omega(DTq), and the specified whole-axis FieldMove route costs +Omega(Tq log T) under T/S<2. These literal bounds delimit this exact port; +they are not general Gaussian lower bounds. A future grouped implementation +may reuse its certified original-coordinate target but must prove its own +source, radius, routing, normalizer and complete physical cost. + +No old catalogue guard is waived. There is no broad Core implementation, +complete prefix physical replay, production GL64/O73 execution, full Fourier +or integer-recovery theorem. The remaining native/scalar/Fourier and +analytic-source obligations are explicit. **No new kappa; the selected +conditional frontier and all five foundational assumptions are unchanged.** + +## Reproduction and checks + +```sh +python3 -B scripts/research_package.py --package research/fine-expansion-page-admission +python3 -B scripts/check_research_commit.py --package research/fine-expansion-page-admission --check-modes +``` + +Normal and optimized commands authenticate complete sources and 22 source +clauses, then run independently derived integer/Fraction controls across +4,320 headers, 7,557 blocks, 68,013 quadratic identities, 288,036 halo +multiplicities, 768 reciprocal-unit cases and 240 normalization budgets. +The actual T16/S9 q12/J3 native-word/public-codec output agrees exactly with +the independent signed truncation oracle, with component error 3/8192. +Short/long returns, the old S clock, borrowed metadata/work aliases, +pending returns, wrong normalizers, lost periodic multiplicity and invalid +near-unit reasoning are rejected or distinguished. The finite native +witness runs only this output seam. Its single corrected initial marker +setup failure is retained in the checkpoint; inherited guards were unchanged. + +Prepared for **@CubeJerry** with substantial OpenAI assistance. Credit Jose +Manuel/@jmbarrancoml, JoyboyBrian, Hiroki KUMAZAKI/@kumagi, Ali Romman/ +@aliromman and all retained source/archive authors in `NOTICE.md`. +Independent algorithmic checks and same-team lead review do not assert +independent human or proof-kernel acceptance. Exact evidence, proof, +open next questions and restart trail are in the package. diff --git a/research/fine-expansion-page-admission/PR-TITLE.txt b/research/fine-expansion-page-admission/PR-TITLE.txt new file mode 100644 index 0000000000..ce0063cfa2 --- /dev/null +++ b/research/fine-expansion-page-admission/PR-TITLE.txt @@ -0,0 +1 @@ +Admit fine-family expansion pages and delimit the direct prefix port diff --git a/research/fine-expansion-page-admission/PROOF.md b/research/fine-expansion-page-admission/PROOF.md new file mode 100644 index 0000000000..b97c6931da --- /dev/null +++ b/research/fine-expansion-page-admission/PROOF.md @@ -0,0 +1,376 @@ +# Admit full-period fine-family expansion pages, and delimit their direct port + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +Source-bound enabling/adversarial result; no new kappa. Canonical main: +`7c49fe32c55de02c2c873655c804b16e4c3fef0a`. + +## 1. What is new, and what is inherited + +The actual canonical expansion is #3878's `Tile`, `TilePreparation`, +`BlockGeometry` and `ProductionBlock`. Its explicit page API is distinct +from `ProductionTile`, which imports the old paired compression +`ProductionPlan`. The latter's admission is incompatible with the fine +family, as the public caller audit at 96211247643059ae48af4c7d9dc960034798935d +proves. We change or bypass none of its guards and claim no old Tensor run. + +#3878 already proves local expansion at every ratio 1=101, integer alpha>=2 with u=alpha^2=101, +ceil(sqrt(q))=101, +ceil(log2(32(3b+4)))+12<=q+21, whereas +P-2sigma-q=24575q. Thus every actual Block/Tile work-precision guard holds. +All header fields requiring positivity are positive, the version is 2, +source_count equals capacity, and the target origin is zero. Every later +block origin is below t and fits its q+2-bit origin clause. + +For a block starting at v with length m, the exact source endpoints are + + a(v)=floor(sv/t)-b-1, + c(v,m)=ceil(s(v+m-1)/t)+b+2. (3) + +This follows from the actual j0, gamma and h_high formulas, with +`gamma=floor(sv/t)-sv/t`; in particular the upper endpoint uses a ceiling. +For the full period, ceil(s(t-1)/t)=s because 0=s, some residues appear many times; replacing this stream by one +copy per residue changes the Gaussian sum. A target lift by c*t uses the +source lift by c*s and leaves the residue stream and exact output unchanged. +The optional capacity beyond source_count must be literal zero padding; +(1) needs no such padding. Borrowed original source values are preserved. + +## 3. Bind the actual coefficient producer, not an arbitrary page + +`prepare_page` forms the actual rational A/K/B exponent families in original +coordinates, measures the maximum ceiling of their absolute values, and +passes that positive bound to the unchanged encoded `Exponentials` owner. +The source quadratic identity is + + U_h+V_z+K_(h-z)=(j0+h-(s/t)(v+z))^2/u. (4) + +#3878's bounds, applicable under (1)-(2), give |U|<20q, |V|<3q and K<12q. +The factor scales are exactly sigma for A and B and zero for K. Thus the +actual arguments satisfy the all-rational sign/scale domain proved by #6085, +without importing that audit's separate narrow-Axis geometry. The lower +endpoints are nonnegative, no larger than the true factors, and have error +<3*2^-P/2, which is stronger than #5295's required 4*2^-P allowance. + +The actual exact-unit and reflected-kernel branches preserve the same +factors. Crucially, a true factor <=1 alone would not prove the preparer's +*upper-endpoint* unit check. The actual production allocation supplies the +missing admission implication. Here K_d is the exponent in (4), and k_d=exp(-pi K_d) is its kernel +factor. Using pi<4 and e<4 in the quadratic bounds, + + 2^(-4256q)=unit. Hence ceil(unit^2/total_lower) +<=unit. The subsequent outward shift to P still gives upper<=2^P, even for +arbitrarily tiny positive K arguments. The kernel at argument zero is exactly one. +Thus the actual unit check passes without an unjustified separation from +one. Reflected coefficients copy already-admitted identical K values. + +The normalization is exactly floor(2^P/(2alpha))/2^P. It is positive because +2alpha<2^(q+1)<=2^P, at most 1/4, and has error <2^-P. This binds the scalar +enclosure theorem to every actual expansion producer acceptance check, +including positivity and the near-unit endpoint. It does not reclaim the +predecessor general enclosure theorem. The complete ordered page headers +agree with (1)-(3); arbitrary parsing or positivity does not certify a page. + +The original exact line target is + + (A_i x)_v=(S_i x/2)_v + =(1/(2alpha_i)) sum_(j in Z) + exp(-pi*(j-s_i*v/t_i)^2/alpha_i^2) x_(j mod s_i). (5) + +All omitted integer occurrences are outside the short stencil and at +source distance >b. The credited production tail bound therefore applies +also when several occurrences have the same residue. It is a sum of +positive omitted masses, not a distinct-residue count. Matching the actual +crop, work-grid restoration 2^(2sigma), and final q-grid extraction gives +#5295's actual-input complex-modulus defect + + ||Tile_i(x)-A_i x||_abs < (sqrt(2)+2^-11)2^-q. (6) + +The source coefficient/primitive and original-periodicity contracts remain +explicit. Equations (1)-(4) discharge the particular page/frame admission +missing when the old paired ProductionTile is unavailable; they do not +reprove the predecessor arithmetic theorem or all-size word service. + +## 4. Original coordinates and the reached half-disk + +Start with source coordinates in order (D-1,...,0), axis zero fastest. +For axis i, treat that original axis as the contiguous line, use the pages +(1), and write all t_i target records for each spectator line. An exact +cyclic axis rotation then moves that completed axis to the slowest position. +After D steps the order is (D-1,...,0) again, with all target lengths t_i. +No coarse tile index is substituted for a Fourier axis and no coordinate +called a hole by the narrow map is omitted from the T-record target. + +A concrete unchanged rotation is `FieldMove.run` with +C=1, A=V_(i+1)/t_i, field=t_i, R=2(q+2), right=False. Its declared map is +[C][A][field][R bits] -> [C][field][A][R bits]. Each t_i is dyadic for the +fine family; its padding is consequently exact with Q=t_i. This is a +specified, expensive reference route, not a free permutation or a new +fast Broad controller. Periodic halo creation is a sequential source-line +scan with an encoded residue counter and paid rewinds at each wrap. + +The actual digit ingress in `Sandwich.ingress` scales each unsigned b_digit +bit digit by 2^-(b_digit+2). Its plan.p is our q; the source function +parameter named q instead counts digits. Provided our q>=b_digit+2, this is exact on the +q grid and its complex modulus is <1/4 (imaginary part zero). CRT address +permutation and zero padding preserve that bound. We reuse only this +literal ingress fact; we do not invoke the rejected old Sandwich catalogue. + +#5056's positive-majorant argument proves the actual Tile norm bound at +each reached input, including every signed internal truncation. A sufficient +credited bound is 3/4 per axis. Thus an actual quarter-disk input reaches +modulus at most (1/4)(3/4)^D before the final normalization below, and never +leaves the unit disk during its sequence of completed axis calls. This +hard norm conclusion uses the matching lower coefficient pages in Section 3; +it is not inferred from an ideal-map bound while ignoring internal rounding. +The final inward normalization/serialization cannot increase modulus. +Consequently the public middle's actual <=1/2 guard is met with slack. + +## 5. Spend the existing forward normalization and pay the return clock + +Let k_i be the already-declared forward normalizers of the current +fine-family source, K_f=sum k_i, and require K_f>=D. The canonical sufficient +choice k_i=100 ceil(log2 p0) satisfies this. Let K_c be the already-declared +compression sum used by the public group ledger, so its existing Gaussian +restoration is Gamma=K_f+K_c. This Gamma covers only these declared +Gaussian dyadic normalizers; the two source-size S factors and any separate +outer Fourier/integer-recovery scales remain outside this proposition. +Native inverse normalizers are spent *inside* +K_c by that ledger's first policy. They are not added here. + +The exact normalized expansion required by the current source is + + E=2^-K_f tensor_i S_i. + +The unchanged Tile sequence instead approximates tensor_i A_i=2^-D tensor_i S_i. +Therefore apply exactly one final inward q-grid scale with + + J=K_f-D>=0. (7) + +Its exact unrounded target is E. Neither D nor J is a new addition to +Gamma, and the internal 2sigma restorations are already within each Tile. +Adding D to Gamma after (7), or using a final scale K_f instead of J, changes +the represented source transform by 2^D or 2^-D respectively. + +The public Core/halo codec's `prepare_return` uses its unchanged input as +its record clock and checks the native EOF. A compact S-record original +source cannot clock a T-record expanded return when S=Gamma+tau_exp+5 (10) + +makes (9) strictly less than 2^-tau_exp, since 14sqrt(2)<32. Retain the +actual norm if that premise is absent. The middle gets its separate chi/f +allocation; compression and all extra interfaces retain separate allowances. +For example the completed total is bounded by 2^-tau_core +2^-tau_exp ++2^-tau_mid + e_extra when all three admitted budgets are satisfied. +This is not complete Fourier, opposite-sign or integer-recovery admission. + +The original fine family has D=Theta(p0^(1-epsilon)), epsilon=10^-30, +alpha^2=O(log p0), log2 T=Theta(p0), and Gamma=O(D log p0)=o(p0). +Choose q to satisfy (1), metadata fits, ingress q>=b_digit+2, (10), and +the middle/caller's other sufficient conditions. For targets O(p0), one +q=O(p0) suffices eventually. No unquantified finite onset is inferred from +that asymptotic statement. These exact inequalities are finite admission +tests, including the original-period size conditions used below. + +## 7. Full invoice and the obstruction for this direct port + +Let V_i=product_(j=i)s_j, so V_0=S and V_D=T. +Axis i has V_i/s_i complete original spectator lines. Its halo has +s_i+2b_i+3 records; one encoded periodic counter copies every occurrence, +with initial positioning and every wrap paid. The literal Tile validation, +all A/K/B/normalization products, prefix convolution, crop, copying, +return consumption and cleanup have the inherited complete bound + + O((V_i/s_i)(s_i+t_i+b_i) q log^2(q+2)). (11) + +This includes the short-block coefficient reads for every line. Production +pages are prepared once per original axis and reused, not regenerated per +spectator. The actual source size is O((t_i+b_i)q); input-independent +preparation costs sum_i polynomial(t_i,q), with every coefficient owner, +ratio operation, reflection scan, header, page copy and retained history +charged. #6085's explicit shifts cost their lengths; sigma=4096q is O(q), +not merely O(log q). With fresh history the fine family pays +D*2^O(ell)*poly(p0)=2^o(p0); retained historical backing remains additional. + +The specified whole-axis FieldMove rotation costs +O(V_(i+1) q (1+ell_i)) including each split, padding/crop, full spectator +scan, parent copy, child consumption and restoration. This is its actual +full-field application; the old short-field O(log q) rotation bill cannot +be substituted when the moved field is the complete original t_i. +The final clock/codec costs O(T(q+J)+q+J), and owns a constant number of +full T-record fields, plus encoded templates and their retained extents. +All axis/period metadata, owned halo buffers and full original source data +remain in the bill. Storage includes the complete O(Tq) field banks, +O(sum_i(t_i+b_i)q) pages, short work fields and every numerical child's +active/inactive and historical high-water backing. + +If each b_i<=s_i and T/S<2, (11) sums to O(DTq log^2(q+2)). The reference +route and final conversion give the conservative online upper bound + + O(Tq(log2 T + D log^2(q+2)) + T J), (12) + +plus the stated setup and metadata. The period condition b_i<=s_i holds +eventually because ell_i=Theta(p0^epsilon) dominates log p0, but it remains +an explicit finite test; the general bill (11) applies when it fails. + +There are two literal lower bills. First, `Tile.run` copies every returned +complex word, so its outputs alone require + + 2(q+2) sum_(i=1)^D V_i > (q+2)D T (13) + +under T/S<2. Since digit ingress requires q>=b_digit+2=Theta(p0), this +already costs Omega(n p0^(1-epsilon)), excluding this unchanged sequential +port from O(n p0^(1-kappa)) for any fixed kappa>epsilon. This is a statement +about these mandatory writes, not a general lower bound for Gaussian maps. + +For the particular full-axis FieldMove route specified above there is an +even stronger bound: its loop performs ell_i complete-volume stages on +axis i. In its actual right=False branch, stage j has 2^j prefixes, +A=V_(i+1)/t_i spectators and suffix=(t_i/2^(j+1))*2(q+2). +The two copies per spectator write exactly 2(q+2)V_(i+1) bits. +The Counter loop runs ell_i times; even A=1, all-zero data or an identity +permutation does not skip it. With Q=t_i, padding adds no coordinates. +Thus the stage writes give +Omega(S q sum ell_i)=Omega(n p0)=Omega(n log n). When the fine-family tests +hold, (12) matches O(n log n) up to the stated inherited constants because +D log^2 p0=o(p0). We do not price these rotations as the old microbox moves. +Changing the routing could remove this latter obstruction while leaving +(13). Avoiding (13) requires changing the one-full-field-return-per-axis +schedule, for example a separately admitted grouped implementation. + +## 8. What a fast grouped Broad can reuse, and what it must still prove + +The reusable object is the certified original-coordinate operator E and its +actual normalization/precision boundary: a quarter-disk source reaches the +middle's half-disk, with error (8) and unchanged Gamma. A future group +implementation can compare its output against the same S_i coefficients, +including every periodic occurrence, or against their certified intervals. +In the augmented canonical broad representation, scattering source j to +its original q_j and filling holes with zero gives M J_source=S_gauss; +this is the source convention already specified in GAUSSIAN.md, not a new +identity or permission to relabel coordinates freely. + +Such a group implementation must prove its own prepared coefficient/source +binding, original-q scatter and hole semantics, reached-input error/radius, +full movement/ownership/setup bill, and actual same-map normalization. It +cannot reuse this slow reference's favorable numerical contract as evidence +for its missing runtime or as a free whole-field routing oracle. The public +middle and compression still retain their scalar/Fourier/native premises; +the five foundational assumptions and accepted bound remain unchanged. + +The checks combine source fingerprints with independently derived integer +halo/header/cost and rational normalization cases. The native fixture runs +only the new return adapter with the real public codec and real native +Tape words, under the inherited loader; it does not execute production +Tiles, a complete prefix, or production GL64/O73. Written universal proof, +finite support and source-model-assisted review have distinct roles. diff --git a/research/fine-expansion-page-admission/README.md b/research/fine-expansion-page-admission/README.md new file mode 100644 index 0000000000..82522c543c --- /dev/null +++ b/research/fine-expansion-page-admission/README.md @@ -0,0 +1,129 @@ +# Fine-family expansion page admission and a paid enlarged return + +**No new kappa.** This source-relative enabling result admits the actual +explicit full-period expansion pages from CrocSwap/integer-mult-bounds#3878 +for the fine family, joins their existing one-bit-per-axis normalization to +the declared Gaussian normalization, and provides a paid dimension-changing +return adapter. It also proves that the unchanged sequential reference +schedule cannot provide the desired fast prefix. + +For integer working precision q>=101, integer alpha>=2, alpha²=D. The Tile sequence provides D of those +bits, so the final shift is J=K_f-D. At a true quarter-disk input, the actual +sequence reaches the cached middle's half-disk, and its maximum-coordinate +component-l1 error satisfies + + epsilon_exp < (12*2^-J+2)2^-q <=14*2^-q. + +With the public middle and exact normalized compression contracts, its +restored prefix contribution is at most +2^Gamma ||C_N||_* sqrt(2) epsilon_exp. If ||C_N||_*<=1, the sufficient +allocation q>=Gamma+tau_exp+5 funds an error below 2^-tau_exp. Here +Gamma=K_f+K_c is the existing **Gaussian dyadic restoration only**. The two +source S factors and any separate outer Fourier/recovery normalization are +outside this proposition. No extra axis normalization is added to Gamma. + +## What is new and what is inherited + +#3878 already covers fine theta; #5056 proves the actual inward norm; +#5295 proves the five-residual local accuracy and axis telescope; #6085 +proves the encoded exponential enclosure. We use and credit those results. +The new work is their exact full-period producer/page admission, preserved +forward normalizer and changed-volume output interface. The rejected old +paired `ProductionTile`/Tensor catalogue is untouched and is not invoked. + +The declared direct reference retains every source coefficient, periodic +occurrence, original axis, padded coordinate, header, source preparation, +route and word child. It has a conservative online upper bill +O(Tq(log T+D log²(q+2))+TJ), with separately charged setup and historical +backing. Mandatory Tile output writes alone cost Omega(DTq); the specified +full-axis FieldMove route additionally costs Omega(Tq log T) when T/S<2. +This is a limitation of that explicit direct schedule. It leaves a precise +numerical/source contract for a separately proved grouped implementation. + +## What actually executes + +`admission.py` is an exact input-independent certificate, not a native +coefficient producer. `check_exact.py` independently checks its integer and +rational consequences. Whole source files and 22 named source clauses are +bound without numerical AST projection. + +`return_codec.py` is a real native-word/public-codec adapter. It copies a +borrowed encoded positive T count, prepares a paid T-record zero clock and +dummy codec input, and converts the real T-record return at shift J. The +original compact S-record stream cannot clock an enlarged T-record return. +The prepared q/J templates, borrowed count producer and all source/native/ +work disjointness are explicit boundaries; this is not an encoded complete +prefix controller. + +The finite native fixture is T16/S9, q12 and J3. Its signed output agrees +with an independent exact truncation oracle; component-l1 projection error +is 3/8192, below 2^(1-q). It preserves borrowed native words/counts and +canonical origins, protects pending output, rejects short/long/native-work +aliases and the old S clock, erases helper state, and demonstrates actual +coarse-grid erasure. It does **not** execute a Tile, complete prefix or +production Fourier program. The universal claim is the explicit written +proof under the credited source, scalar and word contracts. + +## Reproduce + +From the repository root, using only Python 3.12 and its standard library: + +```sh +python3 -B scripts/research_package.py --package research/fine-expansion-page-admission +``` + +Both normal and optimized Python commands have a 120-second limit. Expected +marker: `PASS_FINE_EXPANSION_PAGE_ADMISSION`. A direct bounded check is: + +```sh +python3 -B research/fine-expansion-page-admission/verify.py +``` + +The deterministic mathematical coverage is 4,320 header tuples, 7,557 +blocks, 68,013 exact quadratic identities, 288,036 original-residue +multiplicities, 768 reciprocal/unit cases, 240 normalization budgets, four +axis layouts and 26 literal route-stage invoices. Negative controls detect +short halos, deduplicated occurrences, wrong ceilings, underfunded positive +coefficients, invalid near-unit reasoning and double normalization. There +is no random search and no inference from this finite domain to all sizes. + +## Dependencies and integrity + +Canonical main is 7c49fe32c55de02c2c873655c804b16e4c3fef0a. `SOURCES.json` +authenticates all 30 live canonical inputs; `DEPENDENCIES.json` binds six +retained files from four public source/interface packages and the public +Reference join. Those public packages are dependencies, not silently +accepted canonical results. No source is downloaded by the checker. + +`PROOF.md` holds the universal source proof and full invoice. `OVERLAP.md` +and `NOTICE.md` record predecessor scopes and credit. `CHECKPOINT.md` and +`evidence/REPLAY.json` preserve executed checks and the single corrected +fixture setup failure. The proposed PR description is in `PR-BODY.md`. + +## Open next questions + +A fast grouped Broad must prove its own original-q scatter/hole semantics, +same-map source/normalizer match, reached radius/error and complete physical +bill. This slow reference cannot serve as a free routing oracle. Native +scalar/Fourier production admission, the opposite transform, both outer S +factors and complete CRT/integer recovery remain separate. The selected +certificate, complete multiplication bound and five assumptions are unchanged. + +Prepared for @CubeJerry with substantial OpenAI assistance. Independent +algorithmic checks and same-team lead review are not independent human or +formal proof-kernel acceptance. diff --git a/research/fine-expansion-page-admission/SOURCES.json b/research/fine-expansion-page-admission/SOURCES.json new file mode 100644 index 0000000000..faf27d73d1 --- /dev/null +++ b/research/fine-expansion-page-admission/SOURCES.json @@ -0,0 +1,186 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "research/physical-gaussian-expansion/PROOF.md", + "git_blob": "89642f4740c62460835380a3bfa00f63808009a8", + "sha256": "5452f3e2191824b4a8451c83fbdf58b3b2228f4e1966a6f22c3e60bd152e56b0", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_prepare.py", + "git_blob": "69f862e7a1853b405670397cf0a4ea184a654f50", + "sha256": "4cc81e92487b91875d3e4e68e4a856fef021861b879565e0f8f2c9b923b37360", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_geometry.py", + "git_blob": "816a371a21c4e13a6d46ef469e129b7cbef0aa1c", + "sha256": "59584d32b10045bb4efe1ef0b4384d15f1e045b24e4a29c38f8a9c2544c28774", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_prepare.py", + "git_blob": "501fca979c563e9648aa8d430cd316e9613704ca", + "sha256": "e925414663a4e7c152bee375137bd36ba2405b61dcc86094700852fb6fa1f867", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile.py", + "git_blob": "d1b4bebb2ea30ac0f334d1e2e32045a025729c34", + "sha256": "487b6ac17b9dfd5544148a6734d114bd83f3cf1c9475ba939e07bdb1c3ad1079", + "usage": "input" + }, + { + "path": "research/physical-gaussian-tensor/tensor_engine.py", + "git_blob": "779023d7e2c82f5dcf0d78c32ffd067e923572f7", + "sha256": "1a5a766426b16718e168619d5988cc18711b4574f0041ec7f3877c1024de59d1", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/gaussian_prepare.py", + "git_blob": "32e18686b653a09804941f5fd81b715973337aeb", + "sha256": "38aa123f80c68f7fcb9e60acae79543cf55f6fd37e12a548cffae11a9b50c1e5", + "usage": "input" + }, + { + "path": "research/gaussian-expansion-headroom/PROOF.md", + "git_blob": "c9844fedfb887fc546d4394aadf72aa41b2a44c7", + "sha256": "2af6ee0d075d7b5dbad5c58314418a84e57d54dd15fc77bf81ea016666aaa95a", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "git_blob": "30ff87e1ffdce973f433d1e1b61956796d8209df", + "sha256": "c38c834264efd3be4f5de826ec9c6b7e79177c86db92b396ad0eea6beff9e532", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_records.py", + "git_blob": "0a90dafb5cb762bfbc78accccb847510f825ca43", + "sha256": "5e3a9c4bb52d2c902c4c35dfba7f33e68230adcb955a84169f30241b5cd2cca9", + "usage": "input" + }, + { + "path": "research/physical-gaussian-tensor/tensor_lines.py", + "git_blob": "c59be26feb3f9d09b6a6f9b0f00e93f223669cfa", + "sha256": "66bac95bdcdf788978d185e2f7508cd74152801f1513c4e5af978ff5983fc511", + "usage": "input" + }, + { + "path": "research/expansion-axis-margin/README.md", + "git_blob": "9c02d7f00222fbfe5d1084dc2b2b6abea983baa3", + "sha256": "bbb87bf8b6ab69a52ed87c01827b93f323601af6cd1cb457ee42721b06346551", + "usage": "input" + }, + { + "path": "research/tensor-expansion-accuracy/README.md", + "git_blob": "b49af1a54cb1fd06856e2cd1c8d48284c1666107", + "sha256": "56806adcdeb885b8b55de16c37586c15d977bda88160788ef7b4cca64e0ff6dc", + "usage": "input" + }, + { + "path": "research/physical-gaussian-tensor/tensor_moves.py", + "git_blob": "842da60d989cd3a2e3e1ca60cccde396ead0f9e0", + "sha256": "65fedbf5aad4922cd4ba24a6f2aef339d7428dba3f051bf8e647800ab1c1818d", + "usage": "input" + }, + { + "path": "research/physical-gaussian-tensor/PROOF.md", + "git_blob": "0f59178830599efa2c689627664245f0ac04f959", + "sha256": "1e3450344552e744e0187cf1115c7b470bbe1babc9a2414586ff8ffc8f84476e", + "usage": "input" + }, + { + "path": "research/physical-gaussian-tensor/tensor_records.py", + "git_blob": "4b06c9d85165b9e7e2dce20d24527f02844ec3b4", + "sha256": "a450cbee0b899c0e14dbd43147e73138786846ac009c6626dbcb96292458bb6b", + "usage": "input" + }, + { + "path": "research/tensor-internal-contraction/PROOF.md", + "git_blob": "ba524f5068052a1081c75f3d9392ff5f2d63848a", + "sha256": "380ceaffb70d35b4218ecf3918d30140e6c2830d07d5b8c6732ece80c5403362", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_block.py", + "git_blob": "be35473b70e55768ee294af8b8846f49f5bbbe8f", + "sha256": "e95cc3a0edd9f8a10c8bb831dae31a41bca9d7c54bc9dadf5f3ec36ebaf32011", + "usage": "input" + }, + { + "path": "research/physical-gaussian-expansion/expansion_sources.py", + "git_blob": "f8073c821494a4e57791834871ecfd3158331b9c", + "sha256": "a5cc56b5ad1714d21da77dcd6f938b448c215932fbdab3d7ed5613ec2c107c67", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/gaussian_exponentials.py", + "git_blob": "8f0f32d7090554b47c112142e300c88fb8e5db4d", + "sha256": "f7a27cacbb27c0cfa4a63054e83feba2beae91b3fa9d3c37f903620b3899e67b", + "usage": "input" + }, + { + "path": "research/encoded-gaussian-directed-coefficient-audit/PROOF.md", + "git_blob": "fd7f576039c8867053042d6f616441b41a4a103d", + "sha256": "b63efb46b31a43d6be1ba2951709e270deca3390fe9d2dd46a235f2672bfc58a", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/PROOF.md", + "git_blob": "883c8d4a6f0eead888fb3532b60db41596940889", + "sha256": "e909026dd3f455c35ff28210a0c4ffa232ad8d7633174e481094fd09e2469d7a", + "usage": "input" + }, + { + "path": "research/unconditional-batched-crt/PROOF.md", + "git_blob": "406eb561cc8d6041ea3fba1a849653b654f2198c", + "sha256": "689fc7b01c5f04f77019ff02d1b79cb4f7020bd98e05b1052020bad295dec060", + "usage": "input" + }, + { + "path": "research/unconditional-batched-crt/GAUSSIAN.md", + "git_blob": "adfb28c93e6b06178c901caaac39ede41a9e541b", + "sha256": "2f63c91c58f2d1cf31294812c75970ea390c61866a8da7ed700d4316a033a242", + "usage": "input" + }, + { + "path": "docs/research/agent-task-catalog.json", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81", + "usage": "input" + }, + { + "path": "research/tensor-expansion-accuracy/PROOF.md", + "git_blob": "b439b91269154a8e31c0bc2f6ad410d1d4195d16", + "sha256": "659fe79662c5cfab5fd22cc937e88b849c1491bf4a66e79ee1a7558aeb090e0d", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/gaussian_sources.py", + "git_blob": "ce521f91997775e189f984ba7dd68a15bf9ecd9b", + "sha256": "c5889a97a11a9c6c6c44deb8a2042498ddc3f55703de15269132b8f198e24b15", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/inputs/word-export.tar", + "git_blob": "885794cf3328941209034ee2d946ed76dbea8ce3", + "sha256": "d428e8b6aef4d348fa2e922ca64c4cfd634bbb2f0c150033273e65fcf4600b49", + "usage": "input" + }, + { + "path": "research/physical-gaussian-core/inputs/branchfree-source.tar", + "git_blob": "48dc77f5145d649bfed6745e38ab18b11772d597", + "sha256": "e6cdacd59a067189a99bfe03f4448913bb8d518ed4a9b1d981a68c5c666529c7", + "usage": "input" + }, + { + "path": "research/physical-tensor-crt-sandwich-recovery/sandwich.py", + "git_blob": "d1b42997b65c0405791baa79c5b470823994ced8", + "sha256": "1d45e8deed1b138fcd9800cc563b8cd894cbd2d072033ba23215566d299a4325", + "usage": "input" + } + ] +} diff --git a/research/fine-expansion-page-admission/TASK.json b/research/fine-expansion-page-admission/TASK.json new file mode 100644 index 0000000000..7471e3103f --- /dev/null +++ b/research/fine-expansion-page-admission/TASK.json @@ -0,0 +1,101 @@ +{ + "actual_scope": "Bind the actual fine-family full-period explicit expansion page producer, its lower/upper coefficient admissions, original periodic halo and preserved forward normalizer; provide a paid dimension-changing return adapter and delimit the full sequential reference cost.", + "ai_assistance": "Substantial OpenAI assistance in source audit, proof, exact independent rational oracles, code and packaging. Independent lead review, if included, is separately recorded; no human or proof-kernel acceptance.", + "author": "Prepared for @CubeJerry", + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "bottleneck_link": "The analytic_recovery prefix must enter the public cached middle on its original padded field. The old paired production catalogue cannot supply that fine-family admission; generic expansion error telescopes do not establish matching producer pages or the changing-volume return.", + "budget_minutes": 70, + "evidence": "Universal producer/page/header/normalizer proof and literal complete-volume invoices; exact independent halo, exponent, reciprocal, budget and layout controls; real native-word/public-codec dimension-changing return with failure controls.", + "finite_domain": "4,320 admission tuples q in {101,121,256,1024}, alpha 2..9 and floor sqrt(q-1), dyadic t4..128 and all s strictly between t/2 and t; 7,557 blocks, 68,013 quadratic checks and 288,036 multiplicities. One actual native T16/S9 q12 J3 adapter fixture. No random search, complete Tile or production Fourier replay.", + "independent_previous_package": false, + "no_new_kappa": true, + "open_questions": [ + { + "blocked_by": "This direct Tile schedule must write every axis output; the specified full-axis FieldMove route additionally costs a full log(T) field sweep.", + "first_step": "Pin the grouped source/caller and prove its original-q scatter, hole semantics, source/normalizer match and complete actual radius/error and physical bill.", + "question": "Can an actual grouped fine-family Broad implementation reuse these admitted original-coordinate pages without one complete output field per axis?", + "why_it_matters": "A numerically admitted slow reference does not meet the desired positive-kappa complete cost." + }, + { + "blocked_by": "The present Gamma is only the declared Gaussian dyadic restoration; scalar/Fourier/native production premises and outer recovery are separate.", + "first_step": "Use the public caller audit and exact actual source scales to allocate every remaining error before final strict integer rounding.", + "question": "Can the cached middle, normalized compression and opposite transform meet the complete integer-recovery caller with both source S factors?", + "why_it_matters": "The selected conditional theorem and all five foundational assumptions remain unchanged." + } + ], + "original_card": { + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "existing_checks": [ + { + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Independent proof audit of one caller-bound all-size implication; all other premises remain explicit.", + "scope": "PR #4100: proposed unconditional construction and finite checks, without independent acceptance.", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "status": "author-checked" + }, + { + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "status": "reviewed" + } + ], + "first_experiment": "Choose one assumption ID (native_all_columns, owned_erasure, compiler, precision_tape, analytic_recovery), one quantified implication and exact dependency closure. Check current handoffs, including #5625 row reentry and #5707 root-prefix lowering, without treating their partial scope as the whole theorem. Prove or falsify that implication with a caller-bound argument; stop at the chosen obligation. Finite tests or root digits do not discharge an all-size statement.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "id": "uniform-transfer-audit", + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "overlap_terms": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "question": "Can one of the selected record's five inherited assumptions be proved at its actual caller?", + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md" + ] + }, + "outcome": "completed", + "previous_public_commit": "8db3cc1e98ba295cec4d752478431515e159c34f", + "priority_revision": 8, + "schema_version": 1, + "scope_change_reason": "The first bounded audit found that #3878 already permits fine theta and #5056/#5295 already prove the local norm/error telescope. The approved narrow pivot proves the actual producer/header admission and unchanged-Gamma normalizer boundary, adds the changed-volume codec, and delimits the literal slow full-axis port.", + "scope_status": "refined", + "seed": 56, + "source_projection_scope": "Only complete source hashes and named AST fingerprints are inspected. The native fixture executes the unchanged Gaussian loader and real native-word/public-codec routines; no extracted numerical formula executes. No complete expansion controller, Tile or production Fourier replay is claimed.", + "stop_rule": "Freeze after source-relative producer admission, complete reference cost and bounded encoded-return checks. Do not implement broad Core, replace old catalogue guards or claim a fast prefix, full recovery or new kappa.", + "task_id": "uniform-transfer-audit", + "tracks": [ + "50-59 recursive interface", + "75-84 independent verification/formalization" + ], + "wave": 9, + "worker": "analytic_join" +} diff --git a/research/fine-expansion-page-admission/VERIFY.json b/research/fine-expansion-page-admission/VERIFY.json new file mode 100644 index 0000000000..d4a4209268 --- /dev/null +++ b/research/fine-expansion-page-admission/VERIFY.json @@ -0,0 +1,59 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/physical-gaussian-expansion/PROOF.md", + "research/physical-gaussian-expansion/expansion_prepare.py", + "research/physical-gaussian-expansion/expansion_geometry.py", + "research/physical-gaussian-expansion/expansion_tile_prepare.py", + "research/physical-gaussian-expansion/expansion_tile.py", + "research/physical-gaussian-tensor/tensor_engine.py", + "research/physical-gaussian-core/gaussian_prepare.py", + "research/gaussian-expansion-headroom/PROOF.md", + "research/physical-gaussian-expansion/expansion_tile_geometry.py", + "research/physical-gaussian-expansion/expansion_records.py", + "research/physical-gaussian-tensor/tensor_lines.py", + "research/expansion-axis-margin/README.md", + "research/tensor-expansion-accuracy/README.md", + "research/physical-gaussian-tensor/tensor_moves.py", + "research/physical-gaussian-tensor/PROOF.md", + "research/physical-gaussian-tensor/tensor_records.py", + "research/tensor-internal-contraction/PROOF.md", + "research/physical-gaussian-expansion/expansion_block.py", + "research/physical-gaussian-expansion/expansion_sources.py", + "research/physical-gaussian-core/gaussian_exponentials.py", + "research/encoded-gaussian-directed-coefficient-audit/PROOF.md", + "research/physical-gaussian-core/PROOF.md", + "research/unconditional-batched-crt/PROOF.md", + "research/unconditional-batched-crt/GAUSSIAN.md", + "docs/research/agent-task-catalog.json", + "research/tensor-expansion-accuracy/PROOF.md", + "research/physical-gaussian-core/gaussian_sources.py", + "research/physical-gaussian-core/inputs/word-export.tar", + "research/physical-gaussian-core/inputs/branchfree-source.tar", + "research/physical-tensor-crt-sandwich-recovery/sandwich.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "checks": "Whole-file/source-clause authentication; independent full-period header, halo multiplicity, actual exponent, reciprocal upper-unit, normalizer and route invoice controls; actual T16 native/public-codec return, encoded borrowed Count preservation, volume/alias/pending-return failures and coarse erasure. No complete production Tile or Fourier replay.", + "timeout_seconds": 120 + }, + { + "argv": [ + "{python}", + "-O", + "-B", + "{package}/verify.py" + ], + "checks": "Whole-file/source-clause authentication; independent full-period header, halo multiplicity, actual exponent, reciprocal upper-unit, normalizer and route invoice controls; actual T16 native/public-codec return, encoded borrowed Count preservation, volume/alias/pending-return failures and coarse erasure. No complete production Tile or Fourier replay.", + "timeout_seconds": 120 + } + ] +} diff --git a/research/fine-expansion-page-admission/admission.py b/research/fine-expansion-page-admission/admission.py new file mode 100644 index 0000000000..be49c2dbb0 --- /dev/null +++ b/research/fine-expansion-page-admission/admission.py @@ -0,0 +1,55 @@ +"""Exact input-independent certificate, not a native Tile/page execution. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from dataclasses import dataclass +from fractions import Fraction +from math import isqrt + +def need(value,message): + if not value:raise ValueError(message) +def ceil_div(a,b):return -((-a)//b) +def ceil_log2(n): + need(n>0,'positive logarithm');return (n-1).bit_length() +def trunc_div(a,b):return (-1 if a<0 else 1)*(abs(a)//b) + +@dataclass(frozen=True) +class Certificate: + s:int;t:int;alpha:int;q:int;b:int;P:int;sigma:int + source_start:int;source_count:int;blocks:int + + @classmethod + def make(cls,s,t,alpha,q): + need(all(type(v) is int for v in (s,t,alpha,q)),'integer source descriptors') + need(q>=101 and alpha>=2 and alpha*alpha=2*sigma+q+ceil_log2(32*(3*b+4))+12,'actual complete tile precision guard') + need(P-4256*q>=2 and 3936*q>=2,'positive lower and strict unit upper A/B') + return cls(s,t,alpha,q,b,P,sigma,-b-1,s+2*b+3,ceil_div(t,b)) + + def block(self,v,m): + need(0<=v=1 and Kf>=D and Kc>=0,'declared normalizer shares') + J=Kf-D;Gamma=Kf+Kc + error=(Fraction(12,1<=Gamma+tau+5,threshold=Fraction(1,1<=2*c.sigma+q+ceil_log2(32*(n+1))+12,'actual extraction precision gate') + if previous is not None: + need(previous['start']<=block['start']<=previous['end']<=block['end'],'complete monotone overlap') + previous=block + if m1:multiple+=1 + for lift in (-2,1): + # Shifting by one full source period preserves every multiplicity. + need(Counter((j+lift*s)%s for j in range(c.source_start,end))==stream,'signed full-period lift') + cases+=1 + # These are independent proof controls, not claims of native Tile execution. + c=Certificate.make(61,64,3,101);seq=list(c.block_sequence()) + need(seq[-1]['end']>c.source_start+c.source_count-1,'one-short halo fails final source containment') + need(c.source_count>c.s,'deduplication loses required occurrences') + need(any(b['end']!=((c.s*(b['v']+b['m']-1))//c.t+c.b+2) for b in seq),'floor cannot replace strict upper ceiling') + guards=0 + for args in ((3,4,2,100),(3,4,11,121),(3,6,2,101),(4,4,2,101),(3,4,1,101)): + try:Certificate.make(*args) + except ValueError:guards+=1 + else:raise ValueError('missing domain rejection') + # Generic interval containment does not imply the source upper<=unit guard. + interval_controls=reciprocal=positivity_controls=0 + for P in range(1,17): + # Underfunded precision permits an exactly positive coefficient with + # a valid zero stored lower endpoint. This is an explicit countermodel + # to inferring positivity from enclosure/error alone, not a replay of + # the production Exponentials owner with a modified precision. + tiny=Fraction(1,1<<(P+1));zero=Fraction(0);one_ulp=Fraction(1,1<1 and upper-lower==Fraction(2,1<>(j+1))*26 + need(prefixes*A*2*suffix==26*V,'literal complete-volume FieldMove stage writes');stages+=1 + need(labels==[tuple(reversed(x)) for x in initial],'full target order restored after D rotations') + layouts+=1 + return dict(header_cases=cases,blocks=blocks,quadratic_identities=identities, + residue_multiplicities=wraps,multiple_wrap_cases=multiple,clipped_blocks=clipped, + certificate_domain_rejections=guards,near_unit_countercontrols=interval_controls, + positive_lower_countercontrols=positivity_controls, + reciprocal_unit_cases=reciprocal,normalization_budget_cases=budgets, + complete_axis_layouts=layouts,literal_move_stage_invoices=stages, + mathematical_controls=['short_halo','lost_alias_multiplicity','upper_floor','positivity_precision', + 'near_unit_enclosure','double_forward_normalization','extra_restoration']) diff --git a/research/fine-expansion-page-admission/evidence/REPLAY.json b/research/fine-expansion-page-admission/evidence/REPLAY.json new file mode 100644 index 0000000000..20c0311803 --- /dev/null +++ b/research/fine-expansion-page-admission/evidence/REPLAY.json @@ -0,0 +1,150 @@ +{ + "attempt_history": [ + { + "file": "attempt-1.json", + "reason": "A fresh native Tape already owns its marker; direct initialize_marker was correctly rejected. The fixture now erases its initial marker before initializing. No inherited source or guard was changed.", + "status": "failed fixture setup" + }, + { + "file": "normal.json", + "status": "pre-metadata successful adapter pass" + }, + { + "file": "registered.json", + "status": "final registered normal and optimized pass" + } + ], + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "limitations": [ + "No actual coefficient producer or Tile execution", + "No complete expansion controller", + "No production Fourier execution", + "Source-relative universal proof with finite independent support; no human or proof-kernel acceptance" + ], + "platform": "Linux-6.18.57-x86_64-with-glibc2.39", + "python": "3.12.14 (main, Aug 25 2026, 14:00:49) [Clang 22.1.3 ]", + "registered": { + "elapsed_seconds": 7.865, + "normal_and_optimized_identical": true, + "returncode": 0 + }, + "schema_version": 1, + "verified_result": { + "canonical_inputs": 30, + "claim": "fine-family expansion producer/page admission and declared slow-reference interface; no new kappa", + "mathematics": { + "blocks": 7557, + "certificate_domain_rejections": 5, + "clipped_blocks": 3897, + "complete_axis_layouts": 4, + "header_cases": 4320, + "literal_move_stage_invoices": 26, + "mathematical_controls": [ + "short_halo", + "lost_alias_multiplicity", + "upper_floor", + "positivity_precision", + "near_unit_enclosure", + "double_forward_normalization", + "extra_restoration" + ], + "multiple_wrap_cases": 4320, + "near_unit_countercontrols": 16, + "normalization_budget_cases": 240, + "positive_lower_countercontrols": 16, + "quadratic_identities": 68013, + "reciprocal_unit_cases": 768, + "residue_multiplicities": 288036 + }, + "native_return": { + "J": 3, + "T": 16, + "actual_coarse_erasure": true, + "complete_prefix_executed": false, + "component_l1_projection_error": "3/8192", + "failures": [ + "short_native", + "long_native", + "old_S_clock", + "native_metadata_or_work_alias", + "native_metadata_or_work_alias", + "native_metadata_or_work_alias", + "native_metadata_or_work_alias" + ], + "old_S": 9, + "output": [ + [ + 15, + 10 + ], + [ + -16, + 11 + ], + [ + 18, + -12 + ], + [ + -19, + -13 + ], + [ + 20, + 14 + ], + [ + -22, + 15 + ], + [ + 23, + -16 + ], + [ + -25, + -17 + ], + [ + 26, + 17 + ], + [ + -27, + 18 + ], + [ + 29, + -19 + ], + [ + -30, + -20 + ], + [ + 31, + 21 + ], + [ + -33, + 22 + ], + [ + 34, + -23 + ], + [ + -36, + -24 + ] + ], + "output_sha256": "0c3403f890fafcf4599db5cf071b81eb72eebe23833bfce67ca26a6bc158675b", + "production_Fourier_executed": false, + "production_Tile_executed": false, + "q": 12 + }, + "public_files": 6, + "source_clause_mutations": 21, + "source_clauses": 22 + } +} diff --git a/research/fine-expansion-page-admission/evidence/attempt-1.json b/research/fine-expansion-page-admission/evidence/attempt-1.json new file mode 100644 index 0000000000..29d6a4ed15 --- /dev/null +++ b/research/fine-expansion-page-admission/evidence/attempt-1.json @@ -0,0 +1,11 @@ +{ + "argv": [ + "python", + "-B", + "research/fine-expansion-page-admission/verify.py" + ], + "elapsed_seconds": 4.058, + "returncode": 1, + "stdout": "", + "stderr": "Traceback (most recent call last):\n File \"/workspace/scratch/a365d332d434/worker-analytic-wave9/research/fine-expansion-page-admission/verify.py\", line 125, in \n if __name__=='__main__':main()\n ^^^^^^\n File \"/workspace/scratch/a365d332d434/worker-analytic-wave9/research/fine-expansion-page-admission/verify.py\", line 59, in main\n native=native_field(values);saved=bytes(native.cells)\n ^^^^^^^^^^^^^^^^^^^^\n File \"/workspace/scratch/a365d332d434/worker-analytic-wave9/research/fine-expansion-page-admission/verify.py\", line 53, in native_field\n tape=Tape();initialize_marker(tape)\n ^^^^^^^^^^^^^^^^^^^^^^^\n File \"/tmp/physical-compact-anwj1wwi/pr2899/session.py\", line 25, in initialize_marker\n File \"/tmp/ordinary-physical-gj7uryop/pr2809/inputs/pr2753/predecessor/vendor/words.py\", line 12, in need\nValueError: blank owned origin\n" +} diff --git a/research/fine-expansion-page-admission/evidence/normal.json b/research/fine-expansion-page-admission/evidence/normal.json new file mode 100644 index 0000000000..6967b0a0a2 --- /dev/null +++ b/research/fine-expansion-page-admission/evidence/normal.json @@ -0,0 +1,12 @@ +{ + "argv": [ + "python", + "-B", + "research/fine-expansion-page-admission/verify.py" + ], + "elapsed_seconds": 3.874, + "returncode": 0, + "stdout": "PASS_FINE_EXPANSION_PAGE_ADMISSION\n{\n \"canonical_inputs\": 30,\n \"claim\": \"fine-family expansion producer/page admission and declared slow-reference interface; no new kappa\",\n \"mathematics\": {\n \"blocks\": 7557,\n \"certificate_domain_rejections\": 5,\n \"clipped_blocks\": 3897,\n \"complete_axis_layouts\": 4,\n \"header_cases\": 4320,\n \"literal_move_stage_invoices\": 26,\n \"mathematical_controls\": [\n \"short_halo\",\n \"lost_alias_multiplicity\",\n \"upper_floor\",\n \"positivity_precision\",\n \"near_unit_enclosure\",\n \"double_forward_normalization\",\n \"extra_restoration\"\n ],\n \"multiple_wrap_cases\": 4320,\n \"near_unit_countercontrols\": 16,\n \"normalization_budget_cases\": 240,\n \"quadratic_identities\": 68013,\n \"reciprocal_unit_cases\": 768,\n \"residue_multiplicities\": 288036\n },\n \"native_return\": {\n \"J\": 3,\n \"T\": 16,\n \"actual_coarse_erasure\": true,\n \"complete_prefix_executed\": false,\n \"component_l1_projection_error\": \"3/8192\",\n \"failures\": [\n \"short_native\",\n \"long_native\",\n \"old_S_clock\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\"\n ],\n \"old_S\": 9,\n \"output\": [\n [\n 15,\n 10\n ],\n [\n -16,\n 11\n ],\n [\n 18,\n -12\n ],\n [\n -19,\n -13\n ],\n [\n 20,\n 14\n ],\n [\n -22,\n 15\n ],\n [\n 23,\n -16\n ],\n [\n -25,\n -17\n ],\n [\n 26,\n 17\n ],\n [\n -27,\n 18\n ],\n [\n 29,\n -19\n ],\n [\n -30,\n -20\n ],\n [\n 31,\n 21\n ],\n [\n -33,\n 22\n ],\n [\n 34,\n -23\n ],\n [\n -36,\n -24\n ]\n ],\n \"output_sha256\": \"0c3403f890fafcf4599db5cf071b81eb72eebe23833bfce67ca26a6bc158675b\",\n \"production_Fourier_executed\": false,\n \"production_Tile_executed\": false,\n \"q\": 12\n },\n \"public_files\": 5,\n \"source_clause_mutations\": 21,\n \"source_clauses\": 22\n}\n", + "stderr": "", + "stage": "pre-metadata adapter pass before sixth public dependency was retained" +} diff --git a/research/fine-expansion-page-admission/evidence/registered.json b/research/fine-expansion-page-admission/evidence/registered.json new file mode 100644 index 0000000000..c9558d71b0 --- /dev/null +++ b/research/fine-expansion-page-admission/evidence/registered.json @@ -0,0 +1,14 @@ +{ + "argv": [ + "/opt/codex/runtimes/codex-primary-runtime/dependencies/python/bin/python", + "-B", + "scripts/research_package.py", + "--package", + "research/fine-expansion-page-admission" + ], + "python": "3.12.14 (main, Aug 25 2026, 14:00:49) [Clang 22.1.3 ]", + "elapsed_seconds": 7.865, + "returncode": 0, + "stdout": "CHECK Whole-file/source-clause authentication; independent full-period header, halo multiplicity, actual exponent, reciprocal upper-unit, normalizer and route invoice controls; actual T16 native/public-codec return, encoded borrowed Count preservation, volume/alias/pending-return failures and coarse erasure. No complete production Tile or Fourier replay.\nPASS_FINE_EXPANSION_PAGE_ADMISSION\n{\n \"canonical_inputs\": 30,\n \"claim\": \"fine-family expansion producer/page admission and declared slow-reference interface; no new kappa\",\n \"mathematics\": {\n \"blocks\": 7557,\n \"certificate_domain_rejections\": 5,\n \"clipped_blocks\": 3897,\n \"complete_axis_layouts\": 4,\n \"header_cases\": 4320,\n \"literal_move_stage_invoices\": 26,\n \"mathematical_controls\": [\n \"short_halo\",\n \"lost_alias_multiplicity\",\n \"upper_floor\",\n \"positivity_precision\",\n \"near_unit_enclosure\",\n \"double_forward_normalization\",\n \"extra_restoration\"\n ],\n \"multiple_wrap_cases\": 4320,\n \"near_unit_countercontrols\": 16,\n \"normalization_budget_cases\": 240,\n \"positive_lower_countercontrols\": 16,\n \"quadratic_identities\": 68013,\n \"reciprocal_unit_cases\": 768,\n \"residue_multiplicities\": 288036\n },\n \"native_return\": {\n \"J\": 3,\n \"T\": 16,\n \"actual_coarse_erasure\": true,\n \"complete_prefix_executed\": false,\n \"component_l1_projection_error\": \"3/8192\",\n \"failures\": [\n \"short_native\",\n \"long_native\",\n \"old_S_clock\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\"\n ],\n \"old_S\": 9,\n \"output\": [\n [\n 15,\n 10\n ],\n [\n -16,\n 11\n ],\n [\n 18,\n -12\n ],\n [\n -19,\n -13\n ],\n [\n 20,\n 14\n ],\n [\n -22,\n 15\n ],\n [\n 23,\n -16\n ],\n [\n -25,\n -17\n ],\n [\n 26,\n 17\n ],\n [\n -27,\n 18\n ],\n [\n 29,\n -19\n ],\n [\n -30,\n -20\n ],\n [\n 31,\n 21\n ],\n [\n -33,\n 22\n ],\n [\n 34,\n -23\n ],\n [\n -36,\n -24\n ]\n ],\n \"output_sha256\": \"0c3403f890fafcf4599db5cf071b81eb72eebe23833bfce67ca26a6bc158675b\",\n \"production_Fourier_executed\": false,\n \"production_Tile_executed\": false,\n \"q\": 12\n },\n \"public_files\": 6,\n \"source_clause_mutations\": 21,\n \"source_clauses\": 22\n}\nCHECK Whole-file/source-clause authentication; independent full-period header, halo multiplicity, actual exponent, reciprocal upper-unit, normalizer and route invoice controls; actual T16 native/public-codec return, encoded borrowed Count preservation, volume/alias/pending-return failures and coarse erasure. No complete production Tile or Fourier replay.\nPASS_FINE_EXPANSION_PAGE_ADMISSION\n{\n \"canonical_inputs\": 30,\n \"claim\": \"fine-family expansion producer/page admission and declared slow-reference interface; no new kappa\",\n \"mathematics\": {\n \"blocks\": 7557,\n \"certificate_domain_rejections\": 5,\n \"clipped_blocks\": 3897,\n \"complete_axis_layouts\": 4,\n \"header_cases\": 4320,\n \"literal_move_stage_invoices\": 26,\n \"mathematical_controls\": [\n \"short_halo\",\n \"lost_alias_multiplicity\",\n \"upper_floor\",\n \"positivity_precision\",\n \"near_unit_enclosure\",\n \"double_forward_normalization\",\n \"extra_restoration\"\n ],\n \"multiple_wrap_cases\": 4320,\n \"near_unit_countercontrols\": 16,\n \"normalization_budget_cases\": 240,\n \"positive_lower_countercontrols\": 16,\n \"quadratic_identities\": 68013,\n \"reciprocal_unit_cases\": 768,\n \"residue_multiplicities\": 288036\n },\n \"native_return\": {\n \"J\": 3,\n \"T\": 16,\n \"actual_coarse_erasure\": true,\n \"complete_prefix_executed\": false,\n \"component_l1_projection_error\": \"3/8192\",\n \"failures\": [\n \"short_native\",\n \"long_native\",\n \"old_S_clock\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\",\n \"native_metadata_or_work_alias\"\n ],\n \"old_S\": 9,\n \"output\": [\n [\n 15,\n 10\n ],\n [\n -16,\n 11\n ],\n [\n 18,\n -12\n ],\n [\n -19,\n -13\n ],\n [\n 20,\n 14\n ],\n [\n -22,\n 15\n ],\n [\n 23,\n -16\n ],\n [\n -25,\n -17\n ],\n [\n 26,\n 17\n ],\n [\n -27,\n 18\n ],\n [\n 29,\n -19\n ],\n [\n -30,\n -20\n ],\n [\n 31,\n 21\n ],\n [\n -33,\n 22\n ],\n [\n 34,\n -23\n ],\n [\n -36,\n -24\n ]\n ],\n \"output_sha256\": \"0c3403f890fafcf4599db5cf071b81eb72eebe23833bfce67ca26a6bc158675b\",\n \"production_Fourier_executed\": false,\n \"production_Tile_executed\": false,\n \"q\": 12\n },\n \"public_files\": 6,\n \"source_clause_mutations\": 21,\n \"source_clauses\": 22\n}\nPASS_REGISTERED_RESEARCH_PACKAGE research/fine-expansion-page-admission outcome=completed\n", + "stderr": "" +} diff --git a/research/fine-expansion-page-admission/retained/boundary_codec.py b/research/fine-expansion-page-admission/retained/boundary_codec.py new file mode 100644 index 0000000000..5fdbd993cc --- /dev/null +++ b/research/fine-expansion-page-admission/retained/boundary_codec.py @@ -0,0 +1,298 @@ +"""Finite-control common-grid/normalization bridge for two actual tape codecs. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +Payload routines use only one-symbol reads/writes and unit head motion. Unary +format templates are prepared once; no payload integer or record counter is +decoded by these routines. Native numerical work belongs to the named service. +""" +from dataclasses import dataclass + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +@dataclass(frozen=True) +class Format: + external_bits: int # one sign-magnitude real/imaginary component + external_grid: int + native_bits: int # one little-endian two's-complement component + native_grid: int + normalizer_bits: int # a_total = 2**normalizer_bits + + def __post_init__(self): + values = tuple(self.__dict__.values()) + require(all(type(x) is int for x in values), "integer format, not Boolean") + require(self.external_bits >= 2 and self.external_grid >= 0, + "positive external magnitude carrier") + require(self.native_grid >= self.external_grid and self.normalizer_bits >= 0, + "exact incoming grid lift and nonnegative dyadic normalizer") + require(self.native_bits >= self.external_bits + self.lift, + "complete native sign and lifted external magnitude") + + @property + def lift(self): + return self.native_grid - self.external_grid + + @property + def drop(self): + return self.native_grid + self.normalizer_bits - self.external_grid + + +class Codec: + """Constant owned roles, shared immutable unary formats, protected output. + + B is exactly the retained first-face transport module. Native tape methods + are those of the retained Core Tape class. Lifecycle marker operations are + the actual native session operations. These are source-model parameters, + never numerical callbacks. The online code has finite-valued local state. + """ + + def __init__(self, B, NativeTape, blank, initialize_marker, erase_marker, fmt): + self.B = B + self.blank = blank + self.initialize_marker = initialize_marker + self.erase_marker = erase_marker + # This input-independent setup is charged; no role is made per record. + self.magnitude_clock = B.Tape("bridge magnitude clock") + self.lift_clock = B.Tape("bridge lift clock") + self.pad_clock = B.Tape("bridge pad clock") + self.native_clock = B.Tape("bridge native clock") + self.drop_clock = B.Tape("bridge drop clock") + self.raw = B.Tape("bridge raw component") + self.absolute = B.Tape("bridge absolute component") + self.magnitude = B.Tape("bridge final magnitude") + self.output = B.Tape("bridge protected normalized field") + self.input = NativeTape() + erase_marker(self.input) + self.pending = False + self.active = False + self.input_armed = False + self.reconfigure(fmt) + + @property + def templates(self): + return (self.magnitude_clock, self.lift_clock, self.pad_clock, + self.native_clock, self.drop_clock) + + @property + def work(self): + return (self.raw, self.absolute, self.magnitude, self.output) + + def reconfigure(self, fmt): + """Rebuild formats in the same roles; old visited blanks stay charged.""" + require(not self.active and not self.pending and not self.input_armed, + "quiescent bridge format change") + lengths = (fmt.external_bits - 1, fmt.lift, + fmt.native_bits - fmt.lift - fmt.external_bits + 1, + fmt.native_bits, fmt.drop) + for tape, length in zip(self.templates, lengths): + self.B.clear(tape) + for _ in range(length): + self.B.append(tape, "1") + self.B.home(tape) + self.fmt = fmt + + def bbit(self, tape): + bit = tape.read() + require(bit in ("0", "1"), "complete binary external component") + tape.move(1) + return bit == "1" + + def cbit(self, tape): + bit = tape.read() + require(bit in (0, 1), "complete binary native component") + tape.step(1) + return bit == 1 + + def lift_component(self, source): + B = self.B + sign = self.bbit(source) + any_one = False + B.clear(self.raw) + B.home(self.magnitude_clock) + while self.magnitude_clock.read() == "1": + bit = self.bbit(source) + any_one = any_one or bit + B.append(self.raw, "1" if bit else "0") + self.magnitude_clock.move(1) + require(not sign or any_one, "canonical external zero sign") + B.home(self.lift_clock) + while self.lift_clock.read() == "1": + self.input.append(0) + self.lift_clock.move(1) + # raw is at its right terminator: read magnitude from least significant. + self.raw.move(-1) + carry = sign + while self.raw.read() != "^": + bit = self.raw.read() == "1" + bit = not bit if sign else bit + self.input.append(int(bit != carry)) + carry = bit and carry + self.raw.move(-1) + B.home(self.pad_clock) + while self.pad_clock.read() == "1": + bit = sign + self.input.append(int(bit != carry)) + carry = bit and carry + self.pad_clock.move(1) + B.clear(self.raw) + + def prepare_input(self, source): + """Lift the complete immutable external stream, exactly and in order.""" + B = self.B + require(not self.active and not self.pending, "idle source bridge") + require(source not in (*self.templates, *self.work), "external source owner") + self.active = True + self.initialize_marker(self.input) + self.input_armed = True + B.home(source) + try: + while source.read() != "!": + self.lift_component(source) + self.lift_component(source) + require(source.read() == "#", "one complete complex source record") + source.move(1) + self.input.rewind() + except BaseException: + self.abort() + raise + finally: + B.home(source) + return self.input + + def return_component(self, returned): + B = self.B + B.clear(self.raw) + B.home(self.native_clock) + sign = False + while self.native_clock.read() == "1": + sign = self.cbit(returned) + B.append(self.raw, "1" if sign else "0") + self.native_clock.move(1) + # Last native bit is the sign. Absolute value is formed without decoding. + B.home(self.raw) + B.clear(self.absolute) + carry = sign + while self.raw.read() != "!": + bit = self.raw.read() == "1" + bit = not bit if sign else bit + B.append(self.absolute, "1" if bit != carry else "0") + carry = bit and carry + self.raw.move(1) + B.home(self.absolute) + B.home(self.drop_clock) + while self.drop_clock.read() == "1" and self.absolute.read() != "!": + self.drop_clock.move(1) + self.absolute.move(1) + B.clear(self.magnitude) + B.home(self.magnitude_clock) + any_one = False + while self.magnitude_clock.read() == "1": + bit = self.absolute.read() == "1" + any_one = any_one or bit + B.append(self.magnitude, "1" if bit else "0") + if self.absolute.read() != "!": + self.absolute.move(1) + self.magnitude_clock.move(1) + while self.absolute.read() != "!": + require(self.absolute.read() == "0", "normalized return fits external magnitude") + self.absolute.move(1) + B.append(self.output, "1" if sign and any_one else "0") + self.magnitude.move(-1) + while self.magnitude.read() != "^": + B.append(self.output, self.magnitude.read()) + self.magnitude.move(-1) + for tape in (self.raw, self.absolute, self.magnitude): + B.clear(tape) + + def prepare_return(self, returned, source): + """Normalize once, round toward zero, preserve input, check full count. + + The unchanged original stream supplies the record clock. This avoids a + host record counter and checks that the native field has the same size. + """ + B = self.B + require(self.active and not self.pending, "one active bridge input") + B.clear(self.output) + B.home(source) + returned.rewind() + try: + while source.read() != "!": + for _ in (0, 1): + self.bbit(source) + B.home(self.magnitude_clock) + while self.magnitude_clock.read() == "1": + self.bbit(source) + self.magnitude_clock.move(1) + self.return_component(returned) + require(source.read() == "#", "unchanged complete input record clock") + source.move(1) + B.append(self.output, "#") + require(returned.read() == self.blank, "no extra native output records") + B.home(self.output) + self.pending = True + except BaseException: + B.clear(self.output) + raise + finally: + B.home(source) + returned.rewind() + return self.output + + def commit(self, transport): + """Commit only a complete normalized return after the saved-copy phase.""" + B = self.B + require(self.active and self.pending and transport.phase == "saved", + "saved originals and complete protected Core return") + require(transport.source not in (*self.templates, *self.work), + "distinct destination source owner") + # No validation remains after this point: a whole sequential clone. + B.clone(self.output, transport.source) + B.home(transport.source) + transport.phase = "core" + self.abort() + + def abort(self): + """Erase owned payloads; retained extent and immutable templates remain.""" + B = self.B + if self.input_armed: + self.input.clear() + self.erase_marker(self.input) + self.input_armed = False + for tape in self.work: + B.clear(tape) + for tape in self.templates: + B.home(tape) + self.active = self.pending = False + + +class BoundCore: + """The concrete Core run/consume protocol, without a payload callback. + + `core` is the pinned OriginalCore (or the independently scoped CompleteCore + packed boundary); its prepared immutable source ports are `arguments`. + The all-size source theorem determines which boundary is being invoked. + """ + + def __init__(self, codec, core, arguments): + self.codec = codec + self.core = core + self.arguments = tuple(arguments) + + def run(self, transport): + require(transport.phase == "saved", "halo copies precede actual Core") + succeeded = False + try: + payload = self.codec.prepare_input(transport.source) + returned = self.core.run(payload, *self.arguments) + self.codec.prepare_return(returned, transport.source) + self.core.consume() + self.codec.commit(transport) + succeeded = True + finally: + if getattr(self.core, "pending", False): + self.core.consume() + if not succeeded: + self.codec.abort() diff --git a/research/fine-expansion-page-admission/retained/caller-PROOF.md b/research/fine-expansion-page-admission/retained/caller-PROOF.md new file mode 100644 index 0000000000..08a808b09c --- /dev/null +++ b/research/fine-expansion-page-admission/retained/caller-PROOF.md @@ -0,0 +1,288 @@ +# The retained recovery catalogue does not admit the fine-theta port + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +This is a source-bound obstruction and replacement-interface specification. +It changes no implementation, selected certificate, supplier or kappa. + +## 1. Sources, notation and scope + +The canonical source pin is `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +`SOURCES.json` authenticates every live input. The public gap proof is pinned +at `9a07c08c014259bb23c0a2b5844a1b67d91892f6`; the actual Reference-to-ideal +compression join is pinned at `4509310a9a58d4c41c74029f899cbf36be1af9a1`. +Their retained proofs are authenticated by `DEPENDENCIES.json`. + +Write **p0** for the parameter called `p` in +`research/unconditional-batched-crt/PROOF.md` and `GAUSSIAN.md`. Its family has + + p0=6b, b=ceil(log2 n), D=Theta(p0^epsilon), epsilon=1-10^-30, + 1/(4p0^2)<=theta_i=(t_i-s_i)/s_i<=1/p0^2, + alpha=ceil(sqrt((4/pi)ln(16p0))), u=alpha^2, + T/2 s_i, (2) + u >= ceil(log2(8q)), (3) + u d_sep <= q. (4) + +Equation (2) is `production_axis`'s strict lower ratio. Equations (3),(4) +are `production_common`'s logarithmic concentration and similarity guards. +The additional upper ratio `(2d_sep-1)(t_i-s_i)=1, the last expression is at most +`4(C_D+1)/p0`. It is <=1/2 once `p0>=8(C_D+1)` and the bound on D is in +force. Thus every fine axis fails (2) eventually, irrespective of q or +alpha. The literal caller has no production recovery admission on that +eventual family. + +This qualitative old-band/fine-band incompatibility is prior knowledge: +`pr1786-fine-prime-transfer-audit` already includes an old theta~1/d +guard as a failing control, and #4029/#4142 already read d=D+1. Our new +claim is the complete encoded recovery binding and the stronger nested +consequences below, not discovery of that generic band mismatch. + +## 4. Even independent spacing cannot keep the fine alpha + +Now allow d_sep to be arbitrary, which strictly relaxes the literal source. +For any fine axis (2) and theta_i<=p0^-2 imply + + d_sep > p0^2/4, + q >= u d_sep > u p0^2/4 >= p0^2/4. (6) + +Here u is a positive integer, as in the source. On the other hand (3) gives + + 8q <= 2^u. (7) + +For the actual fine alpha, the public gap proof gives +`pi*u<=5ln(16p0)` for p0>=2^200. For completeness this loose explicit onset +needs only elementary inequalities. Put L=ln(16p0). Since ln2>1/2, +L>100. The ceiling definition and 3=100 by putting x=sqrt(L)>=10 in +`x^2-8x-4>=16`. Also ln2<3/4, since the positive exponential series gives +`exp(3/4)>1+3/4+9/32+27/384>2`. Hence + + 2^u <= exp((5/3)ln2*ln(16p0)) + < (16p0)^(5/4)=32 p0^(5/4), + q < 4 p0^(5/4). (8) + +For p0>=64, `p0^2/4>4p0^(5/4)` (equivalently p0^3>2^16). +Equations (6) and (8) contradict one another. Therefore: + +**For p0>=2^200, no external precision q and no independently chosen +positive spacing d_sep can satisfy (2)--(4) with the actual fine alpha.** + +This is an all-q exclusion, not merely a failure at q=p0 or a finite search. +Increasing the private working precision P does not change (2)--(4). +The onset is for this alpha estimate and refusal only; it is not an onset +for legal global periods, primes, Core geometry or the complete multiplier. + +## 5. Retuning alpha still forces an external precision lower bound + +Relax alpha as well, keeping u positive and (2)--(4). Equations (3),(6) +give + + q > (p0^2/4) log2(8q). + +Because q>p0^2/4, `log2(8q)>1+2log2(p0)`. Consequently every element of +this enlarged necessary-condition domain obeys the strict bound + + q > (p0^2/4)(1+2log2(p0)) + = Omega(p0^2 log p0). (9) + +This does not assert that any point satisfying (9) meets the other old +guards, the original dimension binding, or any source accuracy premise. +It states what every successful relaxation retaining these three guards +would have to pay. In particular no q=O(p0) schedule suffices there. +The private coefficient/setup precision O(p0^2 log p0) of the *new* fine +Reference is a different quantity; no setup bit is being mislabeled as a +runtime record bit in (9). + +## 6. The external width has an actual full-volume scan bill + +`TensorPlan` sets `component_bits=q+2` and `record_bits=2(q+2)`. +`Sandwich.ingress` iterates over every original coordinate in `source_product=S`. +At each it writes a real signed component and an imaginary zero, including +the S-Q padded zero records. `ring_words.write_signed` calls `write_fixed` +in both sign branches; `compact_counts.write_fixed` appends exactly its +declared width, including leading zeroes. Thus one ingress writes exactly + + 2S(q+2) payload cells, and the two ingresses write 4S(q+2). (10) + +The full retained parent bank occupies Omega(Sq) cells. Reads, rewinds, +return copies, erasure, metadata, source tables, CRT, scalar products and +the three complete Tensor calls add work; none can cancel these appends. +This lower bound does not require or discount any supplier cost. + +Using the fine-family volume S=Theta(n/p0) from (1), (9)--(10) imply + + Omega(Sq)=Omega(n p0 log p0) + =Omega(n log n log log n). (11) + +For any fixed kappa>=0 this exceeds the intended +`O(n (log n)^(1-kappa))` budget. Again (11) is the consequence for a +hypothetical successful port preserving the named necessary guards and +literal ingress representation after relaxing d_sep and alpha. The +unchanged literal caller already rejects; we do not charge nonexistent +post-rejection execution. Packing, a new admission policy or a different +caller can evade this scoped obstruction and must be analyzed separately. + +## 7. Numerical recovery is a separate gate, with two source S factors + +This section restates the retained caller's conditional recovery interface; +it is not a new convolution theorem. Let A be its actual `outer_bits`, +M=2^A, and let its own source gamma and E be + + gamma=D(2u+ceil(log2(32q))+1), + E=Dq^2+6M+22+2D, epsilon=E*2^(gamma-q). + +`Sandwich.admit` evaluates exactly + + 2^(2b+5) S^2 (3E 2^gamma+2) < 2^q. (12) + +It also requires production mode, so a passing (12) cannot waive +(2)--(4). #5325 improves a conditional restored Tensor error estimate; +its proof explicitly retains all production requirements and cannot waive +these guards either. A small exact descriptor control in our checker passes +(12) while failing (2); it is not an admitted production invocation. + +For the ideal source maps `R F_s` and `R F_s^+`, with the source's +multiplicative-index permutation R, the opposite sandwich is +`(u_input *cyclic v_input)/S^2`. Ingress scaled each digit by 2^-(b+2). +The literal recovery routine therefore performs two exact multiplications +by S and one exact shift by 2b+4, then nearest integer. Its temporary width +is `(q+2)+4b+4`, as in #5095; S<2^b and q>=b+2 keep it O(q). + +More generally, a replacement complete transform service on every reached +half-disk input with coefficient error