From 4bd6efa51a495a7c7b7754915cf0244e7e60969e Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 15:49:05 -0500 Subject: [PATCH] Research: eight joint helper relations improve conditional kappa to 0.00302666 --- .../kappa-joint-relations-20261023/README.md | 280 +++++ .../RESULT.json | 961 ++++++++++++++++++ .../SOURCES.json | 90 ++ .../kappa-joint-relations-20261023/TASK.json | 80 ++ .../VERIFY.json | 38 + .../WITNESS.json | 434 ++++++++ .../WORD.json.gz | Bin 0 -> 207650 bytes .../kappa-joint-relations-20261023/native.py | 344 +++++++ .../kappa-joint-relations-20261023/price.py | 198 ++++ .../kappa-joint-relations-20261023/verify.py | 64 ++ 10 files changed, 2489 insertions(+) create mode 100644 research/kappa-joint-relations-20261023/README.md create mode 100644 research/kappa-joint-relations-20261023/RESULT.json create mode 100644 research/kappa-joint-relations-20261023/SOURCES.json create mode 100644 research/kappa-joint-relations-20261023/TASK.json create mode 100644 research/kappa-joint-relations-20261023/VERIFY.json create mode 100644 research/kappa-joint-relations-20261023/WITNESS.json create mode 100644 research/kappa-joint-relations-20261023/WORD.json.gz create mode 100644 research/kappa-joint-relations-20261023/native.py create mode 100644 research/kappa-joint-relations-20261023/price.py create mode 100644 research/kappa-joint-relations-20261023/verify.py diff --git a/research/kappa-joint-relations-20261023/README.md b/research/kappa-joint-relations-20261023/README.md new file mode 100644 index 0000000000..d0593a46e8 --- /dev/null +++ b/research/kappa-joint-relations-20261023/README.md @@ -0,0 +1,280 @@ +# Conditional kappa 0.00302666 from eight joint helper relations + +This construction gives **conditional kappa = 151333/50000000 = 0.00302666**. +It improves the one-relation [PR #5377](https://github.com/CrocSwap/integer-mult-bounds/pull/5377) +value by **431/100000000 = 0.00000431**. The gain over the selected final +[PR #4610](https://github.com/CrocSwap/integer-mult-bounds/pull/4610) +value is **24421/5000000000 = 0.0000048842**. + +Eight independent helper relations replace all eight backward rank-eight +centers with exact saved values. They also remove eight later rank-one jobs +on zero fields. Each backward call gives up eight rank-nine productive helper +targets. All 224 main inputs and the other 400 helper inputs stay independent. +The forward word and p16 controller stay unchanged. This changes the complete +paid profile and proves a strict moment gain. + +[WITNESS.json](WITNESS.json) lists the eight relations and source events. +[WORD.json.gz](WORD.json.gz) contains the complete literal program. +[RESULT.json](RESULT.json) gives the exact row identities and complete bill. +[SOURCES.json](SOURCES.json) pins every consumed input by Git blob and SHA256. +The package has no runtime dependency on the pending PR #5377 package. + +## Source and research boundary + +The branch starts at canonical main +[1ec1119972c9aefe42525172d07b332fcff81cb4](https://github.com/CrocSwap/integer-mult-bounds/commit/1ec1119972c9aefe42525172d07b332fcff81cb4). +This base selects the final PR4610 result with the independent +[PR #5241](https://github.com/CrocSwap/integer-mult-bounds/pull/5241) audit. +The [selected review](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/docs/research/pr-intake-evidence/pr4610/PROOF-REVIEW.md) +records its exact scope and five retained framework assumptions. + +The frozen native source is Cao Yifan's +[round-three word](https://github.com/intqwq/integer-mult-bounds/blob/20bb93cd990d2ff683e4d0fc56b87a42cd5d3296/research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz) +at final PR4610 commit `20bb93cd990d2ff683e4d0fc56b87a42cd5d3296`. +Its decompressed SHA256 is +`cfcd36b40326d7a5815e1db5313444379b3fb756b27d5201c561574c085cc0dd`. +The prior complete bill and crossing come from its +[round-six arithmetic](https://github.com/intqwq/integer-mult-bounds/blob/20bb93cd990d2ff683e4d0fc56b87a42cd5d3296/research/kappa-round6-compiler-tightening-20261022/ARITHMETIC.json). +All consumed source bytes occur in the recorded main base. + +The [canonical claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/5125#discussioncomment-19154290) +covers only the eight named centers and their joint relation system. +The separate [no-snapshot relation search](https://github.com/CrocSwap/integer-mult-bounds/discussions/5125#discussioncomment-19154267) +has released its scope and explicitly excludes joint relations and center reuse. +The original-input cache search in +[Discussion #5355](https://github.com/CrocSwap/integer-mult-bounds/discussions/5355) +is also released. The coded caller in +[Discussion #4930](https://github.com/CrocSwap/integer-mult-bounds/discussions/4930) +retains all original helper outputs. This package changes eight helper inputs +in backward calls. It does not take those other research scopes. + +## General relation construction + +Consider an exact linear register program with independent helper inputs in +one common input frame. Let r independent scalar relations have a reduced +basis with dyadic coefficients and r helper pivots. Make these r fields owned. +Clear them and prepare each pivot from the nonpivot inputs with scalar ADDs. +Each relation is then zero for every remaining independent input. The r owned +fields receive no productive output credit. + +Suppose that an earlier field and a later owned center output have the same +exact frame, and their logical row difference is zero under these relations. +Clear a new owned field, COPY the earlier value into it and retain it. At the +center, clear the old owned center and COPY the saved value into that same +output frame. Clear the snapshot after use. This implements the old output +exactly without the center job. If another paid job has an identically zero +input row, the physical identity also implements that job on the restricted +domain. A frame annotation may change only after this exact zero check. + +Each replacement preserves the source state on that domain. Induction through +the chronological word therefore preserves every retained output. Clear all +owned pivots at return. The complete cost must remove their productive +credits and count every new scalar operation and storage route. Independence +of the relations is necessary: counting eight apparent formulas is not a +proof of eight independent pivots or of eight distinct saved jobs. + +## Eight exact source identities + +Let h_r denote the unrestricted logical input of source helper Lr. Define: + +```text +D1 = h230 - h324 + h326 + h328 - h333 +D2 = h225 - h384 - h388 + h390 + h391 + h392 - h397 +D3 = h225 - h227 + h229 - 2h231 + h232 - h234 - h235 + - h236 - h237 + 2h238 + h239 - h384 - h388 + h390 + + h391 + h392 - h397 +D4 = h227 + h229 - h232 + h234 + h235 - h236 + h237 + - h239 - h324 + h326 + h328 - h333 +D5 = h241 - h243 + h245 - h247 - h252 - h253 + h254 + h255 +D6 = h225 - h241 + h243 + h245 - h247 - h252 + h253 + + h254 - h255 - h324 + h326 + h328 - h333 - h384 + - h388 + h390 + h391 + h392 - h397 +D7 = h257 - h259 + h261 - h263 - h268 - h269 + h270 + h271 +D8 = h288 - h294 - h296 - h297 + h300 + h303 +``` + +Every helper in these relations starts in frame 0 and ends in frame 1, of +rank nine. Exact row reduction gives the eight pivots +**225, 227, 229, 230, 241, 245, 257, 288**. The reduced basis has no other pivot +in any pivot row. Its nonzero coefficients are integers or half-integers. +The emitted preparation thus uses only independent inputs and dyadic ADDs; +it has no cyclic dependence and needs no recursive job. The full reduced +basis is recorded in the word and result. + +The following indices are zero-based indices in the frozen backward source. +A snapshot is taken immediately after its named event. The two last columns +are identities in the unrestricted source, before any relation is imposed. + +| Relation | Snapshot event and role | Frame | Center event | Later zero event and role | Center minus snapshot | Later row | +|---|---|---|---|---|---|---| +| D1 | 11205, L92 | 254 | 11332 | 15584, L92 | D1/4 | -D1/4 | +| D2 | 11218, L57 | 274 | 11358 | 17264, L57 | D2/4 | -D2/4 | +| D3 | 11231, L81 | 619 | 11384 | 17256, L81 | D3/4 | -D3/4 | +| D4 | 11244, L224 | 279 | 11410 | 17722, L224 | -D4/4 | D4/4 | +| D5 | 11257, L11 | 621 | 11436 | 15876, L11 | D5/4 | -D5/4 | +| D6 | 11270, L240 | 280 | 11462 | 17245, L240 | -D6/4 | D6/4 | +| D7 | 11283, L9 | 624 | 11488 | 15870, L9 | D7/4 | -D7/4 | +| D8 | 11306, L288 | 281 | 11514 | 17580, L288 | D8/4 | -D8/4 | + +The COPY coefficient is one in every case. All eight snapshots are live +before the first center replacement. They use distinct owned fields C1 through +C8. Each is read once and cleared after use. The source owned center C0 is +cleared before each replacement. Each later zero job changes from the listed +frame to frame 1 and has rank one. `zero_retag` is a physical no-op; the verifier +requires its complete row to be zero and checks both exact frame identifiers. + +A separate source interpreter checks all sixteen identities on the unrestricted +632 source inputs. The new interpreter then executes the emitted program on +all **624 independent persistent columns and 17 arbitrary owned entry columns**. +It checks every scalar frame, paid rank, native transition, retained endpoint, +final frame and owned return. No independent input is silently set to zero. + +The identities are over rational coefficients and reduced free operator words. +They hold for any invertible interpretation of the native generators. At +positive tensor width f, replace each generator with its source tensor power +and each inverse with the inverse tensor power. Keep each rational coefficient +outside this substitution. Evaluation is a representation of the free group, +so the identities still hold. In particular, no tensor power is distributed +over a sum. The retained +[free-word tensor audit](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/free-word-tensor-lift-audit/PROOF.md) +records this termwise argument and credits Cinna Davis and ToikY. + +All 4,429 source frames, 72 native maps, adapters and retained paid operators +are unchanged. The package authenticates and reuses the source +[absolute-phase evidence](https://github.com/intqwq/integer-mult-bounds/blob/20bb93cd990d2ff683e4d0fc56b87a42cd5d3296/research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz). +Same-frame COPY and identity on zero add no phase recipe. This package does +not rerun the source Clifford lowering or amplitude checks. The new identities +hold for the full source operators, including their absolute phases. + +## Complete bill and compiler + +Each backward call has the following complete local profiles: + +```text +paid: {1:2193, 2:412, 3:510, 4:127, 5:40} +helpers: {4:28, 7:7, 8:47, 9:318} +``` + +The controller has 16 backward calls, two unchanged forward calls and 15 thin +queries. Every idle and main target remains paid or credited as in the source. +Compared with PR4610, the complete difference is **minus 128 H1 and 128 H8 paid +jobs, with minus 128 H9 productive targets**. Compared with PR5377 it removes +224 further paid jobs and 112 further productive fields. The complete bill has +**64,148 paid jobs and 10,800 productive fields**. The respective rank masses +are 237,982 and 238,734, with unchanged surplus 752. + +For every real `0 < t < 1`, the complete target-minus-paid moment increases by + +```math +128(1+8^t-9^t)>0. +``` + +Both `(1/9)^t > 1/9` and `(8/9)^t > 8/9`; summing and multiplying by `9^t` +proves the strict inequality. This comparison charges the lost helper jobs. + +The backward scalar allowance is **158,744**, which is 576 above the source. +Its maximum formal prefix L1 norm is **163**, below the source value 169, and +its maximum denominator stays 64. The forward values remain 158,120, 457 and +32. Eight new physical slots hold C1 through C8; the eight private helpers use +existing slots. The local route allowance charges both routes for each of +these sixteen new owned lifetimes. It is **4,834,000**. The local scalar-plus-route +bill stays below 10^7. The complete raw nonrecursive bound remains +**181,098,496 < 10^9**. These bounds include preparation, storage, COPY and CLEAR. +The retained precision and tape prescriptions must use this expanded fixed +template, not a former numerical template-size cap. + +Two rational interval engines verify the complete moment. Its unique crossing +in `0 < kappa < 1` lies in **(0.00302667476807, 0.00302667476808)**. Exact interval +bounds prove decrease on `[0,0.05]` and negativity on `[0.05,1]`. This is a ceiling +for this fixed complete profile. It does not optimize all relation systems. +The claimed kappa leaves more than **0.00000001476807** raw headroom. + +The tested saving is **0.00302667**. The paid/target ratio is below +`0.999999995016963387587258118167`, with reserve `1e-9`. The two charged tail +ratios are below 0.957 and 0.952, respectively, hence below 0.97. Tensor power +1024, cutoff 20, floor 21, tail offset 1/5, complement factor 63/64 and logarithm +power 1000 all pass. The finite compiler uses gap `1/700000000`, `j=44836`, +`H=31385200000000` and `N=2^31385200000000`. The exact test +`(H+1)^1000 < 2^44836` passes; the preceding grid integer fails. The uniform +complex saving is `529667/175000000`. All **54 strict outer predicates and +four functional predicates** pass with the retained ordinary BIT saving 0.0034. + +## Verification and limitations + +Use CPython 3.12 or 3.14 and the standard library. From the repository root: + +```sh +python3 -B scripts/research_package.py --package research/kappa-joint-relations-20261023 --check-only +python3 -B scripts/research_package.py --package research/kappa-joint-relations-20261023 +``` + +The registered verifier runs normal and optimized modes. The direct commands +also work in the official Git-free export: + +```sh +python3 -B research/kappa-joint-relations-20261023/verify.py +python3 -O -B research/kappa-joint-relations-20261023/verify.py +``` + +Both print `PASS_CONDITIONAL_KAPPA_00302666_EIGHT_JOINT_RELATIONS`. +The verifier reconstructs and compares the literal published word and result. +`--write` is an authoring mode that writes only this package after all checks +pass. Regeneration compares decompressed payloads, not gzip container bytes. + +Fresh checks cover both original and changed words, all retained and owned +entry columns, sixteen unrestricted source identities, exact relation rank, +phase source bindings, the p16 Laurent controller and both boundary programs, +two complete invoice counts, two interval engines, the fixed profile ceiling, +completion, compiler and every outer predicate. Seven native controls reject +a wrong preparation sign, omitted input clear, wrong snapshot, wrong zero +frame, wrong paid rank, wrong COPY gauge and omitted output clear. Five +cost controls reject unearned helper credit and four invalid outer parameters. + +Normal and optimized registered checks passed on CPython 3.12.14. The direct +author replay also passed on CPython 3.14. Metadata and source pins passed. +The publication handoff records committed-byte and Git-free export checks. +The optional full-history preflight is not claimed in this shallow checkout. + +These are author checks. The source phase lowering, BIT native construction, +physical tape execution, numerical precision execution, analytic decomposition, +fine-prime avoidance and exact integer recovery are inherited. They are not +rerun here. No expanded compiled word, Lean proof, Docker run or independent +human acceptance is claimed. The complete result retains the selected five +framework assumptions: all-column native realization, owned erasure, uniform +compiler closure, precision/tape and analytic recovery. No selected record is +changed. This is a conditional mathematical improvement, not a timing result. + +## Credit + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +The new code and proof generalize our +[frozen one-relation package](https://github.com/aliromman/integer-mult-bounds/blob/c448d13c71908647f968b06cddb795ce7d288139/research/kappa-owned-relation-20261023/README.md) +from PR5377. That package supplies D1, its COPY/zero argument and the original +complete-cost verifier. The new work is the joint rank-eight system, seven +further centers, eight simultaneous snapshots and the new complete bound. + +Cao Yifan's [PR #4610](https://github.com/CrocSwap/integer-mult-bounds/pull/4610) +supplies the exact word, phase evidence and compiler lineage. Chris R's +[PR #5241](https://github.com/CrocSwap/integer-mult-bounds/pull/5241) supplies the +independent admission evidence now used by main; that audit does not cover +this changed helper inventory. Cinna Davis's +[PR #4470](https://github.com/CrocSwap/integer-mult-bounds/pull/4470) supplies the +controller and productive-helper lineage. zxv's +[PR #5283](https://github.com/CrocSwap/integer-mult-bounds/pull/5283) supplies the +related cache contract and handoff to actual row/lifetime matches. + +The retained [pricing source](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/kappa-interface-round2-20261022/price_profile.py) +and [native source](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/kappa-rebuild/complex/native_extensions.py) +credit Dugongue's transported frames, zxv's native/compiler work, Jacob Alan +Sussman's mixed-target recursion and the earlier contributors. Their notices +and the original source bytes remain unchanged. + +## Open next questions + +An independent reviewer should check the eight pivot preparations and sixteen +unrestricted identities, then the COPY/zero realization and complete bill. +Independent physical and all-size acceptance remains necessary. A further +construction must change another paid job or relation system: all eight +backward centers are already removed here. Check live claims and price every +lost target before that search. [TASK.json](TASK.json) records both questions, +first checks and blockers. No optimum over helper relations is claimed. diff --git a/research/kappa-joint-relations-20261023/RESULT.json b/research/kappa-joint-relations-20261023/RESULT.json new file mode 100644 index 0000000000..b6c9cd0da1 --- /dev/null +++ b/research/kappa-joint-relations-20261023/RESULT.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/kappa-joint-relations-20261023/SOURCES.json b/research/kappa-joint-relations-20261023/SOURCES.json new file mode 100644 index 0000000000..71c57c8a90 --- /dev/null +++ b/research/kappa-joint-relations-20261023/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/kappa-joint-relations-20261023/TASK.json b/research/kappa-joint-relations-20261023/TASK.json new file mode 100644 index 0000000000..5b57a9e823 --- /dev/null +++ b/research/kappa-joint-relations-20261023/TASK.json @@ -0,0 +1,80 @@ +{ + "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": "refined", + "actual_scope": "Prepare eight independent cold-helper relations, replace all eight backward centers with exact snapshots, remove eight later zero jobs, and debit eight rank-nine helper targets per backward call.", + "scope_change_reason": "This uses the current helper-inventory priority. It changes the independent input inventory and scalar word; all physical native maps and the p16 controller remain fixed.", + "bottleneck_link": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5125#discussioncomment-19154290", + "budget_minutes": 240, + "stop_rule": "Publish one exact complete-profile kappa improvement after native, ownership, phase-inheritance, compiler and cold-export checks.", + "outcome": "completed", + "evidence": "WITNESS.json, WORD.json.gz, RESULT.json and the full exact verifier. Conditional kappa 0.00302666.", + "author": "Ali Romman", + "ai_assistance": "Substantial OpenAI Codex assistance in discovery, code, proof, verification and publication.", + "open_questions": [ + { + "question": "Can an independent reviewer validate the joint relation system and all inherited physical transfer premises?", + "why_it_matters": "The finite exact construction still uses the five selected framework assumptions.", + "first_step": "Check the sixteen unrestricted row identities, eight pivots and complete cost in README.md and RESULT.json.", + "blocked_by": "Independent review has not yet occurred." + }, + { + "question": "Can a different relation system improve the complete bill beyond this fixed profile?", + "why_it_matters": "The new profile ceiling is not an optimum over helper relations.", + "first_step": "Check live claims, then charge each lost target and prove an additional removed job.", + "blocked_by": "All eight backward center jobs are already removed in this construction." + } + ], + "coordination": { + "claim": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5125#discussioncomment-19154290", + "distinct_scopes": [ + "https://github.com/CrocSwap/integer-mult-bounds/discussions/5355", + "https://github.com/CrocSwap/integer-mult-bounds/discussions/4930" + ], + "boundary": "This extends our frozen PR5377 relation to a joint rank-eight system. The original-input cache scope is released. The coded caller retains all original helpers; this package changes eight helper inputs per backward call. No shared controller or selected file changes." + } +} diff --git a/research/kappa-joint-relations-20261023/VERIFY.json b/research/kappa-joint-relations-20261023/VERIFY.json new file mode 100644 index 0000000000..8098df4c80 --- /dev/null +++ b/research/kappa-joint-relations-20261023/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": "Exact native rows, owned entry columns, event ranks, independent source identities, p16 Laurent controller, complete asymmetric invoice, two interval engines, compiler and outer predicates, negative controls." + }, + { + "argv": [ + "{python}", + "-O", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "The same checks remain active with Python assertions disabled." + } + ] +} diff --git a/research/kappa-joint-relations-20261023/WITNESS.json b/research/kappa-joint-relations-20261023/WITNESS.json new file mode 100644 index 0000000000..19665f9eac --- /dev/null +++ b/research/kappa-joint-relations-20261023/WITNESS.json @@ -0,0 +1,434 @@ +[ + { + "relation": [ + [ + 230, + "1" + ], + [ + 324, + "-1" + ], + [ + 326, + "1" + ], + [ + 328, + "1" + ], + [ + 333, + "-1" + ] + ], + "event": 11332, + "frame": 254, + "cached_event": 11205, + "cached_role": 92, + "zero_event": 15584, + "zero_role": 92, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + }, + { + "relation": [ + [ + 225, + "1" + ], + [ + 384, + "-1" + ], + [ + 388, + "-1" + ], + [ + 390, + "1" + ], + [ + 391, + "1" + ], + [ + 392, + "1" + ], + [ + 397, + "-1" + ] + ], + "event": 11358, + "frame": 274, + "cached_event": 11218, + "cached_role": 57, + "zero_event": 17264, + "zero_role": 57, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + }, + { + "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" + ] + ], + "event": 11384, + "frame": 619, + "cached_event": 11231, + "cached_role": 81, + "zero_event": 17256, + "zero_role": 81, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + }, + { + "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" + ] + ], + "event": 11410, + "frame": 279, + "cached_event": 11244, + "cached_role": 224, + "zero_event": 17722, + "zero_role": 224, + "copy_factor": "1", + "difference_factor": "-1/4", + "zero_factor": "1/4" + }, + { + "relation": [ + [ + 241, + "1" + ], + [ + 243, + "-1" + ], + [ + 245, + "1" + ], + [ + 247, + "-1" + ], + [ + 252, + "-1" + ], + [ + 253, + "-1" + ], + [ + 254, + "1" + ], + [ + 255, + "1" + ] + ], + "event": 11436, + "frame": 621, + "cached_event": 11257, + "cached_role": 11, + "zero_event": 15876, + "zero_role": 11, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + }, + { + "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" + ] + ], + "event": 11462, + "frame": 280, + "cached_event": 11270, + "cached_role": 240, + "zero_event": 17245, + "zero_role": 240, + "copy_factor": "1", + "difference_factor": "-1/4", + "zero_factor": "1/4" + }, + { + "relation": [ + [ + 257, + "1" + ], + [ + 259, + "-1" + ], + [ + 261, + "1" + ], + [ + 263, + "-1" + ], + [ + 268, + "-1" + ], + [ + 269, + "-1" + ], + [ + 270, + "1" + ], + [ + 271, + "1" + ] + ], + "event": 11488, + "frame": 624, + "cached_event": 11283, + "cached_role": 9, + "zero_event": 15870, + "zero_role": 9, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + }, + { + "relation": [ + [ + 288, + "1" + ], + [ + 294, + "-1" + ], + [ + 296, + "-1" + ], + [ + 297, + "-1" + ], + [ + 300, + "1" + ], + [ + 303, + "1" + ] + ], + "event": 11514, + "frame": 281, + "cached_event": 11306, + "cached_role": 288, + "zero_event": 17580, + "zero_role": 288, + "copy_factor": "1", + "difference_factor": "1/4", + "zero_factor": "-1/4" + } +] diff --git a/research/kappa-joint-relations-20261023/WORD.json.gz b/research/kappa-joint-relations-20261023/WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..a4a58afce144541603385e9bf4e0695c54eade7c GIT binary patch literal 207650 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 @>uveO2avV>R2 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

