From 654ab79238e957eb20eced5197c3c38d5738183f Mon Sep 17 00:00:00 2001 From: Dugongue <49054532+Dugongue@users.noreply.github.com> Date: Fri, 23 Oct 2026 14:21:26 -0700 Subject: [PATCH] Certify direct geometric tails and smaller matched compiler --- research/geometric-tail-compiler/LICENSE | 201 ++++ research/geometric-tail-compiler/README.md | 85 ++ research/geometric-tail-compiler/RESULT.json | 444 ++++++++ research/geometric-tail-compiler/SOURCES.json | 96 ++ research/geometric-tail-compiler/TASK.json | 70 ++ research/geometric-tail-compiler/VENDOR.json | 13 + research/geometric-tail-compiler/VERIFY.json | 38 + research/geometric-tail-compiler/price.py | 211 ++++ research/geometric-tail-compiler/strictify.py | 53 + .../vendor/PREDECESSOR-5383.json | 961 ++++++++++++++++++ .../vendor/RELATIONS.json | 652 ++++++++++++ .../vendor/RESULT.json | 429 ++++++++ .../vendor/SOURCES.json | 90 ++ .../vendor/WORD.json.gz | Bin 0 -> 207423 bytes .../geometric-tail-compiler/vendor/native.py | 329 ++++++ research/geometric-tail-compiler/verify.py | 85 ++ 16 files changed, 3757 insertions(+) create mode 100644 research/geometric-tail-compiler/LICENSE create mode 100644 research/geometric-tail-compiler/README.md create mode 100644 research/geometric-tail-compiler/RESULT.json create mode 100644 research/geometric-tail-compiler/SOURCES.json create mode 100644 research/geometric-tail-compiler/TASK.json create mode 100644 research/geometric-tail-compiler/VENDOR.json create mode 100644 research/geometric-tail-compiler/VERIFY.json create mode 100644 research/geometric-tail-compiler/price.py create mode 100644 research/geometric-tail-compiler/strictify.py create mode 100644 research/geometric-tail-compiler/vendor/PREDECESSOR-5383.json create mode 100644 research/geometric-tail-compiler/vendor/RELATIONS.json create mode 100644 research/geometric-tail-compiler/vendor/RESULT.json create mode 100644 research/geometric-tail-compiler/vendor/SOURCES.json create mode 100644 research/geometric-tail-compiler/vendor/WORD.json.gz create mode 100644 research/geometric-tail-compiler/vendor/native.py create mode 100644 research/geometric-tail-compiler/verify.py diff --git a/research/geometric-tail-compiler/LICENSE b/research/geometric-tail-compiler/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/geometric-tail-compiler/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/geometric-tail-compiler/README.md b/research/geometric-tail-compiler/README.md new file mode 100644 index 0000000000..be78602c85 --- /dev/null +++ b/research/geometric-tail-compiler/README.md @@ -0,0 +1,85 @@ +# Direct geometric tails and adaptive compiler parameters + +**Conditional κ = 0.0030266747680744.** This is a tiny increase of **3.0744 × 10⁻¹²** over PR #5387’s 0.003026674765 on exactly the same complete eight-relation paid/target profile. The useful companion result is a smaller finite compiler at the unchanged predecessor saving: tensor power 1024 → 505, logarithmic power 1000 → 484, and the sufficient exponent H in N = 2^H decreases by a factor of about 2.105. This is not a practical runtime speedup or a new native mechanism. + +The new endpoint and smaller matched compiler are two distinct parameter choices. At the higher κ, the much smaller outer gap requires a larger threshold; we do not claim simultaneous improvement of both κ and H relative to the predecessor’s original parameters. + +## Positive sufficient theorem + +Take a fully charged finite provider with target moment T_t, paid moment P_t, B productive fields and raw ambient rank m. Let t = 1 − C, choose integer cutoffs 1 < c < b < m, and u ≥ C. Suppose rational envelopes satisfy + +`α = P_t/T_t ≤ 1 − ρ`, `γ = P_(t+u)/(c^u T_t) ≤ g`, `δ = Bb/(c^C T_t) ≤ d`, + +where 0 < ρ, g, d < 1. The paid product/completion/splitting theorem from zxv’s `higher-moment-strictification` bounds the complete normalized paid moment by `α^v + 2 γ^v + 2 δ^v`. Therefore the sufficient bound + +`B(v) = 1/(1 + vρ) + 2 g^v + 2 d^v < 1` + +certifies a strict completed moment advantage, with every split and completion charged. + +Proof: `(1 − ρ)^(-v) ≥ (1 + ρ)^v ≥ 1 + vρ`, hence `α^v ≤ 1/(1 + vρ)`. Bound the other two terms by their rational envelopes. Each term of B(v) decreases with v, and B(v) tends to zero, so a finite integer v exists. Doubling followed by binary search returns the least positive integer satisfying this sufficient bound. This is not a minimum over actual native constructions, and no geometric-tail term is discarded. + +For a separated unit, let θ be a valid rational exit exponent and let rational η_lower and initial_upper bound `(1−C)m^(-C)` from below and `m^C` from above. Since θ^p tends to zero and 2^p tends to infinity, a finite positive integer p satisfies `θ^p < η_lower` and `2^p > initial_upper`. The same doubling/binary method finds the least admissible p for these supplied bounds. Under the retained shifted-exit hypothesis, zxv’s logarithmic majorant then gives `L(n) ≤ n^(1−C)(1 + log₂ n)^p` for all positive integer n. + +For any positive rational saving gap ε, choose s = ceil(1/ε), then an integer j with `(sj + 1)^p < 2^j`, and set H = sj. Such a j exists because exponential growth dominates polynomial growth. Since εH ≥ j, `(H+1)^p < 2^(εH)`. The function `εh log(2) − p log(1+h)` is strictly convex, vanishes at zero and is positive at H, so it is increasing and positive thereafter. Consequently the logarithmic factor is absorbed for all n ≥ 2^H. This proves a sufficient finite uniform threshold, not a minimum native program. + +`strictify.py` implements these three rational searches without floating-point decisions. The completion theorem and arbitrary-positive-logarithm majorant are inherited from zxv, not newly invented here. The contribution is the reusable parameter selection and its fully checked application to this frozen supplier. + +## New conditional endpoint + +The complete inventory remains 64,148 paid jobs, 10,800 productive fields and rank surplus 752. The new point uses: + +| Parameter | Exact choice | +|---|---:| +| Claimed κ | 0.0030266747680744 | +| Tested saving C | 0.0030266747680745 | +| Reserve ρ | 10⁻¹⁷ | +| Gamma envelope g | 957/1000 | +| Delta envelope d | 952/1000 | +| Tensor power v | 757 | +| Cutoff / completion floor | 20 / 21 | +| Tail offset u | 1/5 | +| Exit exponent θ | 63/64 | +| Logarithmic power p | 725 | +| Outer gap | 1/70,000,000,000,000,000 | +| H in N = 2^H | 3,634,890,000,000,000,000,000 | + +The fixed-profile root is enclosed by `(0.0030266747680745498, 0.0030266747680745499)`. The compiler saving is strictly below that interval. Two rational interval engines check the full moments. Every source-exit, complement-capacity and initial-range inequality is checked at the new v and p. All 54 strict and four functional outer predicates pass. The old coarse `4/2^32` tail allowance fails at the new power/reserve; the direct geometric tail bound succeeds. The preceding v and p fail their respective sufficient tests. + +All native costs remain charged. The scalar allowance is 158,776, route allowance 4,834,000 and complete raw nonrecursive bound 181,098,496 < 10⁹. The eight private helper pivots and eight simultaneously live snapshots are retained, as are their lost productive targets. The enormous expanded product/compiler word is specified algorithmically and not materialized. + +## Matched comparison at the previous κ + +Keep PR #5387’s κ = 0.003026674765, tested saving 0.003026674766 and reserve 10⁻¹² unchanged. Fresh moment/tail/capacity checks with the same rational envelopes give: + +| Quantity | PR #5387 | Direct tails | +|---|---:|---:| +| Tensor power | 1024 | 505 | +| Logarithmic power | 1000 | 484 | +| H in N = 2^H | 409,549,000,000,000,000 | 194,586,000,000,000,000 | + +The H reduction factor is approximately 2.10472. Since the threshold is 2^H, this is a reduction in the exponent of a sufficient threshold, not a measured speedup. No paid-profile or asymptotic κ gain is attributed to this matched comparison. + +## Source binding and verification + +```sh +python3 -B scripts/research_package.py --package research/geometric-tail-compiler +python3 -B scripts/check_research_commit.py --package research/geometric-tail-compiler +``` + +Python 3.12, standard library only. Both registered normal and optimized runs are read-only. `verify.py --write` regenerates only this package’s RESULT.json after checking the frozen native word. VENDOR.json pins exact retained files from PR #5387 commit `b1ab650d36f59e5be682a813145b7c67e219e341`; no pending Git object is required for replay. SOURCES.json pins every external runtime input on canonical main. Vendor files and all predecessors remain unchanged. + +Fresh checks reconstruct the native word, all 632 forward persistent inputs, all 624 retained backward inputs, 17 owned entry fields, eight independent relations, sixteen source identities, frame/paid-rank constraints and all helper returns. They check the p16 Laurent controller and entire inventory, both interval engines, completion, finite compiler, outer predicates and predecessor-matched comparison. Invalid/inexact parameter inputs, wrong pivot signs, wrong snapshot/gauge, missing clears, corrupted ranks and invalid outer claims are rejected. The coarse-tail failure and preceding-power failures guard the parameter change. Engines are adapted from the retained predecessor implementations; no independently authored full native interpreter is claimed. + +Scope remains conditional on the selected source’s native/all-size, whole-job, permitted-erasure, precision/tape, analytic, prime and exact-recovery contracts. Source phase evidence and the stronger ordinary BIT supplier are authenticated and reused. Physical tape/precision execution, full phase lowering, analytic decomposition, Lean/kernel verification, expanded word materialization, hosted CI and independent human acceptance are not supplied. Selected-result metadata is unchanged. Full-history ancestry checking is not claimed for the shallow checkout. + +## Open next questions + +Recent PRs #5385 and #5388 were inspected: neither claims a completed higher bound. The former repairs a reference transcription; the latter supplies funded helper queries but leaves caller integration open. Bounded saved-row-span, exact-cache and controller-parameter screens found no better paid profile in their tested families. They are discovery checks, not global impossibility claims, and are not used as proof evidence for this positive result. Discussion and literature coverage are incomplete. + +The next useful application is another fully charged provider profile: supply exact rational envelopes to strictify.py, then recheck every compiler and outer condition. There is no guaranteed improvement for arbitrary suppliers. TASK.json records the concrete first step and remaining admission obligation. + +## Attribution + +zxv: higher-moment paid-tail theorem, logarithmic majorant and productive-helper/compiler machinery. Ali Romman: PR #5377’s helper-relation implementation and PR #5383’s eight-relation construction. Cao Yifan: PR #4610 native source, phase evidence and prior compiler tightening. Cinna Davis: PR #4470 p16 controller/helper lineage. Chris R: independent PR #5241 source admission and PR #5384 single-relation audit, neither of which automatically admits this endpoint. Jacob Alan Sussman: mixed-target recursion. Dugongue: PR #5387’s frozen compiler certificate and this adaptive direct-tail application. ToikY and all retained Clifford, native, BIT, precision and analytic contributors retain source credit. This does not claim novelty for the geometric-tail theorem, binary search or logarithmic majorants. + +Prepared by Dugongue with substantial OpenAI Codex assistance, solo. Apache-2.0. diff --git a/research/geometric-tail-compiler/RESULT.json b/research/geometric-tail-compiler/RESULT.json new file mode 100644 index 0000000000..425ae0a08e --- /dev/null +++ b/research/geometric-tail-compiler/RESULT.json @@ -0,0 +1,444 @@ +{ + "arithmetic": { + "compiler": { + "H": 3634890000000000000000, + "N": "2^3634890000000000000000", + "eta": { + "lower": "0.000011131988139561317902921511", + "upper": "0.000011131988139561317902921512" + }, + "gap": "1/70000000000000000", + "integer_test_exponent": 51927, + "logarithm_power": 725, + "theta": "63/64", + "uniform_saving": "105933616882607/35000000000000000", + "word_materialized": false + }, + "completion_reserve": "1/100000000000000000", + "fixed_profile_ceiling": { + "decreasing_through": "1/20", + "derivative_upper": { + "lower": "-195473.450610684184815935477074865515", + "upper": "-195473.450610684184815935477074865514" + }, + "remaining_interval_moment_upper": { + "lower": "-6820.155255095433991980526890420873", + "upper": "-6820.155255095433991980526890420872" + } + }, + "full_backward": 16, + "full_forward": 2, + "gain_over_PR4610": "6123710093/1250000000000000", + "gain_over_PR5383": "18460093/1250000000000000", + "gain_over_PR5387": "3843/1250000000000000", + "kappa": "3783343460093/1250000000000000", + "kappa_decimal": ".0030266747680744", + "margin_at_previous_kappa": { + "lower": "1.209169472215494738857340795394", + "upper": "1.209169472215494738857340795395" + }, + "margin_at_previous_root_upper": { + "lower": "1.209152002019805295008574084544", + "upper": "1.209152002019805295008574084545" + }, + "matched_PR5387": { + "complete_normalized_upper": "100000000049129185054410465819067091525726487025392596349248734645227297350087063090090837556931955462501705552063413257501741726359123488647780300337926778712949269541593733562603669775821816948798643407065532640295641406924290816174731065248579484872475443679809527813982052850395528171724097598050038254832085568872963016639608883130507882594263650828962803239255966163308945609254799654762669715941417797672274911953109783181710553476084564636189515471817732274271714858647170484050530589280526746939216693322024242198609852392587936916645152954243722047947534309313870290543841322000536508992801935071547956776523941149382196659934428953560628372523609200325835113107103462066574401362802706931100063347625813544281347686582351270343888298571675483900794173243350972359777662665491744206374111389902850669436002164440903987272758130878987137080258162904352955130357010817148703920179734365821975259478483544793733430196499608089587766177775602983621467265599247625457777657463389126427785137727001594153287770444746206545868219632704561614031161476139402625676473808720702339185923876282864073598446814429440078422143324502602798187678336083716432122963302771019920018381350878657146973835144829406230680317595671416015586250185405679040804000340120157386458282488611277731939344456901719155900230534042277146221115948292712484865598932803723757917119646764233796898225965797475294440406784769776715476309851974278970860282589963470386490600023235407984959489073535934166857213615771725159206402721762935597338240369941489/100000000050500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "j": 27798, + "kappa": "605334953/200000000000", + "new_H": 194586000000000000, + "new_logarithm_power": 484, + "new_power": 505, + "old_H": 409549000000000000, + "old_logarithm_power": 1000, + "old_power": 1024, + "tested": "1513337383/500000000000" + }, + "negative_controls": { + "closed_epsilon": [ + "epsilon_below_one", + "global_gamma_power_slack", + "actual_logarithmic_gamma_guard", + "source_axis_superpolynomial", + "gaussian_above_main", + "new_semantic_guard_with_C1_one" + ], + "closed_uniform": [ + "new_complex_uniform_saving_above_b" + ], + "old_BIT": [ + "actual_bit_above_effective" + ], + "unearned_helper_credit": "Rejected by the independent complete census", + "unfunded_endpoint": [ + "main_transform_above_kappa", + "global_coordinate_router_above_kappa", + "fused_gaussian_above_kappa", + "group_bit_router_above_kappa", + "boundary_algebraic_matrix_above_kappa" + ] + }, + "nonrecursive": { + "additional_private_slots": 8, + "local_routes": 4834000, + "local_scalar": 158776, + "owned_slots_backward": 17, + "raw_budget": 1000000000, + "raw_scalar_upper": 181098496 + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "17429999999999999253/17500000000000000000", + "fixed_halo_explicit_metadata_branch": "1347500000000000001/17500000000000000", + "new_BIT_row_stock_sublinear_in_active_group": "69789999999999997009/70000000000000000000", + "new_semantic_group_guard": "3/70000000000000000" + }, + "margins": { + "boundary_algebraic_matrix": "14830706363564839788132766234789/4900000000000000000000000000000000", + "fused_gaussian": "14830706363564839364398298704367/4900000000000000000000000000000000", + "global_coordinate_router": "52966808441303/17500000000000000", + "group_bit_router": "3707676590891227341099574676091/1225000000000000000000000000000000", + "group_scans": "34999999999999999/35000000000000000", + "main_transform": "14830706363564769788132766234789/4900000000000000000000000000000000", + "microbox_face_corrections": "1347500000000000001/17500000000000000", + "polynomial_products": "69999999999999999/70000000000000000", + "sparse_union_movement": "2005455706363564839788132766234789/4900000000000000000000000000000000" + }, + "parameters": { + "a": "52966808441303/17500000000000000", + "b": "211867233765213/70000000000000000", + "beta": "69999999999999997/70000000000000000", + "bit_saving": "17/5000", + "cap_xi": "4455455706363564769788132766234789/4900000000000000000000000000000000", + "complex_uniform_saving": "105933616882607/35000000000000000", + "d": "1/70000000000000000", + "epsilon": "69999999999999999/70000000000000000", + "kappa": "3783343460093/1250000000000000", + "lambda_": "19939466504638511/20000000000000000", + "lambda_prime": "69788132766234789/70000000000000000", + "layout": "1/70000000000000000", + "q": "211867233765211/70000000000000000", + "r0": "1/700000000000000000", + "stop": "1/70000000000000000", + "tested_saving": "6053349536149/2000000000000000" + }, + "strict_checks": { + "actual_bit_above_effective": "6533191558697/17500000000000000", + "actual_logarithmic_gamma_guard": "1/70000000000000000", + "actual_logarithmic_group_guard": "444544293636435335211867233765211/2450000000000000000000000000000000", + "alpha_logarithm_absorption": "1/700000000000000000", + "boundary_algebraic_matrix_above_kappa": "279788132766234789/4900000000000000000000000000000000", + "cap_above_band": "2005455706363564769788132766234789/4900000000000000000000000000000000", + "cap_below_cell": "444544293636435160211867233765211/4900000000000000000000000000000000", + "cap_below_phase_cell_power": "5344544293636435230211867233765211/4900000000000000000000000000000000", + "complex_above_effective": "1/70000000000000000", + "complex_below_one_over_32": "1975632766234787/70000000000000000", + "complex_endpoint": "1/35000000000000000", + "epsilon_below_one": "1/70000000000000000", + "epsilon_positive": "69999999999999999/70000000000000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "279364398298704367/4900000000000000000000000000000000", + "gaussian_above_main": "34788132766234789/2450000000000000000000000000000000", + "global_coordinate_router_above_kappa": "1/17500000000000000", + "global_gamma_power_slack": "9/700000000000000000", + "group_below_dimension": "1/35000000000000000", + "group_bit_router_above_kappa": "87341099574676091/1225000000000000000000000000000000", + "group_gauge_power_slack": "444544293636435331711867233765211/2450000000000000000000000000000000", + "group_key_fits_record": "1/35000000000000000", + "group_positive": "69999999999999997/70000000000000000", + "group_scans_above_kappa": "6978813276623479/7000000000000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "647852174437618148631/500000000000000000000000", + "lambda_above_internal": "1/140000000000000000", + "lambda_above_sigma": "3/140000000000000000", + "lambda_above_tau": "1/140000000000000000", + "lambda_prime_above_lambda": "1/140000000000000000", + "lambda_prime_above_leaf": "139788132766234787/4900000000000000000000000000000000", + "leaf_saving_above_effective": "69788132766234787/4900000000000000000000000000000000", + "main_transform_above_kappa": "209788132766234789/4900000000000000000000000000000000", + "membership_arithmetic_fits_record": "1/70000000000000000", + "microbox_face_corrections_above_kappa": "1347447033191558699/17500000000000000", + "microbox_halo_volume": "5530000000000000003/70000000000000000", + "new_complex_uniform_saving_above_b": "1/70000000000000000", + "new_semantic_guard_with_C1_one": "1/70000000000000000", + "polynomial_products_above_kappa": "69788132766234791/70000000000000000", + "positive_layout_slack": "1/70000000000000000", + "q_below_effective": "1/70000000000000000", + "q_below_internal": "1/70000000000000000", + "q_below_leaf": "139788132766234787/4900000000000000000000000000000000", + "q_positive": "211867233765211/70000000000000000", + "short_record_fallback": "69788132766234787/70000000000000000", + "source_axis_superpolynomial": "1/70000000000000000", + "sparse_union_movement_above_kappa": "1990625000000000279788132766234789/4900000000000000000000000000000000", + "stop_below_one": "69999999999999999/70000000000000000", + "stop_positive": "1/70000000000000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/70000000000000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/70000000000000000", + "union_tag_work_per_visit_fits_record": "3/70000000000000000" + } + }, + "paid": { + "1": 41170, + "16": 448, + "2": 7416, + "24": 448, + "3": 9180, + "32": 448, + "4": 2286, + "40": 448, + "48": 448, + "5": 720, + "56": 448, + "64": 448, + "72": 224, + "8": 16 + }, + "paid_calls": 64148, + "productive_fields": 10800, + "query_shears": 15, + "rank_mass_surplus": 752, + "raw_headroom": [ + "7249/50000000000000000000", + "14499/100000000000000000000" + ], + "raw_root_interval": [ + "151333738403727249/50000000000000000000", + "302667476807454499/100000000000000000000" + ], + "strictification": { + "alpha": { + "lower": "0.999999999999999952991079154847", + "upper": "0.999999999999999952991079154848" + }, + "cutoff": 20, + "delta": { + "lower": "0.951652475843147164892996334630", + "upper": "0.951652475843147164892996334631" + }, + "delta_envelope": "119/125", + "floor": 21, + "gamma": { + "lower": "0.956968566611070131231895728694", + "upper": "0.956968566611070131231895728695" + }, + "gamma_envelope": "957/1000", + "normalized_paid_upper": "50000000000000361821137132795443427103358237119851673592428591063099387112112002669340810037943170169599953837251296491416005090706696068468813838497084771274677811884812319200814107195163701782973146232134937155698574878277084848594702812296176370612197353952996334885079599015944626051605451852523891980905177716022543548179984732812940854922538808584175910336076176499422839227452825936721945360245220531768759422967215292272646408217191773218514921239455086870724736536667402277447075202093603758553518264832774056813305357415462494160014854299522780557073573060561143676165166900423738098183521554188148415421127187645563278517337696324164976202862347289154424399725796233012365347349380888508450287023939907186362125301390676529925560497588921089316900380452597963391998283942030123807355270736513700701745416207701395850740775352465772250197206722931819329744331999479095411972993424048317453420803751496699740641874584316957217219342429903193532358669334192624889512148398531452615495349922564923589854175271943333514269141804687728212462158345768980508391699362634588474042375709369173674496316013862648218886369312966246003537964647654804528322268789282600320863459355769396838929499090492875435491403386180825158033416905642494596398493016081291218657031069630533339747454459556874607287374393400199972235921824354420605643111913760566037178949029647023875607618468879861196073218312749882177571741425525396572791884779875960468025905916243499189911824418143622882925248764565932200067177197697698885911330454251033758176899236942741115968631232608763052904814151005951443744244616491224943449054694103912097167016360283990527748351920766123407859937508619426268297357413774485452037536623154962925386402116850769526903064226989910811743960123645215630076177736842708714810977330806733890108467504744966189525201362167924245355986848275455058697217632898902640466581825195581173805684507585699637379737391079853614612136903685728942111618309914132795194833149191967573046129568058163582808651480721088332417181893650551772864079142358618371410134395771110294829760105006706304678296274357164656958708721023419560908620942068574281443251211919712015735931089327329640347992145696303861344312887341233953098441282203358572229776483916454770824068514883931537336481246205952007153/50000000000000378500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "power": 757, + "reserve": "1/100000000000000000", + "tail_offset": "1/5", + "tested": "6053349536149/2000000000000000" + }, + "targets": { + "145": 224, + "17": 448, + "25": 448, + "33": 448, + "4": 504, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "7": 126, + "73": 224, + "8": 846, + "9": 5740 + } + }, + "candidate_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 318 + }, + "independent_owned_entry_columns": 17, + "independent_persistent_columns": 624, + "max_denominator": 64, + "max_formal_prefix_l1": "163", + "owned_outputs_zero": true, + "paid": { + "1": 2193, + "2": 412, + "3": 510, + "4": 127, + "5": 40 + }, + "real_scalar_allowance": 158776, + "zero_identities": 8 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "independent_source_identities": [ + { + "center": 11332, + "center_factor": "1/4", + "site": 0, + "zero_factor": "-1/4" + }, + { + "center": 11358, + "center_factor": "1/4", + "site": 1, + "zero_factor": "-1/4" + }, + { + "center": 11384, + "center_factor": "1/4", + "site": 2, + "zero_factor": "-1/4" + }, + { + "center": 11410, + "center_factor": "-1/4", + "site": 3, + "zero_factor": "1/4" + }, + { + "center": 11436, + "center_factor": "1/4", + "site": 4, + "zero_factor": "-1/4" + }, + { + "center": 11462, + "center_factor": "-1/4", + "site": 5, + "zero_factor": "1/4" + }, + { + "center": 11488, + "center_factor": "1/4", + "site": 6, + "zero_factor": "-1/4" + }, + { + "center": 11514, + "center_factor": "-1/4", + "site": 7, + "zero_factor": "1/4" + } + ], + "native_negative_controls": { + "missing_owned_input_clear": "Every independent main/helper endpoint: 0", + "uncleared_owned_output": "Every owned entry column is erased at return", + "under_or_overstated_paid_rank": "Exact paid rank and frame", + "wrong_copy_gauge": "Exact scalar destination frame", + "wrong_prepared_pivot_225": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_227": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_229": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_230": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_241": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_245": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_257": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_261": "Every independent main/helper endpoint: 1", + "wrong_relation_sign": "Every independent main/helper endpoint: 0", + "wrong_snapshot_source": "Zero identity requires an identically zero full row", + "wrong_zero_input_frame": "Zero identity requires an identically zero full row" + }, + "phase_inheritance": { + "absolute_phase_receipt_reused": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "all_retained_paid_events_and_warps_from_source": true, + "new_gaussian_operators": 0, + "new_native_maps": 0, + "new_operations": "Same-frame COPY, owned CLEAR/ADD, and physical identity on a proved zero row.", + "source_amplitudes_and_phase_lowering_freshly_replayed": false + }, + "relation_basis": { + "dyadic": true, + "pivots": [ + 225, + 227, + 229, + 230, + 241, + 245, + 257, + 261 + ], + "rank": 8 + }, + "scope": "Exact finite word, full all-column endpoints, ownership, p16 bill and compiler arithmetic. Retains source native phase, allowed owned erasure, mixed-target all-size, analytic, precision, tape, prime and exact-recovery contracts. No selected-frontier update.", + "source_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 64, + "max_formal_prefix_l1": "169", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158168, + "zero_identities": 0 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "source_payload_sha256": "cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd", + "status": "PASS_CONDITIONAL_KAPPA_0030266747680744_GEOMETRIC_TAILS", + "word_payload_sha256": "9aa0d7112b4e13f1aa13a93dab0af6f4435ffe99b842aad841685becdafee492" +} diff --git a/research/geometric-tail-compiler/SOURCES.json b/research/geometric-tail-compiler/SOURCES.json new file mode 100644 index 0000000000..24495c731c --- /dev/null +++ b/research/geometric-tail-compiler/SOURCES.json @@ -0,0 +1,96 @@ +{ + "schema_version": 1, + "base_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "b288ae44032fd84dd5564243422836cbcd29835e", + "sha256": "f9ed52bb642cd1e1486cf2743557ac5fa23cf1514a3277d786a644e39a565038" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + }, + { + "path": "research/free-word-tensor-lift-audit/PROOF.md", + "usage": "provenance", + "git_blob": "69c337a7704ce589798269ab4b8606189c070c4e", + "sha256": "cc8ad3698a673fb225419a3636a39aa99a66c7a0676f12e329b1e76564fa1459" + }, + { + "path": "research/higher-moment-strictification/verify.py", + "usage": "input", + "git_blob": "4b24a5096154736ce060474eb8c72dc64c303699", + "sha256": "0ce7e7137422d5ffeda22085c81fa88471bbe963100fdad62e659f1e3bf89326" + }, + { + "path": "research/joint-helper-lattice/CONTROLLER.json", + "usage": "input", + "git_blob": "49a2f0675819f9deeea27ed77be2c2b6ff2e87e5", + "sha256": "1f5d6aa267e4e66048818714b5d3b5eae17a58abe91d15deeaa34574f7391a5f" + }, + { + "path": "research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "usage": "input", + "git_blob": "5a55034ec9e6185d981e16c28e1e2e455069e2cb", + "sha256": "106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7" + }, + { + "path": "research/kappa-interface-round2-20261022/price_profile.py", + "usage": "provenance", + "git_blob": "1d93e43d1cb888d128c2faa2be83a96d85b84295", + "sha256": "adde619968d3ac37147d239e25145b28150650e9ce0f76035f680f22589adcbb" + }, + { + "path": "research/kappa-rebuild/architecture/mixed_target_probe.py", + "usage": "input", + "git_blob": "4fc05ab08138218ba9f09e5c89b649afae7c914e", + "sha256": "011c3c9d0cf81103dc84d709a0e36793eb7c5ae3f23c85eac27650ef13afa04a" + }, + { + "path": "research/kappa-rebuild/complex/native_extensions.py", + "usage": "provenance", + "git_blob": "7f84894efc309546a903d314c7ac1473e7f594a8", + "sha256": "50ad007d9c386393657e86c99a96ae0a63a8fbc52872579b185002cc626e88e3" + }, + { + "path": "research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "usage": "input", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + { + "path": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "usage": "input", + "git_blob": "ac77b78547d6dbf2e6bd102e1047c5b16c1bca88", + "sha256": "6eae66ed3cfa8a1533e89b9660a57276908e6646640a12f8b1e3489f4ea1354b" + }, + { + "path": "research/kappa-round6-compiler-tightening-20261022/ARITHMETIC.json", + "usage": "input", + "git_blob": "0fdb65f946d557c13d8e2781b9151e2a8ddee5c3", + "sha256": "b4f720a7ccbb5b46e472eaf85dc8739a40598986f19b37d26c4f9ecfbd31f0de" + }, + { + "path": "research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py", + "usage": "input", + "git_blob": "340e1f0ffb8a1a9c38fbbd9119580b6d23e01b59", + "sha256": "d097e55f06c3f244f2074ffd7c1a0a5f3c4b4b6a6accf9619d1dde5c0ae85e15" + }, + { + "path": "research/query-thinned-controllers/RESULT.json", + "usage": "input", + "git_blob": "e0695152c98d727edfd0d2034b58a1c7e8682c0c", + "sha256": "6ebfc8c0f09166f4834e9d7427410cb31aefff2cd4d4ce588c8e52c9c70e9a0f" + }, + { + "path": "research/higher-moment-strictification/README.md", + "usage": "provenance", + "git_blob": "0a736ca89e1eafb73a30e1f2589cc45e6b5f76c3", + "sha256": "ebe80b68ff026ce90f71f274c31744f4c0b36132d15ebb7e39cf2d5df4df270d" + } + ] +} diff --git a/research/geometric-tail-compiler/TASK.json b/research/geometric-tail-compiler/TASK.json new file mode 100644 index 0000000000..b8c975b31f --- /dev/null +++ b/research/geometric-tail-compiler/TASK.json @@ -0,0 +1,70 @@ +{ + "schema_version": 1, + "task_id": "complex-new-helper-inventory", + "priority_revision": 7, + "base_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "original_card": { + "id": "complex-new-helper-inventory", + "question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?", + "starting_points": [ + "docs/research/research-family-status.md", + "research/complex-local-word-ceiling/README.md", + "research/heterogeneous-owner-assembly/README.md", + "certificates/selected-result.json", + "research/selected-k8-unrestricted-ends/README.md" + ], + "methods": [ + "Propose a changed helper inventory and derive an optimistic exact moment.", + "Design a small completed instance and independently verify its endpoint and rank bill." + ], + "acceptance_gate": "A new physically realizable contract outside the frozen catalogue whose per-call profile, screened with ceiling.ceiling(), beats the selected word's packing ceiling; a lower cap does not establish identical circuitry or order attainable optima, and is insufficient to pass the stronger-budget target under this model. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin.", + "bottleneck_link": "Packing of the selected word is capped at +0.87% (ceiling model); only a lower local excess spend or a changed coverage law raises the cap.", + "allowed_variations": [ + "Narrow to one changed boundary or helper type with explicit counts.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Mixing only providers already inside the pinned catalogue.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013.", + "Continuing a partial cost improvement while leaving the same unpriced consumer, restoration or central-readout obligation unresolved; refresh the family expansion decision first. Local product-retiming evidence has a narrow scope and is not a ban on changed graphs or contracts." + ], + "overlap_terms": [ + "helper inventory", + "heterogeneous-owner", + "mutable leaver" + ] + }, + "scope_status": "changed", + "actual_scope": "Apply direct charged geometric tails and adaptive tensor/logarithm powers to the frozen eight-relation supplier: conditional kappa 0.0030266747680744 and a smaller matched compiler at the PR5387 exponent.", + "scope_change_reason": "Saved-row, cache and controller screens found no paid-profile gain. The achieved result tightens the sufficient completion/compiler construction, with exact inherited costs and no new native mechanism.", + "bottleneck_link": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5125#discussioncomment-19153737", + "budget_minutes": 60, + "stop_rule": "Publish one exact complete-profile kappa improvement after native, ownership, phase-inheritance, compiler and cold-export checks.", + "outcome": "partial", + "evidence": "Frozen native replay, all-column identities, complete profile/controller, two interval engines, adaptive rational completion parameters, exact finite threshold and outer predicates, matched old-exponent comparison.", + "author": "Dugongue", + "ai_assistance": "Substantial OpenAI Codex assistance, solo; no subagents.", + "open_questions": [ + { + "question": "Can the adaptive completion certificate be applied to other fully charged provider profiles?", + "why_it_matters": "It can reduce finite template sizes without requiring a new native circuit or weakening productive-target costs.", + "first_step": "Supply exact rational alpha/gamma/delta envelopes for one admitted complete profile, then rerun strictify.py and all changed compiler/outer predicates.", + "blocked_by": "No guarantee of improvement for an arbitrary provider; caller/native admission remains separate." + } + ], + "coordination": { + "coverage": "Recent updated PRs through #5388; source-bound reading of #5385/#5388 and prior all-open search retained in the prior campaign. Incomplete Discussion coverage.", + "scope": "Completion/compiler parameters on #5383/#5387 bill; no claim to the funded query interface or forward-transpose work." + } +} diff --git a/research/geometric-tail-compiler/VENDOR.json b/research/geometric-tail-compiler/VENDOR.json new file mode 100644 index 0000000000..a8331144c6 --- /dev/null +++ b/research/geometric-tail-compiler/VENDOR.json @@ -0,0 +1,13 @@ +{ + "source_pr": 5387, + "commit": "b1ab650d36f59e5be682a813145b7c67e219e341", + "source_directory": "research/eight-owned-relations", + "files": { + "native.py": "21e616b991fdc3af414e5e390e9eb6bb93ba39a560e235d324f4bb303148c1e8", + "RELATIONS.json": "bc9ba05595497f399da5e5a548b2d2c83696e539fa1257ab7e2cb49d438cd9dd", + "WORD.json.gz": "6412632c28e265597fb088087048091d81c19500fb28a0c9c9d2a48f61b8665b", + "SOURCES.json": "3b1536861c5b6990966ad5107f3a619f5d9da548f3c4eaa454ec32341e640dd3", + "PREDECESSOR-5383.json": "d6a99bd75c6b7a2146b0fc4cfa038890aaf1d4adcdef42d767fdb40b687e61aa", + "RESULT.json": "34ad456c1f98f7f8c361d63539ef26d75dad8ffb3444edf29652372acabf1aaf" + } +} diff --git a/research/geometric-tail-compiler/VERIFY.json b/research/geometric-tail-compiler/VERIFY.json new file mode 100644 index 0000000000..8c497c063e --- /dev/null +++ b/research/geometric-tail-compiler/VERIFY.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/higher-moment-strictification/verify.py", + "research/joint-helper-lattice/CONTROLLER.json", + "research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "research/kappa-rebuild/architecture/mixed_target_probe.py", + "research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "research/kappa-round6-compiler-tightening-20261022/ARITHMETIC.json", + "research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py", + "research/query-thinned-controllers/RESULT.json" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "Fresh frozen native replay, complete invoice, direct geometric tails, adaptive tensor/logarithm powers, finite threshold, matched compiler comparison and all outer predicates." + }, + { + "argv": [ + "{python}", + "-O", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "The same checks remain active with Python assertions disabled." + } + ] +} diff --git a/research/geometric-tail-compiler/price.py b/research/geometric-tail-compiler/price.py new file mode 100644 index 0000000000..954c6b4535 --- /dev/null +++ b/research/geometric-tail-compiler/price.py @@ -0,0 +1,211 @@ +"""Direct charged geometric tails for the frozen eight-relation p16 bill. + +The interval and compiler proof follows Cao Yifan's PR4610 pricing, Cinna +Davis's PR4470 controller, zxv's completion and logarithmic majorant, and +Jacob Alan Sussman's mixed-target recursion. Apache-2.0. +Derived from Ali Romman PR5377; eight-relation assembly by Dugongue, +with substantial OpenAI Codex assistance. +""" +from collections import Counter +from fractions import Fraction as Q +from strictify import completed_upper, tensor_power, logarithm_power, finite_threshold +from native import ROOT, read, load, need, encode, OLD_PAID, OLD_HELPERS + +KAPPA = Q('.0030266747680744') +TESTED = Q('.0030266747680745') +PREVIOUS = Q('.0030217758') +OLD_ROOT_UPPER = Q('.00302177587078') + + +def controller(): + """Check the literal p16 word and both rational boundary programs.""" + word = read(ROOT / 'research/joint-helper-lattice/CONTROLLER.json') + need((word['kind'], word['pairs'], word['prefix_pairs'], word['ambient_rank']) == ('complex', 16, 7, 145), 'Source p16/a7 controller') + zero = (0,) * 34 + def plus(dst, src, q): + for k, v in src.items(): + value = dst.get(k, Q(0)) + q * v + if value: dst[k] = value + else: dst.pop(k, None) + def shifted(row, term, sign=1): + return [{tuple(a + b for a, b in zip(k, term)): sign * v for k, v in cell.items()} for cell in row] + for side in ('left', 'right'): + matrix = [[Q(i == j) for j in range(32)] for i in range(32)] + for e in word['boundaries'][side + '_program']: + if e[0] == 'SWAP': matrix[e[1]], matrix[e[2]] = matrix[e[2]], matrix[e[1]] + elif e[0] == 'SCALE': matrix[e[1]] = [Q(e[2]) * x for x in matrix[e[1]]] + else: + need(e[0] == 'ADD', 'Boundary scalar opcode') + matrix[e[1]] = [x + Q(e[3]) * y for x, y in zip(matrix[e[1]], matrix[e[2]])] + need(matrix == [[Q(x) for x in row] for row in word['boundaries'][side]], 'Exact scalar boundary program') + rows = [[{zero: Q(x)} if Q(x) else {} for x in row] for row in word['boundaries']['right']] + for e in word['physical_events']: + if e[0] in ('LOCAL', 'QUERY_SHEAR'): + _, stage, pair, back = e + x, y = 2 * pair, 2 * pair + 1 + if back: x, y = y, x + term = (1 if back else -1,) + (0,) * 33 + for dst, src in zip(rows[y], shifted(rows[x], term)): + plus(dst, src, Q(-1 if back else 1)) + if e[0] == 'LOCAL': + term = (0,) + tuple(int(s == stage) for s in range(33)) + for r in (x, y): rows[r] = shifted(rows[r], term) + elif e[0] == 'IDLE': + term = (0,) + tuple(int(s in e[2]) for s in range(33)) + for r in (2 * e[1], 2 * e[1] + 1): rows[r] = shifted(rows[r], term) + elif e[0] == 'ADD': + for dst, src in zip(rows[e[1]], rows[e[2]]): plus(dst, src, Q(e[3])) + else: + need(e[0] in ('SWAP', 'SIGNED_SWAP'), 'Controller physical opcode') + rows[e[1]], rows[e[2]] = rows[e[2]], shifted(rows[e[1]], zero, -1 if e[0] == 'SIGNED_SWAP' else 1) + out = [[{} for _ in range(32)] for _ in range(32)] + for i, row in enumerate(word['boundaries']['left']): + for k, q in enumerate(row): + if Q(q): + for j in range(32): plus(out[i][j], rows[k][j], Q(q)) + expected = [[{tuple(word['diagonal'][i]): Q(1)} if i == j else {} for j in range(32)] for i in range(32)] + need(out == expected, 'All p16 Laurent coefficients, central signs and boundary factors') + return word + + +def assemble(native, word): + T, P = Counter(), Counter() + orientations = Counter(); thin = 0 + for e in word['physical_events']: + if e[0] == 'LOCAL': + direction = 'backward' if e[3] else 'forward' + orientations[direction] += 1 + T.update(native[direction]['helpers']); P.update(native[direction]['paid']) + elif e[0] == 'QUERY_SHEAR': thin += 1; P[1] += 112 + elif e[0] == 'IDLE': P[8 * len(e[2])] += 224 + main = Counter() + for term in word['diagonal']: + need(term[0] in (-1, 1) and all(x in (0, 1) for x in term[1:]), 'Whole Gaussian main target') + main[1 + 8 * sum(term[1:])] += 112 + T.update(main) + need(orientations == {'backward': 16, 'forward': 2} and thin == 15, 'Every actual call orientation') + # This second census uses the source invoice and the directional profile deltas. + check_T = Counter({int(r): n for r, n in word['invoice']['main'].items()}) + check_T.update({r: 18 * n for r, n in OLD_HELPERS.items()}); check_T[9] -= 128 + check_P = Counter({int(r): n for r, n in word['invoice']['whole_idle'].items()}) + check_P.update({r: 18 * n for r, n in OLD_PAID.items()}); check_P[1] += 1680 - 128; check_P[8] -= 128 + need(T == check_T and P == check_P, 'Independent full invoice substitution') + need(sum(T.values()) == 10800 and sum(P.values()) == 64148, 'Complete productive and paid counts') + need(sum(r * n for r, n in T.items()) - sum(r * n for r, n in P.items()) == 752, 'Unchanged complete rank surplus') + return T, P + + +def run(native): + word = controller(); T, P = assemble(native, word) + from native import HERE + predecessor = read(HERE / 'PREDECESSOR-5383.json') + old = predecessor['arithmetic'] + need(Q(old['kappa']) == Q('.00302666'), 'Pinned concurrent eight-relation bound') + need(T == Counter({int(r):n for r,n in old['targets'].items()}) and P == Counter({int(r):n for r,n in old['paid'].items()}), 'Same complete bill as PR5383') + need(KAPPA > Q(old['kappa']), 'Strict compiler-margin improvement over PR5383') + prior = read(ROOT / 'research/kappa-round6-compiler-tightening-20261022/ARITHMETIC.json') + need(Q(prior['kappa']) == PREVIOUS and Q(prior['raw_root_interval'][1]) == OLD_ROOT_UPPER, 'Pinned prior conditional bound and raw crossing') + prior_T = Counter({int(r): n for r, n in prior['targets'].items()}) + prior_P = Counter({int(r): n for r, n in prior['paid'].items()}) + prior_T[9] -= 128; prior_P[1] -= 128; prior_P[8] -= 128 + need(T == prior_T and P == prior_P, 'Complete delta from the final PR4610 bill') + E = load('research/higher-moment-strictification/verify.py', 'owned_relation_intervals') + other = load('research/kappa-rebuild/architecture/mixed_target_probe.py', 'owned_relation_second_intervals') + def margin(c): + t, p = E.moment(T, 1 - c), E.moment(P, 1 - c) + return t[0] - p[1], t[1] - p[0] + need(margin(OLD_ROOT_UPPER)[0] > 0, 'Changed invoice beats the prior raw root upper endpoint') + lo, hi, grid = 302667476807000000, 302667476808000000, 10**20 + while hi - lo > 1: + mid = (lo + hi) // 2 + if margin(Q(mid, grid))[0] > 0: lo = mid + else: hi = mid + root_low, root_high = Q(lo, grid), Q(hi, grid) + need(margin(root_low)[0] > 0 and margin(root_high)[1] < 0, 'Strict rational root enclosure') + need(PREVIOUS < KAPPA < TESTED < root_low, 'New bound and explicit compiler headroom') + # The complete signed profile decreases on [0, .05], and stays negative + # on [.05, 1]. This proves a fixed-profile ceiling, not a circuit ceiling. + signed = {r: T[r] - P[r] for r in T.keys() | P.keys()} + derivative, upper = None, None + for i in range(16): + l, r = Q(i, 320), Q(i + 1, 320); low = Q(0) + for rank, n in signed.items(): + term = E.mul(E.power(rank, 1 - r if n > 0 else 1 - l), E.log_bounds(rank)) + low += n * term[0 if n > 0 else 1] + derivative = low if derivative is None else min(derivative, low) + for i in range(128): + l, r = Q(1, 20) + Q(19 * i, 2560), Q(1, 20) + Q(19 * (i + 1), 2560) + value = sum(n * E.power(rank, 1 - l if n > 0 else 1 - r)[1 if n > 0 else 0] for rank, n in signed.items()) + upper = value if upper is None else max(upper, value) + need(derivative > 0 and upper < 0, 'Fixed-profile ceiling on all 0 < kappa < 1') + t, u, c, b = 1 - TESTED, Q(1, 5), 20, 21 + target, paid = E.moment(T, t), E.moment(P, t) + tl, th = other.moment(T, TESTED); pl, ph = other.moment(P, TESTED) + need(tl > ph and max(tl, target[0]) <= min(th, target[1]) and max(pl, paid[0]) <= min(ph, paid[1]), 'Two exact interval engines agree') + alpha = E.divide(paid, target) + gamma = E.divide(E.moment(P, t + u), E.mul(E.power(c, u), target)) + delta = E.divide((Q(sum(T.values()) * b),) * 2, E.mul(E.power(c, TESTED), target)) + reserve = Q(1, 10**17); g, d = Q(957,1000), Q(952,1000) + v = tensor_power(reserve,g,d) + need(alpha[1] < 1 - reserve and gamma[1] < g and delta[1] < d, 'Original and completion tails charged') + normalized = completed_upper(v,reserve,g,d) + need(normalized<1 and c**64=1, 'Coarse predecessor tail bound fails at this power and reserve') + theta=Q(63,64) + eta=E.scale(E.power(145,-v*TESTED),t) + initial=E.power(145,v*TESTED) + power=logarithm_power(theta,eta[0],initial[1]) + need(2*(20**v)**64 <= (145**v)**63 and eta[0]>theta**power and initial[1]<2**power, 'Complete logarithmic compiler capacity') + gap=(TESTED-KAPPA)/7 + threshold=finite_threshold(gap,power);height=threshold['H'];right=threshold['j'] + need(height>8*v, 'Finite uniform-rank threshold exceeds template scale') + # Matched comparison: retain exactly PR5387's tested and claimed savings. + prev=read(HERE/'RESULT.json')['arithmetic'] + prevC=Q(prev['strictification']['tested']);prevK=Q(prev['kappa']);prevRho=Q(prev['strictification']['reserve']) + prevT=E.moment(T,1-prevC);prevP=E.moment(P,1-prevC) + need(E.divide(prevP,prevT)[1]<1-prevRho, 'Matched comparison paid contraction') + need(E.divide(E.moment(P,1-prevC+u),E.mul(E.power(c,u),prevT))[1]8*cv and cv ordinary > admitted > TESTED and atom < 1 - ordinary, 'Retained stronger BIT admission and stock') + L = load('research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py', 'owned_relation_outer') + params = {'kappa': KAPPA, 'tested_saving': TESTED, 'complex_uniform_saving': KAPPA + 6 * gap, + 'b': KAPPA + 5 * gap, 'a': KAPPA + 4 * gap, 'q': KAPPA + 3 * gap, 'bit_saving': admitted, + 'epsilon': 1 - gap, 'beta': 1 - 3 * gap, 'r0': gap / 10, 'stop': gap, 'layout': gap, 'd': gap} + outer = L.ledger(params); outer['functional_checks']['actual_new_BIT_stock_sublinear'] = params['beta'] * (1 - atom) + need(len(outer['strict_checks']) == 54 and len(outer['functional_checks']) == 4, 'Complete outer predicate inventory') + need(all(x > 0 for key in ('strict_checks', 'functional_checks') for x in outer[key].values()), 'Every outer inequality is strict') + controls = {} + for name, patch in [('old_BIT', {'bit_saving': Q('.0027')}), ('closed_uniform', {'complex_uniform_saving': params['b']}), ('unfunded_endpoint', {'kappa': TESTED}), ('closed_epsilon', {'epsilon': Q(1)})]: + bad = L.ledger(dict(params, **patch)); failed = [k for k, x in bad['strict_checks'].items() if x <= 0] + need(failed, 'Reject outer patch ' + name); controls[name] = failed + bad_native = {d: dict(x) for d, x in native.items()} + bad_native['backward']['helpers'] = OLD_HELPERS + try: assemble(bad_native, word) + except ValueError: controls['unearned_helper_credit'] = 'Rejected by the independent complete census' + else: raise ValueError('Unowned helper credit was accepted') + return encode({'matched_PR5387': comparison, 'gain_over_PR5387':KAPPA-Q('.003026674765'), 'gain_over_PR5383': KAPPA-Q('.00302666'), 'completion_reserve': reserve, 'kappa': KAPPA, 'kappa_decimal': '.0030266747680744', 'gain_over_PR4610': KAPPA - PREVIOUS, + 'raw_root_interval': [root_low, root_high], 'raw_headroom': [root_low - KAPPA, root_high - KAPPA], + 'margin_at_previous_kappa': E.display(margin(PREVIOUS)), + 'margin_at_previous_root_upper': E.display(margin(OLD_ROOT_UPPER)), + 'fixed_profile_ceiling': {'decreasing_through': Q(1, 20), 'derivative_upper': E.display((-derivative,) * 2), 'remaining_interval_moment_upper': E.display((upper,) * 2)}, + 'targets': T, 'paid': P, 'productive_fields': sum(T.values()), 'paid_calls': sum(P.values()), 'rank_mass_surplus': 752, + 'full_backward': 16, 'full_forward': 2, 'query_shears': 15, + 'strictification': {'tested': TESTED, 'power': v, 'cutoff': c, 'floor': b, 'tail_offset': u, 'gamma_envelope':g,'delta_envelope':d,'reserve': reserve, 'alpha': E.display(alpha), 'gamma': E.display(gamma), 'delta': E.display(delta), 'normalized_paid_upper': normalized}, + 'compiler': {'theta': theta, 'logarithm_power': power, 'eta': E.display(eta), 'gap': gap, 'uniform_saving': params['complex_uniform_saving'], 'H': height, 'N': '2^' + str(height), 'integer_test_exponent': right, 'word_materialized': False}, + 'nonrecursive': {'local_scalar': local_scalar, 'local_routes': routes, 'raw_scalar_upper': scalar_upper, 'raw_budget': 10**9, 'additional_private_slots': 8, 'owned_slots_backward': 17}, + 'ordinary_BIT': bit, 'outer': outer, 'negative_controls': controls}) diff --git a/research/geometric-tail-compiler/strictify.py b/research/geometric-tail-compiler/strictify.py new file mode 100644 index 0000000000..81e46752e6 --- /dev/null +++ b/research/geometric-tail-compiler/strictify.py @@ -0,0 +1,53 @@ +"""Exact adaptive completion/compiler parameters. Apache-2.0. +Dugongue with OpenAI Codex assistance; formulas from zxv's higher-moment +strictification and logarithmic majorant, retained by Cao Yifan et al. +""" +from fractions import Fraction as Q + +def need(ok, why): + if not ok: raise ValueError(why) + +def completed_upper(v, reserve, gamma, delta): + need(all(isinstance(x,Q) for x in (reserve,gamma,delta)), 'Exact rational envelopes required') + need(isinstance(v,int) and v>=0, 'Nonnegative integer tensor power') + need(01: + mid=(lo+hi)//2 + if wins(mid):hi=mid + else:lo=mid + need(wins(hi) and not wins(hi-1), 'Least power for this sufficient bound') + return hi + +def logarithm_power(theta, eta_lower, initial_upper): + need(all(isinstance(x,Q) for x in (theta,eta_lower,initial_upper)), 'Exact rational majorant inputs required') + need(00 and initial_upper>0, 'Positive majorant inputs') + def wins(p):return theta**pinitial_upper + lo,hi=0,1 + while not wins(hi):lo,hi=hi,2*hi + while hi-lo>1: + mid=(lo+hi)//2 + if wins(mid):hi=mid + else:lo=mid + need(wins(hi) and (hi==1 or not wins(hi-1)), 'Least admissible positive logarithm power') + return hi + +def finite_threshold(gap, power): + need(isinstance(gap,Q), 'Exact rational gap required') + need(gap>0 and isinstance(power,int) and power>=1, 'Positive compiler gap and integer power') + step=(gap.denominator+gap.numerator-1)//gap.numerator + need(Q(1,step)<=gap, 'Conservative integer gap grid') + def wins(j):return (step*j+1)**power<2**j + lo,hi=0,1 + while not wins(hi):lo,hi=hi,2*hi + while hi-lo>1: + mid=(hi+lo)//2 + if wins(mid):hi=mid + else:lo=mid + need(wins(hi) and (hi==1 or not wins(hi-1)), 'Checked finite integer threshold') + return {'step':step,'j':hi,'H':step*hi} diff --git a/research/geometric-tail-compiler/vendor/PREDECESSOR-5383.json b/research/geometric-tail-compiler/vendor/PREDECESSOR-5383.json new file mode 100644 index 0000000000..b6c9cd0da1 --- /dev/null +++ b/research/geometric-tail-compiler/vendor/PREDECESSOR-5383.json @@ -0,0 +1,961 @@ +{ + "arithmetic": { + "PR5377_raw_root_upper": "75559684087/25000000000000", + "compiler": { + "H": 31385200000000, + "N": "2^31385200000000", + "eta": { + "lower": "0.000000199495867924466542600392", + "upper": "0.000000199495867924466542600393" + }, + "gap": "1/700000000", + "integer_test_exponent": 44836, + "logarithm_power": 1000, + "theta": "63/64", + "uniform_saving": "529667/175000000", + "word_materialized": false + }, + "fixed_profile_ceiling": { + "decreasing_through": "1/20", + "derivative_upper": { + "lower": "-195473.450610684184815935477074865515", + "upper": "-195473.450610684184815935477074865514" + }, + "remaining_interval_moment_upper": { + "lower": "-6820.155255095433991980526890420873", + "upper": "-6820.155255095433991980526890420872" + } + }, + "full_backward": 16, + "full_forward": 2, + "gain_over_PR4610": "24421/5000000000", + "gain_over_PR5377": "431/100000000", + "kappa": "151333/50000000", + "kappa_decimal": ".00302666", + "margin_at_previous_kappa": { + "lower": "1.209169472215494738857340795394", + "upper": "1.209169472215494738857340795395" + }, + "margin_at_previous_root_upper": { + "lower": "1.209152002019805295008574084544", + "upper": "1.209152002019805295008574084545" + }, + "negative_controls": { + "closed_epsilon": [ + "epsilon_below_one", + "global_gamma_power_slack", + "actual_logarithmic_gamma_guard", + "source_axis_superpolynomial", + "gaussian_above_main", + "new_semantic_guard_with_C1_one" + ], + "closed_uniform": [ + "new_complex_uniform_saving_above_b" + ], + "old_BIT": [ + "actual_bit_above_effective" + ], + "unearned_helper_credit": "Rejected by the independent complete census", + "unfunded_endpoint": [ + "main_transform_above_kappa", + "global_coordinate_router_above_kappa", + "fused_gaussian_above_kappa", + "group_bit_router_above_kappa", + "boundary_algebraic_matrix_above_kappa" + ] + }, + "nonrecursive": { + "additional_private_slots": 8, + "local_routes": 4834000, + "local_scalar": 158744, + "owned_slots_backward": 17, + "raw_budget": 1000000000, + "raw_scalar_upper": 181098496 + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "174299999253/175000000000", + "fixed_halo_explicit_metadata_branch": "13475000001/175000000", + "new_BIT_row_stock_sublinear_in_active_group": "697899997009/700000000000", + "new_semantic_group_guard": "3/700000000" + }, + "margins": { + "boundary_algebraic_matrix": "296613239576267/98000000000000000", + "fused_gaussian": "296613238728801/98000000000000000", + "global_coordinate_router": "1059333/350000000", + "group_bit_router": "741533446822001/245000000000000000", + "group_scans": "349999999/350000000", + "main_transform": "296613099576267/98000000000000000", + "microbox_face_corrections": "13475000001/175000000", + "polynomial_products": "699999999/700000000", + "sparse_union_movement": "40109113239576267/98000000000000000" + }, + "parameters": { + "a": "1059333/350000000", + "b": "2118667/700000000", + "beta": "699999997/700000000", + "bit_saving": "17/5000", + "cap_xi": "89109113099576267/98000000000000000", + "complex_uniform_saving": "529667/175000000", + "d": "1/700000000", + "epsilon": "699999999/700000000", + "kappa": "151333/50000000", + "lambda_": "199394667/200000000", + "lambda_prime": "139576267/140000000", + "layout": "1/700000000", + "q": "423733/140000000", + "r0": "1/7000000000", + "stop": "1/700000000", + "tested_saving": "302667/100000000" + }, + "strict_checks": { + "actual_bit_above_effective": "130667/350000000", + "actual_logarithmic_gamma_guard": "1/700000000", + "actual_logarithmic_group_guard": "8890887110423733/49000000000000000", + "alpha_logarithm_absorption": "1/7000000000", + "boundary_algebraic_matrix_above_kappa": "559576267/98000000000000000", + "cap_above_band": "40109113099576267/98000000000000000", + "cap_below_cell": "8890886760423733/98000000000000000", + "cap_below_phase_cell_power": "106890886900423733/98000000000000000", + "complex_above_effective": "1/700000000", + "complex_below_one_over_32": "19756333/700000000", + "complex_endpoint": "1/350000000", + "epsilon_below_one": "1/700000000", + "epsilon_positive": "699999999/700000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "558728801/98000000000000000", + "gaussian_above_main": "69576267/49000000000000000", + "global_coordinate_router_above_kappa": "1/175000000", + "global_gamma_power_slack": "9/7000000000", + "group_below_dimension": "1/350000000", + "group_bit_router_above_kappa": "1746822001/245000000000000000", + "group_gauge_power_slack": "8890887103423733/49000000000000000", + "group_key_fits_record": "1/350000000", + "group_positive": "699999997/700000000", + "group_scans_above_kappa": "87235167/87500000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "647844790400418148631/500000000000000000000000", + "lambda_above_internal": "1/1400000000", + "lambda_above_sigma": "3/1400000000", + "lambda_above_tau": "1/1400000000", + "lambda_prime_above_lambda": "1/1400000000", + "lambda_prime_above_leaf": "1397881333/490000000000000000", + "leaf_saving_above_effective": "697881333/490000000000000000", + "main_transform_above_kappa": "419576267/98000000000000000", + "membership_arithmetic_fits_record": "1/700000000", + "microbox_face_corrections_above_kappa": "26948940671/350000000", + "microbox_halo_volume": "55300000003/700000000", + "new_complex_uniform_saving_above_b": "1/700000000", + "new_semantic_guard_with_C1_one": "1/700000000", + "polynomial_products_above_kappa": "697881337/700000000", + "positive_layout_slack": "1/700000000", + "q_below_effective": "1/700000000", + "q_below_internal": "1/700000000", + "q_below_leaf": "1397881333/490000000000000000", + "q_positive": "423733/140000000", + "short_record_fallback": "697881333/700000000", + "source_axis_superpolynomial": "1/700000000", + "sparse_union_movement_above_kappa": "39812500559576267/98000000000000000", + "stop_below_one": "699999999/700000000", + "stop_positive": "1/700000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/700000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/700000000", + "union_tag_work_per_visit_fits_record": "3/700000000" + } + }, + "paid": { + "1": 41170, + "16": 448, + "2": 7416, + "24": 448, + "3": 9180, + "32": 448, + "4": 2286, + "40": 448, + "48": 448, + "5": 720, + "56": 448, + "64": 448, + "72": 224, + "8": 16 + }, + "paid_calls": 64148, + "productive_fields": 10800, + "query_shears": 15, + "rank_mass_surplus": 752, + "raw_headroom": [ + "1476807/100000000000000", + "184601/12500000000000" + ], + "raw_root_interval": [ + "302667476807/100000000000000", + "37833434601/12500000000000" + ], + "strictification": { + "alpha": { + "lower": "0.999999995016963387587258118166", + "upper": "0.999999995016963387587258118167" + }, + "cutoff": 20, + "delta": { + "lower": "0.951652473261883819699264316643", + "upper": "0.951652473261883819699264316644" + }, + "floor": 21, + "gamma": { + "lower": "0.956968564096059991841792406781", + "upper": "0.956968564096059991841792406782" + }, + "normalized_paid_upper": "2097152001953127/2097154147483648", + "power": 1024, + "reserve": "1/1000000000", + "tail_offset": "1/5", + "tested": "302667/100000000" + }, + "targets": { + "145": 224, + "17": 448, + "25": 448, + "33": 448, + "4": 504, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "7": 126, + "73": 224, + "8": 846, + "9": 5740 + } + }, + "candidate_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 318 + }, + "independent_owned_entry_columns": 17, + "independent_persistent_columns": 624, + "max_denominator": 64, + "max_formal_prefix_l1": "163", + "owned_outputs_zero": true, + "paid": { + "1": 2193, + "2": 412, + "3": 510, + "4": 127, + "5": 40 + }, + "real_scalar_allowance": 158744, + "zero_identities": 8 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "independent_source_identities": { + "checked": [ + [ + "center", + 11332 + ], + [ + "center", + 11358 + ], + [ + "center", + 11384 + ], + [ + "center", + 11410 + ], + [ + "center", + 11436 + ], + [ + "center", + 11462 + ], + [ + "center", + 11488 + ], + [ + "center", + 11514 + ], + [ + "zero", + 15584 + ], + [ + "zero", + 15870 + ], + [ + "zero", + 15876 + ], + [ + "zero", + 17245 + ], + [ + "zero", + 17256 + ], + [ + "zero", + 17264 + ], + [ + "zero", + 17580 + ], + [ + "zero", + 17722 + ] + ], + "owned_pivots": [ + 225, + 227, + 229, + 230, + 241, + 245, + 257, + 288 + ], + "reduced_basis": { + "225": { + "225": "1", + "384": "-1", + "388": "-1", + "390": "1", + "391": "1", + "392": "1", + "397": "-1" + }, + "227": { + "227": "1", + "231": "1", + "232": "-1", + "234": "1", + "235": "1", + "237": "1", + "238": "-1", + "239": "-1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + }, + "229": { + "229": "1", + "231": "-1", + "236": "-1", + "238": "1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + }, + "230": { + "230": "1", + "324": "-1", + "326": "1", + "328": "1", + "333": "-1" + }, + "241": { + "241": "1", + "243": "-1", + "253": "-1", + "255": "1", + "324": "1/2", + "326": "-1/2", + "328": "-1/2", + "333": "1/2" + }, + "245": { + "245": "1", + "247": "-1", + "252": "-1", + "254": "1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + }, + "257": { + "257": "1", + "259": "-1", + "261": "1", + "263": "-1", + "268": "-1", + "269": "-1", + "270": "1", + "271": "1" + }, + "288": { + "288": "1", + "294": "-1", + "296": "-1", + "297": "-1", + "300": "1", + "303": "1" + } + }, + "relation_rank": 8, + "snapshot_terms_before_substitution": { + "11205": 61, + "11218": 63, + "11231": 73, + "11244": 68, + "11257": 64, + "11270": 75, + "11283": 64, + "11306": 62 + }, + "source_event_indices_are_zero_based": true, + "witnesses": [ + { + "cached_event": 11205, + "cached_role": 92, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11332, + "frame": 254, + "relation": [ + [ + 230, + "1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ] + ], + "zero_event": 15584, + "zero_factor": "-1/4", + "zero_role": 92 + }, + { + "cached_event": 11218, + "cached_role": 57, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11358, + "frame": 274, + "relation": [ + [ + 225, + "1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zero_event": 17264, + "zero_factor": "-1/4", + "zero_role": 57 + }, + { + "cached_event": 11231, + "cached_role": 81, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11384, + "frame": 619, + "relation": [ + [ + 225, + "1" + ], + [ + 227, + "-1" + ], + [ + 229, + "1" + ], + [ + 231, + "-2" + ], + [ + 232, + "1" + ], + [ + 234, + "-1" + ], + [ + 235, + "-1" + ], + [ + 236, + "-1" + ], + [ + 237, + "-1" + ], + [ + 238, + "2" + ], + [ + 239, + "1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zero_event": 17256, + "zero_factor": "-1/4", + "zero_role": 81 + }, + { + "cached_event": 11244, + "cached_role": 224, + "copy_factor": "1", + "difference_factor": "-1/4", + "event": 11410, + "frame": 279, + "relation": [ + [ + 227, + "1" + ], + [ + 229, + "1" + ], + [ + 232, + "-1" + ], + [ + 234, + "1" + ], + [ + 235, + "1" + ], + [ + 236, + "-1" + ], + [ + 237, + "1" + ], + [ + 239, + "-1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ] + ], + "zero_event": 17722, + "zero_factor": "1/4", + "zero_role": 224 + }, + { + "cached_event": 11257, + "cached_role": 11, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11436, + "frame": 621, + "relation": [ + [ + 241, + "1" + ], + [ + 243, + "-1" + ], + [ + 245, + "1" + ], + [ + 247, + "-1" + ], + [ + 252, + "-1" + ], + [ + 253, + "-1" + ], + [ + 254, + "1" + ], + [ + 255, + "1" + ] + ], + "zero_event": 15876, + "zero_factor": "-1/4", + "zero_role": 11 + }, + { + "cached_event": 11270, + "cached_role": 240, + "copy_factor": "1", + "difference_factor": "-1/4", + "event": 11462, + "frame": 280, + "relation": [ + [ + 225, + "1" + ], + [ + 241, + "-1" + ], + [ + 243, + "1" + ], + [ + 245, + "1" + ], + [ + 247, + "-1" + ], + [ + 252, + "-1" + ], + [ + 253, + "1" + ], + [ + 254, + "1" + ], + [ + 255, + "-1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zero_event": 17245, + "zero_factor": "1/4", + "zero_role": 240 + }, + { + "cached_event": 11283, + "cached_role": 9, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11488, + "frame": 624, + "relation": [ + [ + 257, + "1" + ], + [ + 259, + "-1" + ], + [ + 261, + "1" + ], + [ + 263, + "-1" + ], + [ + 268, + "-1" + ], + [ + 269, + "-1" + ], + [ + 270, + "1" + ], + [ + 271, + "1" + ] + ], + "zero_event": 15870, + "zero_factor": "-1/4", + "zero_role": 9 + }, + { + "cached_event": 11306, + "cached_role": 288, + "copy_factor": "1", + "difference_factor": "1/4", + "event": 11514, + "frame": 281, + "relation": [ + [ + 288, + "1" + ], + [ + 294, + "-1" + ], + [ + 296, + "-1" + ], + [ + 297, + "-1" + ], + [ + 300, + "1" + ], + [ + 303, + "1" + ] + ], + "zero_event": 17580, + "zero_factor": "-1/4", + "zero_role": 288 + } + ] + }, + "native_negative_controls": { + "missing_owned_input_clear": "Every independent main/helper endpoint: 0", + "uncleared_owned_output": "Every owned entry column is erased at return", + "under_or_overstated_paid_rank": "Exact paid rank and frame", + "wrong_copy_gauge": "Exact scalar destination frame", + "wrong_relation_sign": "Every independent main/helper endpoint: 0", + "wrong_snapshot_source": "Zero identity requires an identically zero full row", + "wrong_zero_input_frame": "Declared zero identity" + }, + "phase_inheritance": { + "absolute_phase_receipt_reused": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "all_retained_paid_events_and_warps_from_source": true, + "new_gaussian_operators": 0, + "new_native_maps": 0, + "new_operations": "Same-frame COPY, owned CLEAR/ADD, and physical identity on a proved zero row.", + "source_amplitudes_and_phase_lowering_freshly_replayed": false + }, + "scope": "Exact finite word, full all-column endpoints, ownership, p16 bill and compiler arithmetic. Retains source native phase, allowed owned erasure, mixed-target all-size, analytic, precision, tape, prime and exact-recovery contracts. No selected-frontier update.", + "source_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 64, + "max_formal_prefix_l1": "169", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158168, + "zero_identities": 0 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "source_payload_sha256": "cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd", + "status": "PASS_CONDITIONAL_KAPPA_00302666_EIGHT_JOINT_RELATIONS", + "word_payload_sha256": "2aee5e997df99726fc763e510d9cb69fbe4f86114dc8d2cd33ad26c6c462a21d" +} diff --git a/research/geometric-tail-compiler/vendor/RELATIONS.json b/research/geometric-tail-compiler/vendor/RELATIONS.json new file mode 100644 index 0000000000..f558b9ddd9 --- /dev/null +++ b/research/geometric-tail-compiler/vendor/RELATIONS.json @@ -0,0 +1,652 @@ +{ + "pivots": [ + 225, + 227, + 229, + 230, + 241, + 245, + 257, + 261 + ], + "rows": [ + { + "225": "1", + "384": "-1", + "388": "-1", + "390": "1", + "391": "1", + "392": "1", + "397": "-1" + }, + { + "227": "1", + "231": "1", + "232": "-1", + "234": "1", + "235": "1", + "237": "1", + "238": "-1", + "239": "-1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + }, + { + "229": "1", + "236": "-1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2", + "231": "-1", + "238": "1" + }, + { + "230": "1", + "324": "-1", + "326": "1", + "328": "1", + "333": "-1" + }, + { + "241": "1", + "243": "-1", + "253": "-1", + "255": "1", + "324": "1/2", + "326": "-1/2", + "328": "-1/2", + "333": "1/2" + }, + { + "245": "1", + "247": "-1", + "252": "-1", + "254": "1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + }, + { + "257": "1", + "259": "-1", + "269": "-1", + "271": "1", + "324": "1/2", + "326": "-1/2", + "328": "-1/2", + "333": "1/2" + }, + { + "261": "1", + "263": "-1", + "268": "-1", + "270": "1", + "324": "-1/2", + "326": "1/2", + "328": "1/2", + "333": "-1/2" + } + ], + "sites": [ + { + "score": 0.009448442829157244, + "center": 11332, + "snapshot": 11205, + "role": [ + "L", + 92 + ], + "frame": 254, + "relation": [ + [ + 230, + "1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ] + ], + "zeros": [ + [ + 15584, + 1, + [ + "L", + 92 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11358, + "snapshot": 11218, + "role": [ + "L", + 57 + ], + "frame": 274, + "relation": [ + [ + 225, + "1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zeros": [ + [ + 17264, + 1, + [ + "L", + 57 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11384, + "snapshot": 11231, + "role": [ + "L", + 81 + ], + "frame": 619, + "relation": [ + [ + 225, + "1" + ], + [ + 227, + "-1" + ], + [ + 229, + "1" + ], + [ + 231, + "-2" + ], + [ + 232, + "1" + ], + [ + 234, + "-1" + ], + [ + 235, + "-1" + ], + [ + 236, + "-1" + ], + [ + 237, + "-1" + ], + [ + 238, + "2" + ], + [ + 239, + "1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zeros": [ + [ + 17256, + 1, + [ + "L", + 81 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11410, + "snapshot": 11244, + "role": [ + "L", + 224 + ], + "frame": 279, + "relation": [ + [ + 227, + "1" + ], + [ + 229, + "1" + ], + [ + 232, + "-1" + ], + [ + 234, + "1" + ], + [ + 235, + "1" + ], + [ + 236, + "-1" + ], + [ + 237, + "1" + ], + [ + 239, + "-1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ] + ], + "zeros": [ + [ + 17722, + 1, + [ + "L", + 224 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11436, + "snapshot": 11257, + "role": [ + "L", + 11 + ], + "frame": 621, + "relation": [ + [ + 241, + "1" + ], + [ + 243, + "-1" + ], + [ + 245, + "1" + ], + [ + 247, + "-1" + ], + [ + 252, + "-1" + ], + [ + 253, + "-1" + ], + [ + 254, + "1" + ], + [ + 255, + "1" + ] + ], + "zeros": [ + [ + 15876, + 1, + [ + "L", + 11 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11462, + "snapshot": 11270, + "role": [ + "L", + 240 + ], + "frame": 280, + "relation": [ + [ + 225, + "1" + ], + [ + 241, + "-1" + ], + [ + 243, + "1" + ], + [ + 245, + "1" + ], + [ + 247, + "-1" + ], + [ + 252, + "-1" + ], + [ + 253, + "1" + ], + [ + 254, + "1" + ], + [ + 255, + "-1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zeros": [ + [ + 17245, + 1, + [ + "L", + 240 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11488, + "snapshot": 11283, + "role": [ + "L", + 9 + ], + "frame": 624, + "relation": [ + [ + 257, + "1" + ], + [ + 259, + "-1" + ], + [ + 261, + "1" + ], + [ + 263, + "-1" + ], + [ + 268, + "-1" + ], + [ + 269, + "-1" + ], + [ + 270, + "1" + ], + [ + 271, + "1" + ] + ], + "zeros": [ + [ + 15870, + 1, + [ + "L", + 9 + ] + ] + ] + }, + { + "score": 0.009448442829157244, + "center": 11514, + "snapshot": 11296, + "role": [ + "L", + 256 + ], + "frame": 281, + "relation": [ + [ + 225, + "1" + ], + [ + 257, + "-1" + ], + [ + 259, + "1" + ], + [ + 261, + "1" + ], + [ + 263, + "-1" + ], + [ + 268, + "-1" + ], + [ + 269, + "1" + ], + [ + 270, + "1" + ], + [ + 271, + "-1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "zeros": [ + [ + 17233, + 1, + [ + "L", + 256 + ] + ] + ] + } + ] +} diff --git a/research/geometric-tail-compiler/vendor/RESULT.json b/research/geometric-tail-compiler/vendor/RESULT.json new file mode 100644 index 0000000000..2e13818df0 --- /dev/null +++ b/research/geometric-tail-compiler/vendor/RESULT.json @@ -0,0 +1,429 @@ +{ + "arithmetic": { + "compiler": { + "H": 409549000000000000, + "N": "2^409549000000000000", + "eta": { + "lower": "0.000000199491021599850733809086", + "upper": "0.000000199491021599850733809087" + }, + "gap": "1/7000000000000", + "integer_test_exponent": 58507, + "logarithm_power": 1000, + "theta": "63/64", + "uniform_saving": "21186723361/7000000000000", + "word_materialized": false + }, + "completion_reserve": "1/1000000000000", + "fixed_profile_ceiling": { + "decreasing_through": "1/20", + "derivative_upper": { + "lower": "-195473.450610684184815935477074865515", + "upper": "-195473.450610684184815935477074865514" + }, + "remaining_interval_moment_upper": { + "lower": "-6820.155255095433991980526890420873", + "upper": "-6820.155255095433991980526890420872" + } + }, + "full_backward": 16, + "full_forward": 2, + "gain_over_PR4610": "979793/200000000000", + "gain_over_PR5383": "2953/200000000000", + "kappa": "605334953/200000000000", + "kappa_decimal": ".003026674765", + "margin_at_previous_kappa": { + "lower": "1.209169472215494738857340795394", + "upper": "1.209169472215494738857340795395" + }, + "margin_at_previous_root_upper": { + "lower": "1.209152002019805295008574084544", + "upper": "1.209152002019805295008574084545" + }, + "negative_controls": { + "closed_epsilon": [ + "epsilon_below_one", + "global_gamma_power_slack", + "actual_logarithmic_gamma_guard", + "source_axis_superpolynomial", + "gaussian_above_main", + "new_semantic_guard_with_C1_one" + ], + "closed_uniform": [ + "new_complex_uniform_saving_above_b" + ], + "old_BIT": [ + "actual_bit_above_effective" + ], + "unearned_helper_credit": "Rejected by the independent complete census", + "unfunded_endpoint": [ + "main_transform_above_kappa", + "global_coordinate_router_above_kappa", + "fused_gaussian_above_kappa", + "group_bit_router_above_kappa", + "boundary_algebraic_matrix_above_kappa" + ] + }, + "nonrecursive": { + "additional_private_slots": 8, + "local_routes": 4834000, + "local_scalar": 158776, + "owned_slots_backward": 17, + "raw_budget": 1000000000, + "raw_scalar_upper": 181098496 + }, + "ordinary_BIT": { + "admitted": "17/5000", + "after_cover": "69/20000", + "atom": "1/250", + "before_cover": "3459/1000000", + "ordinary_saving": "8590884599/2500000000000", + "prime_rule": "odd q > 2^26*N^5 avoiding all fixed denominators and rank witnesses" + }, + "outer": { + "functional_checks": { + "actual_new_BIT_stock_sublinear": "1742999999999253/1750000000000000", + "fixed_halo_explicit_metadata_branch": "134750000000001/1750000000000", + "new_BIT_row_stock_sublinear_in_active_group": "6978999999997009/7000000000000000", + "new_semantic_group_guard": "3/7000000000000" + }, + "margins": { + "boundary_algebraic_matrix": "74153531756489406638321/24500000000000000000000000", + "fused_gaussian": "74153531756468219914963/24500000000000000000000000", + "global_coordinate_router": "21186723359/7000000000000", + "group_bit_router": "148307063519936439829923/49000000000000000000000000", + "group_scans": "3499999999999/3500000000000", + "main_transform": "74153531752989406638321/24500000000000000000000000", + "microbox_face_corrections": "134750000000001/1750000000000", + "polynomial_products": "6999999999999/7000000000000", + "sparse_union_movement": "10027278531756489406638321/24500000000000000000000000" + }, + "parameters": { + "a": "21186723359/7000000000000", + "b": "132417021/43750000000", + "beta": "6999999999997/7000000000000", + "bit_saving": "17/5000", + "cap_xi": "22277278531752989406638321/24500000000000000000000000", + "complex_uniform_saving": "21186723361/7000000000000", + "d": "1/7000000000000", + "epsilon": "6999999999999/7000000000000", + "kappa": "605334953/200000000000", + "lambda_": "1993946650469/2000000000000", + "lambda_prime": "3489406638321/3500000000000", + "layout": "1/7000000000000", + "q": "10593361679/3500000000000", + "r0": "1/70000000000000", + "stop": "1/7000000000000", + "tested_saving": "1513337383/500000000000" + }, + "strict_checks": { + "actual_bit_above_effective": "2613276641/7000000000000", + "actual_logarithmic_gamma_guard": "1/7000000000000", + "actual_logarithmic_group_guard": "2222721468252260593361679/12250000000000000000000000", + "alpha_logarithm_absorption": "1/70000000000000", + "boundary_algebraic_matrix_above_kappa": "13989406638321/24500000000000000000000000", + "cap_above_band": "10027278531752989406638321/24500000000000000000000000", + "cap_below_cell": "2222721468243510593361679/24500000000000000000000000", + "cap_below_phase_cell_power": "26722721468247010593361679/24500000000000000000000000", + "complex_above_effective": "1/7000000000000", + "complex_below_one_over_32": "1234770479/43750000000", + "complex_endpoint": "1/3500000000000", + "epsilon_below_one": "1/7000000000000", + "epsilon_positive": "6999999999999/7000000000000", + "fine_prime_halo_umbrella": "7/2", + "fused_gaussian_above_kappa": "13968219914963/24500000000000000000000000", + "gaussian_above_main": "1739406638321/12250000000000000000000000", + "global_coordinate_router_above_kappa": "1/1750000000000", + "global_gamma_power_slack": "9/70000000000000", + "group_below_dimension": "1/3500000000000", + "group_bit_router_above_kappa": "34936439829923/49000000000000000000000000", + "group_gauge_power_slack": "2222721468252085593361679/12250000000000000000000000", + "group_key_fits_record": "1/3500000000000", + "group_positive": "6999999999997/7000000000000", + "group_scans_above_kappa": "6978813276643/7000000000000", + "halo_covers_generic_inverse_radius": "5", + "improvement_over_user_baseline": "647852172900418148631/500000000000000000000000", + "lambda_above_internal": "1/14000000000000", + "lambda_above_sigma": "3/14000000000000", + "lambda_above_tau": "1/14000000000000", + "lambda_prime_above_lambda": "1/14000000000000", + "lambda_prime_above_leaf": "87367582979/306250000000000000000000", + "leaf_saving_above_effective": "43617582979/306250000000000000000000", + "main_transform_above_kappa": "10489406638321/24500000000000000000000000", + "membership_arithmetic_fits_record": "1/7000000000000", + "microbox_face_corrections_above_kappa": "538978813276649/7000000000000", + "microbox_halo_volume": "553000000000003/7000000000000", + "new_complex_uniform_saving_above_b": "1/7000000000000", + "new_semantic_guard_with_C1_one": "1/7000000000000", + "polynomial_products_above_kappa": "1744703319161/1750000000000", + "positive_layout_slack": "1/7000000000000", + "q_below_effective": "1/7000000000000", + "q_below_internal": "1/7000000000000", + "q_below_leaf": "87367582979/306250000000000000000000", + "q_positive": "10593361679/3500000000000", + "short_record_fallback": "43617582979/43750000000", + "source_axis_superpolynomial": "1/7000000000000", + "sparse_union_movement_above_kappa": "9953125000013989406638321/24500000000000000000000000", + "stop_below_one": "6999999999999/7000000000000", + "stop_positive": "1/7000000000000", + "strassen_integer_power_gap": "1951441519231", + "support_router_span": "3/7000000000000", + "theta_positive_polynomial_power": "2", + "union_header_fits_record": "3/7000000000000", + "union_tag_work_per_visit_fits_record": "3/7000000000000" + } + }, + "paid": { + "1": 41170, + "16": 448, + "2": 7416, + "24": 448, + "3": 9180, + "32": 448, + "4": 2286, + "40": 448, + "48": 448, + "5": 720, + "56": 448, + "64": 448, + "72": 224, + "8": 16 + }, + "paid_calls": 64148, + "productive_fields": 10800, + "query_shears": 15, + "rank_mass_surplus": 752, + "raw_headroom": [ + "307/100000000000000", + "77/25000000000000" + ], + "raw_root_interval": [ + "302667476807/100000000000000", + "37833434601/12500000000000" + ], + "strictification": { + "alpha": { + "lower": "0.999999999997831927004289535030", + "upper": "0.999999999997831927004289535031" + }, + "cutoff": 20, + "delta": { + "lower": "0.951652475842024105512105409944", + "upper": "0.951652475842024105512105409945" + }, + "floor": 21, + "gamma": { + "lower": "0.956968566609975897371044048406", + "upper": "0.956968566609975897371044048407" + }, + "normalized_paid_upper": "1048576000976562501/1048576001073741824", + "power": 1024, + "reserve": "1/1000000000000", + "tail_offset": "1/5", + "tested": "1513337383/500000000000" + }, + "targets": { + "145": 224, + "17": 448, + "25": 448, + "33": 448, + "4": 504, + "41": 448, + "49": 448, + "57": 448, + "65": 448, + "7": 126, + "73": 224, + "8": 846, + "9": 5740 + } + }, + "candidate_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 318 + }, + "independent_owned_entry_columns": 17, + "independent_persistent_columns": 624, + "max_denominator": 64, + "max_formal_prefix_l1": "163", + "owned_outputs_zero": true, + "paid": { + "1": 2193, + "2": 412, + "3": 510, + "4": 127, + "5": 40 + }, + "real_scalar_allowance": 158776, + "zero_identities": 8 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "independent_source_identities": [ + { + "center": 11332, + "center_factor": "1/4", + "site": 0, + "zero_factor": "-1/4" + }, + { + "center": 11358, + "center_factor": "1/4", + "site": 1, + "zero_factor": "-1/4" + }, + { + "center": 11384, + "center_factor": "1/4", + "site": 2, + "zero_factor": "-1/4" + }, + { + "center": 11410, + "center_factor": "-1/4", + "site": 3, + "zero_factor": "1/4" + }, + { + "center": 11436, + "center_factor": "1/4", + "site": 4, + "zero_factor": "-1/4" + }, + { + "center": 11462, + "center_factor": "-1/4", + "site": 5, + "zero_factor": "1/4" + }, + { + "center": 11488, + "center_factor": "1/4", + "site": 6, + "zero_factor": "-1/4" + }, + { + "center": 11514, + "center_factor": "-1/4", + "site": 7, + "zero_factor": "1/4" + } + ], + "native_negative_controls": { + "missing_owned_input_clear": "Every independent main/helper endpoint: 0", + "uncleared_owned_output": "Every owned entry column is erased at return", + "under_or_overstated_paid_rank": "Exact paid rank and frame", + "wrong_copy_gauge": "Exact scalar destination frame", + "wrong_prepared_pivot_225": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_227": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_229": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_230": "Every independent main/helper endpoint: 0", + "wrong_prepared_pivot_241": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_245": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_257": "Every independent main/helper endpoint: 1", + "wrong_prepared_pivot_261": "Every independent main/helper endpoint: 1", + "wrong_relation_sign": "Every independent main/helper endpoint: 0", + "wrong_snapshot_source": "Zero identity requires an identically zero full row", + "wrong_zero_input_frame": "Zero identity requires an identically zero full row" + }, + "phase_inheritance": { + "absolute_phase_receipt_reused": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "all_retained_paid_events_and_warps_from_source": true, + "new_gaussian_operators": 0, + "new_native_maps": 0, + "new_operations": "Same-frame COPY, owned CLEAR/ADD, and physical identity on a proved zero row.", + "source_amplitudes_and_phase_lowering_freshly_replayed": false + }, + "relation_basis": { + "dyadic": true, + "pivots": [ + 225, + 227, + 229, + 230, + 241, + 245, + 257, + 261 + ], + "rank": 8 + }, + "scope": "Exact finite word, full all-column endpoints, ownership, p16 bill and compiler arithmetic. Retains source native phase, allowed owned erasure, mixed-target all-size, analytic, precision, tape, prime and exact-recovery contracts. No selected-frontier update.", + "source_native": { + "backward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 64, + "max_formal_prefix_l1": "169", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158168, + "zero_identities": 0 + }, + "forward": { + "helpers": { + "4": 28, + "7": 7, + "8": 47, + "9": 326 + }, + "independent_owned_entry_columns": 1, + "independent_persistent_columns": 632, + "max_denominator": 32, + "max_formal_prefix_l1": "457", + "owned_outputs_zero": true, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "real_scalar_allowance": 158120, + "zero_identities": 0 + } + }, + "source_payload_sha256": "cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd", + "status": "PASS_CONDITIONAL_KAPPA_003026674765_COMPILER_MARGIN", + "word_payload_sha256": "9aa0d7112b4e13f1aa13a93dab0af6f4435ffe99b842aad841685becdafee492" +} diff --git a/research/geometric-tail-compiler/vendor/SOURCES.json b/research/geometric-tail-compiler/vendor/SOURCES.json new file mode 100644 index 0000000000..71c57c8a90 --- /dev/null +++ b/research/geometric-tail-compiler/vendor/SOURCES.json @@ -0,0 +1,90 @@ +{ + "schema_version": 1, + "base_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "b288ae44032fd84dd5564243422836cbcd29835e", + "sha256": "f9ed52bb642cd1e1486cf2743557ac5fa23cf1514a3277d786a644e39a565038" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + }, + { + "path": "research/free-word-tensor-lift-audit/PROOF.md", + "usage": "provenance", + "git_blob": "69c337a7704ce589798269ab4b8606189c070c4e", + "sha256": "cc8ad3698a673fb225419a3636a39aa99a66c7a0676f12e329b1e76564fa1459" + }, + { + "path": "research/higher-moment-strictification/verify.py", + "usage": "input", + "git_blob": "4b24a5096154736ce060474eb8c72dc64c303699", + "sha256": "0ce7e7137422d5ffeda22085c81fa88471bbe963100fdad62e659f1e3bf89326" + }, + { + "path": "research/joint-helper-lattice/CONTROLLER.json", + "usage": "input", + "git_blob": "49a2f0675819f9deeea27ed77be2c2b6ff2e87e5", + "sha256": "1f5d6aa267e4e66048818714b5d3b5eae17a58abe91d15deeaa34574f7391a5f" + }, + { + "path": "research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py", + "usage": "input", + "git_blob": "5a55034ec9e6185d981e16c28e1e2e455069e2cb", + "sha256": "106b4d5e052427230df452f0c901d5390a0583782960b80a8af94d9a984022c7" + }, + { + "path": "research/kappa-interface-round2-20261022/price_profile.py", + "usage": "provenance", + "git_blob": "1d93e43d1cb888d128c2faa2be83a96d85b84295", + "sha256": "adde619968d3ac37147d239e25145b28150650e9ce0f76035f680f22589adcbb" + }, + { + "path": "research/kappa-rebuild/architecture/mixed_target_probe.py", + "usage": "input", + "git_blob": "4fc05ab08138218ba9f09e5c89b649afae7c914e", + "sha256": "011c3c9d0cf81103dc84d709a0e36793eb7c5ae3f23c85eac27650ef13afa04a" + }, + { + "path": "research/kappa-rebuild/complex/native_extensions.py", + "usage": "provenance", + "git_blob": "7f84894efc309546a903d314c7ac1473e7f594a8", + "sha256": "50ad007d9c386393657e86c99a96ae0a63a8fbc52872579b185002cc626e88e3" + }, + { + "path": "research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "usage": "input", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + { + "path": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "usage": "input", + "git_blob": "ac77b78547d6dbf2e6bd102e1047c5b16c1bca88", + "sha256": "6eae66ed3cfa8a1533e89b9660a57276908e6646640a12f8b1e3489f4ea1354b" + }, + { + "path": "research/kappa-round6-compiler-tightening-20261022/ARITHMETIC.json", + "usage": "input", + "git_blob": "0fdb65f946d557c13d8e2781b9151e2a8ddee5c3", + "sha256": "b4f720a7ccbb5b46e472eaf85dc8739a40598986f19b37d26c4f9ecfbd31f0de" + }, + { + "path": "research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py", + "usage": "input", + "git_blob": "340e1f0ffb8a1a9c38fbbd9119580b6d23e01b59", + "sha256": "d097e55f06c3f244f2074ffd7c1a0a5f3c4b4b6a6accf9619d1dde5c0ae85e15" + }, + { + "path": "research/query-thinned-controllers/RESULT.json", + "usage": "input", + "git_blob": "e0695152c98d727edfd0d2034b58a1c7e8682c0c", + "sha256": "6ebfc8c0f09166f4834e9d7427410cb31aefff2cd4d4ce588c8e52c9c70e9a0f" + } + ] +} diff --git a/research/geometric-tail-compiler/vendor/WORD.json.gz b/research/geometric-tail-compiler/vendor/WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..c62fcb59643f87919208100517a2fbc4b57cb7d7 GIT binary patch literal 207423 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 @8=;ymhQDTfhY=Ckg9!C?te#XLVKPXk&MY> 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 literal 0 HcmV?d00001 diff --git a/research/geometric-tail-compiler/vendor/native.py b/research/geometric-tail-compiler/vendor/native.py new file mode 100644 index 0000000000..86c10d2e1e --- /dev/null +++ b/research/geometric-tail-compiler/vendor/native.py @@ -0,0 +1,329 @@ +"""Eight jointly prepared helpers remove sixteen paid jobs in the PR4610 backward word. + +Derived from Ali Romman PR5377; joint construction by Dugongue. +Both with substantial OpenAI Codex assistance. Apache-2.0. +The source word is by Cao Yifan. The row convention and scalar allowance +follow the credited native work of Cinna Davis and zxv. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +from hashlib import sha1, sha256 +from pathlib import Path +import gzip +import importlib.util +import json +import sys + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +SOURCE = 'research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz' +PHASE = 'research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz' +PAYLOAD = 'cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd' +OLD_PAID = {1: 2201, 2: 412, 3: 510, 4: 127, 5: 40, 8: 8} +NEW_PAID = dict(OLD_PAID) +NEW_PAID[1] -= 8 +NEW_PAID.pop(8) +OLD_HELPERS = {4: 28, 7: 7, 8: 47, 9: 326} + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def encode(x): + if isinstance(x, Q): + return str(x) + if isinstance(x, dict): + return {str(k): encode(v) for k, v in x.items()} + if isinstance(x, (list, tuple)): + return [encode(v) for v in x] + return x + + +def load(relative, name): + spec = importlib.util.spec_from_file_location(name, ROOT / relative) + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + spec.loader.exec_module(module) + return module + + +def authenticate(): + pins = read(HERE / 'SOURCES.json') + for row in pins['files']: + if row['usage'] != 'input': + continue + p = ROOT + for part in Path(row['path']).parts: + p /= part + need(not p.is_symlink(), 'No source aliases') + raw = p.read_bytes() + need(sha256(raw).hexdigest() == row['sha256'], 'Changed source: ' + row['path']) + need(sha1(b'blob ' + str(len(raw)).encode() + b'\0' + raw).hexdigest() == row['git_blob'], 'Source Git blob') + need(sha256(gzip.decompress((ROOT / SOURCE).read_bytes())).hexdigest() == PAYLOAD, 'Exact source payload') + return pins + + +def span(basis): + out = {0} + for vector in basis: + need(isinstance(vector, int) and 0 <= vector < 512, 'Binary frame coordinate') + out |= {v ^ vector for v in tuple(out)} + need(len(out) == 2 ** len(basis), 'Independent frame basis') + return out + + +def add(dst, src, q): + for k, v in tuple(src.items()): + value = dst.get(k, Q(0)) + q * v + if value: + dst[k] = value + else: + dst.pop(k, None) + + +def allowance(g): + if g[0] in ('clear', 'copy'): + return 2 + q = Q(*g[3:]) if g[0] == 'add' else Q(*g[2:]) + n, d = abs(q.numerator), q.denominator + need(n > 0 and d & (d - 1) == 0, 'Nonzero dyadic scalar') + if g[0] == 'scale': + need(n & (n - 1) == 0, 'Dyadic unit SCALE') + return 2 * (abs(n.bit_length() - d.bit_length()) + int(q < 0)) + need(g[0] == 'add', 'Known scalar operation') + return 2 * (3 + n.bit_length() - 1 + n.bit_count() + d.bit_length() - 1) + + +RELATIONS = json.loads((HERE / 'RELATIONS.json').read_text()) +PIVOTS = set(RELATIONS['pivots']) +SITES = RELATIONS['sites'] + + +def check_relation_basis(): + rows=[{int(h):Q(q)for h,q in x['relation']}for x in SITES] + pivots=[] + for i in range(8): + need(any(rows[j]for j in range(i,8)), 'Eight independent relations') + h=min(k for j in range(i,8)for k in rows[j]) + j=next(j for j in range(i,8)if rows[j].get(h)) + rows[i],rows[j]=rows[j],rows[i];q=rows[i][h] + rows[i]={k:v/q for k,v in rows[i].items()} + for j in range(8): + if j!=i:add(rows[j],rows[i],-rows[j].get(h,Q(0))) + pivots.append(h) + need(pivots==RELATIONS['pivots'], 'Exact eight-pivot row reduction') + need(rows==[{int(h):Q(q)for h,q in r.items()}for r in RELATIONS['rows']], 'Exact reduced preparation matrix') + need(all(q.denominator & (q.denominator-1)==0 for r in rows for q in r.values()),'Dyadic joint preparation') + return {'rank':8,'pivots':pivots,'dyadic':True} + +def construct(source): + c = source['canonical']; old = source['programs']['backward'] + need(len(PIVOTS) == 8 and len(SITES) == 8, 'Eight pivots and sites') + word = [] + for pivot, rr in zip(RELATIONS['pivots'], RELATIONS['rows']): + row = {int(h): Q(q) for h,q in rr.items()} + need(row[pivot] == 1 and all(row.get(h,0)==0 for h in PIVOTS-{pivot}), 'Reduced independent preparation') + need(all(c['start'][h]==0 and c['final'][h]==1 for h in row), 'Cold full-ended helper relation') + word.append(['scalar',['clear',['L',pivot]],0]) + for h,q in sorted(row.items()): + if h != pivot:word.append(['scalar',['add',['L',pivot],['L',h],(-q).numerator,q.denominator],0]) + centers={x['center']:(j+1,x) for j,x in enumerate(SITES)} + snapshots={x['snapshot']:(j+1,x) for j,x in enumerate(SITES)} + zeros={x['zeros'][0][0]:x for x in SITES} + need(len(centers)==len(snapshots)==len(zeros)==8,'Distinct rewrite events') + for i,event in enumerate(old): + if i in centers: + j,x=centers[i];f=x['frame'] + need(event==['center',0,0,f,8],'Source center') + word += [['scalar',['clear',['C',0]],f],['scalar',['copy',['C',0],['C',j]],f],['scalar',['clear',['C',j]],f]] + elif i in zeros: + x=zeros[i];need(event[0]=='climb' and event[-1]==1,'Source zero job') + word.append(['zero_retag',['L',event[2]],event[3],event[4]]) + else:word.append(deepcopy(event)) + if i in snapshots: + j,x=snapshots[i];f=x['frame'] + word += [['scalar',['clear',['C',j]],f],['scalar',['copy',['C',j],x['role']],f]] + for h in sorted(PIVOTS):word.append(['scalar',['clear',['L',h]],1]) + physical=deepcopy(c);physical.pop('local_profile') + return {'schema':'eight-owned-helper-relations/1','canonical':physical,'paid_profiles':{'forward':OLD_PAID,'backward':NEW_PAID}, + 'owned':{'forward':[['C',0]],'backward':[['C',i] for i in range(9)]+[['L',h]for h in sorted(PIVOTS)]}, + 'programs':{'forward':deepcopy(source['programs']['forward']),'backward':word}} + + +def replay(c, program, backward, specialized): + """Run every event on all independent entry columns and exact frames.""" + owned = {('C', 0)} | ({('C', j) for j in range(1,9)} | {('L',h) for h in PIVOTS} if specialized else set()) + roles = {('L', i) for i in range(632)} | owned + rows = {r: {(r, ()): Q(1)} for r in roles} + frames = {('L', i): f for i, f in enumerate(c['start'])} + frames.update({r: None for r in owned if r[0] == 'C'}) + spaces = [span(b) for b in c['frames']] + paid = Counter() + cost, max_l1, denominator, zero_count = 0, Q(1), 1, 0 + for e in program: + kind, touched = e[0], None + if kind == 'scalar': + g, frame = e[1:] + dst = tuple(g[1]); touched = dst + need(dst in rows and 0 <= frame < len(spaces), 'Declared scalar destination and frame') + cost += allowance(g) + if g[0] == 'clear': + need(dst in owned, 'Only owned fields can be erased') + rows[dst] = {}; frames[dst] = frame + else: + need(frames[dst] == frame, 'Exact scalar destination frame') + if g[0] in ('add', 'copy'): + src = tuple(g[2]) + need(src in rows and frames[src] == frame and dst != src, 'Exact scalar source frame') + if g[0] == 'copy': + need(dst in owned and not rows[dst], 'COPY into cleared owned storage') + rows[dst] = dict(rows[src]) + else: + add(rows[dst], rows[src], Q(g[3], g[4])) + else: + need(g[0] == 'scale', 'Known scalar operation') + rows[dst] = {k: Q(g[2], g[3]) * v for k, v in rows[dst].items()} + elif kind == 'warp': + _, role, op, old, new = e + dst = tuple(role); touched = dst + need(frames[dst] == old and 1 <= abs(op) <= len(c['warps']), 'Exact warp input') + symbol = (1 if op > 0 else -1) * (abs(op) + (10**6 if backward else 0)) + rows[dst] = {(r, w[1:] if w and w[0] == -symbol else (symbol,) + w): q + for (r, w), q in rows[dst].items()} + frames[dst] = new + elif kind in ('climb', 'center'): + if kind == 'climb': + _, _, i, old, new, rank = e + dst = ('L', i) + need(spaces[old] < spaces[new], 'Ascending paid climb') + else: + _, i, old, new, rank = e + dst = ('C', i) + need(spaces[old] < spaces[new] or spaces[new] < spaces[old], 'Nested paid center') + need(frames[dst] == old and rank == abs(len(c['frames'][new]) - len(c['frames'][old])), 'Exact paid rank and frame') + frames[dst] = new; paid[rank] += 1 + elif kind == 'zero_retag': + _, role, old, new = e + dst = tuple(role) + need(specialized and backward and dst in {tuple(x['zeros'][0][2]) for x in SITES}, 'Declared zero identity') + need(frames[dst] == old and not rows[dst], 'Zero identity requires an identically zero full row') + need(any(tuple(x['zeros'][0][2])==dst and x['frame']==old and new==1 for x in SITES), 'Declared zero frame change') + frames[dst] = new; zero_count += 1 + else: + need(kind in ('phase', 'adapter'), 'Known inert source marker') + if touched is not None: + max_l1 = max(max_l1, sum(map(abs, rows[touched].values()), Q(0))) + denominator = max(denominator, max((q.denominator for q in rows[touched].values()), default=1)) + need([frames['L', i] for i in range(632)] == c['final'], 'Every final native frame') + for i in range(632): + r = ('L', i) + if r in owned: + continue + expected = {(r, ()): Q(1)} + if i < 112 if backward else 112 <= i < 224: + expected[(('L', i + 112 if backward else i - 112), ())] = Q(-1 if backward else 1) + need(rows[r] == expected, 'Every independent main/helper endpoint: ' + str(i)) + need(all(not rows[r] for r in owned), 'Every owned entry column is erased at return') + need(zero_count == 8*int(specialized), 'Exactly eight checked zero identities') + helpers = Counter() + for i in range(224, 632): + if ('L', i) in owned: + continue + a, b = c['start'][i], c['final'][i] + need(spaces[a] < spaces[b], 'Strict independent productive helper') + helpers[len(c['frames'][b]) - len(c['frames'][a])] += 1 + need(max_l1 < 2**192 and denominator < 2**192, 'Retained formal prefix envelope') + return {'paid': dict(sorted(paid.items())), 'helpers': dict(sorted(helpers.items())), + 'independent_persistent_columns': 624 if specialized else 632, + 'independent_owned_entry_columns': len(owned), 'owned_outputs_zero': True, + 'real_scalar_allowance': cost, 'max_formal_prefix_l1': str(max_l1), + 'max_denominator': denominator, 'zero_identities': zero_count} + + +def independent_source_identities(source): + v=load('research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py','eight_relation_source_rows') + rows={('L',i):v.identity(('L',i)) for i in range(632)};rows['C',0]=v.identity(('C',0)) + saved={};receipt=[] + for index,e in enumerate(source['programs']['backward']): + if e[0]=='scalar': + g=e[1];dst=tuple(g[1]) + if g[0]=='clear':rows[dst]={} + elif g[0]=='copy':rows[dst]=dict(rows[tuple(g[2])]) + elif g[0]=='scale':rows[dst]={k:Q(g[2],g[3])*a for k,a in rows[dst].items()} + else:v.add(rows[dst],rows[tuple(g[2])],Q(g[3],g[4])) + elif e[0]=='warp': + dst=tuple(e[1]);rows[dst]=v.warp(rows[dst],e[2],True) + for j,x in enumerate(SITES): + delta={(('L',h),()):Q(q)for h,q in x['relation']} + if index==x['snapshot']:saved[j]=dict(rows[tuple(x['role'])]) + if index==x['center']: + diff=dict(rows['C',0]);v.add(diff,saved[j],-1) + factor=diff.get(min(delta),Q(0))/delta[min(delta)] + need(factor and diff=={k:factor*q for k,q in delta.items()},'Exact unrestricted center identity') + receipt.append({'site':j,'center':index,'center_factor':str(factor)}) + if index==x['zeros'][0][0]: + row=rows[tuple(x['zeros'][0][2])];factor=row.get(min(delta),Q(0))/delta[min(delta)] + need(factor and row=={k:factor*q for k,q in delta.items()},'Exact unrestricted zero identity') + next(z for z in receipt if z['site']==j)['zero_factor']=str(factor) + need(len(receipt)==8 and all('zero_factor'in x for x in receipt),'All sixteen source identities') + return receipt + + +def phase_inheritance(source, candidate): + receipt = read(ROOT / PHASE) + need(receipt['status'] == 'PASS_JOINT_HELPER_MAPS_ALL_ACTUAL_ABSOLUTE_PHASES' and + receipt['actual_word_canonical_sha256'] == PAYLOAD, 'Authenticated source absolute-phase receipt') + physical = deepcopy(source['canonical']); physical.pop('local_profile') + need(candidate['canonical'] == physical, 'Every frame, native map and main adapter unchanged') + for direction, program in candidate['programs'].items(): + old = source['programs'][direction] + for kind in ('warp', 'adapter', 'phase'): + need([e for e in program if e[0] == kind] == [e for e in old if e[0] == kind], 'Exact inherited ' + kind + ' sequence') + old_paid = Counter(tuple(e) for e in old if e[0] in ('climb', 'center')) + new_paid = Counter(tuple(e) for e in program if e[0] in ('climb', 'center')) + expected = Counter() if direction == 'forward' else Counter(tuple(old[i]) for x in SITES for i in (x['center'], x['zeros'][0][0])) + need(old_paid - new_paid == expected and not new_paid - old_paid, 'Only the sixteen proved jobs are removed') + return {'new_gaussian_operators': 0, 'new_native_maps': 0, + 'all_retained_paid_events_and_warps_from_source': True, + 'absolute_phase_receipt_reused': PHASE, + 'source_amplitudes_and_phase_lowering_freshly_replayed': False, + 'new_operations': 'Same-frame COPY, owned CLEAR/ADD, and physical identity on a proved zero row.'} + + +def controls(c, candidate): + controls = {} + base = candidate['programs']['backward'] + variants = {} + bad = deepcopy(base); bad[1][1][3] *= -1; variants['wrong_relation_sign'] = bad + variants['missing_owned_input_clear'] = deepcopy(base[1:]) + bad = deepcopy(base) + next(e for e in bad if e[0] == 'scalar' and e[1][:2] == ['copy', ['C', 1]])[1][2] = ['L', 63] + variants['wrong_snapshot_source'] = bad + bad = deepcopy(base); next(e for e in bad if e[0] == 'zero_retag')[2] = 0 + variants['wrong_zero_input_frame'] = bad + bad = deepcopy(base); next(e for e in bad if e[0] == 'climb')[5] += 1 + variants['under_or_overstated_paid_rank'] = bad + bad = deepcopy(base) + next(e for e in bad if e[0] == 'scalar' and e[1][:2] == ['copy', ['C', 0]])[2] = 0 + variants['wrong_copy_gauge'] = bad + for h in sorted(PIVOTS): + bad=deepcopy(base) + next(e for e in bad if e[0]=='scalar' and e[1][:2]==['add',['L',h]])[1][3]*=-1 + variants['wrong_prepared_pivot_'+str(h)]=bad + variants['uncleared_owned_output'] = deepcopy(base[:-1]) + for name, program in variants.items(): + try: + replay(c, program, True, True) + except ValueError as err: + controls[name] = str(err) + else: + raise ValueError('Control accepted: ' + name) + return controls diff --git a/research/geometric-tail-compiler/verify.py b/research/geometric-tail-compiler/verify.py new file mode 100644 index 0000000000..2d67657093 --- /dev/null +++ b/research/geometric-tail-compiler/verify.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +"""Replay the eight-relation native word and its complete conditional kappa. + +Derived from Ali Romman PR5377; new construction by Dugongue, +with substantial OpenAI Codex assistance. Apache-2.0. +Read README.md for the source credit and inherited proof obligations. +""" +from hashlib import sha256 +import argparse +import gzip +import json +from pathlib import Path +import sys +sys.dont_write_bytecode = True +import importlib.util +HERE=Path(__file__).resolve().parent +vendor=HERE/'vendor' +manifest=json.loads((HERE/'VENDOR.json').read_text()) +for name,digest in manifest['files'].items(): + if sha256((vendor/name).read_bytes()).hexdigest()!=digest:raise ValueError('Frozen vendor drift: '+name) +spec=importlib.util.spec_from_file_location('native',vendor/'native.py') +N=importlib.util.module_from_spec(spec);sys.modules['native']=N;spec.loader.exec_module(N) +N.ROOT=HERE.parents[1] +import price + + + +def run(): + N.need(sha256((N.HERE/'PREDECESSOR-5383.json').read_bytes()).hexdigest() == 'd6a99bd75c6b7a2146b0fc4cfa038890aaf1d4adcdef42d767fdb40b687e61aa', 'Pinned PR5383 receipt') + N.authenticate() + from strictify import completed_upper, logarithm_power, finite_threshold + for args in [(1,0,price.Q(1,2),price.Q(1,2)),(1,price.Q(1,2),price.Q(1),price.Q(1,2)),(1,0.1,price.Q(1,2),price.Q(1,2))]: + try:completed_upper(*args) + except ValueError:pass + else:raise ValueError('Invalid or inexact completion input accepted') + for call in [lambda:logarithm_power(price.Q(1),price.Q(1,2),price.Q(2)),lambda:finite_threshold(price.Q(0),2)]: + try:call() + except ValueError:pass + else:raise ValueError('Invalid compiler input accepted') + relation_basis=N.check_relation_basis() + source = N.read(N.ROOT / N.SOURCE) + candidate = N.construct(source) + c = candidate['canonical'] + before, after = {}, {} + for direction in ('forward', 'backward'): + back = direction == 'backward' + before[direction] = N.replay(c, source['programs'][direction], back, False) + after[direction] = N.replay(c, candidate['programs'][direction], back, back) + N.need(before[direction]['paid'] == N.OLD_PAID and before[direction]['helpers'] == N.OLD_HELPERS, 'Pinned source census') + N.need(after[direction]['paid'] == candidate['paid_profiles'][direction], 'Emitted direction-specific paid profile') + helpers = dict(N.OLD_HELPERS) + if back: helpers[9] -= 8 + N.need(after[direction]['paid'] == (N.NEW_PAID if back else N.OLD_PAID) and after[direction]['helpers'] == helpers, 'Actual complete changed native census') + identities = N.independent_source_identities(source) + phase = N.phase_inheritance(source, candidate) + controls = N.controls(c, candidate) + arithmetic = price.run(after) + data = (json.dumps(candidate, sort_keys=True, separators=(',', ':')) + '\n').encode() + result = N.encode({'status': 'PASS_CONDITIONAL_KAPPA_0030266747680744_GEOMETRIC_TAILS', + 'relation_basis': relation_basis, 'source_payload_sha256': N.PAYLOAD, 'word_payload_sha256': sha256(data).hexdigest(), + 'source_native': before, 'candidate_native': after, 'independent_source_identities': identities, + 'phase_inheritance': phase, 'native_negative_controls': controls, 'arithmetic': arithmetic, + 'scope': 'Exact finite word, full all-column endpoints, ownership, p16 bill and compiler arithmetic. Retains source native phase, allowed owned erasure, mixed-target all-size, analytic, precision, tape, prime and exact-recovery contracts. No selected-frontier update.'}) + return data, result + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--write', action='store_true', help='Write only this package word and result after all checks pass.') + ap.add_argument('--out', type=Path, help='Write a replay result to a separate path.') + args = ap.parse_args() + data, result = run() + if args.write: + N.need(gzip.decompress((N.HERE/'WORD.json.gz').read_bytes())==data,'Frozen predecessor word unchanged') + (HERE / 'RESULT.json').write_text(json.dumps(result, indent=2, sort_keys=True) + '\n', encoding='utf-8') + else: + N.need(gzip.decompress((N.HERE / 'WORD.json.gz').read_bytes()) == data, 'Exact literal published word') + N.need(N.read(HERE / 'RESULT.json') == result, 'Exact published replay result') + if args.out: + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + '\n', encoding='utf-8') + print(json.dumps({'status': result['status'], **{k: result['arithmetic'][k] for k in ('kappa', 'gain_over_PR4610', 'raw_root_interval', 'paid_calls', 'productive_fields')}}, sort_keys=True)) + + +if __name__ == '__main__': + main()