(_a%qi 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 G-W>oS{_sZt literal 0 HcmV?d00001 diff --git a/research/kappa-joint-relations-20261023/native.py b/research/kappa-joint-relations-20261023/native.py new file mode 100644 index 0000000000..cbff46fe6e --- /dev/null +++ b/research/kappa-joint-relations-20261023/native.py @@ -0,0 +1,344 @@ +"""Eight prepared helpers remove sixteen paid jobs in the PR4610 backward word. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +This extends Ali Romman's one-relation PR5377 at c448d13c71908647f968b06cddb795ce7d288139. +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' +WITNESSES = json.loads((HERE / 'WITNESS.json').read_text(encoding='utf-8')) +COUNT = 8 +OLD_PAID = {1: 2201, 2: 412, 3: 510, 4: 127, 5: 40, 8: 8} +NEW_PAID = dict(OLD_PAID) +NEW_PAID[1] -= COUNT +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) + + +def relation_system(): + """Find exact independent pivots and eliminate all other pivot columns.""" + basis = {} + need(len(WITNESSES) == COUNT, 'Eight declared witnesses') + for witness in WITNESSES: + pairs = witness['relation'] + row = {h: Q(q) for h, q in pairs} + need(len(row) == len(pairs) and all(224 <= h < 632 and q for h, q in row.items()), 'Distinct helper coefficients') + for pivot, prior in sorted(basis.items()): + add(row, prior, -row.get(pivot, Q(0))) + need(row, 'Independent helper relations') + pivot = min(row); scale = row[pivot] + row = {h: q / scale for h, q in row.items()} + for prior in basis.values(): + add(prior, row, -prior.get(pivot, Q(0))) + basis[pivot] = row + need(len(basis) == COUNT, 'Eight paid helper outputs removed') + for pivot, row in basis.items(): + need(all(row.get(h, 0) == int(h == pivot) for h in basis), 'Reduced pivot columns') + return dict(sorted(basis.items())) + + +BASIS = relation_system() + + +def construct(source): + c = source['canonical']; old = source['programs']['backward'] + all_helpers = {h for x in WITNESSES for h, _ in x['relation']} + need(all(c['start'][h] == 0 and c['final'][h] == 1 for h in all_helpers), 'Every relation uses cold full-ended helpers') + snapshots, centers, zeros = {}, {}, {} + for slot, x in enumerate(WITNESSES, 1): + frame, role = x['frame'], x['cached_role'] + need(old[x['event']] == ['center', 0, 0, frame, 8], 'Exact source center') + event = old[x['cached_event']] + need(event[0] == 'climb' and event[2] == role and event[4] == frame, 'Exact snapshot source') + need(old[x['zero_event']] == ['climb', 'warp_retimed', x['zero_role'], frame, 1, 1], 'Exact zero source job') + need(x['cached_event'] < x['event'] < x['zero_event'] and Q(x['copy_factor']) == 1, 'Snapshot chronology and COPY coefficient') + snapshots[x['cached_event']] = (slot, x) + centers[x['event']] = (slot, x) + zeros[x['zero_event']] = x + need(len(snapshots) == len(centers) == len(zeros) == COUNT, 'Distinct replacement sites') + word = [] + for pivot, row in BASIS.items(): + 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]) + for index, event in enumerate(old): + if index in centers: + slot, x = centers[index]; f = x['frame'] + word += [['scalar', ['clear', ['C', 0]], f], + ['scalar', ['copy', ['C', 0], ['C', slot]], f], + ['scalar', ['clear', ['C', slot]], f]] + elif index in zeros: + x = zeros[index] + word.append(['zero_retag', ['L', x['zero_role']], x['frame'], 1]) + else: + word.append(deepcopy(event)) + if index in snapshots: + slot, x = snapshots[index]; f = x['frame'] + word += [['scalar', ['clear', ['C', slot]], f], + ['scalar', ['copy', ['C', slot], ['L', x['cached_role']]], f]] + word += [['scalar', ['clear', ['L', h]], 1] for h in BASIS] + physical = deepcopy(c); physical.pop('local_profile') + return {'schema': 'joint-helper-relations-word/1', 'canonical': physical, + 'relation_basis': encode(BASIS), + 'paid_profiles': {'forward': OLD_PAID, 'backward': NEW_PAID}, + 'owned': {'forward': [['C', 0]], 'backward': [['C', i] for i in range(COUNT + 1)] + [['L', h] for h in BASIS]}, + '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', i) for i in range(1, COUNT + 1)} | {('L', h) for h in BASIS} 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 any(dst == ('L', x['zero_role']) and (old, new) == (x['frame'], 1) for x in WITNESSES), 'Declared zero identity') + need(frames[dst] == old and not rows[dst], 'Zero identity requires an identically zero full row') + 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 == COUNT * int(specialized), 'All eight zero identities checked') + 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 + return {'paid': dict(sorted(paid.items())), 'helpers': dict(sorted(helpers.items())), + 'independent_persistent_columns': 632 - COUNT 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): + """Check unrestricted source identities with the predecessor row engine.""" + v = load('research/kappa-causal-continuation/buffer-borrowing/verify_buffers.py', 'joint_relation_source_rows') + rows = {('L', i): v.identity(('L', i)) for i in range(632)} + rows['C', 0] = v.identity(('C', 0)); saved = {}; checked = [] + 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 x in WITNESSES: + delta = {(('L', h), ()): Q(q) for h, q in x['relation']} + if index == x['cached_event']: + saved[index] = dict(rows['L', x['cached_role']]) + if index == x['event']: + diff = dict(rows['C', 0]); v.add(diff, saved[x['cached_event']], -Q(x['copy_factor'])) + need(diff == {k: Q(x['difference_factor']) * q for k, q in delta.items()}, 'Independent exact center minus snapshot identity') + checked.append(('center', index)) + if index == x['zero_event']: + need(rows['L', x['zero_role']] == {k: Q(x['zero_factor']) * q for k, q in delta.items()}, 'Independent exact zero-site row identity') + checked.append(('zero', index)) + need(len(checked) == 2 * COUNT, 'Sixteen unrestricted source identities') + need(all(rows['L', i] == v.expected(('L', i), [], True, False) for i in range(632)), 'Independent unrestricted source endpoints') + return {'source_event_indices_are_zero_based': True, 'witnesses': WITNESSES, + 'relation_rank': COUNT, 'owned_pivots': list(BASIS), 'reduced_basis': BASIS, + 'snapshot_terms_before_substitution': {i: len(row) for i, row in saved.items()}, + 'checked': checked} + + +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 WITNESSES for i in (x['event'], x['zero_event'])) + 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 + 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/kappa-joint-relations-20261023/price.py b/research/kappa-joint-relations-20261023/price.py new file mode 100644 index 0000000000..2868905a16 --- /dev/null +++ b/research/kappa-joint-relations-20261023/price.py @@ -0,0 +1,198 @@ +"""Complete p16 bill and finite compiler for eight joint helper relations. + +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. +Ali Romman, with substantial OpenAI Codex assistance. +""" +from collections import Counter +from fractions import Fraction as Q +from native import ROOT, read, load, need, encode, OLD_PAID, OLD_HELPERS, COUNT + +KAPPA = Q('.00302666') +TESTED = Q('.00302667') +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 complete local 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] -= 16 * COUNT + 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 - 16 * COUNT; check_P[8] -= 16 * COUNT + 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) + 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] -= 16 * COUNT; prior_P[1] -= 16 * COUNT; prior_P[8] -= 16 * COUNT + 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(Q('.00302238736348'))[0] > 0, 'Changed invoice beats the PR5377 raw crossing') + need(margin(OLD_ROOT_UPPER)[0] > 0, 'Changed invoice beats the prior raw root upper endpoint') + lo, hi, grid = 0, 10**12, 10**14 + 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, v, c, b = 1 - TESTED, Q(1, 5), 1024, 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**9); g = d = Q(97, 100) + need(alpha[1] < 1 - reserve and gamma[1] < g and delta[1] < d, 'Original and completion tails charged') + need(g**128 < Q(1, 16) and d**128 < Q(1, 16), 'Two strict tail decay blocks') + normalized = 1 / (1 + v * reserve) + Q(4, 2**32) + need(normalized < 1 and c**64 < b**63, 'Paid completion, splitting and rounding') + theta, power = Q(63, 64), 1000 + eta = E.scale(E.power(145, -v * TESTED), t) + need(2 * (20**v)**64 <= (145**v)**63 and eta[0] > theta**power, 'Shifted exits and complement capacity') + need(E.power(145, v * TESTED)[1] < 2**power, 'Compiler initial range') + gap = (TESTED - KAPPA) / 7; need(gap.numerator == 1, 'Finite integer grid') + step = gap.denominator + def wins(j): return (step * j + 1)**power < 2**j + left, right = 1, 2 + while not wins(right): left, right = right, 2 * right + while right - left > 1: + mid = (left + right) // 2 + if wins(mid): right = mid + else: left = mid + height = step * right + need(height > 8 * v and wins(right) and not wins(right - 1), 'Finite uniform-rank threshold') + local_scalar = max(x['real_scalar_allowance'] for x in native.values()) + # Charge both routes for each of eight snapshots and eight owned helpers. + # The eight owned helpers use existing physical slots. + routes = (max(sum(x['paid'].values()) for x in native.values()) + 2 * 408 + 688 + 4 * COUNT) * 1000 + need(local_scalar + routes < 10**7, 'All new preparation, COPY, CLEAR and fixed routes fit') + scalar_upper = 18 * 10**7 + 15 * 1792 + 32 * 112 * (len(word['physical_events']) + sum(len(word['boundaries'][k + '_program']) for k in ('left', 'right'))) + need(scalar_upper < 10**9, 'Complete raw nonrecursive bound') + bit = read(ROOT / 'research/query-thinned-controllers/RESULT.json')['ordinary_BIT'] + atom = Q(bit['atom']); ordinary = (1 - atom) * Q(bit['after_cover']) + atom * Q('.0000384599'); admitted = Q(bit['admitted']) + need(atom == Q('.004') and atom > 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({'kappa': KAPPA, 'kappa_decimal': '.00302666', 'gain_over_PR4610': KAPPA - PREVIOUS, + 'gain_over_PR5377': KAPPA - Q('.00302235'), 'PR5377_raw_root_upper': Q('.00302238736348'), + '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, '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': COUNT, 'owned_slots_backward': 2 * COUNT + 1}, + 'ordinary_BIT': bit, 'outer': outer, 'negative_controls': controls}) diff --git a/research/kappa-joint-relations-20261023/verify.py b/research/kappa-joint-relations-20261023/verify.py new file mode 100644 index 0000000000..3f7eb9359a --- /dev/null +++ b/research/kappa-joint-relations-20261023/verify.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Replay the joint-relation native word and its complete conditional kappa. + +Ali Romman, 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 native as N +import price + + +def run(): + N.authenticate() + 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] -= N.COUNT + 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_00302666_EIGHT_JOINT_RELATIONS', + '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.HERE / 'WORD.json.gz').write_bytes(gzip.compress(data, mtime=0)) + (N.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(N.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', 'gain_over_PR5377', 'raw_root_interval', 'paid_calls', 'productive_fields')}}, sort_keys=True)) + + +if __name__ == '__main__': + main()