From f4be7cfff0ea3935d454b2cb944ecabc5ac4595a Mon Sep 17 00:00:00 2001 From: "Dr. Maksym Kitsera" Date: Sat, 10 Oct 2026 04:51:47 -0700 Subject: [PATCH 1/9] Verify shared-donor kernels composed with pinned PR300 and co-retiming --- research/gen5b-shared-kernels/NOTICE.md | 39 + .../gen5b-shared-kernels/PROOF-CORETIME12.md | 151 + .../gen5b-shared-kernels/PROOF-KERNEL72.md | 159 + research/gen5b-shared-kernels/PROOF.md | 148 + .../gen5b-shared-kernels/README-CORETIME12.md | 112 + research/gen5b-shared-kernels/README.md | 114 + .../assembly_arithmetic.py | 108 + research/gen5b-shared-kernels/bank_binding.py | 23 + .../baseline_arithmetic.py | 126 + .../certificates/coretime12/banks.json | 42 + .../certificates/coretime12/charts.json | 177 + .../certificates/coretime12/finite-bill.json | 73 + .../certificates/coretime12/frames.json | 1489 ++++ .../certificates/coretime12/local.json | 285 + .../certificates/coretime12/pricing.json | 710 ++ .../coretime12/scalar-transport.json | 321 + .../certificates/coretime12/suffix.json | 47 + .../certificates/coretime12/summary.json | 21 + .../certificates/kernel70/banks.json | 43 + .../certificates/kernel70/bridge.json | 4580 +++++++++++ .../certificates/kernel70/charts.json | 5166 ++++++++++++ .../certificates/kernel70/composition.json | 859 ++ .../certificates/kernel70/finite-bill.json | 101 + .../certificates/kernel70/norm.json | 32 + .../certificates/kernel70/pricing.json | 782 ++ .../certificates/kernel72/banks.json | 43 + .../certificates/kernel72/bridge.json | 4819 +++++++++++ .../certificates/kernel72/charts.json | 5371 +++++++++++++ .../certificates/kernel72/composition.json | 860 ++ .../certificates/kernel72/finite-bill.json | 91 + .../certificates/kernel72/norm.json | 32 + .../kernel72/pr300-finite-bill.json | 101 + .../certificates/kernel72/pr300-pricing.json | 756 ++ .../certificates/kernel72/pricing.json | 744 ++ .../certificates/pr300-bases.json | 664 ++ .../certificates/summary.json | 35 + research/gen5b-shared-kernels/chart_bounds.py | 130 + .../check_bank_assignment.py | 113 + .../check_complete_suffix.py | 196 + .../gen5b-shared-kernels/check_coretime.py | 173 + .../gen5b-shared-kernels/check_kernel70.py | 219 + .../check_kernel70_bank_assignment.py | 125 + .../check_kernel70_norm.py | 118 + .../check_kernel_bank_assignment.py | 124 + .../gen5b-shared-kernels/check_pr300_bases.py | 50 + .../check_pr300_composition.py | 123 + .../check_pr300_kernel70_composition.py | 123 + .../gen5b-shared-kernels/check_rootcuts.py | 74 + .../check_scalar_bounds.py | 118 + .../check_shared_kernel.py | 214 + .../check_suffix_frames.py | 128 + .../gen5b-shared-kernels/exact_geometry.py | 57 + .../gen5b-shared-kernels/exact_intervals.py | 77 + research/gen5b-shared-kernels/fetch_inputs.py | 35 + research/gen5b-shared-kernels/finite_bill.py | 72 + research/gen5b-shared-kernels/inputs.json | 107 + .../gen5b-shared-kernels/kernel-witness.json | 7098 +++++++++++++++++ .../kernel70-witness.json | 3818 +++++++++ .../gen5b-shared-kernels/kernel70_charts.py | 123 + .../kernel70_finite_bill.py | 154 + .../gen5b-shared-kernels/kernel70_pricing.py | 119 + .../gen5b-shared-kernels/kernel70_witness.py | 10 + .../gen5b-shared-kernels/kernel72_charts.py | 123 + .../kernel72_finite_bill.py | 167 + .../gen5b-shared-kernels/kernel72_pricing.py | 158 + .../gen5b-shared-kernels/kernel_witness.py | 12 + research/gen5b-shared-kernels/packing.py | 51 + research/gen5b-shared-kernels/reprice.py | 67 + research/gen5b-shared-kernels/run_checks.py | 137 + .../gen5b-shared-kernels/run_coretime12.py | 116 + .../scalar_norm_transport.py | 69 + research/gen5b-shared-kernels/source_data.py | 49 + .../test_bank_assignment.py | 32 + .../gen5b-shared-kernels/test_bank_binding.py | 37 + .../gen5b-shared-kernels/test_candidate70.py | 24 + .../gen5b-shared-kernels/test_chart_bounds.py | 26 + .../gen5b-shared-kernels/test_coretime.py | 35 + .../gen5b-shared-kernels/test_finite_bill.py | 23 + .../test_kernel70_arithmetic.py | 110 + .../test_kernel70_bank_assignment.py | 36 + .../test_kernel72_arithmetic.py | 120 + .../test_kernel_bank_assignment.py | 35 + .../gen5b-shared-kernels/test_pipeline.py | 71 + .../gen5b-shared-kernels/test_pr300_bases.py | 18 + .../test_pr300_composition.py | 14 + research/gen5b-shared-kernels/test_pricing.py | 51 + .../gen5b-shared-kernels/test_rootcuts.py | 8 + .../gen5b-shared-kernels/test_scalar_norm.py | 31 + .../test_shared_kernel.py | 24 + .../gen5b-shared-kernels/test_source_data.py | 59 + .../test_target_majorant.py | 35 + 91 files changed, 44660 insertions(+) create mode 100644 research/gen5b-shared-kernels/NOTICE.md create mode 100644 research/gen5b-shared-kernels/PROOF-CORETIME12.md create mode 100644 research/gen5b-shared-kernels/PROOF-KERNEL72.md create mode 100644 research/gen5b-shared-kernels/PROOF.md create mode 100644 research/gen5b-shared-kernels/README-CORETIME12.md create mode 100644 research/gen5b-shared-kernels/README.md create mode 100644 research/gen5b-shared-kernels/assembly_arithmetic.py create mode 100644 research/gen5b-shared-kernels/bank_binding.py create mode 100644 research/gen5b-shared-kernels/baseline_arithmetic.py create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/banks.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/charts.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/finite-bill.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/frames.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/local.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/pricing.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/scalar-transport.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/suffix.json create mode 100644 research/gen5b-shared-kernels/certificates/coretime12/summary.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/banks.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/bridge.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/charts.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/composition.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/finite-bill.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/norm.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel70/pricing.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/banks.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/bridge.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/charts.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/composition.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/finite-bill.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/norm.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/pr300-finite-bill.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/pr300-pricing.json create mode 100644 research/gen5b-shared-kernels/certificates/kernel72/pricing.json create mode 100644 research/gen5b-shared-kernels/certificates/pr300-bases.json create mode 100644 research/gen5b-shared-kernels/certificates/summary.json create mode 100644 research/gen5b-shared-kernels/chart_bounds.py create mode 100644 research/gen5b-shared-kernels/check_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/check_complete_suffix.py create mode 100644 research/gen5b-shared-kernels/check_coretime.py create mode 100644 research/gen5b-shared-kernels/check_kernel70.py create mode 100644 research/gen5b-shared-kernels/check_kernel70_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/check_kernel70_norm.py create mode 100644 research/gen5b-shared-kernels/check_kernel_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/check_pr300_bases.py create mode 100644 research/gen5b-shared-kernels/check_pr300_composition.py create mode 100644 research/gen5b-shared-kernels/check_pr300_kernel70_composition.py create mode 100644 research/gen5b-shared-kernels/check_rootcuts.py create mode 100644 research/gen5b-shared-kernels/check_scalar_bounds.py create mode 100644 research/gen5b-shared-kernels/check_shared_kernel.py create mode 100644 research/gen5b-shared-kernels/check_suffix_frames.py create mode 100644 research/gen5b-shared-kernels/exact_geometry.py create mode 100644 research/gen5b-shared-kernels/exact_intervals.py create mode 100644 research/gen5b-shared-kernels/fetch_inputs.py create mode 100644 research/gen5b-shared-kernels/finite_bill.py create mode 100644 research/gen5b-shared-kernels/inputs.json create mode 100644 research/gen5b-shared-kernels/kernel-witness.json create mode 100644 research/gen5b-shared-kernels/kernel70-witness.json create mode 100644 research/gen5b-shared-kernels/kernel70_charts.py create mode 100644 research/gen5b-shared-kernels/kernel70_finite_bill.py create mode 100644 research/gen5b-shared-kernels/kernel70_pricing.py create mode 100644 research/gen5b-shared-kernels/kernel70_witness.py create mode 100644 research/gen5b-shared-kernels/kernel72_charts.py create mode 100644 research/gen5b-shared-kernels/kernel72_finite_bill.py create mode 100644 research/gen5b-shared-kernels/kernel72_pricing.py create mode 100644 research/gen5b-shared-kernels/kernel_witness.py create mode 100644 research/gen5b-shared-kernels/packing.py create mode 100644 research/gen5b-shared-kernels/reprice.py create mode 100644 research/gen5b-shared-kernels/run_checks.py create mode 100644 research/gen5b-shared-kernels/run_coretime12.py create mode 100644 research/gen5b-shared-kernels/scalar_norm_transport.py create mode 100644 research/gen5b-shared-kernels/source_data.py create mode 100644 research/gen5b-shared-kernels/test_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/test_bank_binding.py create mode 100644 research/gen5b-shared-kernels/test_candidate70.py create mode 100644 research/gen5b-shared-kernels/test_chart_bounds.py create mode 100644 research/gen5b-shared-kernels/test_coretime.py create mode 100644 research/gen5b-shared-kernels/test_finite_bill.py create mode 100644 research/gen5b-shared-kernels/test_kernel70_arithmetic.py create mode 100644 research/gen5b-shared-kernels/test_kernel70_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/test_kernel72_arithmetic.py create mode 100644 research/gen5b-shared-kernels/test_kernel_bank_assignment.py create mode 100644 research/gen5b-shared-kernels/test_pipeline.py create mode 100644 research/gen5b-shared-kernels/test_pr300_bases.py create mode 100644 research/gen5b-shared-kernels/test_pr300_composition.py create mode 100644 research/gen5b-shared-kernels/test_pricing.py create mode 100644 research/gen5b-shared-kernels/test_rootcuts.py create mode 100644 research/gen5b-shared-kernels/test_scalar_norm.py create mode 100644 research/gen5b-shared-kernels/test_shared_kernel.py create mode 100644 research/gen5b-shared-kernels/test_source_data.py create mode 100644 research/gen5b-shared-kernels/test_target_majorant.py diff --git a/research/gen5b-shared-kernels/NOTICE.md b/research/gen5b-shared-kernels/NOTICE.md new file mode 100644 index 0000000000..13193e0c0a --- /dev/null +++ b/research/gen5b-shared-kernels/NOTICE.md @@ -0,0 +1,39 @@ +# Attribution and scope + +New material is provided under the repository's Apache-2.0 license and was +prepared with substantial OpenAI assistance. Separate AI-assisted checks are +not human peer review, an OpenAI endorsement or proof-assistant verification. + +This proposal builds on Chafik Boukhalfa's PR #299 package, prepared with +substantial Anthropic Claude assistance, pinned at +`5f6bd3fbc0e6796dd31263cef1f06dc968186f64`. It retains that package's source +lineage, licensing and assistance disclosures. Its +[full immutable notice](https://github.com/CrocSwap/integer-mult-bounds/blob/5f6bd3fbc0e6796dd31263cef1f06dc968186f64/research/five-stage-gen5b-kernels-restorations-sinks/NOTICE.md) +remains applicable to the input data and inherited mechanisms. + +In particular, the construction inherits DreamingOfClouds' gen5/stagealt word, +Rohan Arun's descent and target stages, eumemic's scalar/five-stage/kernel +pipeline, utcorvusvolat-dotcom's early restoration mechanism, Dugongue's +endpoint-aware banking and terminal-sink work, Evan McKinney's completed-bank +method, and Chafik Boukhalfa's complex supplier. The full notice credits +Henry Grant, Jacob Sussman, ikeboy, icekylinx, James Chang, sennemmi and the +earlier contributors and dependencies. + +The new contribution is the shared-donor 70- and 72-pivot construction, its +composition with the coordinated 12-helper/root/partner schedule, explicit +role-to-bank allocation, independently authored changed-stage checks and +conditional repricing. The co-retiming component is the prior PR #301 +contribution, retained here for standalone reproduction. It makes no exclusive +priority claim for inherited mechanisms or a global optimum claim. PR #294's +separate assembly-domain proposal is not modified or required. + +Upstream input files are fetched as immutable data. Their original notices +and source-specific licensing remain unchanged. No upstream executable is +imported or run by this package. + +The PR #300 second constructed-frame descent is Rohan Arun's contribution, +pinned at `fd516176fd068e4fa7af14b40cd878ce8c305296`; its source and attribution +are retained by reference to the immutable +[full package](https://github.com/rohanarun/integer-mult-bounds/tree/fd516176fd068e4fa7af14b40cd878ce8c305296/research/five-stage-gen5b-full). +The new composition checks do not claim authorship of that descent or reprove +its unchanged physical/source-span admission. PR #301 itself is unchanged. diff --git a/research/gen5b-shared-kernels/PROOF-CORETIME12.md b/research/gen5b-shared-kernels/PROOF-CORETIME12.md new file mode 100644 index 0000000000..d5989fe726 --- /dev/null +++ b/research/gen5b-shared-kernels/PROOF-CORETIME12.md @@ -0,0 +1,151 @@ +# Co-retiming twelve helpers with their partner deliveries + +All claims below concern the pinned PR #299 input and retain its unchanged +stage and compiler interfaces. All ranks and containments are over Q unless +the field is explicitly stated. This is a differential construction proof, +not a new proof of the inherited all-size foundations. + +## 1. Selection and the obstruction to an unchanged-frame restoration + +The root-cut screen identifies 34 rank-21 entrance helpers `a`. Each has one +forward write `a += b`. Their common write frame `J` has dimension 22. Their +last root deliveries occur at different dimension-23 hyperplanes `A` and `B`, +whose intersection is `J` and whose join is full dimension 24. + +Thus merely moving `a -= b` earlier, while preserving both delivery frames, +does not improve its endpoint. The local candidate screen instead identifies +a preceding rank-22 root delivery by a blocker `c` to the relevant target `t`. +Two conflicting candidates are excluded. Among the remaining 32, keep exactly +the candidates whose old-restoration pair is hit twice. This gives 12 new +helpers and six old restorations to undo; all selected identities are derived +from pinned data and recorded in `certificates/coretime12/local.json`. + +## 2. The changed schedule + +At each selected blocker root: + +1. Move `b`'s later delivery to `t` earlier, at `J`. +2. Deliver `c` to its unaffected target at its old frame `K`. +3. Perform the partner setup and its unaffected delivery at the inherited + post-descent rank-22 frame. +4. Advance the affected target, blocker and partner carrier as required to + `B`, and perform their remaining deliveries there. +5. After `a`'s original final delivery at `A`, perform `a -= b` at `A`, + omitting its original cleanup write. + +The selected preceding prefix and gauge frames lie in `J`. For each moved +donor, the union of all uncancelled source dependencies has 180 leaves and +lies in `J`; this check is stronger than a mod-2 cancellation test. The local +checker verifies the integer root map on independent helper/target values. + +The complete suffix checker includes all unchanged side roots, partner +deliveries, inverse cleanup, uninject operations and kernel restorations. +It constructs both 55,985-event streams and compares all 18,954 columns over +F2 and Z in both directions. Its entry states are arbitrary, so the equality +composes with the same unchanged prefix. Missing restoration is a negative +control. The inherited prefix's own correctness is not re-proved. + +The two overlapping kernel donors are never pivots; their pinned setup bases +lie in `J`. Kernel setup precedes first ordinary use and inverse kernel writes +follow cleanup under the retained stage contract. Seven inherited sinks and +all other suffix operations remain in the comparison. + +## 3. Correct chronological geometry + +The earlier root-only proposal missed a partner delivery at the old `K` frame. +Promoting the target to `B` and then delivering again at `K` is non-monotone. +The schedule above explicitly co-retimes that partner read and charges its +carrier's split climb. + +The frame checker starts affected helpers at their actual base-forward final +frames. No affected helper participates in a descent change. Each of the 12 +selected partner setups does participate: its pinned descent record replaces +a dimension-2 setup by a dimension-22 setup. The checker verifies the exact +new basis and uses it in both schedules. It checks every affected helper, +carrier and target path, including the six reverted endpoints, and rejects +omitting the partner promotion or old-restoration undo. + +Targets use a difference census from ZERO. Their unchanged earlier prefixes +end within the verified first precursor frame under the retained source +admission; the local source/gauge/target-prefix checks explicitly establish +the required new cut containments. No full untouched-prefix frame replay is +claimed. + +## 4. Paid profile and endpoint demands + +For the new helper/blocker operations alone, one surgery changes the local +histogram by `{1:+1, 2:-1}`. Undoing one inherited early restoration reverses +its delta `{1:+3, 2:-2}`. Co-retiming each partner carrier splits one rank-2 +climb into two rank-1 climbs, adding `{1:+2, 2:-1}`. Therefore + +``` +12*{1:+1, 2:-1} - 6*{1:+3, 2:-2} + 12*{1:+2, 2:-1} + = {1:+18, 2:-12}. +``` + +The actual chronological path census independently obtains this delta; it is +not used as an unchecked input to pricing. It adds six calls and removes six +units of rank mass locally. Five stages therefore add 30 calls and remove 30 +units of rank mass. The reflected paid ledger has the same rank increments +because annihilator inclusion reverses each nested frame pair. + +Each new helper changes residual rank 3 to 2. Each of the six reverted old +helpers changes residual rank 3 to 4. Thus the family-count delta is +`{2:+12, 3:-18, 4:+6}`, of total rank mass -6. + +For each stage's 60 replicas, replace 27 full rank-3 banks by 12 full rank-2 +banks and 12 full rank-4 banks. Each bank has width 120. Demand is exact and +the number of banks drops by three per stage, or 15 in the five-stage literal +stock. The bank checker reconstructs every role's entrance and endpoint, removes the +seven sinks, and assigns all 925,620 role/replica occurrences in a stage to +explicit bank and block addresses without collisions or omissions. Five +disjoint stage namespaces give 4,628,100 assignments. Every bank is full, +attaining the exact volume lower bound. The +unreplicated stock drops by `15/60 = 1/4`; this convention differs from +normalizing the literal stock by five. + +With `W = 1229735/60`, the independently repriced histogram has 482,665 calls, +rank mass 2,455,070 and unchanged deficit `120 W - 2455070 = 4400`. + +## 5. Changed chart and scalar bounds + +Using the retained weighted form `G = I - J/9`, construct each new rank-2 +residual projector as the endpoint projector minus its rank-21 entrance +projector. Its complementary completion has rank 22. An exact orthogonal +block basis uses residual, entrance and exterior columns. The six reverted +rank-4 charts are reconstructed from their original rank-20 entrances. + +Every changed 24-by-24 chart is invertible. A separately replayed exact +factor program recovers it from the identity. The largest uses 142 factors; +factor numerators are at most 11 and denominators at most 9. These fit the +retained chart-factor bound 576 and normalizer bound 815. New pure rank-2 +banks require at most 60 block scalars, within width 120; all are units under +the retained characteristic `q > 2^80` hypothesis. + +The before/after nonnegative coefficient majorant maps agree exactly in both +directions. A second certificate transports the old scalar norms through +172,944 commuting adjacent swaps. Only twelve destination update orders +change; each differs by moving one unit update. At intermediate cuts the new +row is an old row plus or minus one old source row, yielding a conservative +factor-two bound in each direction. Its resulting 103-bit payload remains +below the inherited 104-bit cap. + +The changed displayed finite coefficient is 90,386,288,803,484,701, or 57 bits, +below the retained 80-bit coefficient cap. All three bootstrap gaps and the +displayed cutoffs remain positive. These are checks at the displayed fixed +bill, not a numerical assignment to the unknown inherited full constant. + +## 6. Exact conditional rate + +The independently authored rational enclosure engine certifies the coarse +root between adjacent points `750469712644613/10^18` and +`750469712644614/10^18`, accepting the lower point and rejecting the higher. +Three retained ordinary bootstrap steps and the unchanged complex saving +produce `kappa = 749906929903449/10^18`. All 47 displayed outer constraints +are strict; increasing kappa by `10^-18` fails `g3_above_kappa`. + +This establishes the stated conditional arithmetic consequence of the changed +profile. It supplies no unconditional bound, replacement of the inherited +finite admission, or full proof-assistant verification of multiplication. + +Prepared with substantial OpenAI assistance. See [NOTICE.md](NOTICE.md). diff --git a/research/gen5b-shared-kernels/PROOF-KERNEL72.md b/research/gen5b-shared-kernels/PROOF-KERNEL72.md new file mode 100644 index 0000000000..1d432abf6f --- /dev/null +++ b/research/gen5b-shared-kernels/PROOF-KERNEL72.md @@ -0,0 +1,159 @@ +# Shared-donor kernel validation (separate from frozen final12) + +## Verified candidate + +Pinned source: PR299 commit `5f6bd3fbc0e6796dd31263cef1f06dc968186f64`. +The larger candidate uses the line groups `(6,7)`, `(16,17)`, `(2,3)`, dropping +only pivot relations 10859 and 10861 from the first group. It has 72 pivots, +93 distinct donors,165 helper roles and 473 setup/restore shear pairs. +All three individual groups and both proposed disjoint unions were checked. +No source program was imported or executed. + +Every role is plain, not reused, not removed by the sink stage, not a member +of the frozen kernel stage, not an endpoint in the 904 descent changes, and +not touched by final12 and not an old restored endpoint. Any restoration-donor +uses are included in the chronological audit (none occur for these witnesses). All new helper endpoints +remain FULL. Each group uses the common entrance line E=span(e_i-e_j). +Its Gram entry for 9 I-J is 18, so it is nondegenerate over Q and every retained +prime q > 2^80. Exact rational containment checks place E inside every member's +first required frame and check each subsequent old chronological frame step. +The 72-pivot union uses 663 distinct old frame containments. + +## Scalar identity on arbitrary independent dirty inputs + +This is a compositional proof at the bit F2 interface, not a claim that the +entire parity-filtered decoder is an integer identity. Let Q be the actual +prefix through all initial plain dirty compensation reads, but before source +injections or any new member's other use. Let S be the old remaining word. +The inherited complete decoder is U=SQ: target += source, all source/dirty +coordinates fixed. + +Let K=sum e_d e_p^T over every new donor/pivot incidence and A=I+K. +Pivot and donor sets are disjoint, hence K²=0, A^-1=A in F2, and all individual +setup shears commute, even with a donor shared by several pivots. +All new members remain unchanged in Q except for their target compensation +columns. Write R for that response matrix. The independently reconstructed +integer adjoint, reduced modulo 2, verifies R_p=sum_d R_d for each pivot. +If Q' is Q with precisely the pivot compensation reads omitted, this gives +A Q'=Q A. Therefore the proposed complete word is + + A^-1 S A Q' = A^-1 S Q A = A^-1 U A = U. + +The final equality holds because U touches only source-to-target entries, +whereas A touches only dirty helper entries. This proves every source, +target and dirty column, in both directions, on arbitrary entry values. +The executable checker compares the corresponding full 18,954-column formal +matrices. Its old remainder is the inherited decoder composed with Q^-1; +it does not pretend to be a new replay of every old physical record. +Omitting a setup or a restoration, or corrupting one response relation, +is rejected by regression controls. + +## Literal common prefix + +The independent signed-adjoint reconstruction agrees with all 1,720 existing +kernel cut-read triples. The plain odd-read block has 648,088 ADDs; its last +read is `[3503,16719,-1]` at base record 648087. The target-prefix setup cut is +696719, later than this block. Existing kernel setups occur inside this block +and use disjoint helper support. New setups can therefore be inserted at the +structural boundary immediately before the first source injection. Removing +new pivot reads does not require shifting any inherited indexed transform: +apply the new stage after the inherited transforms, using that structural +boundary. All target operations already before this boundary merely read +unmodified helper columns or use disjoint frozen kernel helpers. + +The source witness is `kernel-witness.json` in this package; `check_shared_kernel.py` independently derives the +same response and physical-role map. The common cut is semantic (before first +source injection), rather than reusing an invalid post-transformation record +number. + +## Paid moves, including donor sharing + +Each new pivot starts at E instead of ZERO, so its first old rank-d MOVE is +replaced by rank d-1. Each distinct donor first moves ZERO→E once, performs all +its same-E setup shears, then moves E→its old first frame, rank d-1. A donor +used 21 times still pays that rank 1 entrance exactly once; its 21 scalar ADDs +are all retained and counted. At the end every member is at FULL, so all 473 +inverse shears are legal at FULL and require no additional MOVE. +The new setup matrices commute, so either exact reverse ordering or the +source's family ordering is valid; the emitted specification uses reversal. + +Measured local delta: + + rank 1:+93, rank 2:+144, rank 3:-144, rank 4:+19, rank 5:-17, rank 6:-2. + +Its paid rank mass drops by 72. Residual family demand changes by +`rank 24:-72, rank 23:+72`. Bank assignment and exact pricing are separate +certificates; the path checker does not infer them from volume alone. + +## Conservative scalar prefix bound + +`check_scalar_bounds.py` independently replays all source/helper updates in +both directions, including the final12 suffix and all frozen kernel shears. +All 14 terminal-sink writes are redirected to their actual target pivots; +removed sink reads, deliveries and cleanup updates are absent. At each extra +shear it uses the actual previously propagated +nonnegative row weight, not a unit-cost scalar approximation. + +For an upper bound, it restores every omitted target-compression read and +every newly removed pivot compensation read. It includes the two target-prefix +batches AND the seven sink setup/restore batches. Their combined directed +source-to-destination target graph has 681 edges and 908 vertices and is checked +acyclic. Each edge has weight equal to its total number of ADD occurrences, +two per setup/restore pair. Applying those weighted edges in topological order +to all accumulated nonnegative target increments dominates any chronological +placement of those ADDs: it counts every directed path with the product of +its edge multiplicities, including mixed prefix-to-sink paths. This proof works +in both execution directions. Target values never feed sources or helpers. +The monotonicity of every cancellation-free ADD majorant also bounds all +intermediate values, not only the final vectors. + +Old and new uncompressed majorants are compared, with only the new setup and +restoration shears inserted. Their difference is nonnegative. The maximum +added forward majorant is 80662; the inverse one is 1334317. Adding these to +the inherited bounds 77985 and 2475558 yields + + F_new <=158647, B_new <=3809875. + 64 F_new^3 B_new^2 =3709343221562739318443143000000 <2^104. + +This closes the retained payload-size cap conditional on the inherited old +majorant bounds. The checker is conservative about compressed target paths; +it does not claim to reproduce a new full physical record hash. + +## Role-resolved integration with final12 + +The unified bank checker reconstructs the original 15,427 helper roles, applies +all old kernel entrances, 434 retained early restorations, twelve new final12 +endpoints, and the 72 additional rank-one kernel entrances. The seven sinks +remain removed. New kernel membership is checked disjoint from the affected +final12 helpers and the inherited kernel and descent selections. + +The residual rank changes relative to final12 are rank 24:-72 and rank 23:+72. +The combined inventory has 1,646 rank-23 residuals and 11,401 rank-24 residuals; +its total residual rank is 322,862 per replica. The explicit width-120 pattern +`(23,23,23,23,24,4)` absorbs each group of four new rank-23 residuals. The +remaining pure patterns are adjusted with exact integer counts. + +All 925,620 role/replica occurrences in a stage are assigned without collision +or omission to explicit bank and block addresses. Five stages use disjoint +bank namespaces. All 161,431 banks per stage are full, attaining the volume +lower bound. Total bank stock is 807,155; with 422,400 data families, literal +stock is 1,229,555. The compact address table is reproducibly generated rather +than duplicated in the repository. + +The independently reproduced moment/assembly certificate uses the measured +kernel histogram and final12 chronological delta, while the unified finite +bill charges all 473 setup and 473 restoration shears. Removed pivot reads +are not subtracted from that conservative scalar bill. The corrected +sink-aware payload bound is supplied separately by `check_scalar_bounds.py`. +The line charts, first-frame splits, changed final12 charts and retained +normalizer allowance are checked by the chart modules. + +## Evidence boundary + +The changed prefix is proved compositionally over F2 using the inherited +complete decoder as a hypothesis. The checker is not a newly executed +complete upstream physical program. All unchanged PR299 and final12 compiler, +routing, prime, reconstruction, complex-supplier and analytic contracts remain +inherited. No unconditional multiplication theorem, exhaustive priority claim, +or optimality claim is asserted. The separate PR300 case, when selected, uses +its explicit additional data pin and verified non-overlap certificate. diff --git a/research/gen5b-shared-kernels/PROOF.md b/research/gen5b-shared-kernels/PROOF.md new file mode 100644 index 0000000000..9653433c98 --- /dev/null +++ b/research/gen5b-shared-kernels/PROOF.md @@ -0,0 +1,148 @@ +# Conditional composition proof and dependency map + +## 1. Scope and pinned baseline + +Work in the dimension-24 bit interface over F2, with weighted form G=9I-J for +geometric admission and the inherited fixed odd-characteristic selector +contracts. The original complete decoder, literal read prefix, source-span +admission and finite compiler are hypotheses from pinned PR299. Pinned PR300 +adds its second constructed-frame descent under its retained admission +hypotheses. The exact data pins are in `inputs.json`. + +The changed construction composes three components: final12 co-retiming, +shared-donor rank-one kernels, and PR300's already proposed descent. The +component arguments below identify where exact replay ends and an inherited +contract begins. They do not claim a full machine-checked multiplication proof. + +## 2. Retained final12 component + +[PROOF-CORETIME12.md](PROOF-CORETIME12.md) gives the twelve new early endpoints, +six undone old endpoints, and the required root/partner co-retiming. The local +paid delta is {1:+18,2:-12}; residual families change by {2:+12,3:-18,4:+6}. +Both 55,985-event suffixes agree on all 18,954 columns forward and inverse over +F2 and Z; their absolute-coefficient majorant operators agree as well. The +chronological frame check uses the post-descent setup for each of twelve +partner carriers and verifies 212 containments on all 60 changed frame paths. +An independent commuting-swap proof verifies the integer/norm identity. All +18 changed endpoint chart programs are factored over exact rationals. + +## 3. Shared-donor algebra + +Let P be the new pivots, D the distinct donors and K the incidence map from +pivot dirty registers into donor registers. The selected supports satisfy +P intersection D = empty, hence K^2=0. Setup S=I+K and its inverse I-K commute +factorwise even when a donor belongs to several pivot relations. Each pinned +response relation has R(p)=sum R(d) over F2. The new word omits each selected +pivot's old compensation reads, performs S at the common read cut, retains the +old middle word and performs the inverse at the final restore cut. These +relations give the required equality of compensated dirty columns. + +The common cut is reproduced independently: 648,088 plain reads, last scalar +(3503,16719,-1), before any source injection and before target-prefix setup at +record 696719. All 1,720 old kernel cut triples are checked. Support exclusions +prevent a selected helper from being an existing kernel member, gauge, source, +sink, reused pair, first-descent participant or final12 participant. Old +restoration donor uses are included in the chronological frame audit. + +The all-column checker factors the inherited suffix as U Q^-1, where U is the +assumed complete old decoder and Q the checked compensation prefix. It compares +old/new matrices and inverses on all 18,954 basis columns. This is a complete +compositional identity under U, not execution of the upstream physical word. +The bit-response cancellation is over F2; the stronger integer result for the +final12 suffix alone does not upgrade the full parity-filtered supplier to an +integer decoder. + +## 4. Lines and paid frames + +The new witnesses assign line L=span(e_i-e_j) to every pivot/donor role. The +checker proves every required frame contains L and is nondegenerate where +needed. For a first required frame F of dimension d, a pivot contributes the +changed transition cost d-1 instead of d, and a donor receives a paid line +entrance followed by d-1. After all obligations, a pivot has rank-23 bank +residual and a donor retains its original endpoint/residual. Each first-frame, +old-kernel/restoration use and terminal restoration is checked chronologically. + +The 70 case has 70 pivots, 87 donors and 157 members, with 601 setup and 601 +restore additions. Its local delta is +{1:+87,2:+137,3:-137,4:+18,5:-16,6:-2}; its weighted rank decrease is 70. +The 72 fallback has 72 pivots, 93 donors and 165 members, with 473 setup and +restore additions. Its local delta is +{1:+93,2:+144,3:-144,4:+19,5:-17,6:-2}; weighted rank decrease 72. +Each case replaces that many rank-24 residuals with rank-23 residuals. +[PROOF-KERNEL72.md](PROOF-KERNEL72.md) records the common construction in more +detail; the 70 witness uses the same argument with its independently checked +support, line and frame inventory. + +## 5. Composition with PR300 + +All 89 selected PR300 scalar events are matched to unchanged original +incidences: 87 helper forward gates and two old kernel setup gates. Their +154 helper operands are disjoint from the broader 84-stream final12 scalar +closure and from all 157 (or 165) new-kernel members. All 440 old restoration +entries and seven sinks match PR299 semantically. Inert loader text confirms +kernel, second descent, restoration and sink order. + +Thus the changes act on disjoint helper frame paths, their paid deltas add, +and their scalar order/coefficients remain unchanged. New setup precedes all +source injections, so the old operand source columns are unchanged. This +preserves PR300's source-span argument conditional on its admission. Exact +Bareiss determinants additionally show all 65 distinct selected new Gram +matrices are nondegenerate over Q and every characteristic greater than five. +This extra basis check does not replace PR300's full chronological/source-span +admission, which remains an explicit input hypothesis. + +## 6. Banks and exact charts + +Start from every non-sink helper role, apply pinned gauge entrances and old +kernel entrances, insert each new pivot line entrance, apply 434 retained old +restorations, undo the six selected old endpoints, and insert twelve new +endpoints. This reconstructs residual widths from individual role IDs. +Sorted roles and their 60 replicas map bijectively into explicit full-width +patterns. The address table records the deterministic quotient/remainder rule, +role frames, bank/block/offset and a digest over every assignment. The five +stages use separate bank namespaces; no slot is shared across stages. + +The 70 residual rank per replica is 322,864, yielding 161,432 width-120 banks +per stage and stock 422,400+5*161,432=1,229,560. The 72 values are 322,862, +161,431 and 1,229,555. Every role occurrence is assigned exactly once and every +bank is full. Numeric inventory alone is not used as an admission certificate. + +For F=ker(A), a first quotient basis is ker([A; e_i-e_j]); its complement is +the line plus the weighted orthogonal complement of F. Every resulting +24-by-24 chart is exactly factored and inversely replayed. Identical programs +may be reused, but each role use has an explicit program binding. The donor +line entrance and pivot rank-23 residual are included separately. These new +charts and all final12 endpoint charts fit the retained 576-factor allowance; +the bank normalizer remains within 815. The address/cover compiler itself is +an inherited contract. + +## 7. Scalar bounds, costs and pricing + +The nonnegative row transport explicitly includes actual sink redirects and +all mixed target-prefix/sink paths in an acyclic majorant graph, rather than +assuming that prefix and sink batches can be bounded independently. It ignores +savings from removed reads. The 70-case bounds F=191659 and B=5356455 give a +payload strictly below 2^104. The 72-case bounds F=158647 and B=3809875 give +102 bits. The finite bill charges both halves of every added shear pair and +retains conservative unchanged costs. Missing sink edges, changed bounds or +wrong chart/bank bindings are rejected by focused tests. + +The exact profile derives from the measured local ledgers and the pinned +baseline profile. Moment brackets, three bootstrap steps and all 47 strict +outer inequalities are certified with rational enclosures; adjacent coarse +and kappa grid points fail. The 70+PR300+final12 case gives +kappa=749940157923873/10^18, bit coarse saving=750502990558158/10^18, +483425 calls and rank mass2454720. Its displayed finite coefficient is +90466979917115701 < 2^80. The independent 72 fallback and PR299-only checkpoint +remain distinct receipts, never silently substituted for the 70 obligations. + +## 8. Conditional conclusion + +Under the inherited decoder/source/compiler/chart/normalizer/routing/prime, +complex-supplier and analytic/all-size interfaces, the measured changed stages +have valid scalar identities, admissible local paths, complete bank allocation, +checked changed charts, bounded payload/cost and the stated exact arithmetic. +No additional open changed-stage obligation is identified by these checks. +This does not establish those inherited hypotheses, compute unknown C_full, +prove an unconditional multiplication theorem, or establish global optimality +or priority. No upstream program is executed by this package. diff --git a/research/gen5b-shared-kernels/README-CORETIME12.md b/research/gen5b-shared-kernels/README-CORETIME12.md new file mode 100644 index 0000000000..ad3d0f8be5 --- /dev/null +++ b/research/gen5b-shared-kernels/README-CORETIME12.md @@ -0,0 +1,112 @@ +> Historical final12-only checkpoint. For the combined 70/72 construction and +> the current 16-file acquisition manifest, use [README.md](README.md). + +# A 12-helper co-retiming proposal on pinned PR #299 + +This is a standalone changed-stage verifier and conditional research proposal. +It adds no changes from PR #299 to `main`, and does not depend on PR #294. +PR #299 is an unmerged dependency, not an already available `main` package. + +The proposal introduces 12 early helper restorations while undoing six old +restorations, with coordinated root and partner deliveries. Its measured local +paid histogram delta is `{1: +18, 2: -12}` and its residual-family delta is +`{2: +12, 3: -18, 4: +6}`. Under the retained PR #299 admission and all-size +interfaces, the resulting exact arithmetic gives: + +- Bit coarse saving: `750469712644613 / 10^18` +- Conditional kappa: `749906929903449 / 10^18 = 0.000749906929903449` +- PR #299 comparison: `0.000749899215319498` +- Literal stock: `1,229,735`, down by 15 +- Unreplicated paid calls: `482,665`; rank mass: `2,455,070`; deficit: `4,400` + +The gain is `7714583951 / 10^18`, about 0.001029% of PR #299's kappa. +All identified changed-stage obligations pass the checks in this packet, +conditional on the retained source/compiler interfaces. This is not an +unconditional multiplication bound or a full replay of the inherited finite +admission. The earlier optimistic 32-helper price omitted +partner-carrier work and is superseded; it is not a result of this package. + +## Dependency and data acquisition + +The final12 component uses eleven inputs pinned to PR #299 head +`5f6bd3fbc0e6796dd31263cef1f06dc968186f64`, under +`research/five-stage-gen5b-kernels-restorations-sinks`. +[Immutable source package](https://github.com/CrocSwap/integer-mult-bounds/tree/5f6bd3fbc0e6796dd31263cef1f06dc968186f64/research/five-stage-gen5b-kernels-restorations-sinks). + +`inputs.json` records each exact byte count, SHA-256 and Git blob SHA-1. Large +word, frame and selection files are deliberately not duplicated here. The +loader rejects missing, altered or unpinned data before parsing it. + +From this directory, use Python 3.11 or newer, without optimization (`-O`): + +```sh +python3 -B fetch_inputs.py --destination /tmp/coretime12-inputs +export CORETIME_SOURCE_DIR=/tmp/coretime12-inputs +python3 -B -m unittest discover -s . -p 'test_*.py' -v +python3 -B run_coretime12.py --check +``` + +The fetcher retrieves only the immutable public files listed in `inputs.json` +from GitHub and verifies their bytes. It never runs a downloaded producer, +installs a dependency or imports upstream Python. It needs network access only +for missing data. An existing directory is verified rather than overwritten. + +In this combined package, `verify_all()` additionally requires the five pinned +PR300 files. The current `inputs.json` and main [README.md](README.md) acquisition +step cover all sixteen files. A PR299 package directory alone, or a normal main +checkout, is therefore insufficient. The source root can be anywhere; all +checks work independently of the current working directory. + +To regenerate the compact receipts, explicit bank-address table and full chart +factor programs elsewhere: + +```sh +python3 -B run_coretime12.py --output-dir /tmp/coretime12-results --check +``` + +Add `--write-streams` to save both complete scalar suffixes as compressed JSON. +The generated streams, full bank-address table and full matrix/factor listings +are not committed; their deterministic reproducer and digest receipts are. + +## Verification coverage + +- Exact local integer-map and source-span checks select 12 compatible helpers + from the independently reproduced candidate census. +- The complete 55,985-addition changed suffix preserves all 18,954 independent + entry columns forward and backward over F2 and over the integers. Sources, + targets and dirty entries are arbitrary, rather than initialized to zero. +- Exact nonnegative coefficient majorant operators also agree in both + directions. A separate 172,944-swap commutation certificate proves signed + equivalence and a conservative factor-two scalar-norm bound. +- All 60 affected chronological frame paths are checked over the rationals, + including 212 containments and the 12 inherited post-descent partner setups. +- All 18 changed endpoint charts are constructed and exactly factored. They + use at most 142 factors, within the retained 576-chart/815-normalizer bounds. +- Explicit role-to-bank assignment covers all 15,427 helpers and 925,620 + role/replica occurrences per stage, with five disjoint stage namespaces. + A full-width bank packing witness, exact moments, all 47 outer inequalities, + and rejection of both adjacent coarse and kappa grid points are recomputed. +- The changed displayed finite bill is `90386288803484701`, below `2^80`; + the conservative payload bound has 103 bits, below the retained `2^104` cap. +- Mutation controls reject missing restoration, missing partner promotion, + missing bank capacity, incompatible frames, invalid arithmetic inputs and + altered source data. + +See [PROOF-CORETIME12.md](PROOF-CORETIME12.md) for the surgery and accounting argument, +`certificates/coretime12/` for exact reproducible receipts, and [NOTICE.md](NOTICE.md) +for contributor attribution and AI-assistance disclosure. + +## What remains conditional + +The pinned unchanged prefix and its original admission are inherited. The +unchanged finite compiler, weighted compilation, routing, prime, setup and +all-size interfaces are not rerun here. The displayed finite-bill check does +not assign a value to the source theorem's unknown full constant `C_full`. +Its positive bridge inputs remain conditional on the retained finite bridge. +The bit payload contract remains F2; the stronger integer suffix identity does +not assert that the whole parity-filtered supplier is an integer decoder. + +Neither repository-wide `make verify` nor the inherited full admission suites +were run: only newly authored verifier programs execute. Passing these checks +does not establish a full machine-checked multiplication theorem. No production +guard, selected main certificate or inherited manuscript patch is modified. diff --git a/research/gen5b-shared-kernels/README.md b/research/gen5b-shared-kernels/README.md new file mode 100644 index 0000000000..8d2b017cef --- /dev/null +++ b/research/gen5b-shared-kernels/README.md @@ -0,0 +1,114 @@ +# Shared-donor kernels composed with co-retiming and PR300 + +This standalone research verifier adds a 70-pivot shared-donor construction to +pinned PR300 plus the 12-helper co-retiming from PR301. A separately checked +72-pivot construction is retained as a fallback. The package is a small diff +against main; it fetches immutable pending-PR data explicitly and does not +assume those inputs are already on main. + +## Conditional results + +| Case | Conditional kappa | Literal stock | Calls | Rank mass | +|---|---:|---:|---:|---:| +| PR300 + final12 + 70 pivots | 0.000749940157923873 | 1,229,560 | 483,425 | 2,454,720 | +| PR300 + final12 + 72 pivots | 0.000749936120273400 | 1,229,555 | 483,455 | 2,454,710 | +| PR299 + final12 + 72 pivots | 0.000749917402998347 | 1,229,555 | 483,130 | 2,454,710 | + +All values use the retained compiler and analytic/all-size hypotheses. They are +exact rational grid choices with denominator 10^18, rather than floating-point +optimizations or claims of global priority/optimality. + +The 70-pivot construction has 87 distinct donors, 157 affected helpers and 601 +setup/restore shear pairs. It shares donor lines across different pivots while +preserving the helper response relations. Complete per-role bank allocation +uses 161,432 full width-120 banks per stage and five disjoint stage namespaces. +Every one of the 15,427 helper roles is assigned in all 60 replicas: 925,620 +assignments per stage, 4,628,100 in total. + +The 70-case finite coefficient is 90,466,979,917,115,701 (<2^80). Its corrected +sink-aware row bounds are F=191,659 and B=5,356,455; the 104-bit payload is +strictly below 2^104. The 72-case has 473 shear pairs and a smaller 102-bit +payload. The arithmetic selects the 70-case despite its five extra stock rows. + +## Immutable dependencies + +- PR299: `5f6bd3fbc0e6796dd31263cef1f06dc968186f64`, package + `research/five-stage-gen5b-kernels-restorations-sinks`. +- PR300: `fd516176fd068e4fa7af14b40cd878ce8c305296`, package + `research/five-stage-gen5b-full`, from `rohanarun/integer-mult-bounds`. +- The included final12 construction is the independently authored contribution + in PR301, head `ebd6a08ed7d517387794c066490aa02aadcc78d4`. Its code is included + here for standalone reproduction; PR301 itself is unchanged and need not be + merged first. + +`inputs.json` pins all 16 external files by immutable commit, byte count, +SHA-256 and Git blob hash. The fetched `portable_bit.py` is read only as inert +text to check loader order; it is never imported or executed. No upstream +producer or verifier runs. New witness JSON, proof notes and compact receipts +are included; large source bundles and generated full tables are omitted. + +## Reproduce + +Python 3.11 or later and its standard library suffice. Do not use `python -O`: +assertions are part of these research checks. From this directory: + +```sh +python3 -B fetch_inputs.py --destination /tmp/shared-kernel-inputs +export CORETIME_SOURCE_DIR=/tmp/shared-kernel-inputs +python3 -B -m unittest discover -s . -p 'test_*.py' -v +python3 -B run_checks.py --check +``` + +An already downloaded directory is accepted only after every pin is verified. +All paths are relative to the verifier or the explicit input directory, so +absolute invocation from another working directory also works. A main checkout +alone is insufficient until the data-acquisition step above has succeeded. + +For optional complete chart factor programs and deterministic role-bank address +tables, generate them outside the checkout: + +```sh +python3 -B run_checks.py --check --output-dir /tmp/shared-kernel-results +``` + +Add `--write-streams` to emit both complete final12 scalar suffixes. Generated +full outputs are not needed in the committed diff. `run_coretime12.py --check` +reproduces the final12-only checkpoint independently. + +## What is checked + +- Original response relations, common dirty-read cut, selected helper support, + and exact rational chronological frames for both shared-donor candidates. +- Compositional forward/inverse F2 identities on all 18,954 columns, assuming + the inherited complete-word decoder; this is not a literal full-word replay. +- Final12's full 55,985-event scalar suffix in both directions over F2, the + integers and absolute-coefficient majorants; 212 frame containments. +- PR300's 89 selected scalar incidences, 154-helper support disjointness from + each new kernel and the broader 84-stream final12 closure, unchanged 440 + restoration and seven sink entries, and 65 exact Gram determinant checks. +- Every changed first-frame quotient, donor entrance and pivot residual chart, + plus 18 final12 charts, using exact factorizations and role-to-program bindings. +- Full-width bank inventory and explicit role/replica allocation for each case. +- Sink-aware scalar majorants, all added scalar costs, selector/finite budgets, + exact root brackets, three bootstrap steps, 47 strict outer inequalities and + adjacent-grid rejection checks. +- Negative controls for wrong relations, missing setup/restoration, frame + overlap, omitted sinks, chart or bank drift, duplicate roles and changed pins. + +## Verification boundary + +The original PR299 decoder/prefix and source-span admission remain hypotheses. +PR300's complete chronological/source-span admission is inherited as well; +matching its selected events and checking support/nondegeneracy do not reprove +that admission. Unchanged weighted-chart, address-normalizer, cover, routing, +prime, recovery, setup, finite-compiler, complex-supplier and analytic/all-size +interfaces are retained. The original row bounds are inherited before the +new sink-aware transport is applied. + +No full upstream `make verify`, `make entrance-bank-verify`, physical producer, +or complete all-size proof has been executed. Main's selected certificate, +production guards, `upstream/` and manuscript patch are unchanged. The displayed +finite coefficient does not set the inherited unknown `C_full` to zero. +These are conditional changed-stage certificates, not formal verification of +the multiplication theorem. See [PROOF.md](PROOF.md), the retained component +proofs, and [NOTICE.md](NOTICE.md) for scope and attribution. diff --git a/research/gen5b-shared-kernels/assembly_arithmetic.py b/research/gen5b-shared-kernels/assembly_arithmetic.py new file mode 100644 index 0000000000..4845766309 --- /dev/null +++ b/research/gen5b-shared-kernels/assembly_arithmetic.py @@ -0,0 +1,108 @@ +"""Independent transcription of the inherited 47 rational assembly slacks. + +The positive bridge gaps remain explicit inputs. No finite bridge or all-size +claim follows from these formulas. See NOTICE.md for the inherited lineage. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +import re +CAP_NAME='b_below_one_over32' +def rational(value): + if type(value) is int or type(value) is F: + return F(value) + if type(value) is str and re.fullmatch(r'-?[0-9]+(?:/[1-9][0-9]*)?', value): + return F(value) + raise ValueError('Expected an exact integer or rational fraction; floats/bools rejected') + + +def require(condition, reason): + if not condition: + raise ValueError(reason) + + +def direct_slacks(a, b, beta, h, kappa, scalar_gap=1, row_gap=1): + """Independent transcription of the displayed equations, using exact fractions. + + Return violations rather than suppressing the production cap. The caller + explicitly chooses a diagnostic evaluation mode in verdict(). + """ + a,b,beta,h,kappa,scalar_gap,row_gap = map(rational, + (a,b,beta,h,kappa,scalar_gap,row_gap)) + q = a*(1-2*h) + require(1+q != 0, 'Undefined epsilon') + eps = (1-h)/(1+q) + G = eps*q + tau, sigma = 1-a, 1-b + lp, c = 1-q, q+h/4 + lam = (tau+lp)/2 + r, delta = (G+1-eps)/2, h/8 + internal = tau+(1-beta)*max(sigma-tau, F(0)) + leaf = sigma+beta*(1-sigma) + margins = {'g1':1-eps, 'g2':a, 'g3':G, 'g4':a, + 'g5':min(1-eps-delta,r-delta), 'g6':1-eps-delta,'g7':eps} + slacks = { + 'a_positive':a, 'a_below_b':b-a, CAP_NAME:F(1,32)-b, + 'beta_positive':beta, 'beta_below_one':1-beta, + 'phase_leaf_above_bit':(1-beta)*b-a, + 'q_positive':q, 'q_below_internal':1-internal-q, + 'q_below_leaf':1-leaf-q, 'c_positive':c,'c_below_one':1-c, + 'q_below_reservations':c-q, 'lambda_above_tau':lam-tau, + 'lambda_above_sigma':lam-sigma, 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':lp-lam, 'compact_leaf':lp-leaf, + 'compact_reservations':lp-(1-c),'lambda_prime_below_one':q, + 'epsilon_positive':eps,'epsilon_below_one':1-eps,'guard_width':1-eps, + 'K_geometry':1-eps*(1+c),'K_dominates_log':eps*c, + 'record_suffix':1-eps, 'phase_local':1-eps-delta, + 'phase_boundary':r-delta, 'gamma_sublinear':1-eps-r, + 'cell_above_band':eps-(1-r)/2,'prime_interval_packing':1-eps, + 'alpha_positive':r,'alpha_below_one':1-r, + 'alpha_below_one_fourth':F(1,4)-r,'delta_positive':delta, + 'delta_below_one_eighth':F(1,8)-delta,'short_record_fallback':eps-a, + 'small_field_exposure':1-eps-G, + 'artificial_boundary':8-eps+r-delta-G, + 'literal_scalar_guard':scalar_gap,'row_product_gap':row_gap} + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + preconditions = {'positive_backoff':h>0, 'backoff_below_half':h0} + return dict(slacks=slacks, margins=margins, preconditions=preconditions, + parameters=dict(a=a,b=b,beta=beta,h=h,kappa=kappa,q=q, + epsilon=eps,G=G,r=r,delta=delta,c=c)) + + +def factored_slacks(a,b,beta,h,kappa,scalar_gap=1,row_gap=1): + """Second evaluation, from the proof's factorizations for a < b.""" + a,b,beta,h,kappa,scalar_gap,row_gap = map(rational, + (a,b,beta,h,kappa,scalar_gap,row_gap)) + require(a=0, 'Minimum-margin factorization assumes h >= 0') + q=a*(1-2*h); eps=(1-h)/(1+q); G=eps*q; L=(1-beta)*b-a + r=G+h/2; c=q+h/4 + result={ + 'a_positive':a,'a_below_b':b-a,CAP_NAME:F(1,32)-b, + 'beta_positive':beta,'beta_below_one':1-beta,'phase_leaf_above_bit':L, + 'q_positive':q,'q_below_internal':2*a*h,'q_below_leaf':L+2*a*h, + 'c_positive':c,'c_below_one':1-c,'q_below_reservations':h/4, + 'lambda_above_tau':a*h,'lambda_above_sigma':b-a+a*h, + 'lambda_above_internal':a*h,'lambda_prime_above_lambda':a*h, + 'compact_leaf':L+2*a*h,'compact_reservations':h/4, + 'lambda_prime_below_one':q,'epsilon_positive':eps, + 'epsilon_below_one':G+h,'guard_width':G+h, + 'K_geometry':h*(1-eps/4),'K_dominates_log':eps*c, + 'record_suffix':G+h,'phase_local':G+7*h/8,'phase_boundary':G+3*h/8, + 'gamma_sublinear':h/2,'cell_above_band':eps-(1-r)/2, + 'prime_interval_packing':G+h,'alpha_positive':r,'alpha_below_one':1-r, + 'alpha_below_one_fourth':F(1,4)-r,'delta_positive':h/8, + 'delta_below_one_eighth':(1-h)/8,'short_record_fallback':eps-a, + 'small_field_exposure':h,'artificial_boundary':8-eps+3*h/8, + 'literal_scalar_guard':scalar_gap,'row_product_gap':row_gap} + margins={'g1':G+h,'g2':a,'g3':G,'g4':a,'g5':G+3*h/8,'g6':G+7*h/8,'g7':eps} + result.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + return result + + +def serial(value): + if type(value) is F: return str(value) + if isinstance(value,dict): return {k:serial(v) for k,v in value.items()} + if isinstance(value,(list,tuple)): return [serial(v) for v in value] + return value + diff --git a/research/gen5b-shared-kernels/bank_binding.py b/research/gen5b-shared-kernels/bank_binding.py new file mode 100644 index 0000000000..6e40158f5f --- /dev/null +++ b/research/gen5b-shared-kernels/bank_binding.py @@ -0,0 +1,23 @@ +"""Exact shared-stock binding between role-level allocation and priced inventory.""" +from fractions import Fraction as F + + +def check(banks, pricing, replicas=60, stages=5, width=120): + assert replicas == 60 and stages == 5 and width == 120 + counts = {int(r): n for r, n in banks['family_counts'].items()} + demand = {int(r): n for r, n in pricing['packing']['demand'].items()} + assert demand == {r: replicas*n for r, n in counts.items()} + assert sum(counts.values()) == banks['helper_roles'] == 15427 + rank = sum(r*n for r, n in counts.items()) + assert rank == banks['residual_rank_per_replica'] + assert width*banks['banks_per_stage'] == replicas*rank + assert banks['banks_per_stage'] == pricing['packing']['feasible_bins'] + assert banks['total_banks'] == stages*banks['banks_per_stage'] + assert banks['literal_data_stock'] == 422400 + assert banks['literal_stock'] == banks['literal_data_stock'] + banks['total_banks'] + assert banks['literal_stock'] == pricing['literal_stock'] + assert F(banks['unreplicated_stock']) == F(pricing['unreplicated_stock']) == F(banks['literal_stock'], replicas) + assert banks['checked_role_replica_assignments_per_stage'] == replicas*banks['helper_roles'] + assert banks['total_stage_assignments'] == stages*banks['checked_role_replica_assignments_per_stage'] + assert width*banks['literal_stock'] - replicas*pricing['rank_mass'] == replicas*F(pricing['deficit']) + assert banks['all_banks_full'] and banks['stages_have_disjoint_bank_namespaces'] diff --git a/research/gen5b-shared-kernels/baseline_arithmetic.py b/research/gen5b-shared-kernels/baseline_arithmetic.py new file mode 100644 index 0000000000..fc589e8a8e --- /dev/null +++ b/research/gen5b-shared-kernels/baseline_arithmetic.py @@ -0,0 +1,126 @@ +"""Independently authored replay of pinned PR299 declared profile data. + +This recovers a declared cost profile; it is not a physical admission replay. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from collections import Counter,defaultdict +from fractions import Fraction as F +import source_data as sd +import exact_intervals as ex +import assembly_arithmetic as ae +HEAD=sd.HEAD + +def read(name): + aliases={'target-selection-full.json':'target-selection.json', + 'target-selection-metadata.json':'target-selection.json', + 'descent-selection-metadata.json':'descent-selection.json'} + return sd.read_json(aliases.get(name,name.replace('__','/').removesuffix('.base64'))) + +def source_integrity(): + return sd.verify_all() +def hist(x):return Counter({int(k):int(v)for k,v in x.items()if int(k)>0 and int(v)}) + + +def rank(H):return sum(r*n for r,n in H.items()) + + +def base_histogram(): + w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + fr=read('gen5bit__selected__bit__frames_p12.json.gz.base64') + p=read('gen5bit__selected__bit__profile_p12.json') + assert p['h']==fr['h']==24 and p['v']==1760 and p['R']==17160 + d={int(k):v['dim']for k,v in fr['frames'].items()} + assert all(type(z)is int and 0<=z<=24 for z in d.values()) + gauge={z['role']:z for z in w['gauges']} + assert all(d[z['frame']]==z['dim']for z in gauge.values()) + source={s:int(n)for n,s in w['sources'].items()} + recipient={donor:borrower for donor,borrower in w['pairs']} + removed=set(recipient.values()) + assert len(recipient)==len(removed)==1726 + assert not set(recipient)&removed + assert all(s not in gauge and b in gauge for s,b in recipient.items()) + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + assert len(order)==len(set(order))==len(w['ops']) + seq=defaultdict(list) + for i in order: + for s in w['ops'][i][:2]:seq[s].append(w['op_frame'][i]) + for s,f in zip(w['rootroles'],w['root_frame']):seq[s].append(f) + H=Counter() + for s in range(p['R']): + if s in removed:continue + start=gauge[s]['frame']if s in gauge else w['source_frame'][source[s]]if s in source else None + previous=0 if start is None else d[start] + path=seq[s][:] + if s in recipient: + b=recipient[s];path+=[gauge[b]['frame']]+seq[b] + path+=[w['full_frame']] + for f in path: + delta=d[f]-previous + assert delta>=0,(s,previous,d[f]) + if delta:H[delta]+=1 + previous=d[f] + if s in source:H[1]+=1 + # Center copies and the source/target path census are declared source data. + H[22]+=24 + for key in ('source_data_histogram','target_data_histogram'):H.update(hist(p[key])) + assert sum(H.values())==92937 and rank(H)==407228 + return H + + +def final_histogram(): + target=read('target-selection-full.json');total=Counter() + for group in target['groups']:total.update(hist(group['local_histogram_delta'])) + assert len(target['groups'])==220 and {r:n for r,n in total.items()if n}==dict(hist(target['expected_total_delta'])) + p=read('expected__kernel-pins.json');H=base_histogram();stages={} + deltas=[('descent',read('descent-selection-metadata.json')['expected_local_histogram_delta']), + ('target',read('target-selection-metadata.json')['expected_total_delta']), + ('kernel',p['kernel_local_delta']),('restore',p['restore_local_delta']),('sink',p['sink_local_delta'])] + for label,D in deltas: + D=hist(D);H.update(D);assert min(H.values())>=0 + stages[label]=dict(calls=sum(H.values()),rank_mass=rank(H),delta=dict(D)) + assert stages['descent']['rank_mass']==407228 + assert stages['kernel']['rank_mass']==p['kernel_helper_rank_mass']==405036 + assert stages['restore']['rank_mass']==404596 + assert stages['sink']['rank_mass']==404428 + idle={4:3520,23:3520,46:3520,50:3520} + final=Counter({r:5*n for r,n in H.items()if n});final.update(idle) + assert sum(final.values())==p['priced_five_stage_calls']==482635 + assert rank(final)==p['priced_five_stage_rank_mass']==2455100 + completion={5*r:n for r,n in hist(p['completion_rank_histogram']).items()} + before=final.copy();before.update(completion) + assert sum(before.values())==p['sink_five_stage_calls']==486589 + assert rank(before)==p['final_five_stage_rank_mass']==2691640 + return final,stages + + +def moment(H,m,W,a,bad=True): + lo,hi=ex.moment_interval(m,W,H,a) + if bad: + L,U=ex.log_interval(F(m));E,G=ex.exp_interval(a*L,a*U) + factor=F(32*m*sum(H.values()),10**16*W) + lo+=factor*E;hi+=factor*G + return lo,hi + + +def assembly(c,b,k): + chain=[F(384599,10**10)] + for i in range(3): + z=(1-c)*c+c*chain[-1] + assert chain[-1]0 + assert len(z['margins'])==7 + znext=ae.direct_slacks(a,b,beta,eta,k+F(1,10**18),1,row_gap) + failed=[n for n,v in znext['slacks'].items()if v<=0] + assert failed==['g3_above_kappa'] + q=a*(1-2*eta);G=(1-eta)*q/(1+q) + assert k2^80.", + "normalizer_factor_bound": 815, + "bank_selector_calls": 905994200400, + "displayed_finite_coefficient": 90386288803484701, + "coefficient_bits": 57, + "retained_coefficient_cap_bits": 80, + "conservative_payload_upper": 5952636918929489086220792832000, + "payload_bits": 103, + "retained_payload_cap_bits": 104, + "bad_fallback_per_child": 460800, + "internal_row_coefficient": 14401, + "external_row_coefficient": 20161, + "ordinary_degree_gap": "23971789/25", + "delta_tau_lower": "162010638578148661476934065453601092098381297973/75057067871093750000000000000000000000000000000000000000000000000", + "delta_linear": "171874999131203/96073046875000000", + "bootstrap_chain": [ + "384599/10000000000", + "749935370845117452542180262080231/1000000000000000000000000000000000000", + "750469311637276278571083649465802007924743795945603/1000000000000000000000000000000000000000000000000000000", + "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "bootstrap_gaps": [ + { + "stage": 1, + "slacks": { + "atom": "534341799495547457819737919769/1000000000000000000000000000000000000", + "borrowing": "998499594916510269547457819737919769/1000000000000000000000000000000000000", + "remainder": "998499623779500370888009338437919769/1000000000000000000000000000000000000", + "stock": "999249530287355387/1000000000000000000" + }, + "minimum": "534341799495547457819737919769/1000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 126085226627008 + }, + { + "stage": 2, + "slacks": { + "atom": "401007336721428916350534197992075256204054397/1000000000000000000000000000000000000000000000000000000", + "borrowing": "998499060975718110721428916350534197992075256204054397/1000000000000000000000000000000000000000000000000000000", + "remainder": "998499623779500370888009338437919769/1000000000000000000000000000000000000", + "stock": "999249530287355387/1000000000000000000" + }, + "minimum": "401007336721428916350534197992075256204054397/1000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 223871012739882766625 + }, + { + "stage": 3, + "slacks": { + "atom": "300943860757712325428067948668730596776048523676387781013361/1000000000000000000000000000000000000000000000000000000000000000000000000", + "borrowing": "998499060575011717860757712325428067948668730596776048523676387781013361/1000000000000000000000000000000000000000000000000000000000000000000000000", + "remainder": "998499623779500370888009338437919769/1000000000000000000000000000000000000", + "stock": "999249530287355387/1000000000000000000" + }, + "minimum": "300943860757712325428067948668730596776048523676387781013361/1000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 397494866654308308705346463 + } + ], + "cutoff_scope": "Displayed fixed bill only. The retained theorem rule uses C_full including inherited primitive, wrapper and earlier ordinary-level constants; this check does not assign those unknown constants a value.", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "source_pins_sha256": "bdc0cb4aebaa9c1209c0598f14f69df4e0489e65b2208d0c51f7a3aaee1f1a77" +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/frames.json b/research/gen5b-shared-kernels/certificates/coretime12/frames.json new file mode 100644 index 0000000000..ee79673d29 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/frames.json @@ -0,0 +1,1489 @@ +{ + "status": "PASS_MEASURED_AFFECTED_SUFFIX_FRAME_LEDGER", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "affected_streams": 60, + "changed_paths": 60, + "exact_rational_containment_checks": 212, + "affected_helper_descent_overlaps": 0, + "partner_setup_descent_replacements_applied": 12, + "old_histogram": { + "21": 23, + "1": 101, + "22": 1, + "2": 12 + }, + "new_histogram": { + "21": 23, + "1": 119, + "22": 1 + }, + "local_histogram_delta": { + "1": 18, + "2": -12 + }, + "both_reflected_ledgers": true, + "reflected_justification": "For each nested frame pair A\u2282B, the annihilator inclusion reverses and the codimension drop equals the dimension gain.", + "paths": [ + { + "stream": 408, + "before_frames": [ + 101628, + 24867, + "FULL" + ], + "after_frames": [ + 101628, + 24867, + 2174, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 412, + "before_frames": [ + 101620, + 24863, + "FULL" + ], + "after_frames": [ + 101620, + 24863, + 2170, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 416, + "before_frames": [ + 101612, + 24889, + "FULL" + ], + "after_frames": [ + 101612, + 24889, + 2182, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 420, + "before_frames": [ + 101604, + 24885, + "FULL" + ], + "after_frames": [ + 101604, + 24885, + 2178, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 424, + "before_frames": [ + 101596, + 24911, + "FULL" + ], + "after_frames": [ + 101596, + 24911, + 2190, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 425, + "before_frames": [ + 101594, + 24909, + "FULL" + ], + "after_frames": [ + 101594, + 24909, + 2189, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 428, + "before_frames": [ + 101588, + 24907, + "FULL" + ], + "after_frames": [ + 101588, + 24907, + 2186, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 429, + "before_frames": [ + 101586, + 24905, + "FULL" + ], + "after_frames": [ + 101586, + 24905, + 2185, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 432, + "before_frames": [ + 101580, + 24933, + "FULL" + ], + "after_frames": [ + 101580, + 24933, + 2198, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 433, + "before_frames": [ + 101578, + 24931, + "FULL" + ], + "after_frames": [ + 101578, + 24931, + 2197, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 436, + "before_frames": [ + 101572, + 24929, + "FULL" + ], + "after_frames": [ + 101572, + 24929, + 2194, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 437, + "before_frames": [ + 101570, + 24927, + "FULL" + ], + "after_frames": [ + 101570, + 24927, + 2193, + "FULL" + ], + "before_dimensions": [ + 1, + 22, + 24 + ], + "after_dimensions": [ + 1, + 22, + 23, + 24 + ] + }, + { + "stream": 2169, + "before_frames": [ + "ZERO", + 24856, + 24863, + 2170 + ], + "after_frames": [ + "ZERO", + 24856, + 30953, + 2170 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2173, + "before_frames": [ + "ZERO", + 24859, + 24867, + 2174 + ], + "after_frames": [ + "ZERO", + 24859, + 30949, + 2174 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2177, + "before_frames": [ + "ZERO", + 24885, + 2178 + ], + "after_frames": [ + "ZERO", + 30939, + 2178 + ], + "before_dimensions": [ + 0, + 22, + 23 + ], + "after_dimensions": [ + 0, + 22, + 23 + ] + }, + { + "stream": 2181, + "before_frames": [ + "ZERO", + 24881, + 24889, + 2182 + ], + "after_frames": [ + "ZERO", + 24881, + 30935, + 2182 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2184, + "before_frames": [ + "ZERO", + 24900, + 24905, + 2185 + ], + "after_frames": [ + "ZERO", + 24900, + 30927, + 2185 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2185, + "before_frames": [ + "ZERO", + 24900, + 24907, + 2186 + ], + "after_frames": [ + "ZERO", + 24900, + 30925, + 2186 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2188, + "before_frames": [ + "ZERO", + 24903, + 24909, + 2189 + ], + "after_frames": [ + "ZERO", + 24903, + 30923, + 2189 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2189, + "before_frames": [ + "ZERO", + 24903, + 24911, + 2190 + ], + "after_frames": [ + "ZERO", + 24903, + 30921, + 2190 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2192, + "before_frames": [ + "ZERO", + 24922, + 24927, + 2193 + ], + "after_frames": [ + "ZERO", + 24922, + 30913, + 2193 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2193, + "before_frames": [ + "ZERO", + 24922, + 24929, + 2194 + ], + "after_frames": [ + "ZERO", + 24922, + 30911, + 2194 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2196, + "before_frames": [ + "ZERO", + 24925, + 24931, + 2197 + ], + "after_frames": [ + "ZERO", + 24925, + 30909, + 2197 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 2197, + "before_frames": [ + "ZERO", + 24925, + 24933, + 2198 + ], + "after_frames": [ + "ZERO", + 24925, + 30907, + 2198 + ], + "before_dimensions": [ + 0, + 21, + 22, + 23 + ], + "after_dimensions": [ + 0, + 21, + 22, + 23 + ] + }, + { + "stream": 6221, + "before_frames": [ + 32783, + 24863, + "REST:18849", + "FULL" + ], + "after_frames": [ + 32783, + 24863, + 2170, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 6249, + "before_frames": [ + 32467, + 24885, + "REST:18869", + "FULL" + ], + "after_frames": [ + 32467, + 24885, + 2178, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 6270, + "before_frames": [ + 31993, + 24905, + "REST:18899", + "FULL" + ], + "after_frames": [ + 31993, + 24905, + 2185, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 6277, + "before_frames": [ + 32151, + 24907, + "REST:18889", + "FULL" + ], + "after_frames": [ + 32151, + 24907, + 2186, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 6298, + "before_frames": [ + 31677, + 24927, + "REST:18919", + "FULL" + ], + "after_frames": [ + 31677, + 24927, + 2193, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 6305, + "before_frames": [ + 31835, + 24929, + "REST:18909", + "FULL" + ], + "after_frames": [ + 31835, + 24929, + 2194, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23, + 24 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 9373, + "before_frames": [ + 30927, + 2185, + "FULL" + ], + "after_frames": [ + 30927, + 2187, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 9377, + "before_frames": [ + 30925, + 2186, + "FULL" + ], + "after_frames": [ + 30925, + 2188, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 9397, + "before_frames": [ + 30939, + 2178, + "FULL" + ], + "after_frames": [ + 30939, + 2180, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 14958, + "before_frames": [ + 30953, + 2170, + "FULL" + ], + "after_frames": [ + 30953, + 2172, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 16169, + "before_frames": [ + 30913, + 2193, + "FULL" + ], + "after_frames": [ + 30913, + 2195, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 16198, + "before_frames": [ + 30911, + 2194, + "FULL" + ], + "after_frames": [ + 30911, + 2196, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17463, + "before_frames": [ + 30935, + 2182, + "FULL" + ], + "after_frames": [ + 30935, + 2184, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17518, + "before_frames": [ + 30923, + 2189, + "FULL" + ], + "after_frames": [ + 30923, + 2191, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17530, + "before_frames": [ + 30909, + 2197, + "FULL" + ], + "after_frames": [ + 30909, + 2199, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17568, + "before_frames": [ + 30949, + 2174, + "FULL" + ], + "after_frames": [ + 30949, + 2176, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17573, + "before_frames": [ + 30921, + 2190, + "FULL" + ], + "after_frames": [ + 30921, + 2192, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 17585, + "before_frames": [ + 30907, + 2198, + "FULL" + ], + "after_frames": [ + 30907, + 2200, + "FULL" + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23, + 24 + ] + }, + { + "stream": 18849, + "before_frames": [ + 32783, + 24867, + "REST:18849" + ], + "after_frames": [ + 32783, + 24867, + 2174, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18869, + "before_frames": [ + 32467, + 24889, + "REST:18869" + ], + "after_frames": [ + 32467, + 24889, + 2182, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18889, + "before_frames": [ + 32151, + 24911, + "REST:18889" + ], + "after_frames": [ + 32151, + 24911, + 2190, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18899, + "before_frames": [ + 31993, + 24909, + "REST:18899" + ], + "after_frames": [ + 31993, + 24909, + 2189, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18909, + "before_frames": [ + 31835, + 24933, + "REST:18909" + ], + "after_frames": [ + 31835, + 24933, + 2198, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18919, + "before_frames": [ + 31677, + 24931, + "REST:18919" + ], + "after_frames": [ + 31677, + 24931, + 2197, + "FULL" + ], + "before_dimensions": [ + 21, + 22, + 23 + ], + "after_dimensions": [ + 21, + 22, + 23, + 24 + ] + }, + { + "stream": 18920, + "before_frames": [ + 30953, + 2172, + "FULL" + ], + "after_frames": [ + 30953, + 2172 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18921, + "before_frames": [ + 30949, + 2176, + "FULL" + ], + "after_frames": [ + 30949, + 2176 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18922, + "before_frames": [ + 30939, + 2180, + "FULL" + ], + "after_frames": [ + 30939, + 2180 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18923, + "before_frames": [ + 30935, + 2184, + "FULL" + ], + "after_frames": [ + 30935, + 2184 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18924, + "before_frames": [ + 30927, + 2187, + "FULL" + ], + "after_frames": [ + 30927, + 2187 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18925, + "before_frames": [ + 30925, + 2188, + "FULL" + ], + "after_frames": [ + 30925, + 2188 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18926, + "before_frames": [ + 30923, + 2191, + "FULL" + ], + "after_frames": [ + 30923, + 2191 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18927, + "before_frames": [ + 30921, + 2192, + "FULL" + ], + "after_frames": [ + 30921, + 2192 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18928, + "before_frames": [ + 30913, + 2195, + "FULL" + ], + "after_frames": [ + 30913, + 2195 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18929, + "before_frames": [ + 30911, + 2196, + "FULL" + ], + "after_frames": [ + 30911, + 2196 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18930, + "before_frames": [ + 30909, + 2199, + "FULL" + ], + "after_frames": [ + 30909, + 2199 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + }, + { + "stream": 18931, + "before_frames": [ + 30907, + 2200, + "FULL" + ], + "after_frames": [ + 30907, + 2200 + ], + "before_dimensions": [ + 22, + 23, + 24 + ], + "after_dimensions": [ + 22, + 23 + ] + } + ], + "scope": "Chronological required-frame census of all affected helper, source-carrier and target streams. Targets start at ZERO for this difference census; their unchanged prior prefixes terminate within the checked first unchanged precursor frame, under retained source admission. Helper prefix frames are read from the actual base forward word and no affected helper overlaps descent changes; all 12 selected partner setups use their verified post-descent rank-22 frames. No global finite/compiler replay is claimed." +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/local.json b/research/gen5b-shared-kernels/certificates/coretime12/local.json new file mode 100644 index 0000000000..cddad6555b --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/local.json @@ -0,0 +1,285 @@ +{ + "status": "PASS_LOCAL_INTEGER_ROOT_SCHEDULE_CERTIFICATE", + "head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selected": 12, + "undone_old_restorations": 6, + "local_histogram_delta": { + "1": -6, + "2": 0 + }, + "residual_rank_count_delta": { + "2": 12, + "3": -18, + "4": 6 + }, + "literal_stock_delta": -15, + "unreplicated_stock_delta": "-1/4", + "exact_integer_root_schedule_identity": true, + "missing_restoration_control_rejected": true, + "unchanged_root_read_coefficients": true, + "candidates": [ + { + "helper": 15813, + "donor": 11438, + "blocker": 2701, + "target": 409, + "helper_root": 1546, + "donor_root": 1540, + "blocker_root": 1533, + "old_restored_helper": 15329, + "old_restored_helper_stream": 18849, + "common_frame": 30953, + "new_endpoint": 2172, + "promoted_blocker_frame": 2170, + "target_precursor_roots": [ + 1530 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15815, + "donor": 14048, + "blocker": 15329, + "target": 413, + "helper_root": 1558, + "donor_root": 1552, + "blocker_root": 1535, + "old_restored_helper": 15329, + "old_restored_helper_stream": 18849, + "common_frame": 30949, + "new_endpoint": 2176, + "promoted_blocker_frame": 2174, + "target_precursor_roots": [ + 1531 + ], + "prefix_group_present": true, + "source_union_size": 180 + }, + { + "helper": 15821, + "donor": 5877, + "blocker": 2729, + "target": 417, + "helper_root": 1576, + "donor_root": 1570, + "blocker_root": 1563, + "old_restored_helper": 15349, + "old_restored_helper_stream": 18869, + "common_frame": 30939, + "new_endpoint": 2180, + "promoted_blocker_frame": 2178, + "target_precursor_roots": [ + 1560 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15823, + "donor": 13943, + "blocker": 15349, + "target": 421, + "helper_root": 1588, + "donor_root": 1582, + "blocker_root": 1565, + "old_restored_helper": 15349, + "old_restored_helper_stream": 18869, + "common_frame": 30935, + "new_endpoint": 2184, + "promoted_blocker_frame": 2182, + "target_precursor_roots": [ + 1561 + ], + "prefix_group_present": true, + "source_union_size": 180 + }, + { + "helper": 15828, + "donor": 5853, + "blocker": 2750, + "target": 424, + "helper_root": 1603, + "donor_root": 1597, + "blocker_root": 1592, + "old_restored_helper": 15379, + "old_restored_helper_stream": 18899, + "common_frame": 30927, + "new_endpoint": 2187, + "promoted_blocker_frame": 2185, + "target_precursor_roots": [ + 1590 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15829, + "donor": 5857, + "blocker": 2757, + "target": 425, + "helper_root": 1606, + "donor_root": 1600, + "blocker_root": 1593, + "old_restored_helper": 15369, + "old_restored_helper_stream": 18889, + "common_frame": 30925, + "new_endpoint": 2188, + "promoted_blocker_frame": 2186, + "target_precursor_roots": [ + 1590 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15830, + "donor": 13998, + "blocker": 15379, + "target": 428, + "helper_root": 1615, + "donor_root": 1609, + "blocker_root": 1594, + "old_restored_helper": 15379, + "old_restored_helper_stream": 18899, + "common_frame": 30923, + "new_endpoint": 2191, + "promoted_blocker_frame": 2189, + "target_precursor_roots": [ + 1591 + ], + "prefix_group_present": true, + "source_union_size": 180 + }, + { + "helper": 15831, + "donor": 14053, + "blocker": 15369, + "target": 429, + "helper_root": 1618, + "donor_root": 1612, + "blocker_root": 1595, + "old_restored_helper": 15369, + "old_restored_helper_stream": 18889, + "common_frame": 30921, + "new_endpoint": 2192, + "promoted_blocker_frame": 2190, + "target_precursor_roots": [ + 1591 + ], + "prefix_group_present": true, + "source_union_size": 180 + }, + { + "helper": 15836, + "donor": 12649, + "blocker": 2778, + "target": 432, + "helper_root": 1633, + "donor_root": 1627, + "blocker_root": 1622, + "old_restored_helper": 15399, + "old_restored_helper_stream": 18919, + "common_frame": 30913, + "new_endpoint": 2195, + "promoted_blocker_frame": 2193, + "target_precursor_roots": [ + 1620 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15837, + "donor": 12678, + "blocker": 2785, + "target": 433, + "helper_root": 1636, + "donor_root": 1630, + "blocker_root": 1623, + "old_restored_helper": 15389, + "old_restored_helper_stream": 18909, + "common_frame": 30911, + "new_endpoint": 2196, + "promoted_blocker_frame": 2194, + "target_precursor_roots": [ + 1620 + ], + "prefix_group_present": false, + "source_union_size": 180 + }, + { + "helper": 15838, + "donor": 14010, + "blocker": 15399, + "target": 436, + "helper_root": 1645, + "donor_root": 1639, + "blocker_root": 1624, + "old_restored_helper": 15399, + "old_restored_helper_stream": 18919, + "common_frame": 30909, + "new_endpoint": 2199, + "promoted_blocker_frame": 2197, + "target_precursor_roots": [ + 1621 + ], + "prefix_group_present": true, + "source_union_size": 180 + }, + { + "helper": 15839, + "donor": 14065, + "blocker": 15389, + "target": 437, + "helper_root": 1648, + "donor_root": 1642, + "blocker_root": 1625, + "old_restored_helper": 15389, + "old_restored_helper_stream": 18909, + "common_frame": 30907, + "new_endpoint": 2200, + "promoted_blocker_frame": 2198, + "target_precursor_roots": [ + 1621 + ], + "prefix_group_present": true, + "source_union_size": 180 + } + ], + "rejected": [ + { + "helper": 16485, + "reason": "Shared K-source would need two distinct promoted target hyperplanes" + }, + { + "helper": 16709, + "reason": "Shared K-source would need two distinct promoted target hyperplanes" + } + ], + "kernel_donor_contracts": [ + { + "donor": 12649, + "stream": 16169, + "entries": 1, + "pivot_entries": 0, + "setup_entry_ranks": [ + 4 + ], + "all_entry_frames_inside_J": true, + "interval_contract": "Imported: setup before first ordinary use, restoration after complete original cleanup" + }, + { + "donor": 12678, + "stream": 16198, + "entries": 1, + "pivot_entries": 0, + "setup_entry_ranks": [ + 4 + ], + "all_entry_frames_inside_J": true, + "interval_contract": "Imported: setup before first ordinary use, restoration after complete original cleanup" + } + ], + "scope": "Local source-data surgery certificate with exact integer root map, geometry/source-span conditions and net ledger. Full emitted postkernel word and global all-column replay have NOT been reconstructed. Existing valid monotone source-stage/target-prefix/sink contracts are retained assumptions; no certified new multiplication exponent is claimed." +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/pricing.json b/research/gen5b-shared-kernels/certificates/coretime12/pricing.json new file mode 100644 index 0000000000..b37d91556d --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/pricing.json @@ -0,0 +1,710 @@ +{ + "status": "CONDITIONAL_ARITHMETIC_ONLY", + "physical_admission": false, + "local_histogram_delta": { + "1": 18, + "2": -12 + }, + "role_rank_count_delta": { + "2": 12, + "3": -18, + "4": 6 + }, + "histogram": { + "1": 220930, + "2": 82670, + "3": 45045, + "4": 25805, + "5": 12040, + "6": 10115, + "7": 4435, + "8": 1700, + "9": 3365, + "10": 2015, + "11": 3335, + "12": 3145, + "13": 1470, + "14": 2425, + "15": 300, + "16": 8345, + "17": 385, + "18": 3805, + "19": 180, + "20": 3180, + "21": 35095, + "22": 2320, + "23": 3520, + "46": 3520, + "50": 3520 + }, + "calls": 482665, + "rank_mass": 2455070, + "literal_stock": 1229735, + "unreplicated_stock": "245947/12", + "deficit": "4400", + "packing": { + "capacity": 120, + "demand": { + "10": 60, + "12": 60, + "13": 240, + "14": 60, + "15": 60, + "17": 120, + "18": 180, + "19": 120, + "20": 1260, + "21": 960, + "22": 4920, + "23": 94440, + "24": 688380, + "3": 27360, + "4": 104880, + "6": 1020, + "7": 180, + "8": 360, + "9": 240, + "2": 720 + }, + "patterns": [ + { + "widths": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 10 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 7, + 7, + 7, + 7, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 8, + 8, + 8, + 8, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 90 + }, + { + "widths": [ + 9, + 9, + 9, + 9, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 10, + 10, + 10, + 10, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 12, + 12, + 12, + 12, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 13, + 13, + 13, + 13, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 14, + 14, + 14, + 14, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 15, + 15, + 15, + 15, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 17, + 17, + 17, + 17, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 18, + 18, + 18, + 18, + 24, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 45 + }, + { + "widths": [ + 19, + 19, + 19, + 19, + 24, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 20, + 20, + 20, + 20, + 24, + 4, + 4, + 4, + 4 + ], + "count": 315 + }, + { + "widths": [ + 21, + 21, + 21, + 21, + 24, + 4, + 4, + 4 + ], + "count": 240 + }, + { + "widths": [ + 22, + 22, + 22, + 22, + 24, + 4, + 4 + ], + "count": 1230 + }, + { + "widths": [ + 23, + 23, + 23, + 23, + 24, + 4 + ], + "count": 23610 + }, + { + "widths": [ + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 2397 + }, + { + "widths": [ + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3 + ], + "count": 684 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6 + ], + "count": 48 + }, + { + "widths": [ + 24, + 24, + 24, + 24, + 24 + ], + "count": 132516 + }, + { + "widths": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "count": 12 + } + ], + "total_rank_demand": 19376040, + "feasible_bins": 161467, + "unused_coordinate_capacity": 0, + "dual_prices": { + "10": "1/12", + "12": "1/10", + "13": "13/120", + "14": "7/60", + "15": "1/8", + "17": "17/120", + "18": "3/20", + "19": "19/120", + "20": "1/6", + "21": "7/40", + "22": "11/60", + "23": "23/120", + "24": "1/5", + "3": "1/40", + "4": "1/30", + "6": "1/20", + "7": "7/120", + "8": "1/15", + "9": "3/40", + "2": "1/60" + }, + "dual_objective": "161467", + "integer_lower_bound": 161467, + "optimal": true + }, + "root_bracket": [ + "750469712644613/1000000000000000000", + "375234856322307/500000000000000000" + ], + "moment_interval": [ + "739023437499999998404818327845920871611726124764535716171947537743/739023437500000000000000000000000000000000000000000000000000000000", + "75057067871093749837989361421851338523065934546398907901618702027/75057067871093750000000000000000000000000000000000000000000000000" + ], + "adjacent_moment_interval": [ + "9607304687500000002190362034337412745338689578098215529763051037867/9607304687500000000000000000000000000000000000000000000000000000000", + "1200913085937500000273795254292176593167336197262288928866865863333/1200913085937500000000000000000000000000000000000000000000000000000" + ], + "kappa": "749906929903449/1000000000000000000", + "kappa_decimal": "0.000749906929903449", + "assembly": { + "coarse": "750469712644613/1000000000000000000", + "complex_coarse": "754736418878859/1000000000000000000", + "bootstrap_chain": [ + "384599/10000000000", + "749935370845117452542180262080231/1000000000000000000000000000000000000", + "750469311637276278571083649465802007924743795945603/1000000000000000000000000000000000000000000000000000000", + "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "strict_constraints": { + "a_positive": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000", + "a_below_b": "4266706535189860757712325428067948668730596776048523676387781013361/1000000000000000000000000000000000000000000000000000000000000000000000000", + "b_below_one_over32": "30495263581121141/1000000000000000000", + "beta_positive": "1/1000000000", + "beta_below_one": "999999999/1000000000", + "phase_leaf_above_bit": "4266705780453441878853325428067948668730596776048523676387781013361/1000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "375234856171084099908800168146723737991062769560644468758582158016995887781013361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "750469712343669139242287674571932051331269403223951476323612218986639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "2133352890977190651770331853276262008937230439355531241417841983004112218986639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "375234856296084099908800168146723737991062769560644468758582158016995887781013361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499624765143703915900091199831853276262008937230439355531241417841983004112218986639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "lambda_above_tau": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "4266706535940330470055994567310236343302528827379793079611732489684612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "2133352890977190651770331853276262008937230439355531241417841983004112218986639/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "lambda_prime_below_one": "375234856171084099908800168146723737991062769560644468758582158016995887781013361/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "epsilon_below_one": "375234856671084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "guard_width": "375234856671084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "K_geometry": "375375234856296084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000", + "K_dominates_log": "375234856295708865052504084046814937822916045822653405989021513548237305622996365112218986639/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000", + "record_suffix": "375234856671084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "phase_local": "3001878852868297564414230261073881103760355432747164687299096619667208520090089892112218986639/4003001878849368672799270401345173789903928502156485155750068657264135967102248106888000000000000", + "phase_boundary": "600375770173359324997909184934849180617553707559040087244170808358434838291604381712218986639/800600375769873734559854080269034757980785700431297031150013731452827193420449621377600000000000", + "gamma_sublinear": "1/2000000000000", + "cell_above_band": "999999999998499624765143828915900091199831853276262008937230439355531241417841983004112218986639/2001500939424684336399635200672586894951964251078242577875034328632067983551124053444000000000000", + "prime_interval_packing": "375234856671084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "alpha_positive": "750469712841792964961429252193538675813978815383297874747603671565233193404009726112218986639/1000750469712342168199817600336293447475982125539121288937517164316033991775562026722000000000000", + "alpha_below_one": "999999999999500375234856171084099908800168146723737991062769560644468758582158016995887781013361/1000750469712342168199817600336293447475982125539121288937517164316033991775562026722000000000000", + "alpha_below_one_fourth": "249437147715243749084992970831879823193181552569397024359631687407443264750486496954387781013361/1000750469712342168199817600336293447475982125539121288937517164316033991775562026722000000000000", + "delta_positive": "1/8000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "short_record_fallback": "499624483540933593398831635806135547078311015333512173884611517468493247681667714755947201326827175624609378257400090082659309412947282905526234784060516321/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000", + "artificial_boundary": "28024015030800450508098731724013690045631932457423095219188857940046494012564458906091663343040083/4003001878849368672799270401345173789903928502156485155750068657264135967102248106888000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "g1_above_kappa": "500375579977263920873575639168182501635312723517657778543827697372923575728124652891017911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000", + "g2_above_kappa": "562782440220139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3_above_kappa": "345121092836773666839000035777897321660748097134075069115214906579840343639530017911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000", + "g4_above_kappa": "562782440220139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5_above_kappa": "187641058192156993311132639063090799299068309286682375750853583524162953298261519540392911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000", + "g6_above_kappa": "437828675620242535361087039147164161168063840671462697985232874603171451242152026220892911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000", + "g7_above_kappa": "499624765143329291480068463752726851901177119732074668254759075620526831809591910214728124652891017911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000" + }, + "margins": { + "g1": "375234856671084099908800168146723737991062769560644468758582158016995887781013361/500375234856171084099908800168146723737991062769560644468758582158016995887781013361", + "g2": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3": "375234856170708865052629084046814937822916045822653405989021513548237305622996365112218986639/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000", + "g4": "750469712343669139242287674571932051331269403223951476323612218986639/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5": "600375770173359324997909184934849180617553707559040087244170808358434838291604381712218986639/800600375769873734559854080269034757980785700431297031150013731452827193420449621377600000000000", + "g6": "3001878852868297564414230261073881103760355432747164687299096619667208520090089892112218986639/4003001878849368672799270401345173789903928502156485155750068657264135967102248106888000000000000", + "g7": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375234856171084099908800168146723737991062769560644468758582158016995887781013361" + }, + "kappa": "749906929903449/1000000000000000000", + "kappa_decimal": "0.000749906929903449", + "minimum_margin": "375234856170708865052629084046814937822916045822653405989021513548237305622996365112218986639/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000", + "absorption_gap": "345121092836773666839000035777897321660748097134075069115214906579840343639530017911/500375234856171084099908800168146723737991062769560644468758582158016995887781013361000000000000000000", + "adjacent_grid_rejected": [ + "g3_above_kappa" + ], + "bridge_scope": "The positive literal gap and supplied row gap are assumptions in this arithmetic check." + }, + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "binding": "Measured chronological frame delta and exact selected endpoint residual changes.", + "prior_kappa": "374949607659749/500000000000000000", + "kappa_gain": "7714583951/1000000000000000000" +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/scalar-transport.json b/research/gen5b-shared-kernels/certificates/coretime12/scalar-transport.json new file mode 100644 index 0000000000..db37041de6 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/scalar-transport.json @@ -0,0 +1,321 @@ +{ + "status": "PASS_EXACT_SCALAR_NORM_TRANSPORT", + "suffix_additions": 55985, + "commuting_adjacent_swaps": 172944, + "destinations_with_changed_update_order": [ + { + "destination": 2169, + "moved_old_event": 2684, + "moved_gate": [ + 2169, + 14958, + 1 + ], + "old_order": [ + 2653, + 2665, + 2668, + 2683, + 2684, + 2685 + ], + "new_order": [ + 2653, + 2684, + 2665, + 2668, + 2683, + 2685 + ] + }, + { + "destination": 2173, + "moved_old_event": 2696, + "moved_gate": [ + 2173, + 17568, + 1 + ], + "old_order": [ + 2657, + 2675, + 2678, + 2695, + 2696, + 2697 + ], + "new_order": [ + 2657, + 2696, + 2675, + 2678, + 2695, + 2697 + ] + }, + { + "destination": 2181, + "moved_old_event": 2744, + "moved_gate": [ + 2181, + 17463, + 1 + ], + "old_order": [ + 2705, + 2723, + 2726, + 2743, + 2744, + 2745 + ], + "new_order": [ + 2705, + 2744, + 2723, + 2726, + 2743, + 2745 + ] + }, + { + "destination": 2177, + "moved_old_event": 2732, + "moved_gate": [ + 2177, + 9397, + 1 + ], + "old_order": [ + 2713, + 2716, + 2731, + 2732, + 2733 + ], + "new_order": [ + 2732, + 2713, + 2716, + 2731, + 2733 + ] + }, + { + "destination": 2184, + "moved_old_event": 2781, + "moved_gate": [ + 2184, + 9373, + 1 + ], + "old_order": [ + 2752, + 2760, + 2763, + 2780, + 2781, + 2782 + ], + "new_order": [ + 2752, + 2781, + 2760, + 2763, + 2780, + 2782 + ] + }, + { + "destination": 2185, + "moved_old_event": 2784, + "moved_gate": [ + 2185, + 9377, + 1 + ], + "old_order": [ + 2753, + 2765, + 2768, + 2783, + 2784, + 2785 + ], + "new_order": [ + 2753, + 2784, + 2765, + 2768, + 2783, + 2785 + ] + }, + { + "destination": 2188, + "moved_old_event": 2793, + "moved_gate": [ + 2188, + 17518, + 1 + ], + "old_order": [ + 2756, + 2770, + 2773, + 2792, + 2793, + 2794 + ], + "new_order": [ + 2756, + 2793, + 2770, + 2773, + 2792, + 2794 + ] + }, + { + "destination": 2189, + "moved_old_event": 2796, + "moved_gate": [ + 2189, + 17573, + 1 + ], + "old_order": [ + 2757, + 2775, + 2778, + 2795, + 2796, + 2797 + ], + "new_order": [ + 2757, + 2796, + 2775, + 2778, + 2795, + 2797 + ] + }, + { + "destination": 2192, + "moved_old_event": 2833, + "moved_gate": [ + 2192, + 16169, + 1 + ], + "old_order": [ + 2804, + 2812, + 2815, + 2832, + 2833, + 2834 + ], + "new_order": [ + 2804, + 2833, + 2812, + 2815, + 2832, + 2834 + ] + }, + { + "destination": 2193, + "moved_old_event": 2836, + "moved_gate": [ + 2193, + 16198, + 1 + ], + "old_order": [ + 2805, + 2817, + 2820, + 2835, + 2836, + 2837 + ], + "new_order": [ + 2805, + 2836, + 2817, + 2820, + 2835, + 2837 + ] + }, + { + "destination": 2196, + "moved_old_event": 2845, + "moved_gate": [ + 2196, + 17530, + 1 + ], + "old_order": [ + 2808, + 2822, + 2825, + 2844, + 2845, + 2846 + ], + "new_order": [ + 2808, + 2845, + 2822, + 2825, + 2844, + 2846 + ] + }, + { + "destination": 2197, + "moved_old_event": 2848, + "moved_gate": [ + 2197, + 17585, + 1 + ], + "old_order": [ + 2809, + 2827, + 2830, + 2847, + 2848, + 2849 + ], + "new_order": [ + 2809, + 2848, + 2827, + 2830, + 2847, + 2849 + ] + } + ], + "forward_norm_factor": 2, + "inverse_norm_factor": 2, + "original_forward_bound": 77985, + "original_inverse_bound": 2475558, + "new_forward_bound": 155970, + "new_inverse_bound": 4951116, + "payload_upper": 5952636918929489086220792832000, + "payload_bits": 103, + "retained_payload_cap_bits": 104, + "unchanged_literal_scalar_multiset": true, + "source_hashes": { + "original_suffix": "46abcfd74d8a06328b4a37c3bb5e353f8d1cfeea8ac03093f4f70a88949a11a3", + "modified_suffix": "a3ce5ed25c101d9a6c529222ab63fa91f2a1fd1c2333f15add5f88176eff34ae" + }, + "theorem": "Commuting swaps preserve each source value sampled by a gate. Every unchanged destination update sequence has the old row-value trajectory. Each changed destination order moves one unit update; at intermediate cuts its row is an old row plus or minus that same old source row. Reversing both schedules gives the identical property. The unchanged prefix is composed using the retained old global row-norm bounds.", + "scope": "Changed scalar suffix and retained old prefix bounds only. Address geometry and inherited finite compiler hypotheses are separate." +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/suffix.json b/research/gen5b-shared-kernels/certificates/coretime12/suffix.json new file mode 100644 index 0000000000..2daa23f5f0 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/suffix.json @@ -0,0 +1,47 @@ +{ + "all_independent_entry_roles": 18954, + "active_roles_after_sinks": 18947, + "selected": 12, + "old_restorations_undone": 6, + "sink_roles_removed": 7, + "kernel_member_donors": [ + { + "role": 12649, + "stream": 16169 + }, + { + "role": 12678, + "stream": 16198 + } + ], + "sink_target_overlaps_contained_in_new_frame": [ + 2177 + ], + "target_prefix_closed_before_suffix": { + "prefix_odd_adds": 700340, + "mandatory_positive_move_lower_bound": 11392, + "last_close_record": 702034 + }, + "co_retimed_partner_deliveries": 12, + "original_suffix_adds": 55985, + "modified_suffix_adds": 55985, + "status": "PASS_COMPLETE_SUFFIX_ALL_COLUMN_EQUALITY", + "field": "F2", + "forward_all_column_equal": true, + "inverse_all_column_equal": true, + "arbitrary_source_target_dirty_entry_values": true, + "exact_integer_signed_operators_equal_forward_inverse": true, + "exact_integer_absolute_coefficient_operators_equal": true, + "forward_inverse_absolute_operator_nonzeros": [ + 194718, + 6007476 + ], + "unchanged_forward_inverse_row_l1_bounds": true, + "norm_justification": "Pinned scalar_check.py replay_projection uses norms[a] += abs(c)*norms[b]. For arbitrary nonnegative entry weights, these before/after suffix majorant maps agree exactly over integers, in both directions. Every majorant row grows monotonically during the ADD-only suffix, so its maximal intermediate value is its final value. The unchanged prefix and suffix therefore retain the inherited forward/inverse maximum row-L1 bounds.", + "omitted_new_restoration_rejected": true, + "unchanged_scalar_multiset": true, + "original_suffix_sha256": "46abcfd74d8a06328b4a37c3bb5e353f8d1cfeea8ac03093f4f70a88949a11a3", + "modified_suffix_sha256": "a3ce5ed25c101d9a6c529222ab63fa91f2a1fd1c2333f15add5f88176eff34ae", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "scope": "Complete changed scalar suffix with all untouched suffix operations, seven sinks, inverse cleanup and kernel restores. Equality on arbitrary independent entry states composes with the inherited unchanged prefix. Rational address-frame legality and cost are separate checks; this does not rerun inherited all-size or finite-bridge hypotheses." +} diff --git a/research/gen5b-shared-kernels/certificates/coretime12/summary.json b/research/gen5b-shared-kernels/certificates/coretime12/summary.json new file mode 100644 index 0000000000..bc07e64cb0 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/coretime12/summary.json @@ -0,0 +1,21 @@ +{ + "status": "PASS_CHANGED_STAGE_CHECKS_CONDITIONAL_ON_PINNED_BASE", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "new_restorations": 12, + "old_restorations_undone": 6, + "kappa": "749906929903449/1000000000000000000", + "kappa_decimal": "0.000749906929903449", + "literal_stock": 1229735, + "paid_calls": 482665, + "rank_mass": 2455070, + "deficit": "4400", + "full_inherited_admission_replayed": false, + "all_size_theorem_verified": false, + "verification_limits": [ + "The pinned PR299 unchanged prefix and its original admission remain hypotheses.", + "Unchanged finite compiler, weighted chart, routing, prime and setup contracts are inherited.", + "Changed charts, selector bound and scalar payload bound are checked here; the complete inherited finite compiler is not rerun.", + "Outer positive literal and row-gap inputs remain conditional on the inherited finite bridge.", + "No full all-size or machine-verification claim is made." + ] +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/banks.json b/research/gen5b-shared-kernels/certificates/kernel70/banks.json new file mode 100644 index 0000000000..bf6245facf --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/banks.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_UNIFIED_KERNEL70_CORETIME12_BANK_ASSIGNMENT", + "helper_roles": 15427, + "retained_old_restorations": 434, + "new_restorations": 12, + "reverted_old_restorations": 6, + "family_counts": { + "24": 11403, + "23": 1644, + "22": 82, + "21": 16, + "20": 21, + "19": 2, + "17": 2, + "18": 3, + "15": 1, + "14": 1, + "12": 1, + "13": 4, + "10": 1, + "9": 4, + "8": 6, + "7": 3, + "6": 17, + "4": 1748, + "3": 456, + "2": 12 + }, + "new_shared_kernel_pivots": 70, + "residual_rank_per_replica": 322864, + "banks_per_stage": 161432, + "total_banks": 807160, + "literal_data_stock": 422400, + "literal_stock": 1229560, + "unreplicated_stock": "61478/3", + "checked_role_replica_assignments_per_stage": 925620, + "total_stage_assignments": 4628100, + "stages_have_disjoint_bank_namespaces": true, + "all_banks_full": true, + "maximum_block_scalar": 60, + "assignment_sha256": "69841a26beddd5a1d4cea70c745d831fe36e6543270b515a8beb4ffb2c61bee5", + "scope": "Role-resolved bijection into explicit full 120-wide banks, all 60 replicas. Five stages use disjoint bank namespaces. Existing address-normalizer and cover compiler contracts remain inherited; new/reverted chart factors are separately checked." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/bridge.json b/research/gen5b-shared-kernels/certificates/kernel70/bridge.json new file mode 100644 index 0000000000..bb4017d208 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/bridge.json @@ -0,0 +1,4580 @@ +{ + "status": "PASS_SHARED_DONOR_CHANGED_STAGE_COMPOSITION", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "candidate70", + "chosen_lines": [ + [ + 2, + 3 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ] + ], + "pivots": 70, + "distinct_donors": 87, + "members": 157, + "setup_adds": 601, + "restore_adds": 601, + "donor_multiplicity_histogram": { + "3": 14, + "5": 5, + "4": 6, + "1": 24, + "8": 1, + "2": 10, + "7": 1, + "6": 2, + "21": 4, + "24": 2, + "19": 3, + "18": 4, + "22": 1, + "17": 2, + "20": 3, + "12": 3, + "13": 2 + }, + "max_donor_multiplicity": 24, + "frozen_response_relations_reproduced": 1720, + "frozen_literal_cut_read_triples_reproduced": 1720, + "common_prefix_plain_reads": 648088, + "last_plain_read": [ + 3503, + 16719, + -1 + ], + "target_prefix_setup_record": 696719, + "common_cut": "Immediately before first source injection, after all plain compensation reads and all old kernel setups", + "all_column_dimension": 18954, + "field": "F2", + "arbitrary_source_target_dirty_inputs": true, + "formal_forward_and_inverse_equal": true, + "prefix_compensation_reads_removed": 860, + "source_compensation_integer_coefficient_max": 1, + "common_line_gram": 18, + "exact_containments": 629, + "old_restoration_donor_overlaps": [], + "local_paid_histogram_delta": { + "1": 87, + "2": 137, + "3": -137, + "4": 18, + "5": -16, + "6": -2 + }, + "residual_family_delta": { + "24": -70, + "23": 70 + }, + "paths": [ + { + "role": 8339, + "stream": 11859, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119570, + 111567, + 70436, + 27517, + 3137, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8341, + "stream": 11861, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119569, + 111523, + 68819, + 29266, + 3139, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8359, + "stream": 11879, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119558, + 111479, + 67201, + 27605, + 3169, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8361, + "stream": 11881, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119557, + 111435, + 65583, + 29210, + 3171, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8394, + "stream": 11914, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119534, + 115737, + 113062, + 61147, + 61145, + 60730, + 30101, + 2657, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 12, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8412, + "stream": 11932, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119522, + 115589, + 112958, + 57889, + 57887, + 57472, + 30087, + 2665, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 12, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8413, + "stream": 11933, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119522, + 111215, + 57452, + 29149, + 3201, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8415, + "stream": 11935, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119521, + 111171, + 55815, + 29147, + 3202, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8787, + "stream": 12307, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119284, + 68449, + 68444, + 68002, + 25735, + 2489, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8789, + "stream": 12309, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119283, + 66831, + 66826, + 66384, + 30400, + 2491, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 8862, + "stream": 12382, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119234, + 115739, + 138594, + 61294, + 60837, + 28441, + 3473, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 8864, + "stream": 12384, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119233, + 115665, + 138645, + 59673, + 59216, + 28678, + 3475, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8891, + "stream": 12411, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119214, + 117092, + 24746, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8894, + "stream": 12414, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119213, + 117018, + 24749, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 8901, + "stream": 12421, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119210, + 107697, + 54464, + 28673, + 3473, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 8903, + "stream": 12423, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119209, + 107671, + 52831, + 28671, + 3474, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9175, + "stream": 12695, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119024, + 116202, + 70673, + 27539, + 3145, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9177, + "stream": 12697, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119023, + 116128, + 69056, + 29252, + 3147, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9193, + "stream": 12713, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119012, + 116054, + 67439, + 27627, + 3177, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9195, + "stream": 12715, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119011, + 115980, + 65821, + 29196, + 3179, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9211, + "stream": 12731, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119000, + 115906, + 64198, + 27693, + 3201, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9213, + "stream": 12733, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118999, + 115832, + 62572, + 29154, + 3203, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9228, + "stream": 12748, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118988, + 115780, + 61174, + 61125, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9229, + "stream": 12749, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118988, + 115758, + 60954, + 27737, + 3217, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9230, + "stream": 12750, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118987, + 115706, + 59553, + 59504, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9247, + "stream": 12767, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118976, + 115610, + 57697, + 29121, + 3217, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9267, + "stream": 12787, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118962, + 115462, + 54427, + 29107, + 3225, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9269, + "stream": 12789, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118961, + 115388, + 52794, + 29105, + 3226, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9346, + "stream": 12866, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118908, + 39449, + 39423, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9347, + "stream": 12867, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118907, + 39291, + 39265, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9353, + "stream": 12873, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118904, + 138092, + 76938, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9355, + "stream": 12875, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118903, + 138143, + 75347, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9402, + "stream": 12922, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118870, + 38501, + 38475, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9403, + "stream": 12923, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118869, + 38343, + 38317, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9691, + "stream": 13211, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118678, + 138602, + 60814, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9693, + "stream": 13213, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118677, + 138653, + 59193, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9719, + "stream": 13239, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118658, + 116944, + 25736, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9722, + "stream": 13242, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118657, + 116870, + 25739, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9726, + "stream": 13246, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118656, + 64039, + 63976, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9729, + "stream": 13249, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118654, + 62413, + 62350, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9790, + "stream": 13310, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118610, + 54266, + 54202, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9793, + "stream": 13313, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118608, + 52633, + 52569, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9845, + "stream": 13365, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118572, + 70854, + 70673, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9847, + "stream": 13367, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118571, + 69237, + 69056, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9863, + "stream": 13383, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118560, + 67621, + 67439, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9865, + "stream": 13385, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118559, + 66003, + 65821, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9881, + "stream": 13401, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118548, + 64381, + 64198, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9883, + "stream": 13403, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118547, + 62755, + 62572, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9898, + "stream": 13418, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118536, + 115744, + 61808, + 61032, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9916, + "stream": 13436, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118524, + 115596, + 58562, + 57774, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9935, + "stream": 13455, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118512, + 54612, + 54427, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9937, + "stream": 13457, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118511, + 52979, + 52794, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10275, + "stream": 13795, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118286, + 113287, + 111495, + 68002, + 0 + ], + "old_dimensions": [ + 3, + 6, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10277, + "stream": 13797, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118285, + 113235, + 111451, + 66384, + 0 + ], + "old_dimensions": [ + 3, + 6, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10350, + "stream": 13870, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118236, + 115741, + 138594, + 60886, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10352, + "stream": 13872, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118235, + 115667, + 138645, + 59265, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10379, + "stream": 13899, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118216, + 116796, + 26528, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10382, + "stream": 13902, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118215, + 116722, + 26531, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10532, + "stream": 14052, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118114, + 62126, + 62123, + 0 + ], + "old_dimensions": [ + 3, + 6, + 8, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10534, + "stream": 14054, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118113, + 60505, + 60502, + 0 + ], + "old_dimensions": [ + 3, + 6, + 8, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10733, + "stream": 14253, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117982, + 136819, + 60936, + 29331, + 3097, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10740, + "stream": 14260, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117976, + 35661, + 35635, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10741, + "stream": 14261, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117975, + 35503, + 35477, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10751, + "stream": 14271, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117970, + 136881, + 57679, + 29317, + 3105, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10758, + "stream": 14278, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117964, + 35345, + 35319, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10759, + "stream": 14279, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117963, + 35187, + 35161, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10764, + "stream": 14284, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117960, + 116202, + 70518, + 70734, + 70656, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10766, + "stream": 14286, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117959, + 116128, + 68901, + 69117, + 69039, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10782, + "stream": 14302, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117948, + 116086, + 67365, + 67247, + 26527, + 2777, + 0 + ], + "old_dimensions": [ + 3, + 5, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10783, + "stream": 14303, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117948, + 113299, + 111479, + 110673, + 28420, + 0 + ], + "old_dimensions": [ + 3, + 7, + 12, + 14, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10784, + "stream": 14304, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117947, + 116012, + 65747, + 65629, + 29896, + 2779, + 0 + ], + "old_dimensions": [ + 3, + 5, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10785, + "stream": 14305, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117947, + 113247, + 111435, + 110645, + 28423, + 0 + ], + "old_dimensions": [ + 3, + 7, + 12, + 14, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10812, + "stream": 14332, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117928, + 34397, + 34371, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10813, + "stream": 14333, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117927, + 34239, + 34213, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10830, + "stream": 14350, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117916, + 34081, + 34055, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10831, + "stream": 14351, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117915, + 33923, + 33897, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10836, + "stream": 14356, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117912, + 116054, + 67283, + 67501, + 67422, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10838, + "stream": 14358, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117911, + 115980, + 65665, + 65883, + 65804, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10859, + "stream": 14379, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117898, + 115737, + 60978, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10861, + "stream": 14381, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117897, + 115663, + 59357, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10877, + "stream": 14397, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117886, + 115589, + 57721, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10879, + "stream": 14399, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117885, + 115515, + 56084, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10884, + "stream": 14404, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117880, + 33133, + 33107, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10885, + "stream": 14405, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117879, + 32975, + 32949, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10887, + "stream": 14407, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117878, + 116648, + 27144, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10890, + "stream": 14410, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117877, + 116574, + 27147, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10892, + "stream": 14412, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117876, + 115906, + 64039, + 64260, + 64181, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10894, + "stream": 14414, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117875, + 115832, + 62413, + 62634, + 62555, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10910, + "stream": 14430, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117864, + 115744, + 61603, + 61106, + 30605, + 2369, + 0 + ], + "old_dimensions": [ + 3, + 5, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10911, + "stream": 14431, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117864, + 60793, + 61808, + 0 + ], + "old_dimensions": [ + 3, + 8, + 17, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10915, + "stream": 14435, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117862, + 57536, + 58562, + 0 + ], + "old_dimensions": [ + 3, + 8, + 17, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10922, + "stream": 14442, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117856, + 32501, + 32475, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10928, + "stream": 14448, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117852, + 115758, + 60793, + 61017, + 60936, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10929, + "stream": 14449, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117852, + 61145, + 61139, + 61106, + 0 + ], + "old_dimensions": [ + 3, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10940, + "stream": 14460, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117844, + 32185, + 32159, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10941, + "stream": 14461, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117843, + 32027, + 32001, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10946, + "stream": 14466, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117838, + 115610, + 57536, + 57759, + 57679, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10950, + "stream": 14470, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117836, + 115462, + 54266, + 54490, + 54409, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10952, + "stream": 14472, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117835, + 115388, + 52633, + 52857, + 52776, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11168, + "stream": 14688, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 116086, + 113309, + 68337, + 67243, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11169, + "stream": 14689, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 111477, + 68444, + 68441, + 67247, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11170, + "stream": 14690, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 110673, + 108582, + 107893, + 67307, + 0 + ], + "old_dimensions": [ + 3, + 14, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11171, + "stream": 14691, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 116012, + 113257, + 66719, + 65625, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11172, + "stream": 14692, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 111433, + 66826, + 66823, + 65629, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11173, + "stream": 14693, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 110645, + 108548, + 107867, + 65689, + 0 + ], + "old_dimensions": [ + 3, + 14, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11255, + "stream": 14775, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117644, + 113092, + 61266, + 0 + ], + "old_dimensions": [ + 3, + 7, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11257, + "stream": 14777, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117643, + 113040, + 59645, + 0 + ], + "old_dimensions": [ + 3, + 7, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11283, + "stream": 14803, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117624, + 116500, + 27606, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11286, + "stream": 14806, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117623, + 116426, + 27609, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11527, + "stream": 15047, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117462, + 113059, + 61334, + 60886, + 0 + ], + "old_dimensions": [ + 3, + 6, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11529, + "stream": 15049, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117461, + 113007, + 59713, + 59265, + 0 + ], + "old_dimensions": [ + 3, + 6, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11555, + "stream": 15075, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117442, + 116352, + 27936, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11558, + "stream": 15078, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117441, + 116278, + 27939, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11632, + "stream": 15152, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117390, + 116062, + 68020, + 138367, + 68449, + 67738, + 67201, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 10, + 15, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11634, + "stream": 15154, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117389, + 115988, + 66402, + 138418, + 66831, + 66120, + 65583, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 10, + 15, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11709, + "stream": 15229, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117340, + 61294, + 61291, + 61282, + 60978, + 29205, + 3169, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11711, + "stream": 15231, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117339, + 59673, + 59670, + 59661, + 59357, + 29203, + 3170, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11824, + "stream": 15344, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117262, + 34408, + 34379, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11825, + "stream": 15345, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117261, + 34250, + 34221, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11828, + "stream": 15348, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117258, + 116061, + 138367, + 67459, + 0 + ], + "old_dimensions": [ + 3, + 5, + 10, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11830, + "stream": 15350, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117257, + 115987, + 138418, + 65841, + 0 + ], + "old_dimensions": [ + 3, + 5, + 10, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11842, + "stream": 15362, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117250, + 34092, + 34063, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11843, + "stream": 15363, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117249, + 33934, + 33905, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11846, + "stream": 15366, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117246, + 116061, + 107893, + 67580, + 0 + ], + "old_dimensions": [ + 3, + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11849, + "stream": 15369, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117245, + 115987, + 107867, + 65962, + 0 + ], + "old_dimensions": [ + 3, + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11864, + "stream": 15384, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117238, + 33776, + 33747, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11865, + "stream": 15385, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117237, + 33618, + 33589, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11933, + "stream": 15453, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117194, + 60734, + 31025, + 2129, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11935, + "stream": 15455, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117193, + 59113, + 31023, + 2130, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11937, + "stream": 15457, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117192, + 57476, + 31011, + 2137, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11939, + "stream": 15459, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117191, + 55839, + 31009, + 2138, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11950, + "stream": 15470, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117182, + 136814, + 60940, + 28995, + 3289, + 0 + ], + "old_dimensions": [ + 3, + 14, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11952, + "stream": 15472, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117181, + 136845, + 59319, + 28993, + 3290, + 0 + ], + "old_dimensions": [ + 3, + 14, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11955, + "stream": 15475, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117180, + 54206, + 30997, + 2145, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11957, + "stream": 15477, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117179, + 52573, + 30995, + 2146, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11962, + "stream": 15482, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117174, + 112152, + 109121, + 106363, + 32189, + 32165, + 0 + ], + "old_dimensions": [ + 3, + 7, + 13, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11963, + "stream": 15483, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117173, + 112147, + 109111, + 106353, + 32031, + 32007, + 0 + ], + "old_dimensions": [ + 3, + 7, + 13, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 12233, + "stream": 15753, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 6, + "old_frames": [ + 146888, + 136503, + 77226, + 0 + ], + "old_dimensions": [ + 6, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 5 + ] + }, + { + "role": 12262, + "stream": 15782, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 6, + "old_frames": [ + 146889, + 136534, + 75635, + 0 + ], + "old_dimensions": [ + 6, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 5 + ] + }, + { + "role": 12410, + "stream": 15930, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116097, + 107907, + 67685, + 0 + ], + "old_dimensions": [ + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12418, + "stream": 15938, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116086, + 111495, + 67459, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12428, + "stream": 15948, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116062, + 108587, + 28442, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12439, + "stream": 15959, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116023, + 107881, + 66067, + 0 + ], + "old_dimensions": [ + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12447, + "stream": 15967, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116012, + 111451, + 65841, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12457, + "stream": 15977, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115988, + 108553, + 28445, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12546, + "stream": 16066, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115756, + 138600, + 61040, + 60837, + 0 + ], + "old_dimensions": [ + 5, + 10, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12547, + "stream": 16067, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115755, + 61453, + 61351, + 0 + ], + "old_dimensions": [ + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12549, + "stream": 16069, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115741, + 61040, + 60997, + 60734, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12550, + "stream": 16070, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115739, + 136814, + 61334, + 61333, + 0 + ], + "old_dimensions": [ + 5, + 14, + 17, + 19, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12575, + "stream": 16095, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115682, + 138651, + 59419, + 59216, + 0 + ], + "old_dimensions": [ + 5, + 10, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12576, + "stream": 16096, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115681, + 59832, + 59730, + 0 + ], + "old_dimensions": [ + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12578, + "stream": 16098, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115667, + 59419, + 59376, + 59113, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12579, + "stream": 16099, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115665, + 136845, + 59713, + 59712, + 0 + ], + "old_dimensions": [ + 5, + 14, + 17, + 19, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12607, + "stream": 16127, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115593, + 57782, + 57740, + 57476, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12636, + "stream": 16156, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115519, + 56145, + 56103, + 55839, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12665, + "stream": 16185, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115445, + 54513, + 54470, + 54206, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + }, + { + "role": 12694, + "stream": 16214, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115371, + 52880, + 52837, + 52573, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 4 + ] + } + ], + "candidate_sha256": "8b99bb2f0e9f352c303d251009058cc30e7ad4c20b8e32e863afb0ebcc3388b7", + "scope": "Compositional changed-stage proof assuming the inherited complete bit decoder and a literal common prefix before any selected helper non-compensation use. The independently checked response matrix, disjoint supports and rational helper paths certify the algebra and paid demand changes. The literal common-cut witness is independently reproduced. Bank allocation and global inherited compiler hypotheses are separate obligations; the scalar payload bound is checked by the companion checker. No upstream code executed." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/charts.json b/research/gen5b-shared-kernels/certificates/kernel70/charts.json new file mode 100644 index 0000000000..974eaf7ff2 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/charts.json @@ -0,0 +1,5166 @@ +{ + "status": "PASS_KERNEL70_PR300_FINAL12_CHANGED_CHARTS", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "candidate70", + "with_final12": true, + "charts": 171, + "kernel_programs": 153, + "final12_charts": 18, + "first_frame_quotient_demands": 157, + "donor_line_entrance_demands": 87, + "pivot_residual_demands": 70, + "role_chart_uses": [ + { + "kind": "first_frame_quotient", + "role": 8339, + "stream": 11859, + "frame": 119570, + "rank": 2, + "program_id": 0 + }, + { + "kind": "donor_line_entrance", + "role": 8339, + "stream": 11859, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8341, + "stream": 11861, + "frame": 119569, + "rank": 2, + "program_id": 2 + }, + { + "kind": "donor_line_entrance", + "role": 8341, + "stream": 11861, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8359, + "stream": 11879, + "frame": 119558, + "rank": 2, + "program_id": 3 + }, + { + "kind": "donor_line_entrance", + "role": 8359, + "stream": 11879, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8361, + "stream": 11881, + "frame": 119557, + "rank": 2, + "program_id": 4 + }, + { + "kind": "donor_line_entrance", + "role": 8361, + "stream": 11881, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8394, + "stream": 11914, + "frame": 119534, + "rank": 2, + "program_id": 5 + }, + { + "kind": "donor_line_entrance", + "role": 8394, + "stream": 11914, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8412, + "stream": 11932, + "frame": 119522, + "rank": 2, + "program_id": 6 + }, + { + "kind": "donor_line_entrance", + "role": 8412, + "stream": 11932, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8413, + "stream": 11933, + "frame": 119522, + "rank": 2, + "program_id": 6 + }, + { + "kind": "donor_line_entrance", + "role": 8413, + "stream": 11933, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8415, + "stream": 11935, + "frame": 119521, + "rank": 2, + "program_id": 7 + }, + { + "kind": "donor_line_entrance", + "role": 8415, + "stream": 11935, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8787, + "stream": 12307, + "frame": 119284, + "rank": 2, + "program_id": 8 + }, + { + "kind": "donor_line_entrance", + "role": 8787, + "stream": 12307, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8789, + "stream": 12309, + "frame": 119283, + "rank": 2, + "program_id": 10 + }, + { + "kind": "pivot_residual", + "role": 8789, + "stream": 12309, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 8862, + "stream": 12382, + "frame": 119234, + "rank": 2, + "program_id": 12 + }, + { + "kind": "pivot_residual", + "role": 8862, + "stream": 12382, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 8864, + "stream": 12384, + "frame": 119233, + "rank": 2, + "program_id": 13 + }, + { + "kind": "donor_line_entrance", + "role": 8864, + "stream": 12384, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8891, + "stream": 12411, + "frame": 119214, + "rank": 2, + "program_id": 14 + }, + { + "kind": "donor_line_entrance", + "role": 8891, + "stream": 12411, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8894, + "stream": 12414, + "frame": 119213, + "rank": 2, + "program_id": 15 + }, + { + "kind": "pivot_residual", + "role": 8894, + "stream": 12414, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 8901, + "stream": 12421, + "frame": 119210, + "rank": 2, + "program_id": 16 + }, + { + "kind": "pivot_residual", + "role": 8901, + "stream": 12421, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 8903, + "stream": 12423, + "frame": 119209, + "rank": 2, + "program_id": 17 + }, + { + "kind": "donor_line_entrance", + "role": 8903, + "stream": 12423, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9175, + "stream": 12695, + "frame": 119024, + "rank": 2, + "program_id": 18 + }, + { + "kind": "donor_line_entrance", + "role": 9175, + "stream": 12695, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9177, + "stream": 12697, + "frame": 119023, + "rank": 2, + "program_id": 19 + }, + { + "kind": "donor_line_entrance", + "role": 9177, + "stream": 12697, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9193, + "stream": 12713, + "frame": 119012, + "rank": 2, + "program_id": 20 + }, + { + "kind": "donor_line_entrance", + "role": 9193, + "stream": 12713, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9195, + "stream": 12715, + "frame": 119011, + "rank": 2, + "program_id": 21 + }, + { + "kind": "donor_line_entrance", + "role": 9195, + "stream": 12715, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9211, + "stream": 12731, + "frame": 119000, + "rank": 2, + "program_id": 22 + }, + { + "kind": "donor_line_entrance", + "role": 9211, + "stream": 12731, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9213, + "stream": 12733, + "frame": 118999, + "rank": 2, + "program_id": 23 + }, + { + "kind": "donor_line_entrance", + "role": 9213, + "stream": 12733, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9228, + "stream": 12748, + "frame": 118988, + "rank": 2, + "program_id": 24 + }, + { + "kind": "donor_line_entrance", + "role": 9228, + "stream": 12748, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9229, + "stream": 12749, + "frame": 118988, + "rank": 2, + "program_id": 24 + }, + { + "kind": "donor_line_entrance", + "role": 9229, + "stream": 12749, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9230, + "stream": 12750, + "frame": 118987, + "rank": 2, + "program_id": 25 + }, + { + "kind": "donor_line_entrance", + "role": 9230, + "stream": 12750, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9247, + "stream": 12767, + "frame": 118976, + "rank": 2, + "program_id": 26 + }, + { + "kind": "donor_line_entrance", + "role": 9247, + "stream": 12767, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9267, + "stream": 12787, + "frame": 118962, + "rank": 2, + "program_id": 27 + }, + { + "kind": "donor_line_entrance", + "role": 9267, + "stream": 12787, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9269, + "stream": 12789, + "frame": 118961, + "rank": 2, + "program_id": 28 + }, + { + "kind": "donor_line_entrance", + "role": 9269, + "stream": 12789, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9346, + "stream": 12866, + "frame": 118908, + "rank": 2, + "program_id": 29 + }, + { + "kind": "donor_line_entrance", + "role": 9346, + "stream": 12866, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9347, + "stream": 12867, + "frame": 118907, + "rank": 2, + "program_id": 31 + }, + { + "kind": "donor_line_entrance", + "role": 9347, + "stream": 12867, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9353, + "stream": 12873, + "frame": 118904, + "rank": 2, + "program_id": 32 + }, + { + "kind": "donor_line_entrance", + "role": 9353, + "stream": 12873, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9355, + "stream": 12875, + "frame": 118903, + "rank": 2, + "program_id": 33 + }, + { + "kind": "pivot_residual", + "role": 9355, + "stream": 12875, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9402, + "stream": 12922, + "frame": 118870, + "rank": 2, + "program_id": 35 + }, + { + "kind": "donor_line_entrance", + "role": 9402, + "stream": 12922, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9403, + "stream": 12923, + "frame": 118869, + "rank": 2, + "program_id": 36 + }, + { + "kind": "donor_line_entrance", + "role": 9403, + "stream": 12923, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9691, + "stream": 13211, + "frame": 118678, + "rank": 2, + "program_id": 37 + }, + { + "kind": "donor_line_entrance", + "role": 9691, + "stream": 13211, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9693, + "stream": 13213, + "frame": 118677, + "rank": 2, + "program_id": 38 + }, + { + "kind": "pivot_residual", + "role": 9693, + "stream": 13213, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 9719, + "stream": 13239, + "frame": 118658, + "rank": 2, + "program_id": 39 + }, + { + "kind": "pivot_residual", + "role": 9719, + "stream": 13239, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 9722, + "stream": 13242, + "frame": 118657, + "rank": 2, + "program_id": 40 + }, + { + "kind": "donor_line_entrance", + "role": 9722, + "stream": 13242, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9726, + "stream": 13246, + "frame": 118656, + "rank": 2, + "program_id": 41 + }, + { + "kind": "pivot_residual", + "role": 9726, + "stream": 13246, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9729, + "stream": 13249, + "frame": 118654, + "rank": 2, + "program_id": 42 + }, + { + "kind": "pivot_residual", + "role": 9729, + "stream": 13249, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9790, + "stream": 13310, + "frame": 118610, + "rank": 2, + "program_id": 43 + }, + { + "kind": "donor_line_entrance", + "role": 9790, + "stream": 13310, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9793, + "stream": 13313, + "frame": 118608, + "rank": 2, + "program_id": 44 + }, + { + "kind": "pivot_residual", + "role": 9793, + "stream": 13313, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9845, + "stream": 13365, + "frame": 118572, + "rank": 2, + "program_id": 45 + }, + { + "kind": "donor_line_entrance", + "role": 9845, + "stream": 13365, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9847, + "stream": 13367, + "frame": 118571, + "rank": 2, + "program_id": 46 + }, + { + "kind": "donor_line_entrance", + "role": 9847, + "stream": 13367, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9863, + "stream": 13383, + "frame": 118560, + "rank": 2, + "program_id": 47 + }, + { + "kind": "donor_line_entrance", + "role": 9863, + "stream": 13383, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9865, + "stream": 13385, + "frame": 118559, + "rank": 2, + "program_id": 48 + }, + { + "kind": "donor_line_entrance", + "role": 9865, + "stream": 13385, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9881, + "stream": 13401, + "frame": 118548, + "rank": 2, + "program_id": 49 + }, + { + "kind": "donor_line_entrance", + "role": 9881, + "stream": 13401, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9883, + "stream": 13403, + "frame": 118547, + "rank": 2, + "program_id": 50 + }, + { + "kind": "pivot_residual", + "role": 9883, + "stream": 13403, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 9898, + "stream": 13418, + "frame": 118536, + "rank": 2, + "program_id": 52 + }, + { + "kind": "donor_line_entrance", + "role": 9898, + "stream": 13418, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9916, + "stream": 13436, + "frame": 118524, + "rank": 2, + "program_id": 53 + }, + { + "kind": "donor_line_entrance", + "role": 9916, + "stream": 13436, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9935, + "stream": 13455, + "frame": 118512, + "rank": 2, + "program_id": 54 + }, + { + "kind": "donor_line_entrance", + "role": 9935, + "stream": 13455, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9937, + "stream": 13457, + "frame": 118511, + "rank": 2, + "program_id": 55 + }, + { + "kind": "donor_line_entrance", + "role": 9937, + "stream": 13457, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10275, + "stream": 13795, + "frame": 118286, + "rank": 2, + "program_id": 56 + }, + { + "kind": "donor_line_entrance", + "role": 10275, + "stream": 13795, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10277, + "stream": 13797, + "frame": 118285, + "rank": 2, + "program_id": 57 + }, + { + "kind": "pivot_residual", + "role": 10277, + "stream": 13797, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10350, + "stream": 13870, + "frame": 118236, + "rank": 2, + "program_id": 58 + }, + { + "kind": "donor_line_entrance", + "role": 10350, + "stream": 13870, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10352, + "stream": 13872, + "frame": 118235, + "rank": 2, + "program_id": 59 + }, + { + "kind": "pivot_residual", + "role": 10352, + "stream": 13872, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10379, + "stream": 13899, + "frame": 118216, + "rank": 2, + "program_id": 60 + }, + { + "kind": "donor_line_entrance", + "role": 10379, + "stream": 13899, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10382, + "stream": 13902, + "frame": 118215, + "rank": 2, + "program_id": 61 + }, + { + "kind": "pivot_residual", + "role": 10382, + "stream": 13902, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10532, + "stream": 14052, + "frame": 118114, + "rank": 2, + "program_id": 62 + }, + { + "kind": "donor_line_entrance", + "role": 10532, + "stream": 14052, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10534, + "stream": 14054, + "frame": 118113, + "rank": 2, + "program_id": 63 + }, + { + "kind": "pivot_residual", + "role": 10534, + "stream": 14054, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10733, + "stream": 14253, + "frame": 117982, + "rank": 2, + "program_id": 64 + }, + { + "kind": "donor_line_entrance", + "role": 10733, + "stream": 14253, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10740, + "stream": 14260, + "frame": 117976, + "rank": 2, + "program_id": 65 + }, + { + "kind": "donor_line_entrance", + "role": 10740, + "stream": 14260, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10741, + "stream": 14261, + "frame": 117975, + "rank": 2, + "program_id": 66 + }, + { + "kind": "pivot_residual", + "role": 10741, + "stream": 14261, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10751, + "stream": 14271, + "frame": 117970, + "rank": 2, + "program_id": 67 + }, + { + "kind": "donor_line_entrance", + "role": 10751, + "stream": 14271, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10758, + "stream": 14278, + "frame": 117964, + "rank": 2, + "program_id": 68 + }, + { + "kind": "donor_line_entrance", + "role": 10758, + "stream": 14278, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10759, + "stream": 14279, + "frame": 117963, + "rank": 2, + "program_id": 69 + }, + { + "kind": "pivot_residual", + "role": 10759, + "stream": 14279, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10764, + "stream": 14284, + "frame": 117960, + "rank": 2, + "program_id": 70 + }, + { + "kind": "pivot_residual", + "role": 10764, + "stream": 14284, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10766, + "stream": 14286, + "frame": 117959, + "rank": 2, + "program_id": 71 + }, + { + "kind": "pivot_residual", + "role": 10766, + "stream": 14286, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10782, + "stream": 14302, + "frame": 117948, + "rank": 2, + "program_id": 72 + }, + { + "kind": "pivot_residual", + "role": 10782, + "stream": 14302, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10783, + "stream": 14303, + "frame": 117948, + "rank": 2, + "program_id": 72 + }, + { + "kind": "donor_line_entrance", + "role": 10783, + "stream": 14303, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10784, + "stream": 14304, + "frame": 117947, + "rank": 2, + "program_id": 73 + }, + { + "kind": "donor_line_entrance", + "role": 10784, + "stream": 14304, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10785, + "stream": 14305, + "frame": 117947, + "rank": 2, + "program_id": 73 + }, + { + "kind": "pivot_residual", + "role": 10785, + "stream": 14305, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10812, + "stream": 14332, + "frame": 117928, + "rank": 2, + "program_id": 74 + }, + { + "kind": "pivot_residual", + "role": 10812, + "stream": 14332, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10813, + "stream": 14333, + "frame": 117927, + "rank": 2, + "program_id": 75 + }, + { + "kind": "pivot_residual", + "role": 10813, + "stream": 14333, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10830, + "stream": 14350, + "frame": 117916, + "rank": 2, + "program_id": 76 + }, + { + "kind": "pivot_residual", + "role": 10830, + "stream": 14350, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10831, + "stream": 14351, + "frame": 117915, + "rank": 2, + "program_id": 77 + }, + { + "kind": "pivot_residual", + "role": 10831, + "stream": 14351, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10836, + "stream": 14356, + "frame": 117912, + "rank": 2, + "program_id": 78 + }, + { + "kind": "pivot_residual", + "role": 10836, + "stream": 14356, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10838, + "stream": 14358, + "frame": 117911, + "rank": 2, + "program_id": 79 + }, + { + "kind": "pivot_residual", + "role": 10838, + "stream": 14358, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10859, + "stream": 14379, + "frame": 117898, + "rank": 2, + "program_id": 80 + }, + { + "kind": "donor_line_entrance", + "role": 10859, + "stream": 14379, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10861, + "stream": 14381, + "frame": 117897, + "rank": 2, + "program_id": 81 + }, + { + "kind": "donor_line_entrance", + "role": 10861, + "stream": 14381, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10877, + "stream": 14397, + "frame": 117886, + "rank": 2, + "program_id": 82 + }, + { + "kind": "pivot_residual", + "role": 10877, + "stream": 14397, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10879, + "stream": 14399, + "frame": 117885, + "rank": 2, + "program_id": 83 + }, + { + "kind": "pivot_residual", + "role": 10879, + "stream": 14399, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10884, + "stream": 14404, + "frame": 117880, + "rank": 2, + "program_id": 84 + }, + { + "kind": "pivot_residual", + "role": 10884, + "stream": 14404, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10885, + "stream": 14405, + "frame": 117879, + "rank": 2, + "program_id": 85 + }, + { + "kind": "pivot_residual", + "role": 10885, + "stream": 14405, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10887, + "stream": 14407, + "frame": 117878, + "rank": 2, + "program_id": 86 + }, + { + "kind": "pivot_residual", + "role": 10887, + "stream": 14407, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 10890, + "stream": 14410, + "frame": 117877, + "rank": 2, + "program_id": 87 + }, + { + "kind": "donor_line_entrance", + "role": 10890, + "stream": 14410, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10892, + "stream": 14412, + "frame": 117876, + "rank": 2, + "program_id": 88 + }, + { + "kind": "pivot_residual", + "role": 10892, + "stream": 14412, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10894, + "stream": 14414, + "frame": 117875, + "rank": 2, + "program_id": 89 + }, + { + "kind": "pivot_residual", + "role": 10894, + "stream": 14414, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10910, + "stream": 14430, + "frame": 117864, + "rank": 2, + "program_id": 90 + }, + { + "kind": "donor_line_entrance", + "role": 10910, + "stream": 14430, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10911, + "stream": 14431, + "frame": 117864, + "rank": 2, + "program_id": 90 + }, + { + "kind": "donor_line_entrance", + "role": 10911, + "stream": 14431, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10915, + "stream": 14435, + "frame": 117862, + "rank": 2, + "program_id": 91 + }, + { + "kind": "donor_line_entrance", + "role": 10915, + "stream": 14435, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10922, + "stream": 14442, + "frame": 117856, + "rank": 2, + "program_id": 92 + }, + { + "kind": "pivot_residual", + "role": 10922, + "stream": 14442, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10928, + "stream": 14448, + "frame": 117852, + "rank": 2, + "program_id": 93 + }, + { + "kind": "pivot_residual", + "role": 10928, + "stream": 14448, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10929, + "stream": 14449, + "frame": 117852, + "rank": 2, + "program_id": 93 + }, + { + "kind": "pivot_residual", + "role": 10929, + "stream": 14449, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10940, + "stream": 14460, + "frame": 117844, + "rank": 2, + "program_id": 94 + }, + { + "kind": "pivot_residual", + "role": 10940, + "stream": 14460, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10941, + "stream": 14461, + "frame": 117843, + "rank": 2, + "program_id": 95 + }, + { + "kind": "pivot_residual", + "role": 10941, + "stream": 14461, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10946, + "stream": 14466, + "frame": 117838, + "rank": 2, + "program_id": 96 + }, + { + "kind": "pivot_residual", + "role": 10946, + "stream": 14466, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10950, + "stream": 14470, + "frame": 117836, + "rank": 2, + "program_id": 97 + }, + { + "kind": "pivot_residual", + "role": 10950, + "stream": 14470, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10952, + "stream": 14472, + "frame": 117835, + "rank": 2, + "program_id": 98 + }, + { + "kind": "pivot_residual", + "role": 10952, + "stream": 14472, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 11168, + "stream": 14688, + "frame": 117694, + "rank": 2, + "program_id": 99 + }, + { + "kind": "donor_line_entrance", + "role": 11168, + "stream": 14688, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11169, + "stream": 14689, + "frame": 117694, + "rank": 2, + "program_id": 99 + }, + { + "kind": "pivot_residual", + "role": 11169, + "stream": 14689, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11170, + "stream": 14690, + "frame": 117694, + "rank": 2, + "program_id": 99 + }, + { + "kind": "donor_line_entrance", + "role": 11170, + "stream": 14690, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11171, + "stream": 14691, + "frame": 117693, + "rank": 2, + "program_id": 100 + }, + { + "kind": "donor_line_entrance", + "role": 11171, + "stream": 14691, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11172, + "stream": 14692, + "frame": 117693, + "rank": 2, + "program_id": 100 + }, + { + "kind": "donor_line_entrance", + "role": 11172, + "stream": 14692, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11173, + "stream": 14693, + "frame": 117693, + "rank": 2, + "program_id": 100 + }, + { + "kind": "donor_line_entrance", + "role": 11173, + "stream": 14693, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11255, + "stream": 14775, + "frame": 117644, + "rank": 2, + "program_id": 101 + }, + { + "kind": "pivot_residual", + "role": 11255, + "stream": 14775, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11257, + "stream": 14777, + "frame": 117643, + "rank": 2, + "program_id": 102 + }, + { + "kind": "donor_line_entrance", + "role": 11257, + "stream": 14777, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11283, + "stream": 14803, + "frame": 117624, + "rank": 2, + "program_id": 103 + }, + { + "kind": "pivot_residual", + "role": 11283, + "stream": 14803, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11286, + "stream": 14806, + "frame": 117623, + "rank": 2, + "program_id": 104 + }, + { + "kind": "donor_line_entrance", + "role": 11286, + "stream": 14806, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11527, + "stream": 15047, + "frame": 117462, + "rank": 2, + "program_id": 105 + }, + { + "kind": "donor_line_entrance", + "role": 11527, + "stream": 15047, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11529, + "stream": 15049, + "frame": 117461, + "rank": 2, + "program_id": 106 + }, + { + "kind": "pivot_residual", + "role": 11529, + "stream": 15049, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11555, + "stream": 15075, + "frame": 117442, + "rank": 2, + "program_id": 107 + }, + { + "kind": "donor_line_entrance", + "role": 11555, + "stream": 15075, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11558, + "stream": 15078, + "frame": 117441, + "rank": 2, + "program_id": 108 + }, + { + "kind": "donor_line_entrance", + "role": 11558, + "stream": 15078, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11632, + "stream": 15152, + "frame": 117390, + "rank": 2, + "program_id": 109 + }, + { + "kind": "pivot_residual", + "role": 11632, + "stream": 15152, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11634, + "stream": 15154, + "frame": 117389, + "rank": 2, + "program_id": 110 + }, + { + "kind": "pivot_residual", + "role": 11634, + "stream": 15154, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11709, + "stream": 15229, + "frame": 117340, + "rank": 2, + "program_id": 111 + }, + { + "kind": "pivot_residual", + "role": 11709, + "stream": 15229, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11711, + "stream": 15231, + "frame": 117339, + "rank": 2, + "program_id": 112 + }, + { + "kind": "pivot_residual", + "role": 11711, + "stream": 15231, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11824, + "stream": 15344, + "frame": 117262, + "rank": 2, + "program_id": 113 + }, + { + "kind": "pivot_residual", + "role": 11824, + "stream": 15344, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11825, + "stream": 15345, + "frame": 117261, + "rank": 2, + "program_id": 114 + }, + { + "kind": "donor_line_entrance", + "role": 11825, + "stream": 15345, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11828, + "stream": 15348, + "frame": 117258, + "rank": 2, + "program_id": 115 + }, + { + "kind": "donor_line_entrance", + "role": 11828, + "stream": 15348, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11830, + "stream": 15350, + "frame": 117257, + "rank": 2, + "program_id": 116 + }, + { + "kind": "pivot_residual", + "role": 11830, + "stream": 15350, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11842, + "stream": 15362, + "frame": 117250, + "rank": 2, + "program_id": 117 + }, + { + "kind": "pivot_residual", + "role": 11842, + "stream": 15362, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11843, + "stream": 15363, + "frame": 117249, + "rank": 2, + "program_id": 118 + }, + { + "kind": "pivot_residual", + "role": 11843, + "stream": 15363, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11846, + "stream": 15366, + "frame": 117246, + "rank": 2, + "program_id": 119 + }, + { + "kind": "donor_line_entrance", + "role": 11846, + "stream": 15366, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11849, + "stream": 15369, + "frame": 117245, + "rank": 2, + "program_id": 120 + }, + { + "kind": "pivot_residual", + "role": 11849, + "stream": 15369, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11864, + "stream": 15384, + "frame": 117238, + "rank": 2, + "program_id": 121 + }, + { + "kind": "donor_line_entrance", + "role": 11864, + "stream": 15384, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11865, + "stream": 15385, + "frame": 117237, + "rank": 2, + "program_id": 122 + }, + { + "kind": "pivot_residual", + "role": 11865, + "stream": 15385, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11933, + "stream": 15453, + "frame": 117194, + "rank": 2, + "program_id": 123 + }, + { + "kind": "donor_line_entrance", + "role": 11933, + "stream": 15453, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11935, + "stream": 15455, + "frame": 117193, + "rank": 2, + "program_id": 124 + }, + { + "kind": "donor_line_entrance", + "role": 11935, + "stream": 15455, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11937, + "stream": 15457, + "frame": 117192, + "rank": 2, + "program_id": 125 + }, + { + "kind": "donor_line_entrance", + "role": 11937, + "stream": 15457, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11939, + "stream": 15459, + "frame": 117191, + "rank": 2, + "program_id": 126 + }, + { + "kind": "pivot_residual", + "role": 11939, + "stream": 15459, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11950, + "stream": 15470, + "frame": 117182, + "rank": 2, + "program_id": 127 + }, + { + "kind": "pivot_residual", + "role": 11950, + "stream": 15470, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11952, + "stream": 15472, + "frame": 117181, + "rank": 2, + "program_id": 128 + }, + { + "kind": "pivot_residual", + "role": 11952, + "stream": 15472, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11955, + "stream": 15475, + "frame": 117180, + "rank": 2, + "program_id": 129 + }, + { + "kind": "pivot_residual", + "role": 11955, + "stream": 15475, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11957, + "stream": 15477, + "frame": 117179, + "rank": 2, + "program_id": 130 + }, + { + "kind": "pivot_residual", + "role": 11957, + "stream": 15477, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11962, + "stream": 15482, + "frame": 117174, + "rank": 2, + "program_id": 131 + }, + { + "kind": "pivot_residual", + "role": 11962, + "stream": 15482, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 11963, + "stream": 15483, + "frame": 117173, + "rank": 2, + "program_id": 132 + }, + { + "kind": "pivot_residual", + "role": 11963, + "stream": 15483, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12233, + "stream": 15753, + "frame": 146888, + "rank": 5, + "program_id": 133 + }, + { + "kind": "pivot_residual", + "role": 12233, + "stream": 15753, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 12262, + "stream": 15782, + "frame": 146889, + "rank": 5, + "program_id": 134 + }, + { + "kind": "pivot_residual", + "role": 12262, + "stream": 15782, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 12410, + "stream": 15930, + "frame": 116097, + "rank": 4, + "program_id": 135 + }, + { + "kind": "donor_line_entrance", + "role": 12410, + "stream": 15930, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12418, + "stream": 15938, + "frame": 116086, + "rank": 4, + "program_id": 136 + }, + { + "kind": "pivot_residual", + "role": 12418, + "stream": 15938, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12428, + "stream": 15948, + "frame": 116062, + "rank": 4, + "program_id": 137 + }, + { + "kind": "donor_line_entrance", + "role": 12428, + "stream": 15948, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12439, + "stream": 15959, + "frame": 116023, + "rank": 4, + "program_id": 138 + }, + { + "kind": "pivot_residual", + "role": 12439, + "stream": 15959, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12447, + "stream": 15967, + "frame": 116012, + "rank": 4, + "program_id": 139 + }, + { + "kind": "donor_line_entrance", + "role": 12447, + "stream": 15967, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12457, + "stream": 15977, + "frame": 115988, + "rank": 4, + "program_id": 140 + }, + { + "kind": "pivot_residual", + "role": 12457, + "stream": 15977, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12546, + "stream": 16066, + "frame": 115756, + "rank": 4, + "program_id": 141 + }, + { + "kind": "donor_line_entrance", + "role": 12546, + "stream": 16066, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12547, + "stream": 16067, + "frame": 115755, + "rank": 4, + "program_id": 142 + }, + { + "kind": "donor_line_entrance", + "role": 12547, + "stream": 16067, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12549, + "stream": 16069, + "frame": 115741, + "rank": 4, + "program_id": 143 + }, + { + "kind": "pivot_residual", + "role": 12549, + "stream": 16069, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12550, + "stream": 16070, + "frame": 115739, + "rank": 4, + "program_id": 144 + }, + { + "kind": "donor_line_entrance", + "role": 12550, + "stream": 16070, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12575, + "stream": 16095, + "frame": 115682, + "rank": 4, + "program_id": 145 + }, + { + "kind": "donor_line_entrance", + "role": 12575, + "stream": 16095, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12576, + "stream": 16096, + "frame": 115681, + "rank": 4, + "program_id": 146 + }, + { + "kind": "donor_line_entrance", + "role": 12576, + "stream": 16096, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12578, + "stream": 16098, + "frame": 115667, + "rank": 4, + "program_id": 147 + }, + { + "kind": "pivot_residual", + "role": 12578, + "stream": 16098, + "rank": 23, + "program_id": 11 + }, + { + "kind": "first_frame_quotient", + "role": 12579, + "stream": 16099, + "frame": 115665, + "rank": 4, + "program_id": 148 + }, + { + "kind": "donor_line_entrance", + "role": 12579, + "stream": 16099, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12607, + "stream": 16127, + "frame": 115593, + "rank": 4, + "program_id": 149 + }, + { + "kind": "donor_line_entrance", + "role": 12607, + "stream": 16127, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12636, + "stream": 16156, + "frame": 115519, + "rank": 4, + "program_id": 150 + }, + { + "kind": "donor_line_entrance", + "role": 12636, + "stream": 16156, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12665, + "stream": 16185, + "frame": 115445, + "rank": 4, + "program_id": 151 + }, + { + "kind": "donor_line_entrance", + "role": 12665, + "stream": 16185, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 12694, + "stream": 16214, + "frame": 115371, + "rank": 4, + "program_id": 152 + }, + { + "kind": "donor_line_entrance", + "role": 12694, + "stream": 16214, + "rank": 1, + "program_id": 9 + } + ], + "max_changed_chart_factors": 489, + "max_factor_numerator": 390, + "max_factor_denominator": 540, + "retained_chart_factor_bound": 576, + "combined_normalizer_factor_bound": 815, + "literal_stock": 1229560, + "selector_calls_bound": 905994095400, + "scope": "Every changed candidate70 first-frame quotient, donor line entrance and rank23 pivot residual is bound to an exactly factored weighted chart; final12 charts are included. Unchanged chart admission and finite-compiler interfaces remain inherited.", + "chart_summaries": [ + { + "program_id": 0, + "kind": "first_frame_quotient", + "frame": 119570, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 466, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9dc4af1bdc8673ff6fedfe8e84b7f10d62bdd5554bd201ea9eb087d13fd1be5d" + }, + { + "program_id": 1, + "kind": "donor_line_entrance", + "line": [ + 6, + 7 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "4197b7e963a1a5fe18abcec8d178d6a38e13a0404f9f7bbe4bef93b3e39c1017" + }, + { + "program_id": 2, + "kind": "first_frame_quotient", + "frame": 119569, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 465, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9060388a578d65ef331de566286090d14438e47c0f967b63dcbd66bb33c1148e" + }, + { + "program_id": 3, + "kind": "first_frame_quotient", + "frame": 119558, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 464, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "bf9858858d62c0d2671f5ebc9309da2f1f68432efbd16efcd604aea7c7a5d18d" + }, + { + "program_id": 4, + "kind": "first_frame_quotient", + "frame": 119557, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 463, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "7e95644c9426088dfedbc3e75c373d38b6e78f1dfca66ea82aad7a289587cec0" + }, + { + "program_id": 5, + "kind": "first_frame_quotient", + "frame": 119534, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 460, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "cc8d0f1aa4ce46ed361617be467a88100a140cbbceb8e3fa8fab6b3e9289856f" + }, + { + "program_id": 6, + "kind": "first_frame_quotient", + "frame": 119522, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9cd0e62061aa794d5df1e1bfa25fe5fc4a69b31334bee29c7739fd6f4482a864" + }, + { + "program_id": 7, + "kind": "first_frame_quotient", + "frame": 119521, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 456, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "463663376efdabeea4cbe56729ca7bb2a2995a87af17098d023d1ee1acf802e6" + }, + { + "program_id": 8, + "kind": "first_frame_quotient", + "frame": 119284, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 483, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "96bee882267f1023b21245da208d086dcc18387d72390dae04c677094ac1645c" + }, + { + "program_id": 9, + "kind": "donor_line_entrance", + "line": [ + 16, + 17 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "4a3d8e5e61c45cd9b302285de8bd00cf60b20e005a46c78533598c9960218347" + }, + { + "program_id": 10, + "kind": "first_frame_quotient", + "frame": 119283, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 481, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4a15feca81e5266800fda48a3441912b0cb7523d7806621b114144639a4e769c" + }, + { + "program_id": 11, + "kind": "pivot_residual", + "line": [ + 16, + 17 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 9, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "96d1cef4470dee72def0edf4a3993d47d0d9985e74de17419b4159bb1def6a61" + }, + { + "program_id": 12, + "kind": "first_frame_quotient", + "frame": 119234, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 460, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a985c0d1408caa62db3e747ad2a073ff0185dc4b9b76d824f456a29fe184912f" + }, + { + "program_id": 13, + "kind": "first_frame_quotient", + "frame": 119233, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 459, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b34470adbf20c855c794b64ac60c790931649f2b029531f094cc7255d7a93e2f" + }, + { + "program_id": 14, + "kind": "first_frame_quotient", + "frame": 119214, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 358, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4ad732da73d4dae71c7bdc82cfc0df442452c4197d0a887718b69d0f6d7ca651" + }, + { + "program_id": 15, + "kind": "first_frame_quotient", + "frame": 119213, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "fae717d5625421e7ea369ab02d02d1d607da9d8aa240bd9935845221250e118f" + }, + { + "program_id": 16, + "kind": "first_frame_quotient", + "frame": 119210, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 455, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "35d1bd9e4583ccfc7967ca7fc12f3f124c49a4d5057cbfd20dc71405845cc420" + }, + { + "program_id": 17, + "kind": "first_frame_quotient", + "frame": 119209, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 454, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "5c006b189d371c68400f9ab533bce70fc1ebda357fd4c5e6dd385b213e4e5f2a" + }, + { + "program_id": 18, + "kind": "first_frame_quotient", + "frame": 119024, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 468, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4c19943cab3beb5aab153ebcf98547c046497f3b356b69b21c9289173a54fc81" + }, + { + "program_id": 19, + "kind": "first_frame_quotient", + "frame": 119023, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 467, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "206eca104a131cc93bc2505d3af5fec0390c413c4a7c4ef2a8fb8abe1ca2a719" + }, + { + "program_id": 20, + "kind": "first_frame_quotient", + "frame": 119012, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 466, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "726804da3feb733ef0cdcd617010e365a272f29d50e39fd24aa2d777de33ae93" + }, + { + "program_id": 21, + "kind": "first_frame_quotient", + "frame": 119011, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 465, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "33a4c223adede19f3e5b4885cd265bedcba0b1f8b69099233b22f9d4cbc411ee" + }, + { + "program_id": 22, + "kind": "first_frame_quotient", + "frame": 119000, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 464, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "738ea73a9fcf561a545b56b13e3a5842ee5a251091365eaf929aa2f66508f6be" + }, + { + "program_id": 23, + "kind": "first_frame_quotient", + "frame": 118999, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a62351460bb421c14a50852130f6d3d7d0753c38ee34dc4f24cdbac01bcfbeb2" + }, + { + "program_id": 24, + "kind": "first_frame_quotient", + "frame": 118988, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 462, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a7bf762a42386a952aa441726c43d2a2191ca37d9ac8e2bee43601b774eb10f1" + }, + { + "program_id": 25, + "kind": "first_frame_quotient", + "frame": 118987, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "265def1e019f3b3dc7835955ef574ca58331a9c095d052b5a1d4f8e173e3d8b8" + }, + { + "program_id": 26, + "kind": "first_frame_quotient", + "frame": 118976, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 459, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "88fed89d6151221dc405c5a7f7534d24f748b86e751fb92fdff310d6b68b2c46" + }, + { + "program_id": 27, + "kind": "first_frame_quotient", + "frame": 118962, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "6bffb33c0fd7f97eecd852f7b0aa9bc5d4e50adfb48c776ce4041b5fb4b08873" + }, + { + "program_id": 28, + "kind": "first_frame_quotient", + "frame": 118961, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 456, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "19223051048bb8a8cb1a2c9229c5508eed385cad1fb150f09b12952b6e652cbe" + }, + { + "program_id": 29, + "kind": "first_frame_quotient", + "frame": 118908, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d84c77ef254faa62a7ec78b6672b597f48076ee3c9003fde2c0363ab8480f1d0" + }, + { + "program_id": 30, + "kind": "donor_line_entrance", + "line": [ + 2, + 3 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "d1fa99795a2df038de598bb5398dc0192c34420f897028b7b677b3486d0ae3ae" + }, + { + "program_id": 31, + "kind": "first_frame_quotient", + "frame": 118907, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "090e8eeae7630b4a2aff79b223212252622e868fbd5fd5da3c12960814be834a" + }, + { + "program_id": 32, + "kind": "first_frame_quotient", + "frame": 118904, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 489, + "max_numerator": 390, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "4eeb8b38efd515280eb3f19bf546f4a68d4d20f4cb4ba5d5300171396bf73620" + }, + { + "program_id": 33, + "kind": "first_frame_quotient", + "frame": 118903, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 488, + "max_numerator": 345, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "bd2fdc549eed036c880cefab7c44eb1ab1142574341ab5e387caa390d9fe2ce0" + }, + { + "program_id": 34, + "kind": "pivot_residual", + "line": [ + 2, + 3 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 23, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "1df8fc59ef423a041f42b7eed68ddab27d9fe871308fa2903bb16e68910f54e6" + }, + { + "program_id": 35, + "kind": "first_frame_quotient", + "frame": 118870, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "274e98a5010f976d42cea5da2ae024ca5c87e2ffdb6453bef2e5b23a0f1b2ad1" + }, + { + "program_id": 36, + "kind": "first_frame_quotient", + "frame": 118869, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "98f6733fd100b0812a2b30a6f0fcd5e99b06ab1ab82f4dfb8faea00e3542c497" + }, + { + "program_id": 37, + "kind": "first_frame_quotient", + "frame": 118678, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 462, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f33134f33a385c19235f6d38e7e2c4f197905e4922307a05081b9c0278d3c9fd" + }, + { + "program_id": 38, + "kind": "first_frame_quotient", + "frame": 118677, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8f9121d0914f7eb63d18db6b06eb7a0d80c70d0569a57502b1c4ea1f1557d107" + }, + { + "program_id": 39, + "kind": "first_frame_quotient", + "frame": 118658, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "613793d2ddd723eb893a58a00d5a4220ac81980b7ce26a7b514ff6461f0b49d3" + }, + { + "program_id": 40, + "kind": "first_frame_quotient", + "frame": 118657, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 379, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "da000ceced6c46f49e1e31d4152b32ddaf1dc9d939bbaf42902120a20d67f915" + }, + { + "program_id": 41, + "kind": "first_frame_quotient", + "frame": 118656, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 482, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "b4bda6ab50859da112ba813dbdcd8e013a589b97095e18f32f6cee28863e0d1d" + }, + { + "program_id": 42, + "kind": "first_frame_quotient", + "frame": 118654, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 480, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d9c5766087aa50fc8e50f6044d00941db2388415fe38c1817c745d15d7c8c5b1" + }, + { + "program_id": 43, + "kind": "first_frame_quotient", + "frame": 118610, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 458, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "8756375be64c5b7f09163bdc4d69a128e82e80dbced0e72df892d00e944d7d68" + }, + { + "program_id": 44, + "kind": "first_frame_quotient", + "frame": 118608, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d7be9abd78f66b0f701e6aeccb1d86618e0c6f146473fca1cf3df26275e60ae6" + }, + { + "program_id": 45, + "kind": "first_frame_quotient", + "frame": 118572, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 430, + "max_numerator": 75, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e8dc478548f773ee79998e52b9cacc953447238baaeee7100d7049f60aeefa2e" + }, + { + "program_id": 46, + "kind": "first_frame_quotient", + "frame": 118571, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 429, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "1100117fea5ebca8ae6509afa7756aa491c3779f5c1f0b9b8edd08afe9661968" + }, + { + "program_id": 47, + "kind": "first_frame_quotient", + "frame": 118560, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 428, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e2fa4ab3e17f77d8c0e25d94ea0eb25a9a8be76402e8035f5d72939b8170174a" + }, + { + "program_id": 48, + "kind": "first_frame_quotient", + "frame": 118559, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 427, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "99f89de271ad80b82cbdf82b8498c4ccec20c519bdd999b584ff0870397d4bf8" + }, + { + "program_id": 49, + "kind": "first_frame_quotient", + "frame": 118548, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 426, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "58daad0b8fc76050d2703d8fffe4d455fbaac8228c758e18ddeabe6f1a82147d" + }, + { + "program_id": 50, + "kind": "first_frame_quotient", + "frame": 118547, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 423, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4673d354a7e123b34311e6991c15aed37f7ba8af3fe71f1740c43c488749d7da" + }, + { + "program_id": 51, + "kind": "pivot_residual", + "line": [ + 6, + 7 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 19, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "c212b1bf7e788665ca4ff8d3a78227490877e70cf63714987dc3f40ac4b9020b" + }, + { + "program_id": 52, + "kind": "first_frame_quotient", + "frame": 118536, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 424, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "96a4107ff16dd5b474019e81ad5ef9d84faf0d341f1447f6cdb7cba1a2e4dc12" + }, + { + "program_id": 53, + "kind": "first_frame_quotient", + "frame": 118524, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 421, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "53c46a18344cf806a0ad011a47fafd62f589154c7b6ea87905a01316a92cdf8d" + }, + { + "program_id": 54, + "kind": "first_frame_quotient", + "frame": 118512, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 419, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "af9cd831cc217e85aef9d5bbbcdc0c77891c8c7e7fa2590e94589f9f4743e02e" + }, + { + "program_id": 55, + "kind": "first_frame_quotient", + "frame": 118511, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 418, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "5ea396dd43b94d8353f1a374037f4d2f0068a84548937ce47403f51cba32d8ac" + }, + { + "program_id": 56, + "kind": "first_frame_quotient", + "frame": 118286, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 447, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d6158a21f1537417cfe8ef7ea4a677ce856c184a5512f715a4ddccc2bdc15dd4" + }, + { + "program_id": 57, + "kind": "first_frame_quotient", + "frame": 118285, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 445, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b9248058f4b2f09f7a632769aa824d3def4abb6929c3f2107d1fffe35c71de79" + }, + { + "program_id": 58, + "kind": "first_frame_quotient", + "frame": 118236, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "750e19807c9ff10a65c383871effe62265cdd1448e84486653e756002a5e2dec" + }, + { + "program_id": 59, + "kind": "first_frame_quotient", + "frame": 118235, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 423, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "6a6f21cab4487ae270237c6b75584ea4d6b1f92f2852e656410886a00731267b" + }, + { + "program_id": 60, + "kind": "first_frame_quotient", + "frame": 118216, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f65d6600a1a92eb741539c110c12f835a8b9861913564eb7c867dead489bfb9b" + }, + { + "program_id": 61, + "kind": "first_frame_quotient", + "frame": 118215, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 360, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "0fb03ce23fa0f09a972042fd23fdc93bc3b970c81d0b037297847ed77a77e926" + }, + { + "program_id": 62, + "kind": "first_frame_quotient", + "frame": 118114, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 428, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4d152413e8d549646831ab88d93c31076faee2106dae46ad437954ce3fc4f289" + }, + { + "program_id": 63, + "kind": "first_frame_quotient", + "frame": 118113, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 427, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4b35cf76904ebdce9e90773b42894a8b9db226cb264e0d0476a54d561365600c" + }, + { + "program_id": 64, + "kind": "first_frame_quotient", + "frame": 117982, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 428, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "843737edf4a44555ce536c3b604a909c39bd752d81b6c5dd054acbd9cede1cd6" + }, + { + "program_id": 65, + "kind": "first_frame_quotient", + "frame": 117976, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9fb1d00f376024162336a3a37d67ec04497639741f4e6c862c41952740e9288c" + }, + { + "program_id": 66, + "kind": "first_frame_quotient", + "frame": 117975, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "66e4423d0972100fd4b54f6c991a23850d0767d7e6266a86841ca45681d56215" + }, + { + "program_id": 67, + "kind": "first_frame_quotient", + "frame": 117970, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "95e51c542bd93c9b88d9402ebbc101f71b30cf81f5b8bc300a8b3f01363ed135" + }, + { + "program_id": 68, + "kind": "first_frame_quotient", + "frame": 117964, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "8602ec05fa67434e07e7a6982fafe35d4bfa59e4df89137e9e8da931aff0b067" + }, + { + "program_id": 69, + "kind": "first_frame_quotient", + "frame": 117963, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "700330bf72e2738af1c43ef9fb00b5f92560777e8f232725fbb713f489b57d4f" + }, + { + "program_id": 70, + "kind": "first_frame_quotient", + "frame": 117960, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 450, + "max_numerator": 210, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "ddb169cb059409df9e12fed4ca5e6ebac3c95db7b5443adc4494d06d7f7cfa50" + }, + { + "program_id": 71, + "kind": "first_frame_quotient", + "frame": 117959, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 449, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4ea1d7d91d8cf0a45856adc66cb0ed9bef730aff3a47b5762fdd4c8e9d293cc4" + }, + { + "program_id": 72, + "kind": "first_frame_quotient", + "frame": 117948, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 449, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1a642ff5065c6c795c2f77911df4859268a009679a4c1d44d871e99235ce46e0" + }, + { + "program_id": 73, + "kind": "first_frame_quotient", + "frame": 117947, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 447, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "79602261759eae6d9d7f6e6c2f06d0f94e6e13a196421d3c42334e834008ae28" + }, + { + "program_id": 74, + "kind": "first_frame_quotient", + "frame": 117928, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "c254902a9eec4c064201db8afe722ff89bf807d2bbe5ef110b6fe2275cde01e4" + }, + { + "program_id": 75, + "kind": "first_frame_quotient", + "frame": 117927, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "efa25244dec005304afd0944e6b5b762d2c5f4464ba9fbcde19f1f5ae6c38f60" + }, + { + "program_id": 76, + "kind": "first_frame_quotient", + "frame": 117916, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "3437ba7db8b5f5be83056e314a18d750e23a6d848a0aafad330923f579f31955" + }, + { + "program_id": 77, + "kind": "first_frame_quotient", + "frame": 117915, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "338a46a9f2d9baacfe7da09360ac52c2d7810b4452cd2b6bec69c3145a61a2c5" + }, + { + "program_id": 78, + "kind": "first_frame_quotient", + "frame": 117912, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 448, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e8f99561f979eae661e0a5eb3359fcf25ad33bd11affb2d43916e1dfbda5d035" + }, + { + "program_id": 79, + "kind": "first_frame_quotient", + "frame": 117911, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 447, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2f49c1b0758d224932f336270bd10428ea37ca0be36303a0b244fb279d8368c5" + }, + { + "program_id": 80, + "kind": "first_frame_quotient", + "frame": 117898, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 426, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "9bc2161b922e0cb35c0893cb7e43ffdf882a6dffb38a6870e7da85b023f2cc0c" + }, + { + "program_id": 81, + "kind": "first_frame_quotient", + "frame": 117897, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b2068553a915744e618941365b7b67002bb8dbbfaf184d9cdbe5baaa4295fdbd" + }, + { + "program_id": 82, + "kind": "first_frame_quotient", + "frame": 117886, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4c639c54378260788f9e1e863502dd453905eac302304919a8e56cf8b5f87cb5" + }, + { + "program_id": 83, + "kind": "first_frame_quotient", + "frame": 117885, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "37264fe114835320fae24b50ef4d91f20fe5b54692b3bd8f56169427aaab0e03" + }, + { + "program_id": 84, + "kind": "first_frame_quotient", + "frame": 117880, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "5d798e47f7d8c4b654dd04987d4b8e67f69b2558efb27931e1da1809876cf481" + }, + { + "program_id": 85, + "kind": "first_frame_quotient", + "frame": 117879, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "fb7fbc6543e11353b19cbc7c04fb0aa8d3200f254f0e6671595b6d985de1fa4a" + }, + { + "program_id": 86, + "kind": "first_frame_quotient", + "frame": 117878, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d9116f5c4b2469791657f7eee057af05542af5d22c368a3181ed34b0e0488ab6" + }, + { + "program_id": 87, + "kind": "first_frame_quotient", + "frame": 117877, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 339, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8cc738f1681ffdc0e1507c004432d74c4062f981fb7f3d3058d91d253f9d3598" + }, + { + "program_id": 88, + "kind": "first_frame_quotient", + "frame": 117876, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 446, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "669f4e81d1d79bb49e162a6280f65661990a5e5a7628b12f2a8a9d2ad97a407f" + }, + { + "program_id": 89, + "kind": "first_frame_quotient", + "frame": 117875, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 444, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "d76919f7f9ca008b1e4c5f036109d26e9be613b7ac3ad25149acc722d6316658" + }, + { + "program_id": 90, + "kind": "first_frame_quotient", + "frame": 117864, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 442, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "233ebcb8f886dd37881022090fcc2663ab99328e0431782c20e2d9f5b47ce5b3" + }, + { + "program_id": 91, + "kind": "first_frame_quotient", + "frame": 117862, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "35e43766b82c246de0d5cb9fec640bd31c95c4dc059554c874ab7a9a5d4f8c86" + }, + { + "program_id": 92, + "kind": "first_frame_quotient", + "frame": 117856, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "aa9c3ce269b9913bd344fb3eca9b1c4d8cb1f3e44a9e3a9e76d9dea7f0f1a41b" + }, + { + "program_id": 93, + "kind": "first_frame_quotient", + "frame": 117852, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 442, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e22535d0c0ef574ff0b4156488b773badf7da6153e72fd00f5314596c54d64e2" + }, + { + "program_id": 94, + "kind": "first_frame_quotient", + "frame": 117844, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "488ab680e6255b50b06eebab79b24eda29e5295c8b77c2d4a002f0c2d2c4b487" + }, + { + "program_id": 95, + "kind": "first_frame_quotient", + "frame": 117843, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2c865489aebfe7a851828943c0502efa6c01aba96fb2c4b56fea136601d12e6b" + }, + { + "program_id": 96, + "kind": "first_frame_quotient", + "frame": 117838, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 440, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "90857036b8fa9efb5df5eef81b5906e3fbbf7a6663cf8875318b2cab3ef74dd7" + }, + { + "program_id": 97, + "kind": "first_frame_quotient", + "frame": 117836, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 422, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "af8e66a2c146fe358df0ca8a830a2e28c3239cd02e7ed72eebfc2f29c1c0197f" + }, + { + "program_id": 98, + "kind": "first_frame_quotient", + "frame": 117835, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 421, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "c8e10881d4d6e906c4a0e4485249dcb64f4accef08f3a395ee3684388477ee30" + }, + { + "program_id": 99, + "kind": "first_frame_quotient", + "frame": 117694, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 413, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "83ec01765c298d115624244c54139ef0b51ffa0efbaa484bd78d7dfe2df8ca70" + }, + { + "program_id": 100, + "kind": "first_frame_quotient", + "frame": 117693, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 411, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "79ed3c3597accc3bf6c1ca19ccda1488cd8c2230f3790a53512ea7b69317c1b2" + }, + { + "program_id": 101, + "kind": "first_frame_quotient", + "frame": 117644, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 390, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d6fdc5143922cea8fa5d1f6ba56c5aa64dec516ce1d557f502f25bf37f45ccb8" + }, + { + "program_id": 102, + "kind": "first_frame_quotient", + "frame": 117643, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 389, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f24d5525b81937df472d45ca68308edc196f920d51dba7b4597f2396ecbd6951" + }, + { + "program_id": 103, + "kind": "first_frame_quotient", + "frame": 117624, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 340, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "22706a0955f2f8f47e7b4b7129b93843cc596097c66d637f6f22c50abe497422" + }, + { + "program_id": 104, + "kind": "first_frame_quotient", + "frame": 117623, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 360, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f3eebd257bf0f9c1f027759d97c572d66d9f52c2120be1de7dfbd478c2af529a" + }, + { + "program_id": 105, + "kind": "first_frame_quotient", + "frame": 117462, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 352, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "cf2103f2c1a16bbf3862c1b232af16c524100d668b0d4ebb0e97d104f9f1d2b8" + }, + { + "program_id": 106, + "kind": "first_frame_quotient", + "frame": 117461, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 351, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "2288e893faa852ed2a658495543b0b4b9c54b924e015d03147a6ac938039ad02" + }, + { + "program_id": 107, + "kind": "first_frame_quotient", + "frame": 117442, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 340, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "db4c3c21460cbb1618ede8b87215d7a73cc9f4009a00c345bae86787a4f13d90" + }, + { + "program_id": 108, + "kind": "first_frame_quotient", + "frame": 117441, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "dabb61fc57c4ad99738f7a6bca5fbc8a78e34d431c9d66142c1a0c0afab206f0" + }, + { + "program_id": 109, + "kind": "first_frame_quotient", + "frame": 117390, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 377, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8ecbcf9f1ef974f992c6deb557e715ea8e4a6ce4db267e4d5cf6f4cb6cab6c25" + }, + { + "program_id": 110, + "kind": "first_frame_quotient", + "frame": 117389, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 375, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b32649d6506737bc6dbb2af2f24f842c6664e05d677ec6a1c9ec2a7c30d61371" + }, + { + "program_id": 111, + "kind": "first_frame_quotient", + "frame": 117340, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 354, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ba8da4ccbf24a61c20c452a31f246fe5d10c63ea1593f0c9c440b4ac0083cc52" + }, + { + "program_id": 112, + "kind": "first_frame_quotient", + "frame": 117339, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 353, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "296132fd9d62f954c2ae9a255c58a8af654c6c86c3db4aed22708869ee6ed5c1" + }, + { + "program_id": 113, + "kind": "first_frame_quotient", + "frame": 117262, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "659e9b2407e6559a15339b8ecf1bd2129482f830251b3029aab8c9c36f2e1fd7" + }, + { + "program_id": 114, + "kind": "first_frame_quotient", + "frame": 117261, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "9aaf07aac13f6a580a70bff94bfa3092020f298604bed305d6dd48c58907151e" + }, + { + "program_id": 115, + "kind": "first_frame_quotient", + "frame": 117258, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 321, + "max_numerator": 165, + "max_denominator": 300, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f010c918b5e66956c2a9012275265a818c6a38f27d08807a3736fa3bd75c94db" + }, + { + "program_id": 116, + "kind": "first_frame_quotient", + "frame": 117257, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 165, + "max_denominator": 300, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "75334417a52074df79aaabd297e561aca3644f15f2674befab2a3f4bd65c9ec8" + }, + { + "program_id": 117, + "kind": "first_frame_quotient", + "frame": 117250, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "de6018f5367de179d4cde23cf14eadd84e950cc89bdce41db281057ab30338ab" + }, + { + "program_id": 118, + "kind": "first_frame_quotient", + "frame": 117249, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a2f14780f647ede846a15126338023a85de9357ae13b525017178e46af2eaf5c" + }, + { + "program_id": 119, + "kind": "first_frame_quotient", + "frame": 117246, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 321, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a25c7efc5980ed1dd9ad02ead946ed8132dc1d10eefb5cb48d26bc3ee5f8faa0" + }, + { + "program_id": 120, + "kind": "first_frame_quotient", + "frame": 117245, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e545df29e1821cc1c506e3154640cf10e34adba4b6e61e076ffca3cbeacb5ae2" + }, + { + "program_id": 121, + "kind": "first_frame_quotient", + "frame": 117238, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "674dee9e9ce795b477f8652bf462fb8daf56cd03ef1b44259e33c392c7189994" + }, + { + "program_id": 122, + "kind": "first_frame_quotient", + "frame": 117237, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "84435b53acdf49e8c8ee8d43bbbefb188b412df3269fadab31952da43e7070f9" + }, + { + "program_id": 123, + "kind": "first_frame_quotient", + "frame": 117194, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 297, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "626a6ccdee8441c10cb80ab0226fcf487a7a9e7c7b8c562dcba5abd267015f03" + }, + { + "program_id": 124, + "kind": "first_frame_quotient", + "frame": 117193, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 296, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "5cfcfb90a92f3f145ec2d2b682373a7241255e7a60a332964a1e38373ae6550b" + }, + { + "program_id": 125, + "kind": "first_frame_quotient", + "frame": 117192, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 279, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8b5b41e57c331c6f36c3bfa32e0f42c2dfe42f287b69c4980f60af117179c293" + }, + { + "program_id": 126, + "kind": "first_frame_quotient", + "frame": 117191, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 278, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "311684e8e31c09e462ff5187b1073f6d0d0e5e080ae3e58a39bc88dfc4e548c8" + }, + { + "program_id": 127, + "kind": "first_frame_quotient", + "frame": 117182, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 297, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "70115a2f3e64e573a192636c003016123ad7d2aef310aeb8499fa9b2888eedc9" + }, + { + "program_id": 128, + "kind": "first_frame_quotient", + "frame": 117181, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 296, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "682b2cb7b5803704a3d8871086833f523adb21077abf98cc3064199ee82e6e89" + }, + { + "program_id": 129, + "kind": "first_frame_quotient", + "frame": 117180, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 277, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ce0de67aa45e1033ca661135ca7b98fa2ab5fd0f3845985d2b1d8b1d6dcaa0bd" + }, + { + "program_id": 130, + "kind": "first_frame_quotient", + "frame": 117179, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 276, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "0b7abf6d8ceabbf52aa00ef251b505a86bccb7c8c34ff1154cde95de19ed126f" + }, + { + "program_id": 131, + "kind": "first_frame_quotient", + "frame": 117174, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 227, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "25d5fc699711e7241a9ca325836731f7581d1c338b827eaa4a09bd3b76416be6" + }, + { + "program_id": 132, + "kind": "first_frame_quotient", + "frame": 117173, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 227, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "026463dd226ad0276703d4d2abf4d6d5aa6c291341e9574305d258a9337bc412" + }, + { + "program_id": 133, + "kind": "first_frame_quotient", + "frame": 146888, + "residual_rank": 5, + "completion_rank": 19, + "determinant": "56751048193359375000000", + "count": 437, + "max_numerator": 180, + "max_denominator": 480, + "first_dimension": 6, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "af27e8822258be21ed8e3e401bcd231f42347d86eaf3b0d7da2756d2324f7858" + }, + { + "program_id": 134, + "kind": "first_frame_quotient", + "frame": 146889, + "residual_rank": 5, + "completion_rank": 19, + "determinant": "-56751048193359375000000", + "count": 417, + "max_numerator": 180, + "max_denominator": 480, + "first_dimension": 6, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "9c85747a9f36734e12abde1c18b814db4340964ddca266da68c298afac3c17fe" + }, + { + "program_id": 135, + "kind": "first_frame_quotient", + "frame": 116097, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "98f332b4367faeb58a52b565707d69e8f75b101c75c31568946da55d4015431b" + }, + { + "program_id": 136, + "kind": "first_frame_quotient", + "frame": 116086, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1972673e0794f88cd6c7f9df48b2cc21988cf877a2dc2014840a19148290ea40" + }, + { + "program_id": 137, + "kind": "first_frame_quotient", + "frame": 116062, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 389, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ef5b96c3c4461cb581c7d5ee11dfe7c0130ce95de9e39b3ad4758a855f8c1b87" + }, + { + "program_id": 138, + "kind": "first_frame_quotient", + "frame": 116023, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1a2e1585b7ffcc24bb8937c4767662e3a59ce53f6f43648dd29501fdd8b5629f" + }, + { + "program_id": 139, + "kind": "first_frame_quotient", + "frame": 116012, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "0b70edd1fdaf571c313492bfa45fce93d3dc14a219043a5786a1a80f53e499f6" + }, + { + "program_id": 140, + "kind": "first_frame_quotient", + "frame": 115988, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 389, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "25f65d9338827436bc881c86c5c6d46a7398678b224f82e0d7b1f01139ff4619" + }, + { + "program_id": 141, + "kind": "first_frame_quotient", + "frame": 115756, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 135, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "483a3adc8bec29042eed2e5f8920080ad8b3645af18727bbb7b97fbabf1f3dcf" + }, + { + "program_id": 142, + "kind": "first_frame_quotient", + "frame": 115755, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "159612323043823242187500", + "count": 323, + "max_numerator": 180, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b3c6df1d451719b08f8a3fd73f3fb59ae61e8867c4413618627f7288642e455d" + }, + { + "program_id": 143, + "kind": "first_frame_quotient", + "frame": 115741, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "2786c9bfaa277d67d9b012786bb35030551e2b060f54ae1e12fe336f7fbc2cf3" + }, + { + "program_id": 144, + "kind": "first_frame_quotient", + "frame": 115739, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-159612323043823242187500", + "count": 308, + "max_numerator": 255, + "max_denominator": 390, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a0acd037652d9c8cec769845241e46567ed6d8dde18dac380937a4715c3367f8" + }, + { + "program_id": 145, + "kind": "first_frame_quotient", + "frame": 115682, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 135, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1807cfd54b46d739a76fe4fe8998daea4dc626199ce71ee6eb127d1fc2b98777" + }, + { + "program_id": 146, + "kind": "first_frame_quotient", + "frame": 115681, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "159612323043823242187500", + "count": 323, + "max_numerator": 180, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a1173cc4fad31b750be1d69a88b7cdf9ef364baceb7ebf5d4e94c6485b6b8c44" + }, + { + "program_id": 147, + "kind": "first_frame_quotient", + "frame": 115667, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "10c8a4751ec540f15f5a7170d56d9e768216cabd4443cfae18cf3c0992a8db13" + }, + { + "program_id": 148, + "kind": "first_frame_quotient", + "frame": 115665, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-159612323043823242187500", + "count": 307, + "max_numerator": 255, + "max_denominator": 390, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "56c7686076591bf12e894ac5a46375f158a4e2fd2a17c2cfa0a52f9cd7d52b43" + }, + { + "program_id": 149, + "kind": "first_frame_quotient", + "frame": 115593, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "450f3f7d92031dd87c9da9a6ebfbd6be0ac1cdf82bba9a3b947e05d6250be6b7" + }, + { + "program_id": 150, + "kind": "first_frame_quotient", + "frame": 115519, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "44e3e6a07fbe748726b07cc33363d8c41d9e7d2bd2de75947226e295b49c4f36" + }, + { + "program_id": 151, + "kind": "first_frame_quotient", + "frame": 115445, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 81, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8c360fe2d03d681751944e4c7199162d9a07e6967ad81c1d2f935401f66aabc0" + }, + { + "program_id": 152, + "kind": "first_frame_quotient", + "frame": 115371, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ce9b99f9a6644a6f7963b3d5a2f8049c5015a1ce71e73ea828eaa8b5c03051ba" + }, + { + "kind": "new_rank2", + "role": 15813, + "determinant": "131621703842267136", + "count": 141, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 153, + "scope": "final12", + "factor_program_sha256": "ee0f4465373ed6b314c1b13b5791d859883f61ecf56d8204536a7590e680eaee" + }, + { + "kind": "new_rank2", + "role": 15815, + "determinant": "131621703842267136", + "count": 142, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 154, + "scope": "final12", + "factor_program_sha256": "4dea2af631987a3f61627d29463b427d396f7a4753cadeb78a9f0be49e7c270a" + }, + { + "kind": "new_rank2", + "role": 15821, + "determinant": "131621703842267136", + "count": 132, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 155, + "scope": "final12", + "factor_program_sha256": "2e51effec59bfc9c66a6732f677284a6ef47597ba997f20082edb4c695a4e3b7" + }, + { + "kind": "new_rank2", + "role": 15823, + "determinant": "131621703842267136", + "count": 133, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 156, + "scope": "final12", + "factor_program_sha256": "2ee047ca9e922d9d6e83d1c85b127995246e26ec82328e14d1aca5b6732b72e2" + }, + { + "kind": "new_rank2", + "role": 15828, + "determinant": "-131621703842267136", + "count": 139, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 157, + "scope": "final12", + "factor_program_sha256": "b096afe0ffa6894e9c07f9b0d992f671fb41939e576f7d1d79bfb158ddf137a7" + }, + { + "kind": "new_rank2", + "role": 15829, + "determinant": "131621703842267136", + "count": 139, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 158, + "scope": "final12", + "factor_program_sha256": "6d90de721f8d03e7fc6ac56f7b3a10d752a18d0aea8b325448829594ec6309f6" + }, + { + "kind": "new_rank2", + "role": 15830, + "determinant": "-131621703842267136", + "count": 140, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 159, + "scope": "final12", + "factor_program_sha256": "761a22ba78f1bff34744529cd9644841f4f3fe9be0aadb3712a9818a1ce48de1" + }, + { + "kind": "new_rank2", + "role": 15831, + "determinant": "131621703842267136", + "count": 140, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 160, + "scope": "final12", + "factor_program_sha256": "21de4e2fd0fe49649eb39d08b9b8c0891f61547aa4adc343881c4ed466f6f412" + }, + { + "kind": "new_rank2", + "role": 15836, + "determinant": "-131621703842267136", + "count": 137, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 161, + "scope": "final12", + "factor_program_sha256": "7075d85e79c3ce4700259a78ebd48945ce45dbdcd7dbebe1dff92664c51cb81f" + }, + { + "kind": "new_rank2", + "role": 15837, + "determinant": "131621703842267136", + "count": 137, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 162, + "scope": "final12", + "factor_program_sha256": "0046c8e61d974b386f36497b131c7d1c6cde9a8142e1b732d62cfc3248f80f73" + }, + { + "kind": "new_rank2", + "role": 15838, + "determinant": "-131621703842267136", + "count": 138, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 163, + "scope": "final12", + "factor_program_sha256": "ee01d83a1fc871c274b0c2345ef9feb5c6c082e6a930f7cfb5798388bd356c86" + }, + { + "kind": "new_rank2", + "role": 15839, + "determinant": "131621703842267136", + "count": 138, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 164, + "scope": "final12", + "factor_program_sha256": "855bb49768d8b3c0805dd8a4c0bc99617fa130f147ecb251571660a1ebe405c7" + }, + { + "kind": "reverted_rank4", + "role": 15329, + "determinant": "-36", + "count": 106, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 165, + "scope": "final12", + "factor_program_sha256": "ee8cbc9f121334290a843667920037fb507e3a9acb633128272c27d05285ca73" + }, + { + "kind": "reverted_rank4", + "role": 15349, + "determinant": "-36", + "count": 96, + "max_numerator": 4, + "max_denominator": 9, + "program_id": 166, + "scope": "final12", + "factor_program_sha256": "5c9829536b709881f4735130f7273f7f29705da6a936e116b4467cb2339279ed" + }, + { + "kind": "reverted_rank4", + "role": 15369, + "determinant": "-36", + "count": 98, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 167, + "scope": "final12", + "factor_program_sha256": "7cb11086bf315a8b897c278f1b4fa8a83c915179ea90457f4d7405606fb5c2d5" + }, + { + "kind": "reverted_rank4", + "role": 15379, + "determinant": "-36", + "count": 98, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 168, + "scope": "final12", + "factor_program_sha256": "430e4a01f69d726235ae8c90a7ca0572e6a18338b5999c0323f8556d70898713" + }, + { + "kind": "reverted_rank4", + "role": 15389, + "determinant": "-36", + "count": 90, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 169, + "scope": "final12", + "factor_program_sha256": "a8a96d8c4203ec6d53fd430e118ab731cfefa3c533c8f80f75dccce324877f62" + }, + { + "kind": "reverted_rank4", + "role": 15399, + "determinant": "-36", + "count": 90, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 170, + "scope": "final12", + "factor_program_sha256": "804719e761dfd328cd73056c37b661415250b62727c4155a35497ac19861e194" + } + ] +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/composition.json b/research/gen5b-shared-kernels/certificates/kernel70/composition.json new file mode 100644 index 0000000000..b232e981b6 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/composition.json @@ -0,0 +1,859 @@ +{ + "status": "PASS_ROLE_DISJOINT_PR300_COMPOSITION", + "source_head": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "baseline_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "id_space": "pre-sink18954 streams", + "new_descent_gate_count": 89, + "distinct_new_descent_helper_streams": 154, + "all_new_descent_operands_helpers": true, + "category_counts": { + "30": 2, + "12": 87 + }, + "rational_new_frame_ranks_and_nondegeneracy_checked": 89, + "unchanged_restore_entries": 440, + "unchanged_sink_entries": 7, + "final12_changed_frame_streams": 60, + "final12_broader_scalar_closure": 84, + "kernel70_streams": 157, + "descent2_overlap_final12": [], + "descent2_overlap_kernel70": [], + "paid_ledgers_additive": true, + "combined_local_histogram_delta_over299": { + "1": 149, + "2": 273, + "3": -215, + "4": -30, + "5": 8, + "6": -2, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "combined_local_rank_drop": 76, + "final12_and_kernel70_source_response_unchanged": true, + "common_kernel_cut_and_final_restore_order_unchanged": true, + "scalar_majorants_unchanged_by_descent2": true, + "source_operand_columns_unchanged_by_new_kernel": true, + "proofs": { + "frame": "Every descent2 event and every affected per-role MOVE partition belongs to a helper disjoint from the full local-surgery role closure and new kernel members. Thus both modifications preserve each other's chronological frame path and their paid histogram differences add exactly.", + "scalar": "Descent2 preserves the scalar/COPY order and coefficients. Consequently final12's complete suffix identity and the new kernel's response relations/cut/restore identity remain unchanged. Inserting new kernel setup before every source injection changes only dirty columns, so each inherited old operand's source-column span remains identical over the integers.", + "prefix": "Descent2 changes only87 helper forward-gate frames and2 old kernel-setup frames. It neither changes initial dirty-read/source-injection ordering nor touches new kernel helpers. Its changed old kernel setups use disjoint helper support.", + "endpoints": "All440 restoration entries and all7 sink entries are semantically identical to299; changed input hashes and shifted raw record indices do not change their selected operators or endpoint bases." + }, + "matched_scalar_events": [ + { + "record": 614073, + "kind": "old_kernel_setup", + "streams": [ + 16639, + 16635 + ] + }, + { + "record": 614371, + "kind": "old_kernel_setup", + "streams": [ + 16711, + 16707 + ] + }, + { + "record": 686889, + "kind": "forward_gate", + "op": 22572, + "streams": [ + 12222, + 4901 + ] + }, + { + "record": 686891, + "kind": "forward_gate", + "op": 22573, + "streams": [ + 16432, + 12222 + ] + }, + { + "record": 686975, + "kind": "forward_gate", + "op": 22621, + "streams": [ + 12224, + 4911 + ] + }, + { + "record": 686977, + "kind": "forward_gate", + "op": 22622, + "streams": [ + 16436, + 12224 + ] + }, + { + "record": 687063, + "kind": "forward_gate", + "op": 22670, + "streams": [ + 13054, + 6161 + ] + }, + { + "record": 687065, + "kind": "forward_gate", + "op": 22671, + "streams": [ + 16440, + 13054 + ] + }, + { + "record": 687150, + "kind": "forward_gate", + "op": 22719, + "streams": [ + 13056, + 6171 + ] + }, + { + "record": 687152, + "kind": "forward_gate", + "op": 22720, + "streams": [ + 16444, + 13056 + ] + }, + { + "record": 687237, + "kind": "forward_gate", + "op": 22768, + "streams": [ + 13718, + 7169 + ] + }, + { + "record": 687239, + "kind": "forward_gate", + "op": 22769, + "streams": [ + 16448, + 13718 + ] + }, + { + "record": 687324, + "kind": "forward_gate", + "op": 22817, + "streams": [ + 13720, + 7179 + ] + }, + { + "record": 687326, + "kind": "forward_gate", + "op": 22818, + "streams": [ + 16452, + 13720 + ] + }, + { + "record": 687411, + "kind": "forward_gate", + "op": 22866, + "streams": [ + 14226, + 7953 + ] + }, + { + "record": 687413, + "kind": "forward_gate", + "op": 22867, + "streams": [ + 16456, + 14226 + ] + }, + { + "record": 687497, + "kind": "forward_gate", + "op": 22915, + "streams": [ + 14228, + 7963 + ] + }, + { + "record": 687499, + "kind": "forward_gate", + "op": 22916, + "streams": [ + 16460, + 14228 + ] + }, + { + "record": 687584, + "kind": "forward_gate", + "op": 22964, + "streams": [ + 14610, + 8541 + ] + }, + { + "record": 687586, + "kind": "forward_gate", + "op": 22965, + "streams": [ + 16464, + 14610 + ] + }, + { + "record": 687670, + "kind": "forward_gate", + "op": 23013, + "streams": [ + 14612, + 8551 + ] + }, + { + "record": 687672, + "kind": "forward_gate", + "op": 23014, + "streams": [ + 16468, + 14612 + ] + }, + { + "record": 687758, + "kind": "forward_gate", + "op": 23062, + "streams": [ + 14894, + 8961 + ] + }, + { + "record": 687760, + "kind": "forward_gate", + "op": 23063, + "streams": [ + 16472, + 14894 + ] + }, + { + "record": 687845, + "kind": "forward_gate", + "op": 23111, + "streams": [ + 14896, + 8971 + ] + }, + { + "record": 687847, + "kind": "forward_gate", + "op": 23112, + "streams": [ + 16476, + 14896 + ] + }, + { + "record": 687933, + "kind": "forward_gate", + "op": 23160, + "streams": [ + 14898, + 9241 + ] + }, + { + "record": 687935, + "kind": "forward_gate", + "op": 23161, + "streams": [ + 16480, + 14898 + ] + }, + { + "record": 688020, + "kind": "forward_gate", + "op": 23209, + "streams": [ + 14900, + 9251 + ] + }, + { + "record": 688022, + "kind": "forward_gate", + "op": 23210, + "streams": [ + 16484, + 14900 + ] + }, + { + "record": 688107, + "kind": "forward_gate", + "op": 23258, + "streams": [ + 14970, + 9409 + ] + }, + { + "record": 688109, + "kind": "forward_gate", + "op": 23259, + "streams": [ + 16488, + 14970 + ] + }, + { + "record": 688193, + "kind": "forward_gate", + "op": 23307, + "streams": [ + 14972, + 9419 + ] + }, + { + "record": 688195, + "kind": "forward_gate", + "op": 23308, + "streams": [ + 16492, + 14972 + ] + }, + { + "record": 688280, + "kind": "forward_gate", + "op": 23356, + "streams": [ + 14974, + 9417 + ] + }, + { + "record": 688282, + "kind": "forward_gate", + "op": 23357, + "streams": [ + 16496, + 14974 + ] + }, + { + "record": 688366, + "kind": "forward_gate", + "op": 23405, + "streams": [ + 14976, + 9425 + ] + }, + { + "record": 688368, + "kind": "forward_gate", + "op": 23406, + "streams": [ + 16500, + 14976 + ] + }, + { + "record": 688454, + "kind": "forward_gate", + "op": 23454, + "streams": [ + 14992, + 9401 + ] + }, + { + "record": 688456, + "kind": "forward_gate", + "op": 23455, + "streams": [ + 16504, + 14992 + ] + }, + { + "record": 688541, + "kind": "forward_gate", + "op": 23503, + "streams": [ + 14994, + 9405 + ] + }, + { + "record": 688543, + "kind": "forward_gate", + "op": 23504, + "streams": [ + 16508, + 14994 + ] + }, + { + "record": 688628, + "kind": "forward_gate", + "op": 23552, + "streams": [ + 15010, + 9429 + ] + }, + { + "record": 688630, + "kind": "forward_gate", + "op": 23553, + "streams": [ + 16512, + 15010 + ] + }, + { + "record": 688715, + "kind": "forward_gate", + "op": 23601, + "streams": [ + 15012, + 9433 + ] + }, + { + "record": 688717, + "kind": "forward_gate", + "op": 23602, + "streams": [ + 16516, + 15012 + ] + }, + { + "record": 688803, + "kind": "forward_gate", + "op": 23650, + "streams": [ + 15028, + 9457 + ] + }, + { + "record": 688805, + "kind": "forward_gate", + "op": 23651, + "streams": [ + 16520, + 15028 + ] + }, + { + "record": 688889, + "kind": "forward_gate", + "op": 23699, + "streams": [ + 15030, + 9461 + ] + }, + { + "record": 688891, + "kind": "forward_gate", + "op": 23700, + "streams": [ + 16524, + 15030 + ] + }, + { + "record": 695015, + "kind": "forward_gate", + "op": 26229, + "streams": [ + 16642, + 5077 + ] + }, + { + "record": 695215, + "kind": "forward_gate", + "op": 26312, + "streams": [ + 16646, + 5085 + ] + }, + { + "record": 695415, + "kind": "forward_gate", + "op": 26395, + "streams": [ + 16650, + 5061 + ] + }, + { + "record": 695613, + "kind": "forward_gate", + "op": 26478, + "streams": [ + 16654, + 5065 + ] + }, + { + "record": 695758, + "kind": "forward_gate", + "op": 26536, + "streams": [ + 16656, + 13977 + ] + }, + { + "record": 695815, + "kind": "forward_gate", + "op": 26561, + "streams": [ + 16658, + 5089 + ] + }, + { + "record": 695959, + "kind": "forward_gate", + "op": 26619, + "streams": [ + 16660, + 13979 + ] + }, + { + "record": 696016, + "kind": "forward_gate", + "op": 26644, + "streams": [ + 16662, + 5093 + ] + }, + { + "record": 696160, + "kind": "forward_gate", + "op": 26702, + "streams": [ + 16664, + 13981 + ] + }, + { + "record": 696360, + "kind": "forward_gate", + "op": 26785, + "streams": [ + 16668, + 13983 + ] + }, + { + "record": 696435, + "kind": "forward_gate", + "op": 26818, + "streams": [ + 16671, + 4085 + ] + }, + { + "record": 696559, + "kind": "forward_gate", + "op": 26868, + "streams": [ + 16672, + 13999 + ] + }, + { + "record": 696635, + "kind": "forward_gate", + "op": 26901, + "streams": [ + 16675, + 4109 + ] + }, + { + "record": 696759, + "kind": "forward_gate", + "op": 26951, + "streams": [ + 16676, + 14001 + ] + }, + { + "record": 696835, + "kind": "forward_gate", + "op": 26984, + "streams": [ + 16679, + 4113 + ] + }, + { + "record": 696958, + "kind": "forward_gate", + "op": 27034, + "streams": [ + 16680, + 14017 + ] + }, + { + "record": 697016, + "kind": "forward_gate", + "op": 27059, + "streams": [ + 16682, + 5173 + ] + }, + { + "record": 697035, + "kind": "forward_gate", + "op": 27067, + "streams": [ + 16683, + 4137 + ] + }, + { + "record": 697157, + "kind": "forward_gate", + "op": 27117, + "streams": [ + 16684, + 14019 + ] + }, + { + "record": 697214, + "kind": "forward_gate", + "op": 27142, + "streams": [ + 16686, + 5177 + ] + }, + { + "record": 697233, + "kind": "forward_gate", + "op": 27150, + "streams": [ + 16687, + 4141 + ] + }, + { + "record": 697358, + "kind": "forward_gate", + "op": 27200, + "streams": [ + 16688, + 14035 + ] + }, + { + "record": 697415, + "kind": "forward_gate", + "op": 27225, + "streams": [ + 16690, + 5201 + ] + }, + { + "record": 697558, + "kind": "forward_gate", + "op": 27283, + "streams": [ + 16692, + 14037 + ] + }, + { + "record": 697615, + "kind": "forward_gate", + "op": 27308, + "streams": [ + 16694, + 5205 + ] + }, + { + "record": 697758, + "kind": "forward_gate", + "op": 27366, + "streams": [ + 16696, + 14053 + ] + }, + { + "record": 697816, + "kind": "forward_gate", + "op": 27391, + "streams": [ + 16698, + 5229 + ] + }, + { + "record": 697956, + "kind": "forward_gate", + "op": 27449, + "streams": [ + 16700, + 14055 + ] + }, + { + "record": 698013, + "kind": "forward_gate", + "op": 27474, + "streams": [ + 16702, + 5233 + ] + }, + { + "record": 698157, + "kind": "forward_gate", + "op": 27532, + "streams": [ + 16704, + 14071 + ] + }, + { + "record": 698214, + "kind": "forward_gate", + "op": 27557, + "streams": [ + 16706, + 5257 + ] + }, + { + "record": 698357, + "kind": "forward_gate", + "op": 27615, + "streams": [ + 16708, + 14073 + ] + }, + { + "record": 698414, + "kind": "forward_gate", + "op": 27640, + "streams": [ + 16710, + 5261 + ] + }, + { + "record": 698557, + "kind": "forward_gate", + "op": 27698, + "streams": [ + 16712, + 14089 + ] + }, + { + "record": 698615, + "kind": "forward_gate", + "op": 27723, + "streams": [ + 16714, + 5285 + ] + }, + { + "record": 698634, + "kind": "forward_gate", + "op": 27731, + "streams": [ + 16715, + 4249 + ] + }, + { + "record": 698757, + "kind": "forward_gate", + "op": 27781, + "streams": [ + 16716, + 14091 + ] + }, + { + "record": 698814, + "kind": "forward_gate", + "op": 27806, + "streams": [ + 16718, + 5289 + ] + }, + { + "record": 698832, + "kind": "forward_gate", + "op": 27814, + "streams": [ + 16719, + 4253 + ] + } + ], + "input_sha256": { + "pr300/descent2-selection.json": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "pr300/portable_bit.py": "93b2c72a63cf24b991a7cc0f35de4da016a245c58f45c1551fe888d5412a73a4", + "pr300/restore-selection.json": "aa85e17b5ff9e849f0decce611a9cc61f697e23aaeea87a7580084535e7f3e07", + "pr300/sink-selection.json": "cadc2c1e3975a3103bbd55992428b686950b4f13987f59146b527f86cebf639f" + }, + "scope": "A changed-stage composition certificate, conditional on the admitted PR300 descent2/source contracts. It independently matches all89 scalar events, checks rational frame rank/nondegeneracy and proves support disjointness; it does not rerun PR300's complete physical producer, source-span admission, all-size compiler or unified finite/bank assembly. No upstream program was executed." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/finite-bill.json b/research/gen5b-shared-kernels/certificates/kernel70/finite-bill.json new file mode 100644 index 0000000000..8822269014 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/finite-bill.json @@ -0,0 +1,101 @@ +{ + "status": "PASS_UNIFIED_PR300_KERNEL70_FINAL12_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "candidate70", + "with_final12": true, + "gross_added_scalar_events_per_stage": 1202, + "omitted_reads_not_credited": 860, + "scalar_weighted_additions_upper": 217419600, + "scalar_unit_additions_upper": 218475600, + "literal_children": 29005500, + "literal_rank_mass": 147283200, + "literal_stock": 1229560, + "route_families": 11790600, + "changed_chart_programs": 171, + "changed_role_chart_uses": 314, + "pivot_residual_demands": 70, + "max_changed_chart_factors": 489, + "max_changed_chart_numerator": 390, + "max_changed_chart_denominator": 540, + "normalizer_factor_bound": 815, + "bank_selector_calls": 905994095400, + "displayed_finite_coefficient": 90466979917115701, + "coefficient_bits": 57, + "retained_coefficient_cap_bits": 80, + "sink_aware_forward_norm": 191659, + "sink_aware_inverse_norm": 5356455, + "conservative_payload_upper": 12927738210344389271740351838400, + "payload_bits": 104, + "retained_payload_cap_bits": 104, + "payload_strict_gap": 7354671393307281152206899447616, + "actual_sink_redirects": 14, + "target_majorant_edges": 681, + "target_majorant_acyclic_vertices": 908, + "new_bank_block_scalars_up_to": 60, + "scalar_unit_reason": "All chart factor numerators and denominators, and every block+1 scalar, are nonzero and smaller than the retained prime characteristic q>2^80.", + "bad_fallback_per_child": 460800, + "internal_row_coefficient": 14401, + "external_row_coefficient": 20161, + "ordinary_degree_gap": "23971789/25", + "delta_tau_lower": "106798703474680870713165321749296941278625668197/384237500000000000000000000000000000000000000000000000000000000000", + "delta_linear": "34374999825967/19211875000000000", + "bootstrap_chain": [ + "384599/10000000000", + "187492150022321957276191954911759/250000000000000000000000000000000000", + "93812823687064123395063249204381792532414523789961/125000000000000000000000000000000000000000000000000000", + "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000" + ], + "bootstrap_gaps": [ + { + "stage": 1, + "slacks": { + "atom": "133597617217542723808045088241/250000000000000000000000000000000000", + "borrowing": "249624882102338138542723808045088241/250000000000000000000000000000000000", + "remainder": "249624889318405630184649024095088241/250000000000000000000000000000000000", + "stock": "499624748504720921/500000000000000000" + }, + "minimum": "133597617217542723808045088241/250000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 126062261360793 + }, + { + "stage": 2, + "slacks": { + "atom": "50132705626604936750795618207467585476210039/125000000000000000000000000000000000000000000000000000", + "borrowing": "124812374302493166126604936750795618207467585476210039/125000000000000000000000000000000000000000000000000000", + "remainder": "249624889318405630184649024095088241/250000000000000000000000000000000000", + "stock": "499624748504720921/500000000000000000" + }, + "minimum": "50132705626604936750795618207467585476210039/125000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 223810387500942999663 + }, + { + "stage": 3, + "slacks": { + "atom": "18812372748769399643683777315276721947709950355873526474081/62500000000000000000000000000000000000000000000000000000000000000000000", + "borrowing": "62406187126199042622748769399643683777315276721947709950355873526474081/62500000000000000000000000000000000000000000000000000000000000000000000", + "remainder": "249624889318405630184649024095088241/250000000000000000000000000000000000", + "stock": "499624748504720921/500000000000000000" + }, + "minimum": "18812372748769399643683777315276721947709950355873526474081/62500000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 397351983159817217760782678 + } + ], + "cutoff_scope": "Displayed fixed bill only. The retained theorem rule uses C_full, including inherited primitive, wrapper and earlier ordinary-level constants, whose values are not supplied or replaced by this check.", + "inherited_assumptions": [ + "Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.", + "Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.", + "Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.", + "Inherited all-size theorem and outer positive literal-gap and row-gap interfaces.", + "Pinned PR300 second-descent chronological/source-span admission and its unchanged chart/finite-compiler contracts; only the new composition is independently checked here." + ], + "full_inherited_admission_replayed": false, + "all_size_theorem_verified": false, + "additional_source_head": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "additional_source_pins": { + "pr300/descent2-selection.json": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "pr300/portable_bit.py": "93b2c72a63cf24b991a7cc0f35de4da016a245c58f45c1551fe888d5412a73a4", + "pr300/restore-selection.json": "aa85e17b5ff9e849f0decce611a9cc61f697e23aaeea87a7580084535e7f3e07", + "pr300/sink-selection.json": "cadc2c1e3975a3103bbd55992428b686950b4f13987f59146b527f86cebf639f" + }, + "pr300_composition_status": "PASS_ROLE_DISJOINT_PR300_COMPOSITION" +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/norm.json b/research/gen5b-shared-kernels/certificates/kernel70/norm.json new file mode 100644 index 0000000000..ab5456500e --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/norm.json @@ -0,0 +1,32 @@ +{ + "status": "PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS", + "selection": "candidate70", + "forward": { + "reverse": false, + "inherited_bound": 77985, + "max_added_majorant": 113674, + "certified_new_bound": 191659, + "max_added_helper": 113674, + "max_added_target": 609, + "max_added_source": 0 + }, + "inverse": { + "reverse": true, + "inherited_bound": 2475558, + "max_added_majorant": 2880897, + "certified_new_bound": 5356455, + "max_added_helper": 113674, + "max_added_target": 2880897, + "max_added_source": 0 + }, + "payload_bound": 12927738210344389271740351838400, + "payload_bits": 104, + "retained_payload_cap_2_to104": true, + "setup_restore_pairs": 601, + "max_target_prefix_degree": 3, + "target_majorant_acyclic_vertices": 908, + "target_majorant_edges": 681, + "actual_sink_redirects": 14, + "target_majorant_proof": "Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.", + "scope": "Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel70/pricing.json b/research/gen5b-shared-kernels/certificates/kernel70/pricing.json new file mode 100644 index 0000000000..b87b25aec2 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel70/pricing.json @@ -0,0 +1,782 @@ +{ + "status": "PASS_KERNEL70_PR300_FINAL12_EXACT_PRICING", + "physical_admission": false, + "local_histogram_delta": { + "3": -215, + "1": 149, + "2": 273, + "6": -2, + "5": 8, + "4": -30, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "role_rank_count_delta": { + "24": -70, + "23": 70, + "2": 12, + "3": -18, + "4": 6 + }, + "histogram": { + "1": 221585, + "2": 84095, + "3": 43970, + "4": 25655, + "5": 12080, + "6": 10105, + "7": 4200, + "8": 1690, + "9": 3485, + "10": 2015, + "11": 3330, + "12": 3025, + "13": 1470, + "14": 2545, + "15": 300, + "16": 8340, + "17": 390, + "18": 3615, + "19": 375, + "20": 3180, + "21": 35095, + "22": 2320, + "23": 3520, + "46": 3520, + "50": 3520 + }, + "calls": 483425, + "rank_mass": 2454720, + "literal_stock": 1229560, + "unreplicated_stock": "61478/3", + "deficit": "4400", + "packing": { + "capacity": 120, + "demand": { + "10": 60, + "12": 60, + "13": 240, + "14": 60, + "15": 60, + "17": 120, + "18": 180, + "19": 120, + "20": 1260, + "21": 960, + "22": 4920, + "23": 98640, + "24": 684180, + "3": 27360, + "4": 104880, + "6": 1020, + "7": 180, + "8": 360, + "9": 240, + "2": 720 + }, + "patterns": [ + { + "widths": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 10 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 7, + 7, + 7, + 7, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 8, + 8, + 8, + 8, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 90 + }, + { + "widths": [ + 9, + 9, + 9, + 9, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 10, + 10, + 10, + 10, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 12, + 12, + 12, + 12, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 13, + 13, + 13, + 13, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 14, + 14, + 14, + 14, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 15, + 15, + 15, + 15, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 17, + 17, + 17, + 17, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 18, + 18, + 18, + 18, + 24, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 45 + }, + { + "widths": [ + 19, + 19, + 19, + 19, + 24, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 20, + 20, + 20, + 20, + 24, + 4, + 4, + 4, + 4 + ], + "count": 315 + }, + { + "widths": [ + 21, + 21, + 21, + 21, + 24, + 4, + 4, + 4 + ], + "count": 240 + }, + { + "widths": [ + 22, + 22, + 22, + 22, + 24, + 4, + 4 + ], + "count": 1230 + }, + { + "widths": [ + 23, + 23, + 23, + 23, + 24, + 4 + ], + "count": 24660 + }, + { + "widths": [ + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 2362 + }, + { + "widths": [ + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3 + ], + "count": 684 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6 + ], + "count": 48 + }, + { + "widths": [ + 24, + 24, + 24, + 24, + 24 + ], + "count": 131466 + }, + { + "widths": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "count": 12 + } + ], + "total_rank_demand": 19371840, + "feasible_bins": 161432, + "unused_coordinate_capacity": 0, + "dual_prices": { + "10": "1/12", + "12": "1/10", + "13": "13/120", + "14": "7/60", + "15": "1/8", + "17": "17/120", + "18": "3/20", + "19": "19/120", + "20": "1/6", + "21": "7/40", + "22": "11/60", + "23": "23/120", + "24": "1/5", + "3": "1/40", + "4": "1/30", + "6": "1/20", + "7": "7/120", + "8": "1/15", + "9": "3/40", + "2": "1/60" + }, + "dual_objective": "161432", + "integer_lower_bound": 161432, + "optimal": true + }, + "root_bracket": [ + "375251495279079/500000000000000000", + "750502990558159/1000000000000000000" + ], + "moment_interval": [ + "960593749999999999733003241313297823217086695626748058053435742491/960593750000000000000000000000000000000000000000000000000000000000", + "384237499999999999893201296525319129286834678250703058721374331803/384237500000000000000000000000000000000000000000000000000000000000" + ], + "adjacent_moment_interval": [ + "960593750000000002025675197240674272548979636548832081565301106557/960593750000000000000000000000000000000000000000000000000000000000", + "1921187500000000004051350394481348545097959273097683340630602387147/1921187500000000000000000000000000000000000000000000000000000000000" + ], + "kappa": "749940157923873/1000000000000000000", + "kappa_decimal": "0.000749940157923873", + "assembly": { + "coarse": "375251495279079/500000000000000000", + "complex_coarse": "754736418878859/1000000000000000000", + "bootstrap_chain": [ + "384599/10000000000", + "187492150022321957276191954911759/250000000000000000000000000000000000", + "93812823687064123395063249204381792532414523789961/125000000000000000000000000000000000000000000000000000", + "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000" + ], + "strict_constraints": { + "a_positive": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000", + "a_below_b": "264589288856185248769399643683777315276721947709950355873526474081/62500000000000000000000000000000000000000000000000000000000000000000000", + "b_below_one_over32": "30495263581121141/1000000000000000000", + "beta_positive": "1/1000000000", + "beta_below_one": "999999999/1000000000", + "phase_leaf_above_bit": "264589241685159068840712143683777315276721947709950355873526474081/62500000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "23453218445489344688724227675906880742005322803460301544010946713315373526474081/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "46906436891072502251230600356316222684723278052290049644126473525919/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "132294620889485971311428574093119257994677196539698455989053286684626473525919/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "23453218453301844688724227675906880742005322803460301544010946713315373526474081/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "31226546781546698155311275772324093119257994677196539698455989053286684626473525919/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "lambda_above_tau": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "264589288903091685660472145935007915633038170394673633925816523725126473525919/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "132294620889485971311428574093119257994677196539698455989053286684626473525919/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "lambda_prime_below_one": "23453218445489344688724227675906880742005322803460301544010946713315373526474081/31250000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "2840909090906250000000000000000000000000000000000000000000000000000000000000000000/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "epsilon_below_one": "2132110770612667698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "guard_width": "2132110770612667698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "K_geometry": "2132813928950300167698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000", + "K_dominates_log": "2132110768479853770024629621019832410393583265701663292837044219251942052705524147861229629/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000", + "record_suffix": "2132110770612667698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "phase_local": "17056886162058300390122575642051483791669697776994582457207646673179907024098121147861229629/22744329613414901341591799438309750458721458416584334764759280688518774817110162968000000000000", + "phase_boundary": "3411377230137227116683024994251116814502964509526770649783095858160053335967746747861229629/4548865922682980268318359887661950091744291683316866952951856137703754963422032593600000000000", + "gamma_sublinear": "1/2000000000000", + "cell_above_band": "5681818181809656958798323137332301025070211281192659817697926958154405089913935153147861229629/11372164806707450670795899719154875229360729208292167382379640344259387408555081484000000000000", + "prime_interval_packing": "2132110770612667698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "alpha_positive": "4264221538382294196272996909738639750575885338743508887747130284098794191475895147861229629/5686082403353725335397949859577437614680364604146083691189820172129693704277540742000000000000", + "alpha_below_one": "5681818181815343041201676862667698974929788718807340182302073041845594910086064846852138770371/5686082403353725335397949859577437614680364604146083691189820172129693704277540742000000000000", + "alpha_below_one_fourth": "1417256379300049039653214467984620763919515265697777413909707912748324631877909290352138770371/5686082403353725335397949859577437614680364604146083691189820172129693704277540742000000000000", + "delta_positive": "1/8000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "short_record_fallback": "177423461248935450311015241204438319878177243056775384838686898370956289259960017791703578883590705919289105413455964304721266034794224963740898542254051/177690075104803916731185933111794925458761393879565115349681880379052928258673148187500000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000", + "artificial_boundary": "159227364180077739856339426094481100594561033489096698664980464633686983267139498284556416311113/22744329613414901341591799438309750458721458416584334764759280688518774817110162968000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "g1_above_kappa": "2843043642576513557738936515668059994322770923793942047487191012353477506359309554033117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000", + "g2_above_kappa": "35177020830439751230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000", + "g3_above_kappa": "2440899650890039961585879341186982588621720900201892280926288630654220539183033117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000", + "g4_above_kappa": "35177020830439751230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000", + "g5_above_kappa": "1066142891528474390427077184550110739735156984998290893990372208562948223772578072158117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000", + "g6_above_kappa": "2487663492366905724276564649444470143405248136034811816787827251595371649841963257658117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000", + "g7_above_kappa": "2838776980138480375943601583769020129175485757921280925328883855982640338873583106506359309554033117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000" + }, + "margins": { + "g1": "2132110770612667698974929788718807340182302073041845594910086064846852138770371/2843041201676862667698974929788718807340182302073041845594910086064846852138770371", + "g2": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000", + "g3": "2132110767769626497298067121019832410393583265701663292837044219251942052705524147861229629/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000", + "g4": "46906436891072502251230600356316222684723278052290049644126473525919/62500000000000000000000000000000000000000000000000000000000000000000000", + "g5": "3411377230137227116683024994251116814502964509526770649783095858160053335967746747861229629/4548865922682980268318359887661950091744291683316866952951856137703754963422032593600000000000", + "g6": "17056886162058300390122575642051483791669697776994582457207646673179907024098121147861229629/22744329613414901341591799438309750458721458416584334764759280688518774817110162968000000000000", + "g7": "2840909090906250000000000000000000000000000000000000000000000000000000000000000000/2843041201676862667698974929788718807340182302073041845594910086064846852138770371" + }, + "kappa": "749940157923873/1000000000000000000", + "kappa_decimal": "0.000749940157923873", + "minimum_margin": "2132110767769626497298067121019832410393583265701663292837044219251942052705524147861229629/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000", + "absorption_gap": "2440899650890039961585879341186982588621720900201892280926288630654220539183033117/2843041201676862667698974929788718807340182302073041845594910086064846852138770371000000000000000000", + "adjacent_grid_rejected": [ + "g3_above_kappa" + ], + "bridge_scope": "The positive literal gap and supplied row gap are assumptions in this arithmetic check." + }, + "selection": "candidate70", + "with_final12": true, + "on_PR300": true, + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "additional_source": { + "git_blob": "638d3a1669c850d91f93d04939abfdd5f3a86c05", + "sha256": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "bytes": 319700, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "descent2-selection.json" + }, + "composition_status": "PASS_ROLE_DISJOINT_PR300_COMPOSITION", + "kernel_histogram_delta": { + "3": -137, + "1": 87, + "2": 137, + "6": -2, + "5": -16, + "4": 18 + }, + "final12_histogram_delta": { + "1": 18, + "2": -12 + }, + "pr300_histogram_delta": { + "1": 44, + "2": 148, + "3": -78, + "4": -48, + "5": 24, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "kernel_residual_delta": { + "24": -70, + "23": 70 + }, + "final12_residual_delta": { + "2": 12, + "3": -18, + "4": 6 + }, + "pivots": 70, + "distinct_donors": 87, + "scalar_setup_gates": 601, + "scalar_restore_gates": 601, + "fallback_kernel72_kappa": "3749680601367/5000000000000000", + "kappa_gain_over_kernel72": "4037650473/1000000000000000000", + "binding": "Measured candidate70 first-frame ledger plus measured final12 chronological suffix delta and pinned PR300 descent2 delta, bound to role-disjoint composition.", + "scope": "Exact arithmetic and optimal inventory under the changed composition certificates. PR300 chronological/source-span admission and unchanged compiler, prime, routing and all-size interfaces remain inherited." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/banks.json b/research/gen5b-shared-kernels/certificates/kernel72/banks.json new file mode 100644 index 0000000000..892318c19c --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/banks.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_UNIFIED_KERNEL72_CORETIME12_BANK_ASSIGNMENT", + "helper_roles": 15427, + "retained_old_restorations": 434, + "new_restorations": 12, + "reverted_old_restorations": 6, + "family_counts": { + "24": 11401, + "23": 1646, + "22": 82, + "21": 16, + "20": 21, + "19": 2, + "17": 2, + "18": 3, + "15": 1, + "14": 1, + "12": 1, + "13": 4, + "10": 1, + "9": 4, + "8": 6, + "7": 3, + "6": 17, + "4": 1748, + "3": 456, + "2": 12 + }, + "new_shared_kernel_pivots": 72, + "residual_rank_per_replica": 322862, + "banks_per_stage": 161431, + "total_banks": 807155, + "literal_data_stock": 422400, + "literal_stock": 1229555, + "unreplicated_stock": "245911/12", + "checked_role_replica_assignments_per_stage": 925620, + "total_stage_assignments": 4628100, + "stages_have_disjoint_bank_namespaces": true, + "all_banks_full": true, + "maximum_block_scalar": 60, + "assignment_sha256": "70da321406af20759213ffdfd5bb440ea2fd2757d89101c4f56d2efec01a951a", + "scope": "Role-resolved bijection into explicit full 120-wide banks, all 60 replicas. Five stages use disjoint bank namespaces. Existing address-normalizer and cover compiler contracts remain inherited; new/reverted chart factors are separately checked." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/bridge.json b/research/gen5b-shared-kernels/certificates/kernel72/bridge.json new file mode 100644 index 0000000000..49e910ca71 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/bridge.json @@ -0,0 +1,4819 @@ +{ + "status": "PASS_SHARED_DONOR_CHANGED_STAGE_COMPOSITION", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "union72", + "chosen_lines": [ + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ] + ], + "pivots": 72, + "distinct_donors": 93, + "members": 165, + "setup_adds": 473, + "restore_adds": 473, + "donor_multiplicity_histogram": { + "3": 13, + "5": 6, + "4": 8, + "1": 22, + "8": 3, + "2": 13, + "7": 5, + "6": 1, + "14": 2, + "13": 4, + "15": 2, + "21": 1, + "9": 7, + "12": 2, + "11": 1, + "10": 3 + }, + "max_donor_multiplicity": 21, + "frozen_response_relations_reproduced": 1720, + "frozen_literal_cut_read_triples_reproduced": 1720, + "common_prefix_plain_reads": 648088, + "last_plain_read": [ + 3503, + 16719, + -1 + ], + "target_prefix_setup_record": 696719, + "common_cut": "Immediately before first source injection, after all plain compensation reads and all old kernel setups", + "all_column_dimension": 18954, + "field": "F2", + "arbitrary_source_target_dirty_inputs": true, + "formal_forward_and_inverse_equal": true, + "prefix_compensation_reads_removed": 832, + "source_compensation_integer_coefficient_max": 1, + "common_line_gram": 18, + "exact_containments": 663, + "old_restoration_donor_overlaps": [], + "local_paid_histogram_delta": { + "1": 93, + "2": 144, + "3": -144, + "4": 19, + "5": -17, + "6": -2 + }, + "residual_family_delta": { + "24": -72, + "23": 72 + }, + "paths": [ + { + "role": 8339, + "stream": 11859, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119570, + 111567, + 70436, + 27517, + 3137, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8341, + "stream": 11861, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119569, + 111523, + 68819, + 29266, + 3139, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8359, + "stream": 11879, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119558, + 111479, + 67201, + 27605, + 3169, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8361, + "stream": 11881, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119557, + 111435, + 65583, + 29210, + 3171, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8394, + "stream": 11914, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119534, + 115737, + 113062, + 61147, + 61145, + 60730, + 30101, + 2657, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 12, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8412, + "stream": 11932, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119522, + 115589, + 112958, + 57889, + 57887, + 57472, + 30087, + 2665, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 12, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8413, + "stream": 11933, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119522, + 111215, + 57452, + 29149, + 3201, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8415, + "stream": 11935, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119521, + 111171, + 55815, + 29147, + 3202, + 0 + ], + "old_dimensions": [ + 3, + 12, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8615, + "stream": 12135, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119391, + 73283, + 73278, + 72840, + 30526, + 2419, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8787, + "stream": 12307, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119284, + 68449, + 68444, + 68002, + 25735, + 2489, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8789, + "stream": 12309, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119283, + 66831, + 66826, + 66384, + 30400, + 2491, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8862, + "stream": 12382, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119234, + 115739, + 138594, + 61294, + 60837, + 28441, + 3473, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8864, + "stream": 12384, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119233, + 115665, + 138645, + 59673, + 59216, + 28678, + 3475, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8891, + "stream": 12411, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119214, + 117092, + 24746, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8894, + "stream": 12414, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119213, + 117018, + 24749, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8901, + "stream": 12421, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119210, + 107697, + 54464, + 28673, + 3473, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 8903, + "stream": 12423, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 119209, + 107671, + 52831, + 28671, + 3474, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9175, + "stream": 12695, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119024, + 116202, + 70673, + 27539, + 3145, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9177, + "stream": 12697, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119023, + 116128, + 69056, + 29252, + 3147, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9193, + "stream": 12713, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119012, + 116054, + 67439, + 27627, + 3177, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9195, + "stream": 12715, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119011, + 115980, + 65821, + 29196, + 3179, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9211, + "stream": 12731, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 119000, + 115906, + 64198, + 27693, + 3201, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9213, + "stream": 12733, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118999, + 115832, + 62572, + 29154, + 3203, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9228, + "stream": 12748, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118988, + 115780, + 61174, + 61125, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9229, + "stream": 12749, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118988, + 115758, + 60954, + 27737, + 3217, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9230, + "stream": 12750, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118987, + 115706, + 59553, + 59504, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9247, + "stream": 12767, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118976, + 115610, + 57697, + 29121, + 3217, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9267, + "stream": 12787, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118962, + 115462, + 54427, + 29107, + 3225, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9269, + "stream": 12789, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118961, + 115388, + 52794, + 29105, + 3226, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9346, + "stream": 12866, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118908, + 39449, + 39423, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9347, + "stream": 12867, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118907, + 39291, + 39265, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9353, + "stream": 12873, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118904, + 138092, + 76938, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9355, + "stream": 12875, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118903, + 138143, + 75347, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9402, + "stream": 12922, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118870, + 38501, + 38475, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9403, + "stream": 12923, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118869, + 38343, + 38317, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9691, + "stream": 13211, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118678, + 138602, + 60814, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9693, + "stream": 13213, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118677, + 138653, + 59193, + 0 + ], + "old_dimensions": [ + 3, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9719, + "stream": 13239, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118658, + 116944, + 25736, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9722, + "stream": 13242, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118657, + 116870, + 25739, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9726, + "stream": 13246, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118656, + 64039, + 63976, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9729, + "stream": 13249, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118654, + 62413, + 62350, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9790, + "stream": 13310, + "kind": "donor", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118610, + 54266, + 54202, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9793, + "stream": 13313, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 3, + "old_frames": [ + 118608, + 52633, + 52569, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9845, + "stream": 13365, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118572, + 70854, + 70673, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9847, + "stream": 13367, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118571, + 69237, + 69056, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9863, + "stream": 13383, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118560, + 67621, + 67439, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9865, + "stream": 13385, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118559, + 66003, + 65821, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9881, + "stream": 13401, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118548, + 64381, + 64198, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9883, + "stream": 13403, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118547, + 62755, + 62572, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 9898, + "stream": 13418, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118536, + 115744, + 61808, + 61032, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9916, + "stream": 13436, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118524, + 115596, + 58562, + 57774, + 0 + ], + "old_dimensions": [ + 3, + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9935, + "stream": 13455, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118512, + 54612, + 54427, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 9937, + "stream": 13457, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118511, + 52979, + 52794, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10115, + "stream": 13635, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118393, + 113443, + 111627, + 72840, + 0 + ], + "old_dimensions": [ + 3, + 6, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10275, + "stream": 13795, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118286, + 113287, + 111495, + 68002, + 0 + ], + "old_dimensions": [ + 3, + 6, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10277, + "stream": 13797, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118285, + 113235, + 111451, + 66384, + 0 + ], + "old_dimensions": [ + 3, + 6, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10350, + "stream": 13870, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118236, + 115741, + 138594, + 60886, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10352, + "stream": 13872, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118235, + 115667, + 138645, + 59265, + 0 + ], + "old_dimensions": [ + 3, + 5, + 9, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10379, + "stream": 13899, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118216, + 116796, + 26528, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10382, + "stream": 13902, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118215, + 116722, + 26531, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10532, + "stream": 14052, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118114, + 62126, + 62123, + 0 + ], + "old_dimensions": [ + 3, + 6, + 8, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10534, + "stream": 14054, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 118113, + 60505, + 60502, + 0 + ], + "old_dimensions": [ + 3, + 6, + 8, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10623, + "stream": 14143, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 118055, + 113455, + 111611, + 110757, + 28071, + 0 + ], + "old_dimensions": [ + 3, + 7, + 12, + 14, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10733, + "stream": 14253, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117982, + 136819, + 60936, + 29331, + 3097, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10740, + "stream": 14260, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117976, + 35661, + 35635, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10741, + "stream": 14261, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117975, + 35503, + 35477, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10751, + "stream": 14271, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117970, + 136881, + 57679, + 29317, + 3105, + 0 + ], + "old_dimensions": [ + 3, + 8, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10758, + "stream": 14278, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117964, + 35345, + 35319, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10759, + "stream": 14279, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117963, + 35187, + 35161, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10764, + "stream": 14284, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117960, + 116202, + 70518, + 70734, + 70656, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10766, + "stream": 14286, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117959, + 116128, + 68901, + 69117, + 69039, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10782, + "stream": 14302, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117948, + 116086, + 67365, + 67247, + 26527, + 2777, + 0 + ], + "old_dimensions": [ + 3, + 5, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10783, + "stream": 14303, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117948, + 113299, + 111479, + 110673, + 28420, + 0 + ], + "old_dimensions": [ + 3, + 7, + 12, + 14, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10784, + "stream": 14304, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117947, + 116012, + 65747, + 65629, + 29896, + 2779, + 0 + ], + "old_dimensions": [ + 3, + 5, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10785, + "stream": 14305, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117947, + 113247, + 111435, + 110645, + 28423, + 0 + ], + "old_dimensions": [ + 3, + 7, + 12, + 14, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10812, + "stream": 14332, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117928, + 34397, + 34371, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10813, + "stream": 14333, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117927, + 34239, + 34213, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10830, + "stream": 14350, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117916, + 34081, + 34055, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10831, + "stream": 14351, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117915, + 33923, + 33897, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10836, + "stream": 14356, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117912, + 116054, + 67283, + 67501, + 67422, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10838, + "stream": 14358, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117911, + 115980, + 65665, + 65883, + 65804, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10859, + "stream": 14379, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117898, + 115737, + 60978, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10861, + "stream": 14381, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117897, + 115663, + 59357, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10877, + "stream": 14397, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117886, + 115589, + 57721, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10879, + "stream": 14399, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117885, + 115515, + 56084, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10884, + "stream": 14404, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117880, + 33133, + 33107, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10885, + "stream": 14405, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117879, + 32975, + 32949, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10887, + "stream": 14407, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117878, + 116648, + 27144, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10890, + "stream": 14410, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117877, + 116574, + 27147, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10892, + "stream": 14412, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117876, + 115906, + 64039, + 64260, + 64181, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10894, + "stream": 14414, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117875, + 115832, + 62413, + 62634, + 62555, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10910, + "stream": 14430, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117864, + 115744, + 61603, + 61106, + 30605, + 2369, + 0 + ], + "old_dimensions": [ + 3, + 5, + 15, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10911, + "stream": 14431, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117864, + 60793, + 61808, + 0 + ], + "old_dimensions": [ + 3, + 8, + 17, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10915, + "stream": 14435, + "kind": "donor", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117862, + 57536, + 58562, + 0 + ], + "old_dimensions": [ + 3, + 8, + 17, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 10922, + "stream": 14442, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117856, + 32501, + 32475, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10928, + "stream": 14448, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117852, + 115758, + 60793, + 61017, + 60936, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10929, + "stream": 14449, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117852, + 61145, + 61139, + 61106, + 0 + ], + "old_dimensions": [ + 3, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10940, + "stream": 14460, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117844, + 32185, + 32159, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10941, + "stream": 14461, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117843, + 32027, + 32001, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10946, + "stream": 14466, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117838, + 115610, + 57536, + 57759, + 57679, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10950, + "stream": 14470, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117836, + 115462, + 54266, + 54490, + 54409, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 10952, + "stream": 14472, + "kind": "pivot", + "line": [ + 6, + 7 + ], + "first_dimension": 3, + "old_frames": [ + 117835, + 115388, + 52633, + 52857, + 52776, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11006, + "stream": 14526, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117801, + 111609, + 73278, + 73275, + 72099, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11007, + "stream": 14527, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117801, + 110757, + 108684, + 107971, + 27939, + 0 + ], + "old_dimensions": [ + 3, + 14, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11168, + "stream": 14688, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 116086, + 113309, + 68337, + 67243, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11169, + "stream": 14689, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 111477, + 68444, + 68441, + 67247, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11170, + "stream": 14690, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117694, + 110673, + 108582, + 107893, + 67307, + 0 + ], + "old_dimensions": [ + 3, + 14, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11171, + "stream": 14691, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 116012, + 113257, + 66719, + 65625, + 0 + ], + "old_dimensions": [ + 3, + 5, + 7, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11172, + "stream": 14692, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 111433, + 66826, + 66823, + 65629, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11173, + "stream": 14693, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117693, + 110645, + 108548, + 107867, + 65689, + 0 + ], + "old_dimensions": [ + 3, + 14, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11255, + "stream": 14775, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117644, + 113092, + 61266, + 0 + ], + "old_dimensions": [ + 3, + 7, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11257, + "stream": 14777, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117643, + 113040, + 59645, + 0 + ], + "old_dimensions": [ + 3, + 7, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11283, + "stream": 14803, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117624, + 116500, + 27606, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11286, + "stream": 14806, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117623, + 116426, + 27609, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11448, + "stream": 14968, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117513, + 116284, + 72858, + 138214, + 73283, + 72576, + 72053, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 10, + 15, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11527, + "stream": 15047, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117462, + 113059, + 61334, + 60886, + 0 + ], + "old_dimensions": [ + 3, + 6, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11529, + "stream": 15049, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117461, + 113007, + 59713, + 59265, + 0 + ], + "old_dimensions": [ + 3, + 6, + 17, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11538, + "stream": 15058, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117453, + 116283, + 138214, + 72305, + 0 + ], + "old_dimensions": [ + 3, + 5, + 10, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11539, + "stream": 15059, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117453, + 108684, + 72696, + 27983, + 0 + ], + "old_dimensions": [ + 3, + 16, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11555, + "stream": 15075, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117442, + 116352, + 27936, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11557, + "stream": 15077, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117441, + 116283, + 107971, + 27851, + 0 + ], + "old_dimensions": [ + 3, + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11558, + "stream": 15078, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117441, + 116278, + 27939, + 0 + ], + "old_dimensions": [ + 3, + 5, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11632, + "stream": 15152, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117390, + 116062, + 68020, + 138367, + 68449, + 67738, + 67201, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 10, + 15, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11634, + "stream": 15154, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117389, + 115988, + 66402, + 138418, + 66831, + 66120, + 65583, + 0 + ], + "old_dimensions": [ + 3, + 5, + 8, + 10, + 15, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11709, + "stream": 15229, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117340, + 61294, + 61291, + 61282, + 60978, + 29205, + 3169, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11711, + "stream": 15231, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117339, + 59673, + 59670, + 59661, + 59357, + 29203, + 3170, + 0 + ], + "old_dimensions": [ + 3, + 15, + 17, + 19, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11824, + "stream": 15344, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117262, + 34408, + 34379, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11825, + "stream": 15345, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117261, + 34250, + 34221, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11828, + "stream": 15348, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117258, + 116061, + 138367, + 67459, + 0 + ], + "old_dimensions": [ + 3, + 5, + 10, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11830, + "stream": 15350, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117257, + 115987, + 138418, + 65841, + 0 + ], + "old_dimensions": [ + 3, + 5, + 10, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11842, + "stream": 15362, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117250, + 34092, + 34063, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11843, + "stream": 15363, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117249, + 33934, + 33905, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11846, + "stream": 15366, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117246, + 116061, + 107893, + 67580, + 0 + ], + "old_dimensions": [ + 3, + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11849, + "stream": 15369, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117245, + 115987, + 107867, + 65962, + 0 + ], + "old_dimensions": [ + 3, + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11864, + "stream": 15384, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117238, + 33776, + 33747, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11865, + "stream": 15385, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117237, + 33618, + 33589, + 0 + ], + "old_dimensions": [ + 3, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11933, + "stream": 15453, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117194, + 60734, + 31025, + 2129, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11935, + "stream": 15455, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117193, + 59113, + 31023, + 2130, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11937, + "stream": 15457, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117192, + 57476, + 31011, + 2137, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11950, + "stream": 15470, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117182, + 136814, + 60940, + 28995, + 3289, + 0 + ], + "old_dimensions": [ + 3, + 14, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11952, + "stream": 15472, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117181, + 136845, + 59319, + 28993, + 3290, + 0 + ], + "old_dimensions": [ + 3, + 14, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 11955, + "stream": 15475, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117180, + 54206, + 30997, + 2145, + 0 + ], + "old_dimensions": [ + 3, + 21, + 22, + 23, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11962, + "stream": 15482, + "kind": "donor", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117174, + 112152, + 109121, + 106363, + 32189, + 32165, + 0 + ], + "old_dimensions": [ + 3, + 7, + 13, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 0, + "new_paid_entrance_dimensions": [ + 1, + 2 + ] + }, + { + "role": 11963, + "stream": 15483, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 3, + "old_frames": [ + 117173, + 112147, + 109111, + 106353, + 32031, + 32007, + 0 + ], + "old_dimensions": [ + 3, + 7, + 13, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 2 + ] + }, + { + "role": 12233, + "stream": 15753, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 6, + "old_frames": [ + 146888, + 136503, + 77226, + 0 + ], + "old_dimensions": [ + 6, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 5 + ] + }, + { + "role": 12262, + "stream": 15782, + "kind": "pivot", + "line": [ + 2, + 3 + ], + "first_dimension": 6, + "old_frames": [ + 146889, + 136534, + 75635, + 0 + ], + "old_dimensions": [ + 6, + 8, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 5 + ] + }, + { + "role": 12331, + "stream": 15851, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116308, + 111627, + 72305, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12341, + "stream": 15861, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116284, + 108689, + 28093, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12344, + "stream": 15864, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116273, + 72770, + 27983, + 0 + ], + "old_dimensions": [ + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12410, + "stream": 15930, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116097, + 107907, + 67685, + 0 + ], + "old_dimensions": [ + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12418, + "stream": 15938, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116086, + 111495, + 67459, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12428, + "stream": 15948, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116062, + 108587, + 28442, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12439, + "stream": 15959, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116023, + 107881, + 66067, + 0 + ], + "old_dimensions": [ + 5, + 18, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12447, + "stream": 15967, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 116012, + 111451, + 65841, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12457, + "stream": 15977, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115988, + 108553, + 28445, + 0 + ], + "old_dimensions": [ + 5, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12546, + "stream": 16066, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115756, + 138600, + 61040, + 60837, + 0 + ], + "old_dimensions": [ + 5, + 10, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12547, + "stream": 16067, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115755, + 61453, + 61351, + 0 + ], + "old_dimensions": [ + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12549, + "stream": 16069, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115741, + 61040, + 60997, + 60734, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12550, + "stream": 16070, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115739, + 136814, + 61334, + 61333, + 0 + ], + "old_dimensions": [ + 5, + 14, + 17, + 19, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12575, + "stream": 16095, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115682, + 138651, + 59419, + 59216, + 0 + ], + "old_dimensions": [ + 5, + 10, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12576, + "stream": 16096, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115681, + 59832, + 59730, + 0 + ], + "old_dimensions": [ + 5, + 17, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12578, + "stream": 16098, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115667, + 59419, + 59376, + 59113, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12579, + "stream": 16099, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115665, + 136845, + 59713, + 59712, + 0 + ], + "old_dimensions": [ + 5, + 14, + 17, + 19, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12607, + "stream": 16127, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115593, + 57782, + 57740, + 57476, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + }, + { + "role": 12665, + "stream": 16185, + "kind": "pivot", + "line": [ + 16, + 17 + ], + "first_dimension": 5, + "old_frames": [ + 115445, + 54513, + 54470, + 54206, + 0 + ], + "old_dimensions": [ + 5, + 17, + 19, + 21, + 24 + ], + "new_initial_dimension": 1, + "new_paid_entrance_dimensions": [ + 4 + ] + } + ], + "candidate_sha256": "ff2539ed56c790545c33a03ce185e49a8132ca9db26c007686deb6a4009b06d6", + "scope": "Compositional changed-stage proof assuming the inherited complete bit decoder and a literal common prefix before any selected helper non-compensation use. The independently checked response matrix, disjoint supports and rational helper paths certify the algebra and paid demand changes. The literal common-cut witness is independently reproduced. Bank allocation and global inherited compiler hypotheses are separate obligations; the scalar payload bound is checked by the companion checker. No upstream code executed." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/charts.json b/research/gen5b-shared-kernels/certificates/kernel72/charts.json new file mode 100644 index 0000000000..e461ce4c7f --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/charts.json @@ -0,0 +1,5371 @@ +{ + "status": "PASS_UNION72_FINAL12_CHANGED_CHARTS", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "union72", + "with_final12": true, + "charts": 176, + "kernel_programs": 158, + "final12_charts": 18, + "first_frame_quotient_demands": 165, + "donor_line_entrance_demands": 93, + "pivot_residual_demands": 72, + "role_chart_uses": [ + { + "kind": "first_frame_quotient", + "role": 8339, + "stream": 11859, + "frame": 119570, + "rank": 2, + "program_id": 0 + }, + { + "kind": "donor_line_entrance", + "role": 8339, + "stream": 11859, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8341, + "stream": 11861, + "frame": 119569, + "rank": 2, + "program_id": 2 + }, + { + "kind": "donor_line_entrance", + "role": 8341, + "stream": 11861, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8359, + "stream": 11879, + "frame": 119558, + "rank": 2, + "program_id": 3 + }, + { + "kind": "donor_line_entrance", + "role": 8359, + "stream": 11879, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8361, + "stream": 11881, + "frame": 119557, + "rank": 2, + "program_id": 4 + }, + { + "kind": "donor_line_entrance", + "role": 8361, + "stream": 11881, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8394, + "stream": 11914, + "frame": 119534, + "rank": 2, + "program_id": 5 + }, + { + "kind": "donor_line_entrance", + "role": 8394, + "stream": 11914, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8412, + "stream": 11932, + "frame": 119522, + "rank": 2, + "program_id": 6 + }, + { + "kind": "donor_line_entrance", + "role": 8412, + "stream": 11932, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8413, + "stream": 11933, + "frame": 119522, + "rank": 2, + "program_id": 6 + }, + { + "kind": "donor_line_entrance", + "role": 8413, + "stream": 11933, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8415, + "stream": 11935, + "frame": 119521, + "rank": 2, + "program_id": 7 + }, + { + "kind": "donor_line_entrance", + "role": 8415, + "stream": 11935, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 8615, + "stream": 12135, + "frame": 119391, + "rank": 2, + "program_id": 8 + }, + { + "kind": "donor_line_entrance", + "role": 8615, + "stream": 12135, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8787, + "stream": 12307, + "frame": 119284, + "rank": 2, + "program_id": 10 + }, + { + "kind": "donor_line_entrance", + "role": 8787, + "stream": 12307, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8789, + "stream": 12309, + "frame": 119283, + "rank": 2, + "program_id": 11 + }, + { + "kind": "donor_line_entrance", + "role": 8789, + "stream": 12309, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8862, + "stream": 12382, + "frame": 119234, + "rank": 2, + "program_id": 12 + }, + { + "kind": "donor_line_entrance", + "role": 8862, + "stream": 12382, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8864, + "stream": 12384, + "frame": 119233, + "rank": 2, + "program_id": 13 + }, + { + "kind": "donor_line_entrance", + "role": 8864, + "stream": 12384, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8891, + "stream": 12411, + "frame": 119214, + "rank": 2, + "program_id": 14 + }, + { + "kind": "donor_line_entrance", + "role": 8891, + "stream": 12411, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8894, + "stream": 12414, + "frame": 119213, + "rank": 2, + "program_id": 15 + }, + { + "kind": "donor_line_entrance", + "role": 8894, + "stream": 12414, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8901, + "stream": 12421, + "frame": 119210, + "rank": 2, + "program_id": 16 + }, + { + "kind": "donor_line_entrance", + "role": 8901, + "stream": 12421, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 8903, + "stream": 12423, + "frame": 119209, + "rank": 2, + "program_id": 17 + }, + { + "kind": "donor_line_entrance", + "role": 8903, + "stream": 12423, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9175, + "stream": 12695, + "frame": 119024, + "rank": 2, + "program_id": 18 + }, + { + "kind": "donor_line_entrance", + "role": 9175, + "stream": 12695, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9177, + "stream": 12697, + "frame": 119023, + "rank": 2, + "program_id": 19 + }, + { + "kind": "donor_line_entrance", + "role": 9177, + "stream": 12697, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9193, + "stream": 12713, + "frame": 119012, + "rank": 2, + "program_id": 20 + }, + { + "kind": "donor_line_entrance", + "role": 9193, + "stream": 12713, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9195, + "stream": 12715, + "frame": 119011, + "rank": 2, + "program_id": 21 + }, + { + "kind": "donor_line_entrance", + "role": 9195, + "stream": 12715, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9211, + "stream": 12731, + "frame": 119000, + "rank": 2, + "program_id": 22 + }, + { + "kind": "donor_line_entrance", + "role": 9211, + "stream": 12731, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9213, + "stream": 12733, + "frame": 118999, + "rank": 2, + "program_id": 23 + }, + { + "kind": "donor_line_entrance", + "role": 9213, + "stream": 12733, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9228, + "stream": 12748, + "frame": 118988, + "rank": 2, + "program_id": 24 + }, + { + "kind": "donor_line_entrance", + "role": 9228, + "stream": 12748, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9229, + "stream": 12749, + "frame": 118988, + "rank": 2, + "program_id": 24 + }, + { + "kind": "donor_line_entrance", + "role": 9229, + "stream": 12749, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9230, + "stream": 12750, + "frame": 118987, + "rank": 2, + "program_id": 25 + }, + { + "kind": "donor_line_entrance", + "role": 9230, + "stream": 12750, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9247, + "stream": 12767, + "frame": 118976, + "rank": 2, + "program_id": 26 + }, + { + "kind": "donor_line_entrance", + "role": 9247, + "stream": 12767, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9267, + "stream": 12787, + "frame": 118962, + "rank": 2, + "program_id": 27 + }, + { + "kind": "donor_line_entrance", + "role": 9267, + "stream": 12787, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9269, + "stream": 12789, + "frame": 118961, + "rank": 2, + "program_id": 28 + }, + { + "kind": "donor_line_entrance", + "role": 9269, + "stream": 12789, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9346, + "stream": 12866, + "frame": 118908, + "rank": 2, + "program_id": 29 + }, + { + "kind": "donor_line_entrance", + "role": 9346, + "stream": 12866, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9347, + "stream": 12867, + "frame": 118907, + "rank": 2, + "program_id": 31 + }, + { + "kind": "donor_line_entrance", + "role": 9347, + "stream": 12867, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9353, + "stream": 12873, + "frame": 118904, + "rank": 2, + "program_id": 32 + }, + { + "kind": "donor_line_entrance", + "role": 9353, + "stream": 12873, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9355, + "stream": 12875, + "frame": 118903, + "rank": 2, + "program_id": 33 + }, + { + "kind": "pivot_residual", + "role": 9355, + "stream": 12875, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9402, + "stream": 12922, + "frame": 118870, + "rank": 2, + "program_id": 35 + }, + { + "kind": "donor_line_entrance", + "role": 9402, + "stream": 12922, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9403, + "stream": 12923, + "frame": 118869, + "rank": 2, + "program_id": 36 + }, + { + "kind": "donor_line_entrance", + "role": 9403, + "stream": 12923, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9691, + "stream": 13211, + "frame": 118678, + "rank": 2, + "program_id": 37 + }, + { + "kind": "donor_line_entrance", + "role": 9691, + "stream": 13211, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9693, + "stream": 13213, + "frame": 118677, + "rank": 2, + "program_id": 38 + }, + { + "kind": "donor_line_entrance", + "role": 9693, + "stream": 13213, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9719, + "stream": 13239, + "frame": 118658, + "rank": 2, + "program_id": 39 + }, + { + "kind": "donor_line_entrance", + "role": 9719, + "stream": 13239, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9722, + "stream": 13242, + "frame": 118657, + "rank": 2, + "program_id": 40 + }, + { + "kind": "donor_line_entrance", + "role": 9722, + "stream": 13242, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 9726, + "stream": 13246, + "frame": 118656, + "rank": 2, + "program_id": 41 + }, + { + "kind": "pivot_residual", + "role": 9726, + "stream": 13246, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9729, + "stream": 13249, + "frame": 118654, + "rank": 2, + "program_id": 42 + }, + { + "kind": "pivot_residual", + "role": 9729, + "stream": 13249, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9790, + "stream": 13310, + "frame": 118610, + "rank": 2, + "program_id": 43 + }, + { + "kind": "donor_line_entrance", + "role": 9790, + "stream": 13310, + "rank": 1, + "program_id": 30 + }, + { + "kind": "first_frame_quotient", + "role": 9793, + "stream": 13313, + "frame": 118608, + "rank": 2, + "program_id": 44 + }, + { + "kind": "pivot_residual", + "role": 9793, + "stream": 13313, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 9845, + "stream": 13365, + "frame": 118572, + "rank": 2, + "program_id": 45 + }, + { + "kind": "donor_line_entrance", + "role": 9845, + "stream": 13365, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9847, + "stream": 13367, + "frame": 118571, + "rank": 2, + "program_id": 46 + }, + { + "kind": "donor_line_entrance", + "role": 9847, + "stream": 13367, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9863, + "stream": 13383, + "frame": 118560, + "rank": 2, + "program_id": 47 + }, + { + "kind": "donor_line_entrance", + "role": 9863, + "stream": 13383, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9865, + "stream": 13385, + "frame": 118559, + "rank": 2, + "program_id": 48 + }, + { + "kind": "donor_line_entrance", + "role": 9865, + "stream": 13385, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9881, + "stream": 13401, + "frame": 118548, + "rank": 2, + "program_id": 49 + }, + { + "kind": "donor_line_entrance", + "role": 9881, + "stream": 13401, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9883, + "stream": 13403, + "frame": 118547, + "rank": 2, + "program_id": 50 + }, + { + "kind": "pivot_residual", + "role": 9883, + "stream": 13403, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 9898, + "stream": 13418, + "frame": 118536, + "rank": 2, + "program_id": 52 + }, + { + "kind": "donor_line_entrance", + "role": 9898, + "stream": 13418, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9916, + "stream": 13436, + "frame": 118524, + "rank": 2, + "program_id": 53 + }, + { + "kind": "donor_line_entrance", + "role": 9916, + "stream": 13436, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9935, + "stream": 13455, + "frame": 118512, + "rank": 2, + "program_id": 54 + }, + { + "kind": "donor_line_entrance", + "role": 9935, + "stream": 13455, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 9937, + "stream": 13457, + "frame": 118511, + "rank": 2, + "program_id": 55 + }, + { + "kind": "donor_line_entrance", + "role": 9937, + "stream": 13457, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10115, + "stream": 13635, + "frame": 118393, + "rank": 2, + "program_id": 56 + }, + { + "kind": "donor_line_entrance", + "role": 10115, + "stream": 13635, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10275, + "stream": 13795, + "frame": 118286, + "rank": 2, + "program_id": 57 + }, + { + "kind": "donor_line_entrance", + "role": 10275, + "stream": 13795, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10277, + "stream": 13797, + "frame": 118285, + "rank": 2, + "program_id": 58 + }, + { + "kind": "pivot_residual", + "role": 10277, + "stream": 13797, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 10350, + "stream": 13870, + "frame": 118236, + "rank": 2, + "program_id": 60 + }, + { + "kind": "donor_line_entrance", + "role": 10350, + "stream": 13870, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10352, + "stream": 13872, + "frame": 118235, + "rank": 2, + "program_id": 61 + }, + { + "kind": "donor_line_entrance", + "role": 10352, + "stream": 13872, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10379, + "stream": 13899, + "frame": 118216, + "rank": 2, + "program_id": 62 + }, + { + "kind": "donor_line_entrance", + "role": 10379, + "stream": 13899, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10382, + "stream": 13902, + "frame": 118215, + "rank": 2, + "program_id": 63 + }, + { + "kind": "pivot_residual", + "role": 10382, + "stream": 13902, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 10532, + "stream": 14052, + "frame": 118114, + "rank": 2, + "program_id": 64 + }, + { + "kind": "donor_line_entrance", + "role": 10532, + "stream": 14052, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10534, + "stream": 14054, + "frame": 118113, + "rank": 2, + "program_id": 65 + }, + { + "kind": "pivot_residual", + "role": 10534, + "stream": 14054, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10623, + "stream": 14143, + "frame": 118055, + "rank": 2, + "program_id": 66 + }, + { + "kind": "donor_line_entrance", + "role": 10623, + "stream": 14143, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10733, + "stream": 14253, + "frame": 117982, + "rank": 2, + "program_id": 67 + }, + { + "kind": "donor_line_entrance", + "role": 10733, + "stream": 14253, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10740, + "stream": 14260, + "frame": 117976, + "rank": 2, + "program_id": 68 + }, + { + "kind": "donor_line_entrance", + "role": 10740, + "stream": 14260, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10741, + "stream": 14261, + "frame": 117975, + "rank": 2, + "program_id": 69 + }, + { + "kind": "pivot_residual", + "role": 10741, + "stream": 14261, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10751, + "stream": 14271, + "frame": 117970, + "rank": 2, + "program_id": 70 + }, + { + "kind": "donor_line_entrance", + "role": 10751, + "stream": 14271, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10758, + "stream": 14278, + "frame": 117964, + "rank": 2, + "program_id": 71 + }, + { + "kind": "donor_line_entrance", + "role": 10758, + "stream": 14278, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10759, + "stream": 14279, + "frame": 117963, + "rank": 2, + "program_id": 72 + }, + { + "kind": "pivot_residual", + "role": 10759, + "stream": 14279, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10764, + "stream": 14284, + "frame": 117960, + "rank": 2, + "program_id": 73 + }, + { + "kind": "pivot_residual", + "role": 10764, + "stream": 14284, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10766, + "stream": 14286, + "frame": 117959, + "rank": 2, + "program_id": 74 + }, + { + "kind": "pivot_residual", + "role": 10766, + "stream": 14286, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10782, + "stream": 14302, + "frame": 117948, + "rank": 2, + "program_id": 75 + }, + { + "kind": "donor_line_entrance", + "role": 10782, + "stream": 14302, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10783, + "stream": 14303, + "frame": 117948, + "rank": 2, + "program_id": 75 + }, + { + "kind": "donor_line_entrance", + "role": 10783, + "stream": 14303, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10784, + "stream": 14304, + "frame": 117947, + "rank": 2, + "program_id": 76 + }, + { + "kind": "donor_line_entrance", + "role": 10784, + "stream": 14304, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10785, + "stream": 14305, + "frame": 117947, + "rank": 2, + "program_id": 76 + }, + { + "kind": "pivot_residual", + "role": 10785, + "stream": 14305, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 10812, + "stream": 14332, + "frame": 117928, + "rank": 2, + "program_id": 77 + }, + { + "kind": "pivot_residual", + "role": 10812, + "stream": 14332, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10813, + "stream": 14333, + "frame": 117927, + "rank": 2, + "program_id": 78 + }, + { + "kind": "pivot_residual", + "role": 10813, + "stream": 14333, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10830, + "stream": 14350, + "frame": 117916, + "rank": 2, + "program_id": 79 + }, + { + "kind": "pivot_residual", + "role": 10830, + "stream": 14350, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10831, + "stream": 14351, + "frame": 117915, + "rank": 2, + "program_id": 80 + }, + { + "kind": "pivot_residual", + "role": 10831, + "stream": 14351, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10836, + "stream": 14356, + "frame": 117912, + "rank": 2, + "program_id": 81 + }, + { + "kind": "pivot_residual", + "role": 10836, + "stream": 14356, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10838, + "stream": 14358, + "frame": 117911, + "rank": 2, + "program_id": 82 + }, + { + "kind": "pivot_residual", + "role": 10838, + "stream": 14358, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10859, + "stream": 14379, + "frame": 117898, + "rank": 2, + "program_id": 83 + }, + { + "kind": "donor_line_entrance", + "role": 10859, + "stream": 14379, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10861, + "stream": 14381, + "frame": 117897, + "rank": 2, + "program_id": 84 + }, + { + "kind": "donor_line_entrance", + "role": 10861, + "stream": 14381, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10877, + "stream": 14397, + "frame": 117886, + "rank": 2, + "program_id": 85 + }, + { + "kind": "pivot_residual", + "role": 10877, + "stream": 14397, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10879, + "stream": 14399, + "frame": 117885, + "rank": 2, + "program_id": 86 + }, + { + "kind": "pivot_residual", + "role": 10879, + "stream": 14399, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10884, + "stream": 14404, + "frame": 117880, + "rank": 2, + "program_id": 87 + }, + { + "kind": "pivot_residual", + "role": 10884, + "stream": 14404, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10885, + "stream": 14405, + "frame": 117879, + "rank": 2, + "program_id": 88 + }, + { + "kind": "pivot_residual", + "role": 10885, + "stream": 14405, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10887, + "stream": 14407, + "frame": 117878, + "rank": 2, + "program_id": 89 + }, + { + "kind": "donor_line_entrance", + "role": 10887, + "stream": 14407, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 10890, + "stream": 14410, + "frame": 117877, + "rank": 2, + "program_id": 90 + }, + { + "kind": "pivot_residual", + "role": 10890, + "stream": 14410, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 10892, + "stream": 14412, + "frame": 117876, + "rank": 2, + "program_id": 91 + }, + { + "kind": "pivot_residual", + "role": 10892, + "stream": 14412, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10894, + "stream": 14414, + "frame": 117875, + "rank": 2, + "program_id": 92 + }, + { + "kind": "pivot_residual", + "role": 10894, + "stream": 14414, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10910, + "stream": 14430, + "frame": 117864, + "rank": 2, + "program_id": 93 + }, + { + "kind": "donor_line_entrance", + "role": 10910, + "stream": 14430, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10911, + "stream": 14431, + "frame": 117864, + "rank": 2, + "program_id": 93 + }, + { + "kind": "donor_line_entrance", + "role": 10911, + "stream": 14431, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10915, + "stream": 14435, + "frame": 117862, + "rank": 2, + "program_id": 94 + }, + { + "kind": "donor_line_entrance", + "role": 10915, + "stream": 14435, + "rank": 1, + "program_id": 1 + }, + { + "kind": "first_frame_quotient", + "role": 10922, + "stream": 14442, + "frame": 117856, + "rank": 2, + "program_id": 95 + }, + { + "kind": "pivot_residual", + "role": 10922, + "stream": 14442, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10928, + "stream": 14448, + "frame": 117852, + "rank": 2, + "program_id": 96 + }, + { + "kind": "pivot_residual", + "role": 10928, + "stream": 14448, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10929, + "stream": 14449, + "frame": 117852, + "rank": 2, + "program_id": 96 + }, + { + "kind": "pivot_residual", + "role": 10929, + "stream": 14449, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10940, + "stream": 14460, + "frame": 117844, + "rank": 2, + "program_id": 97 + }, + { + "kind": "pivot_residual", + "role": 10940, + "stream": 14460, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10941, + "stream": 14461, + "frame": 117843, + "rank": 2, + "program_id": 98 + }, + { + "kind": "pivot_residual", + "role": 10941, + "stream": 14461, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10946, + "stream": 14466, + "frame": 117838, + "rank": 2, + "program_id": 99 + }, + { + "kind": "pivot_residual", + "role": 10946, + "stream": 14466, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10950, + "stream": 14470, + "frame": 117836, + "rank": 2, + "program_id": 100 + }, + { + "kind": "pivot_residual", + "role": 10950, + "stream": 14470, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 10952, + "stream": 14472, + "frame": 117835, + "rank": 2, + "program_id": 101 + }, + { + "kind": "pivot_residual", + "role": 10952, + "stream": 14472, + "rank": 23, + "program_id": 51 + }, + { + "kind": "first_frame_quotient", + "role": 11006, + "stream": 14526, + "frame": 117801, + "rank": 2, + "program_id": 102 + }, + { + "kind": "donor_line_entrance", + "role": 11006, + "stream": 14526, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11007, + "stream": 14527, + "frame": 117801, + "rank": 2, + "program_id": 102 + }, + { + "kind": "donor_line_entrance", + "role": 11007, + "stream": 14527, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11168, + "stream": 14688, + "frame": 117694, + "rank": 2, + "program_id": 103 + }, + { + "kind": "donor_line_entrance", + "role": 11168, + "stream": 14688, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11169, + "stream": 14689, + "frame": 117694, + "rank": 2, + "program_id": 103 + }, + { + "kind": "donor_line_entrance", + "role": 11169, + "stream": 14689, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11170, + "stream": 14690, + "frame": 117694, + "rank": 2, + "program_id": 103 + }, + { + "kind": "donor_line_entrance", + "role": 11170, + "stream": 14690, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11171, + "stream": 14691, + "frame": 117693, + "rank": 2, + "program_id": 104 + }, + { + "kind": "pivot_residual", + "role": 11171, + "stream": 14691, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11172, + "stream": 14692, + "frame": 117693, + "rank": 2, + "program_id": 104 + }, + { + "kind": "pivot_residual", + "role": 11172, + "stream": 14692, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11173, + "stream": 14693, + "frame": 117693, + "rank": 2, + "program_id": 104 + }, + { + "kind": "pivot_residual", + "role": 11173, + "stream": 14693, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11255, + "stream": 14775, + "frame": 117644, + "rank": 2, + "program_id": 105 + }, + { + "kind": "donor_line_entrance", + "role": 11255, + "stream": 14775, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11257, + "stream": 14777, + "frame": 117643, + "rank": 2, + "program_id": 106 + }, + { + "kind": "pivot_residual", + "role": 11257, + "stream": 14777, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11283, + "stream": 14803, + "frame": 117624, + "rank": 2, + "program_id": 107 + }, + { + "kind": "donor_line_entrance", + "role": 11283, + "stream": 14803, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11286, + "stream": 14806, + "frame": 117623, + "rank": 2, + "program_id": 108 + }, + { + "kind": "pivot_residual", + "role": 11286, + "stream": 14806, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11448, + "stream": 14968, + "frame": 117513, + "rank": 2, + "program_id": 109 + }, + { + "kind": "donor_line_entrance", + "role": 11448, + "stream": 14968, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11527, + "stream": 15047, + "frame": 117462, + "rank": 2, + "program_id": 110 + }, + { + "kind": "donor_line_entrance", + "role": 11527, + "stream": 15047, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11529, + "stream": 15049, + "frame": 117461, + "rank": 2, + "program_id": 111 + }, + { + "kind": "donor_line_entrance", + "role": 11529, + "stream": 15049, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11538, + "stream": 15058, + "frame": 117453, + "rank": 2, + "program_id": 112 + }, + { + "kind": "donor_line_entrance", + "role": 11538, + "stream": 15058, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11539, + "stream": 15059, + "frame": 117453, + "rank": 2, + "program_id": 112 + }, + { + "kind": "donor_line_entrance", + "role": 11539, + "stream": 15059, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11555, + "stream": 15075, + "frame": 117442, + "rank": 2, + "program_id": 113 + }, + { + "kind": "donor_line_entrance", + "role": 11555, + "stream": 15075, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11557, + "stream": 15077, + "frame": 117441, + "rank": 2, + "program_id": 114 + }, + { + "kind": "donor_line_entrance", + "role": 11557, + "stream": 15077, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11558, + "stream": 15078, + "frame": 117441, + "rank": 2, + "program_id": 114 + }, + { + "kind": "pivot_residual", + "role": 11558, + "stream": 15078, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11632, + "stream": 15152, + "frame": 117390, + "rank": 2, + "program_id": 115 + }, + { + "kind": "donor_line_entrance", + "role": 11632, + "stream": 15152, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11634, + "stream": 15154, + "frame": 117389, + "rank": 2, + "program_id": 116 + }, + { + "kind": "pivot_residual", + "role": 11634, + "stream": 15154, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11709, + "stream": 15229, + "frame": 117340, + "rank": 2, + "program_id": 117 + }, + { + "kind": "donor_line_entrance", + "role": 11709, + "stream": 15229, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11711, + "stream": 15231, + "frame": 117339, + "rank": 2, + "program_id": 118 + }, + { + "kind": "pivot_residual", + "role": 11711, + "stream": 15231, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11824, + "stream": 15344, + "frame": 117262, + "rank": 2, + "program_id": 119 + }, + { + "kind": "donor_line_entrance", + "role": 11824, + "stream": 15344, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11825, + "stream": 15345, + "frame": 117261, + "rank": 2, + "program_id": 120 + }, + { + "kind": "pivot_residual", + "role": 11825, + "stream": 15345, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11828, + "stream": 15348, + "frame": 117258, + "rank": 2, + "program_id": 121 + }, + { + "kind": "donor_line_entrance", + "role": 11828, + "stream": 15348, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11830, + "stream": 15350, + "frame": 117257, + "rank": 2, + "program_id": 122 + }, + { + "kind": "pivot_residual", + "role": 11830, + "stream": 15350, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11842, + "stream": 15362, + "frame": 117250, + "rank": 2, + "program_id": 123 + }, + { + "kind": "donor_line_entrance", + "role": 11842, + "stream": 15362, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11843, + "stream": 15363, + "frame": 117249, + "rank": 2, + "program_id": 124 + }, + { + "kind": "pivot_residual", + "role": 11843, + "stream": 15363, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11846, + "stream": 15366, + "frame": 117246, + "rank": 2, + "program_id": 125 + }, + { + "kind": "donor_line_entrance", + "role": 11846, + "stream": 15366, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11849, + "stream": 15369, + "frame": 117245, + "rank": 2, + "program_id": 126 + }, + { + "kind": "pivot_residual", + "role": 11849, + "stream": 15369, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11864, + "stream": 15384, + "frame": 117238, + "rank": 2, + "program_id": 127 + }, + { + "kind": "donor_line_entrance", + "role": 11864, + "stream": 15384, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11865, + "stream": 15385, + "frame": 117237, + "rank": 2, + "program_id": 128 + }, + { + "kind": "pivot_residual", + "role": 11865, + "stream": 15385, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11933, + "stream": 15453, + "frame": 117194, + "rank": 2, + "program_id": 129 + }, + { + "kind": "donor_line_entrance", + "role": 11933, + "stream": 15453, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11935, + "stream": 15455, + "frame": 117193, + "rank": 2, + "program_id": 130 + }, + { + "kind": "pivot_residual", + "role": 11935, + "stream": 15455, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11937, + "stream": 15457, + "frame": 117192, + "rank": 2, + "program_id": 131 + }, + { + "kind": "donor_line_entrance", + "role": 11937, + "stream": 15457, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11950, + "stream": 15470, + "frame": 117182, + "rank": 2, + "program_id": 132 + }, + { + "kind": "pivot_residual", + "role": 11950, + "stream": 15470, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11952, + "stream": 15472, + "frame": 117181, + "rank": 2, + "program_id": 133 + }, + { + "kind": "pivot_residual", + "role": 11952, + "stream": 15472, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 11955, + "stream": 15475, + "frame": 117180, + "rank": 2, + "program_id": 134 + }, + { + "kind": "donor_line_entrance", + "role": 11955, + "stream": 15475, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11962, + "stream": 15482, + "frame": 117174, + "rank": 2, + "program_id": 135 + }, + { + "kind": "donor_line_entrance", + "role": 11962, + "stream": 15482, + "rank": 1, + "program_id": 9 + }, + { + "kind": "first_frame_quotient", + "role": 11963, + "stream": 15483, + "frame": 117173, + "rank": 2, + "program_id": 136 + }, + { + "kind": "pivot_residual", + "role": 11963, + "stream": 15483, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12233, + "stream": 15753, + "frame": 146888, + "rank": 5, + "program_id": 137 + }, + { + "kind": "pivot_residual", + "role": 12233, + "stream": 15753, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 12262, + "stream": 15782, + "frame": 146889, + "rank": 5, + "program_id": 138 + }, + { + "kind": "pivot_residual", + "role": 12262, + "stream": 15782, + "rank": 23, + "program_id": 34 + }, + { + "kind": "first_frame_quotient", + "role": 12331, + "stream": 15851, + "frame": 116308, + "rank": 4, + "program_id": 139 + }, + { + "kind": "pivot_residual", + "role": 12331, + "stream": 15851, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12341, + "stream": 15861, + "frame": 116284, + "rank": 4, + "program_id": 140 + }, + { + "kind": "pivot_residual", + "role": 12341, + "stream": 15861, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12344, + "stream": 15864, + "frame": 116273, + "rank": 4, + "program_id": 141 + }, + { + "kind": "pivot_residual", + "role": 12344, + "stream": 15864, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12410, + "stream": 15930, + "frame": 116097, + "rank": 4, + "program_id": 142 + }, + { + "kind": "pivot_residual", + "role": 12410, + "stream": 15930, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12418, + "stream": 15938, + "frame": 116086, + "rank": 4, + "program_id": 143 + }, + { + "kind": "pivot_residual", + "role": 12418, + "stream": 15938, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12428, + "stream": 15948, + "frame": 116062, + "rank": 4, + "program_id": 144 + }, + { + "kind": "pivot_residual", + "role": 12428, + "stream": 15948, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12439, + "stream": 15959, + "frame": 116023, + "rank": 4, + "program_id": 145 + }, + { + "kind": "pivot_residual", + "role": 12439, + "stream": 15959, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12447, + "stream": 15967, + "frame": 116012, + "rank": 4, + "program_id": 146 + }, + { + "kind": "pivot_residual", + "role": 12447, + "stream": 15967, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12457, + "stream": 15977, + "frame": 115988, + "rank": 4, + "program_id": 147 + }, + { + "kind": "pivot_residual", + "role": 12457, + "stream": 15977, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12546, + "stream": 16066, + "frame": 115756, + "rank": 4, + "program_id": 148 + }, + { + "kind": "pivot_residual", + "role": 12546, + "stream": 16066, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12547, + "stream": 16067, + "frame": 115755, + "rank": 4, + "program_id": 149 + }, + { + "kind": "pivot_residual", + "role": 12547, + "stream": 16067, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12549, + "stream": 16069, + "frame": 115741, + "rank": 4, + "program_id": 150 + }, + { + "kind": "pivot_residual", + "role": 12549, + "stream": 16069, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12550, + "stream": 16070, + "frame": 115739, + "rank": 4, + "program_id": 151 + }, + { + "kind": "pivot_residual", + "role": 12550, + "stream": 16070, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12575, + "stream": 16095, + "frame": 115682, + "rank": 4, + "program_id": 152 + }, + { + "kind": "pivot_residual", + "role": 12575, + "stream": 16095, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12576, + "stream": 16096, + "frame": 115681, + "rank": 4, + "program_id": 153 + }, + { + "kind": "pivot_residual", + "role": 12576, + "stream": 16096, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12578, + "stream": 16098, + "frame": 115667, + "rank": 4, + "program_id": 154 + }, + { + "kind": "pivot_residual", + "role": 12578, + "stream": 16098, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12579, + "stream": 16099, + "frame": 115665, + "rank": 4, + "program_id": 155 + }, + { + "kind": "pivot_residual", + "role": 12579, + "stream": 16099, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12607, + "stream": 16127, + "frame": 115593, + "rank": 4, + "program_id": 156 + }, + { + "kind": "pivot_residual", + "role": 12607, + "stream": 16127, + "rank": 23, + "program_id": 59 + }, + { + "kind": "first_frame_quotient", + "role": 12665, + "stream": 16185, + "frame": 115445, + "rank": 4, + "program_id": 157 + }, + { + "kind": "pivot_residual", + "role": 12665, + "stream": 16185, + "rank": 23, + "program_id": 59 + } + ], + "max_changed_chart_factors": 489, + "max_factor_numerator": 390, + "max_factor_denominator": 540, + "retained_chart_factor_bound": 576, + "combined_normalizer_factor_bound": 815, + "literal_stock": 1229555, + "selector_calls_bound": 905994092400, + "scope": "Every changed union72 first-frame quotient, donor line entrance and rank23 pivot residual is bound to an exactly factored weighted chart; final12 charts are included. Unchanged chart admission and finite-compiler interfaces remain inherited.", + "chart_summaries": [ + { + "program_id": 0, + "kind": "first_frame_quotient", + "frame": 119570, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 466, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9dc4af1bdc8673ff6fedfe8e84b7f10d62bdd5554bd201ea9eb087d13fd1be5d" + }, + { + "program_id": 1, + "kind": "donor_line_entrance", + "line": [ + 6, + 7 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "4197b7e963a1a5fe18abcec8d178d6a38e13a0404f9f7bbe4bef93b3e39c1017" + }, + { + "program_id": 2, + "kind": "first_frame_quotient", + "frame": 119569, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 465, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9060388a578d65ef331de566286090d14438e47c0f967b63dcbd66bb33c1148e" + }, + { + "program_id": 3, + "kind": "first_frame_quotient", + "frame": 119558, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 464, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "bf9858858d62c0d2671f5ebc9309da2f1f68432efbd16efcd604aea7c7a5d18d" + }, + { + "program_id": 4, + "kind": "first_frame_quotient", + "frame": 119557, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 463, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "7e95644c9426088dfedbc3e75c373d38b6e78f1dfca66ea82aad7a289587cec0" + }, + { + "program_id": 5, + "kind": "first_frame_quotient", + "frame": 119534, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 460, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "cc8d0f1aa4ce46ed361617be467a88100a140cbbceb8e3fa8fab6b3e9289856f" + }, + { + "program_id": 6, + "kind": "first_frame_quotient", + "frame": 119522, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "9cd0e62061aa794d5df1e1bfa25fe5fc4a69b31334bee29c7739fd6f4482a864" + }, + { + "program_id": 7, + "kind": "first_frame_quotient", + "frame": 119521, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 456, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "463663376efdabeea4cbe56729ca7bb2a2995a87af17098d023d1ee1acf802e6" + }, + { + "program_id": 8, + "kind": "first_frame_quotient", + "frame": 119391, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 489, + "max_numerator": 255, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4d0e6f31c36850f71e50f66f4fb423a186cca695bdeae50999157c768ef0425c" + }, + { + "program_id": 9, + "kind": "donor_line_entrance", + "line": [ + 16, + 17 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "4a3d8e5e61c45cd9b302285de8bd00cf60b20e005a46c78533598c9960218347" + }, + { + "program_id": 10, + "kind": "first_frame_quotient", + "frame": 119284, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 483, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1770a50ccc15b5202f98581b11af48c61de62744450af6ba3e4f86222bcb294d" + }, + { + "program_id": 11, + "kind": "first_frame_quotient", + "frame": 119283, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 481, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "11ef9bbc855f4b975e7c423228bd49ff693fdb60d7c1a855ebd1b3de1c80680b" + }, + { + "program_id": 12, + "kind": "first_frame_quotient", + "frame": 119234, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 460, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "a985c0d1408caa62db3e747ad2a073ff0185dc4b9b76d824f456a29fe184912f" + }, + { + "program_id": 13, + "kind": "first_frame_quotient", + "frame": 119233, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 459, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b34470adbf20c855c794b64ac60c790931649f2b029531f094cc7255d7a93e2f" + }, + { + "program_id": 14, + "kind": "first_frame_quotient", + "frame": 119214, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 358, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4ad732da73d4dae71c7bdc82cfc0df442452c4197d0a887718b69d0f6d7ca651" + }, + { + "program_id": 15, + "kind": "first_frame_quotient", + "frame": 119213, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "fae717d5625421e7ea369ab02d02d1d607da9d8aa240bd9935845221250e118f" + }, + { + "program_id": 16, + "kind": "first_frame_quotient", + "frame": 119210, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 455, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "35d1bd9e4583ccfc7967ca7fc12f3f124c49a4d5057cbfd20dc71405845cc420" + }, + { + "program_id": 17, + "kind": "first_frame_quotient", + "frame": 119209, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 454, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "5c006b189d371c68400f9ab533bce70fc1ebda357fd4c5e6dd385b213e4e5f2a" + }, + { + "program_id": 18, + "kind": "first_frame_quotient", + "frame": 119024, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 468, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4c19943cab3beb5aab153ebcf98547c046497f3b356b69b21c9289173a54fc81" + }, + { + "program_id": 19, + "kind": "first_frame_quotient", + "frame": 119023, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 467, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "206eca104a131cc93bc2505d3af5fec0390c413c4a7c4ef2a8fb8abe1ca2a719" + }, + { + "program_id": 20, + "kind": "first_frame_quotient", + "frame": 119012, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 466, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "726804da3feb733ef0cdcd617010e365a272f29d50e39fd24aa2d777de33ae93" + }, + { + "program_id": 21, + "kind": "first_frame_quotient", + "frame": 119011, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 465, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "33a4c223adede19f3e5b4885cd265bedcba0b1f8b69099233b22f9d4cbc411ee" + }, + { + "program_id": 22, + "kind": "first_frame_quotient", + "frame": 119000, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 464, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "738ea73a9fcf561a545b56b13e3a5842ee5a251091365eaf929aa2f66508f6be" + }, + { + "program_id": 23, + "kind": "first_frame_quotient", + "frame": 118999, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a62351460bb421c14a50852130f6d3d7d0753c38ee34dc4f24cdbac01bcfbeb2" + }, + { + "program_id": 24, + "kind": "first_frame_quotient", + "frame": 118988, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 462, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a7bf762a42386a952aa441726c43d2a2191ca37d9ac8e2bee43601b774eb10f1" + }, + { + "program_id": 25, + "kind": "first_frame_quotient", + "frame": 118987, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "265def1e019f3b3dc7835955ef574ca58331a9c095d052b5a1d4f8e173e3d8b8" + }, + { + "program_id": 26, + "kind": "first_frame_quotient", + "frame": 118976, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 459, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "88fed89d6151221dc405c5a7f7534d24f748b86e751fb92fdff310d6b68b2c46" + }, + { + "program_id": 27, + "kind": "first_frame_quotient", + "frame": 118962, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "6bffb33c0fd7f97eecd852f7b0aa9bc5d4e50adfb48c776ce4041b5fb4b08873" + }, + { + "program_id": 28, + "kind": "first_frame_quotient", + "frame": 118961, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 456, + "max_numerator": 195, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "19223051048bb8a8cb1a2c9229c5508eed385cad1fb150f09b12952b6e652cbe" + }, + { + "program_id": 29, + "kind": "first_frame_quotient", + "frame": 118908, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d84c77ef254faa62a7ec78b6672b597f48076ee3c9003fde2c0363ab8480f1d0" + }, + { + "program_id": 30, + "kind": "donor_line_entrance", + "line": [ + 2, + 3 + ], + "residual_rank": 1, + "completion_rank": 23, + "determinant": "2", + "count": 25, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "d1fa99795a2df038de598bb5398dc0192c34420f897028b7b677b3486d0ae3ae" + }, + { + "program_id": 31, + "kind": "first_frame_quotient", + "frame": 118907, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "090e8eeae7630b4a2aff79b223212252622e868fbd5fd5da3c12960814be834a" + }, + { + "program_id": 32, + "kind": "first_frame_quotient", + "frame": 118904, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 489, + "max_numerator": 390, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "4eeb8b38efd515280eb3f19bf546f4a68d4d20f4cb4ba5d5300171396bf73620" + }, + { + "program_id": 33, + "kind": "first_frame_quotient", + "frame": 118903, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 488, + "max_numerator": 345, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "bd2fdc549eed036c880cefab7c44eb1ab1142574341ab5e387caa390d9fe2ce0" + }, + { + "program_id": 34, + "kind": "pivot_residual", + "line": [ + 2, + 3 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 23, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "1df8fc59ef423a041f42b7eed68ddab27d9fe871308fa2903bb16e68910f54e6" + }, + { + "program_id": 35, + "kind": "first_frame_quotient", + "frame": 118870, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "274e98a5010f976d42cea5da2ae024ca5c87e2ffdb6453bef2e5b23a0f1b2ad1" + }, + { + "program_id": 36, + "kind": "first_frame_quotient", + "frame": 118869, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 389, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "98f6733fd100b0812a2b30a6f0fcd5e99b06ab1ab82f4dfb8faea00e3542c497" + }, + { + "program_id": 37, + "kind": "first_frame_quotient", + "frame": 118678, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 462, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f33134f33a385c19235f6d38e7e2c4f197905e4922307a05081b9c0278d3c9fd" + }, + { + "program_id": 38, + "kind": "first_frame_quotient", + "frame": 118677, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 461, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8f9121d0914f7eb63d18db6b06eb7a0d80c70d0569a57502b1c4ea1f1557d107" + }, + { + "program_id": 39, + "kind": "first_frame_quotient", + "frame": 118658, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "613793d2ddd723eb893a58a00d5a4220ac81980b7ce26a7b514ff6461f0b49d3" + }, + { + "program_id": 40, + "kind": "first_frame_quotient", + "frame": 118657, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 379, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "da000ceced6c46f49e1e31d4152b32ddaf1dc9d939bbaf42902120a20d67f915" + }, + { + "program_id": 41, + "kind": "first_frame_quotient", + "frame": 118656, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 482, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "b4bda6ab50859da112ba813dbdcd8e013a589b97095e18f32f6cee28863e0d1d" + }, + { + "program_id": 42, + "kind": "first_frame_quotient", + "frame": 118654, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 480, + "max_numerator": 195, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d9c5766087aa50fc8e50f6044d00941db2388415fe38c1817c745d15d7c8c5b1" + }, + { + "program_id": 43, + "kind": "first_frame_quotient", + "frame": 118610, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 458, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "8756375be64c5b7f09163bdc4d69a128e82e80dbced0e72df892d00e944d7d68" + }, + { + "program_id": 44, + "kind": "first_frame_quotient", + "frame": 118608, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 457, + "max_numerator": 195, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "d7be9abd78f66b0f701e6aeccb1d86618e0c6f146473fca1cf3df26275e60ae6" + }, + { + "program_id": 45, + "kind": "first_frame_quotient", + "frame": 118572, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 430, + "max_numerator": 75, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e8dc478548f773ee79998e52b9cacc953447238baaeee7100d7049f60aeefa2e" + }, + { + "program_id": 46, + "kind": "first_frame_quotient", + "frame": 118571, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 429, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "1100117fea5ebca8ae6509afa7756aa491c3779f5c1f0b9b8edd08afe9661968" + }, + { + "program_id": 47, + "kind": "first_frame_quotient", + "frame": 118560, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 428, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e2fa4ab3e17f77d8c0e25d94ea0eb25a9a8be76402e8035f5d72939b8170174a" + }, + { + "program_id": 48, + "kind": "first_frame_quotient", + "frame": 118559, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 427, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "99f89de271ad80b82cbdf82b8498c4ccec20c519bdd999b584ff0870397d4bf8" + }, + { + "program_id": 49, + "kind": "first_frame_quotient", + "frame": 118548, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 426, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "58daad0b8fc76050d2703d8fffe4d455fbaac8228c758e18ddeabe6f1a82147d" + }, + { + "program_id": 50, + "kind": "first_frame_quotient", + "frame": 118547, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 423, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "4673d354a7e123b34311e6991c15aed37f7ba8af3fe71f1740c43c488749d7da" + }, + { + "program_id": 51, + "kind": "pivot_residual", + "line": [ + 6, + 7 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 19, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "c212b1bf7e788665ca4ff8d3a78227490877e70cf63714987dc3f40ac4b9020b" + }, + { + "program_id": 52, + "kind": "first_frame_quotient", + "frame": 118536, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 424, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "96a4107ff16dd5b474019e81ad5ef9d84faf0d341f1447f6cdb7cba1a2e4dc12" + }, + { + "program_id": 53, + "kind": "first_frame_quotient", + "frame": 118524, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 421, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "53c46a18344cf806a0ad011a47fafd62f589154c7b6ea87905a01316a92cdf8d" + }, + { + "program_id": 54, + "kind": "first_frame_quotient", + "frame": 118512, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 419, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "af9cd831cc217e85aef9d5bbbcdc0c77891c8c7e7fa2590e94589f9f4743e02e" + }, + { + "program_id": 55, + "kind": "first_frame_quotient", + "frame": 118511, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 418, + "max_numerator": 45, + "max_denominator": 165, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "5ea396dd43b94d8353f1a374037f4d2f0068a84548937ce47403f51cba32d8ac" + }, + { + "program_id": 56, + "kind": "first_frame_quotient", + "frame": 118393, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 453, + "max_numerator": 255, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4e71c691f084f5ab168d33d1c49bb532dc1840a4e178ab7ebe5b39fa33f29842" + }, + { + "program_id": 57, + "kind": "first_frame_quotient", + "frame": 118286, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 447, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "475da45e8e8db68940ca0ebd0e10995a6422688dd934c862ee638137411f372d" + }, + { + "program_id": 58, + "kind": "first_frame_quotient", + "frame": 118285, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 445, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "40adf8779f52c0b6a7f991966a935bf32cbabc60e9c59f06656a9554995cc883" + }, + { + "program_id": 59, + "kind": "pivot_residual", + "line": [ + 16, + 17 + ], + "residual_rank": 23, + "completion_rank": 1, + "determinant": "-2", + "count": 9, + "max_numerator": 1, + "max_denominator": 2, + "factor_program_sha256": "4f7413a86b21d55cd0e81a444612b7bc95d4c57cda5fb01afa487ca7fd030067" + }, + { + "program_id": 60, + "kind": "first_frame_quotient", + "frame": 118236, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4fe2de2b15698b32236f0b9b18ac9018416e78f1f2647d1f4decddeaf6d41343" + }, + { + "program_id": 61, + "kind": "first_frame_quotient", + "frame": 118235, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 423, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e154cbd440a73ce341c73924c8c01b49741277b2e006927d6cd294186f7b9108" + }, + { + "program_id": 62, + "kind": "first_frame_quotient", + "frame": 118216, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e404ea335c18b090b2d9a0636626a34a9fc868d93cc353705c6d5aa61a77c37d" + }, + { + "program_id": 63, + "kind": "first_frame_quotient", + "frame": 118215, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 360, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "c3c6e83b9475d56917fb20eb85b1622cb38c727cb21a2c88a1a7d65bfd8a65b7" + }, + { + "program_id": 64, + "kind": "first_frame_quotient", + "frame": 118114, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 428, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "d9d23ce37bb93ddc352da8eae8447ead5113ef47a613609a75f5c36c1687e491" + }, + { + "program_id": 65, + "kind": "first_frame_quotient", + "frame": 118113, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 427, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "68a26c22ca9392b67e184aa4fa06015ab74c114b2bcd8b7f34045663b5098819" + }, + { + "program_id": 66, + "kind": "first_frame_quotient", + "frame": 118055, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 455, + "max_numerator": 255, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "7fc4da6e8ad5b6ddb9a3c85fcb558d899a2950343f2856856ebf5e9b93a3198c" + }, + { + "program_id": 67, + "kind": "first_frame_quotient", + "frame": 117982, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 428, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "fa6dd6c183fc4adb53637d3ed2832f69a43534a1e996dbb35fbd0327f6378e3b" + }, + { + "program_id": 68, + "kind": "first_frame_quotient", + "frame": 117976, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2dd768b483d920c7bc3efab2f9368a70c65b5c8b9b2096f6630d8f3b2db582c7" + }, + { + "program_id": 69, + "kind": "first_frame_quotient", + "frame": 117975, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "ac1cf0fa5f5d509096c09400a6198e6b51486ddd9bb584b86626cc9b4e3d1d28" + }, + { + "program_id": 70, + "kind": "first_frame_quotient", + "frame": 117970, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "1cf00dc68f995fd3a5b0d6996258f9f74a9003ee196331234c00ce0af52087c3" + }, + { + "program_id": 71, + "kind": "first_frame_quotient", + "frame": 117964, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "841daa109948068650730121029162bec52fb4e7b8129be09271f2d3537fae87" + }, + { + "program_id": 72, + "kind": "first_frame_quotient", + "frame": 117963, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 75, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e8c0d3b808cd5ffc190710e83d351c2efaeef2dc61dfcd2ea78268338d4a7292" + }, + { + "program_id": 73, + "kind": "first_frame_quotient", + "frame": 117960, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 450, + "max_numerator": 210, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a44dc5df519a8014d3c769e255f4507fecc43f88fd986230dfe9861fa080439a" + }, + { + "program_id": 74, + "kind": "first_frame_quotient", + "frame": 117959, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 449, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "94b4f1923f6299685af2b42afcbd78400618184f593fb54214d58ee54f1e9591" + }, + { + "program_id": 75, + "kind": "first_frame_quotient", + "frame": 117948, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 449, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d6084c30e4ba4f924c7b195d2168c6533804934edcdf8b2fd7728a8c29b555d1" + }, + { + "program_id": 76, + "kind": "first_frame_quotient", + "frame": 117947, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 447, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b3fb05492c295816aa2f95c88aa7be561d5fa23ee542ed88005342d6a4fe2456" + }, + { + "program_id": 77, + "kind": "first_frame_quotient", + "frame": 117928, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "1ba292b9c49b3c7338aa220e820ee8c23f4aa992f42fa723ed377ba7cd8d95d0" + }, + { + "program_id": 78, + "kind": "first_frame_quotient", + "frame": 117927, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "fd33efee6fd8249dc4e4e5e4ac8d89299a414d57b1026afb1e07b2bec2691d1c" + }, + { + "program_id": 79, + "kind": "first_frame_quotient", + "frame": 117916, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "850e3632631bbf7ce306e5f7549e454aac082592d2d6a74d43b106fb11cca562" + }, + { + "program_id": 80, + "kind": "first_frame_quotient", + "frame": 117915, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "c9f0c7cfcbce2a9d51028507193e9f66d9c3c6d2c16a51a2cfc9808c77b5c34e" + }, + { + "program_id": 81, + "kind": "first_frame_quotient", + "frame": 117912, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 448, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "c36fd947abfbead762df9797ab6c40b3907deb68c3d61b444179bcfac35daffc" + }, + { + "program_id": 82, + "kind": "first_frame_quotient", + "frame": 117911, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 447, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "d250f01a48d0fbd723bb312ec38a60a34126a8f7fb6edc5ddfb1b9981670d48e" + }, + { + "program_id": 83, + "kind": "first_frame_quotient", + "frame": 117898, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 426, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "9026711bbc30872e44bb88334d2a94d568ccc5f057947850b771ccceb787e83d" + }, + { + "program_id": 84, + "kind": "first_frame_quotient", + "frame": 117897, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "bb0e6e3ad60252e79cb17365fa1d9e6805e2a909f8c1deabf82d3ae04301031e" + }, + { + "program_id": 85, + "kind": "first_frame_quotient", + "frame": 117886, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 425, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "a1fd6212b164398c2b43374f86239cc7a273a79fbcf8a9021ce07bbcbf3c009f" + }, + { + "program_id": 86, + "kind": "first_frame_quotient", + "frame": 117885, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "39791bfc9f20cbad3325a7b2dc983fdbe770a29e063f6dbdc70328daf980adb0" + }, + { + "program_id": 87, + "kind": "first_frame_quotient", + "frame": 117880, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "37510ed05a074139769a47fc4d884a46845f8df0b81ae88f9f5eb71b48f8d842" + }, + { + "program_id": 88, + "kind": "first_frame_quotient", + "frame": 117879, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 357, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "c68364ad9be49d3b027f6d64765a0bbabdc09180e065009c96f7d19f89c7453d" + }, + { + "program_id": 89, + "kind": "first_frame_quotient", + "frame": 117878, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 359, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f8ba43dae155e72f73e4ec217c09dc6255ee79d40afdecf20ca4eb272cbba8e3" + }, + { + "program_id": 90, + "kind": "first_frame_quotient", + "frame": 117877, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 339, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e965557173bec4d02acad5e1d59fd3626577a5f7ec77daf75eda5d086a69d9c8" + }, + { + "program_id": 91, + "kind": "first_frame_quotient", + "frame": 117876, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 446, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "8293e7f80658082488c1d9813ab2b7003e9c2a90ec2e0ef1d175047a782c5b42" + }, + { + "program_id": 92, + "kind": "first_frame_quotient", + "frame": 117875, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 444, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "8bc6c27a0b371e479fd34a8173d4a2ad177785b565a3161579a2e3e279a6125f" + }, + { + "program_id": 93, + "kind": "first_frame_quotient", + "frame": 117864, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 442, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "04e4da092d5da431424cf949b678b79db97003ea10142505c69325a61365d685" + }, + { + "program_id": 94, + "kind": "first_frame_quotient", + "frame": 117862, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 424, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2559ec79242489599f2eab75afb99291e3ec59ae2f7a15e3173620e647f1e419" + }, + { + "program_id": 95, + "kind": "first_frame_quotient", + "frame": 117856, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2e93d6d491b228a29a84d96a40dca2f3281b4c1813323c083b411ad909f5eff0" + }, + { + "program_id": 96, + "kind": "first_frame_quotient", + "frame": 117852, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 442, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "2f79a2ccae87f6fcad2128afbfe5a52a8f8a86ae279713877761ccaa3f3b61db" + }, + { + "program_id": 97, + "kind": "first_frame_quotient", + "frame": 117844, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "86fc97d42a1076e7c48979a5238048ab4e6cc6edec1637470a8fc5ad385c1efb" + }, + { + "program_id": 98, + "kind": "first_frame_quotient", + "frame": 117843, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 356, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "26009ed305649567ad7028d0af54c8064e16337c9eef16fd2124fdae3e0b8905" + }, + { + "program_id": 99, + "kind": "first_frame_quotient", + "frame": 117838, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 440, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "e725da879900b44e69b878e0b3f8b8e120d59498cc094f96bf97c1adf7e32dab" + }, + { + "program_id": 100, + "kind": "first_frame_quotient", + "frame": 117836, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 422, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "5181ccc8f506f1ae000655c45f3a4cbb3bb13e48b3fe18b16e1bc440858713cc" + }, + { + "program_id": 101, + "kind": "first_frame_quotient", + "frame": 117835, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 421, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 6, + 7 + ], + "factor_program_sha256": "020910e1a6ff4e6dca20e43530ddaacfa6feea7844565819f1ecd08301ed246a" + }, + { + "program_id": 102, + "kind": "first_frame_quotient", + "frame": 117801, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 419, + "max_numerator": 255, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "5a780afd5c639767365f2ba14965c5abf840a6433e66de198e3362ad9a457012" + }, + { + "program_id": 103, + "kind": "first_frame_quotient", + "frame": 117694, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 413, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "19b62f944e60491b54f38ed2d0c4ffedd0c79f372f7f636228711c22e468c525" + }, + { + "program_id": 104, + "kind": "first_frame_quotient", + "frame": 117693, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 411, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f0786ee6eafb0f0e4d7c5e78e3149f5fadc4f2550e81a32800e423747cb4dd50" + }, + { + "program_id": 105, + "kind": "first_frame_quotient", + "frame": 117644, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 390, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ee0327b066f0fdfca9d8f7ad949b51dd7f43ee8f5c52ecbabc7ca3849ed33281" + }, + { + "program_id": 106, + "kind": "first_frame_quotient", + "frame": 117643, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 389, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "34807a00d3c438afe77719708436ea5a98b99be3fe5dde26d25b96396663183f" + }, + { + "program_id": 107, + "kind": "first_frame_quotient", + "frame": 117624, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 340, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "334888bd1e6305d8328814d9fb662bc93e993e257ebaa244d39f75b58a87b1fe" + }, + { + "program_id": 108, + "kind": "first_frame_quotient", + "frame": 117623, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 360, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "924b36448f8962063e8bb370dc0cb16fd9fc66c64d42b166e698ffac2a81dc03" + }, + { + "program_id": 109, + "kind": "first_frame_quotient", + "frame": 117513, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-23941848456573486328125000", + "count": 363, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "2da34df9dea919f999e40e5ba4f2aa2b8cfe06aedf93f0c2096dfb36e55776a3" + }, + { + "program_id": 110, + "kind": "first_frame_quotient", + "frame": 117462, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 352, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8ddb228e1b865c70012154a0b03f0589464645f921b7d5e501a7d8d669d869d2" + }, + { + "program_id": 111, + "kind": "first_frame_quotient", + "frame": 117461, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 351, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "150e3141a217dc6772f2f4f6f44cbe29d25c199702f4d8b56d8d1ac2a7b1a8a9" + }, + { + "program_id": 112, + "kind": "first_frame_quotient", + "frame": 117453, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 165, + "max_denominator": 300, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8d3128c91a1c28d34a78ad2d076c42cbc8978f65674a35d5b823b8bf4797d1e1" + }, + { + "program_id": 113, + "kind": "first_frame_quotient", + "frame": 117442, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 340, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8a7e22a69dc91c5926f70979dc80730affef45ea6d5aaf46b9bc782737984c83" + }, + { + "program_id": 114, + "kind": "first_frame_quotient", + "frame": 117441, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "53fa96636b32e56d02be7b39a3ae79e68d0a8f6ea7249870d2aa6da53df841e5" + }, + { + "program_id": 115, + "kind": "first_frame_quotient", + "frame": 117390, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 377, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "57a9564042b70a631c250b74a7f49b6a731db397f364c7cc24327c187c4fa07e" + }, + { + "program_id": 116, + "kind": "first_frame_quotient", + "frame": 117389, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 375, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "c8fcdb15f6b44e54a08b6a3f94b9fc26cea37731cacf75bee5cbeff1afc5ca4d" + }, + { + "program_id": 117, + "kind": "first_frame_quotient", + "frame": 117340, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 354, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "7b0a6d36e3c87fcabb59df63180b703ccfcf0e4979590783618c0dfde7f73db2" + }, + { + "program_id": 118, + "kind": "first_frame_quotient", + "frame": 117339, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "1596123230438232421875000", + "count": 353, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f9676fbde44d9235d2ce9ced47b37fa7f4f700a2361ef9c5473c3990a95a6039" + }, + { + "program_id": 119, + "kind": "first_frame_quotient", + "frame": 117262, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "fd3e6cecce8bdca5a1cce69c32ef2bbf8b2410de65bfa8fc59ed961ab42faa78" + }, + { + "program_id": 120, + "kind": "first_frame_quotient", + "frame": 117261, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "9296a6018c89bf288b58a5982ba020c57b09124c9d9b4d3e1aff0070babed5e7" + }, + { + "program_id": 121, + "kind": "first_frame_quotient", + "frame": 117258, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 321, + "max_numerator": 165, + "max_denominator": 300, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b14702bb746373d80e6c1acabc43cf07f59914d71e4c7a92b60b9cf6e316833a" + }, + { + "program_id": 122, + "kind": "first_frame_quotient", + "frame": 117257, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 165, + "max_denominator": 300, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "db7b4b6d971997e8c58afc6996f7b25294c16bfe98f3241ff7623ddd29c297a5" + }, + { + "program_id": 123, + "kind": "first_frame_quotient", + "frame": 117250, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ac4a6144f7845bd4be77cf1f1a375dc478eea58a5fa47920dd963b1a7c8f32dd" + }, + { + "program_id": 124, + "kind": "first_frame_quotient", + "frame": 117249, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "de31fb37079b89611cbb66cf6c1aa2751a9c71185a385ab679ceaf269f865240" + }, + { + "program_id": 125, + "kind": "first_frame_quotient", + "frame": 117246, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "47883696913146972656250000", + "count": 321, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "aeaee6258879b36c80edf21b19fbe308ef1a2d9a5856f60933226302e90c3461" + }, + { + "program_id": 126, + "kind": "first_frame_quotient", + "frame": 117245, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-47883696913146972656250000", + "count": 341, + "max_numerator": 315, + "max_denominator": 540, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b040da9b30a988696329bddf8683a18eaca6177de2b2055182b3b1c5f97ef1ba" + }, + { + "program_id": 127, + "kind": "first_frame_quotient", + "frame": 117238, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "003a81f54f83f4e4b4746d432a1d1aab27db0cb4c748c3beeefdcc03855e99a7" + }, + { + "program_id": 128, + "kind": "first_frame_quotient", + "frame": 117237, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 259, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "6a51fbaf2c7b2529c6a8f6dfd33ebfb3d23f1d7bf06077fd622daf712081cf3a" + }, + { + "program_id": 129, + "kind": "first_frame_quotient", + "frame": 117194, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 297, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "140d514de820cc2d7d61a51137934f098dd6c4c87f2417c0778815d3599e076f" + }, + { + "program_id": 130, + "kind": "first_frame_quotient", + "frame": 117193, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 296, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d1b420072ccf5db29d2540c36f7fd41b51d21a37aae461996595d26e3e20817a" + }, + { + "program_id": 131, + "kind": "first_frame_quotient", + "frame": 117192, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 279, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "8d74b8871fa108c64c87472a76b6e79429f4ddb632daf6da3f0b9b5a7df11e39" + }, + { + "program_id": 132, + "kind": "first_frame_quotient", + "frame": 117182, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 297, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "76067ed3a3fb262d88ad801bc0c5632605fbc03f06fd5dfd28f8e0c6abfe45ec" + }, + { + "program_id": 133, + "kind": "first_frame_quotient", + "frame": 117181, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "3192246460876464843750000", + "count": 296, + "max_numerator": 165, + "max_denominator": 195, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "17716bd071e4a005f17d18f1ed645aa1767a96b78abf80329139bc2c05c77550" + }, + { + "program_id": 134, + "kind": "first_frame_quotient", + "frame": 117180, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-1596123230438232421875000", + "count": 277, + "max_numerator": 165, + "max_denominator": 135, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "648b67850a75bcb52735cb3ed2e2d5afcad1d03294db62ec67e41a44691f45b9" + }, + { + "program_id": 135, + "kind": "first_frame_quotient", + "frame": 117174, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "14187762048339843750000", + "count": 227, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1a39e3b1b6325c16c377d0d5aebfc601d603eaf37cb08ef3e7f9ca01a01ea5d4" + }, + { + "program_id": 136, + "kind": "first_frame_quotient", + "frame": 117173, + "residual_rank": 2, + "completion_rank": 22, + "determinant": "-14187762048339843750000", + "count": 227, + "max_numerator": 165, + "max_denominator": 45, + "first_dimension": 3, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "ddb41660e6ee38c5b6e34918b8d9e8665aba24fc04ccf020ec4635444051b883" + }, + { + "program_id": 137, + "kind": "first_frame_quotient", + "frame": 146888, + "residual_rank": 5, + "completion_rank": 19, + "determinant": "56751048193359375000000", + "count": 437, + "max_numerator": 180, + "max_denominator": 480, + "first_dimension": 6, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "829b74687e5396aed63376d528c66ab975dfb2023ccf425d48fcc1d4fb802548" + }, + { + "program_id": 138, + "kind": "first_frame_quotient", + "frame": 146889, + "residual_rank": 5, + "completion_rank": 19, + "determinant": "-56751048193359375000000", + "count": 417, + "max_numerator": 180, + "max_denominator": 480, + "first_dimension": 6, + "line": [ + 2, + 3 + ], + "factor_program_sha256": "10468cb771e774df758c46f760473a77dd9e255c2f48b5adb80c506ff4478987" + }, + { + "program_id": 139, + "kind": "first_frame_quotient", + "frame": 116308, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "86d4f72b296a957c5b329179d1c5f21ad1bde187da6eff320b68951f6a11593a" + }, + { + "program_id": 140, + "kind": "first_frame_quotient", + "frame": 116284, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-53204107681274414062500", + "count": 307, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "969a06e453377f664d54c8102589585b9232078b2e10e12384d51777d531faed" + }, + { + "program_id": 141, + "kind": "first_frame_quotient", + "frame": 116273, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-53204107681274414062500", + "count": 266, + "max_numerator": 135, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "180646b54b6be3aa8f8d3af7dc29a8a7166ca6fb629bf12aedd702e4708d51e3" + }, + { + "program_id": 142, + "kind": "first_frame_quotient", + "frame": 116097, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "27af37cfbe40a70ca04aa18d730c55d9ba18542d764787200f76f245d51cd663" + }, + { + "program_id": 143, + "kind": "first_frame_quotient", + "frame": 116086, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "cea12bfab489a461ad754be83cea01be95e8f6d9e75f8f1671882157c5c90ea1" + }, + { + "program_id": 144, + "kind": "first_frame_quotient", + "frame": 116062, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 389, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4ce9f55b5ae4f65c93b7e871cd613a8fb3f1827d44be3769cd1b9e23bf3c67f2" + }, + { + "program_id": 145, + "kind": "first_frame_quotient", + "frame": 116023, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "4ecd0c8e00fd8a02be01bbce2addc7f34907017a0ea7234b660a25d458086cbb" + }, + { + "program_id": 146, + "kind": "first_frame_quotient", + "frame": 116012, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "40a085b219fea5a22d7883b4f8175f9a11ee9f2c1cbe46c5bf243a68959a3d4c" + }, + { + "program_id": 147, + "kind": "first_frame_quotient", + "frame": 115988, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 389, + "max_numerator": 225, + "max_denominator": 450, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "67c76775632545286a5031f39f65e9e932923b99af07c743f359a0e138259843" + }, + { + "program_id": 148, + "kind": "first_frame_quotient", + "frame": 115756, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 135, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "1b49ce903b2a006d67a09b078ebe358fb8045f7b0fba4d5835e1937f9e855367" + }, + { + "program_id": 149, + "kind": "first_frame_quotient", + "frame": 115755, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "159612323043823242187500", + "count": 323, + "max_numerator": 180, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "b2e877a2415ac7cc5b3db61e886a7d61dc3c39ef9ede1f791dcf7d95656bab46" + }, + { + "program_id": 150, + "kind": "first_frame_quotient", + "frame": 115741, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e92a0d032372033fa2528427e7ce113fba39790393aa71143271d0e0c6f422d8" + }, + { + "program_id": 151, + "kind": "first_frame_quotient", + "frame": 115739, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-159612323043823242187500", + "count": 308, + "max_numerator": 255, + "max_denominator": 390, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "e70846b9cd027de204b1d21e5acbab6e6c5476f4b2225a85958c26839ebbbcdb" + }, + { + "program_id": 152, + "kind": "first_frame_quotient", + "frame": 115682, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 385, + "max_numerator": 135, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "6ea71ee829dfb85ed16eb7940866b5227e0131b167c2711dd627c289a2488433" + }, + { + "program_id": 153, + "kind": "first_frame_quotient", + "frame": 115681, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "159612323043823242187500", + "count": 323, + "max_numerator": 180, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "d43580ca7fb0040a51352e8eacf644e364f3b584f1e45b2636eec88b0f8b12ea" + }, + { + "program_id": 154, + "kind": "first_frame_quotient", + "frame": 115667, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "af466d8c45a4f94e847bab3409d4ae2e712859fdeb882616a7d29f8280693f14" + }, + { + "program_id": 155, + "kind": "first_frame_quotient", + "frame": 115665, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "-159612323043823242187500", + "count": 307, + "max_numerator": 255, + "max_denominator": 390, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "f7c50bece4403584650e4b070ce447a53960f7f9533d3baaca609c25041fea28" + }, + { + "program_id": 156, + "kind": "first_frame_quotient", + "frame": 115593, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 300, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "2a6195a407f59f710beadea4d8d2b9f9af876a3b4c334e5bec03f7dfeec73486" + }, + { + "program_id": 157, + "kind": "first_frame_quotient", + "frame": 115445, + "residual_rank": 4, + "completion_rank": 20, + "determinant": "53204107681274414062500", + "count": 469, + "max_numerator": 195, + "max_denominator": 81, + "first_dimension": 5, + "line": [ + 16, + 17 + ], + "factor_program_sha256": "bd35a0f0a0386c3d9c6760def9c689682a192c9d70a75e3f3fbf1ce311eed2d5" + }, + { + "kind": "new_rank2", + "role": 15813, + "determinant": "131621703842267136", + "count": 141, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 158, + "scope": "final12", + "factor_program_sha256": "1c01f577339983a903cb1155db3847f7bf5408a078c8c799844862ac01fbb51f" + }, + { + "kind": "new_rank2", + "role": 15815, + "determinant": "131621703842267136", + "count": 142, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 159, + "scope": "final12", + "factor_program_sha256": "748bd5b711ecaa9b887c24affef4c79cdac7af188dece2c9b6af58a597698c83" + }, + { + "kind": "new_rank2", + "role": 15821, + "determinant": "131621703842267136", + "count": 132, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 160, + "scope": "final12", + "factor_program_sha256": "16db7e02856d784732aa3d9954d27047558e3a09564900c2ae3b9cc222e82503" + }, + { + "kind": "new_rank2", + "role": 15823, + "determinant": "131621703842267136", + "count": 133, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 161, + "scope": "final12", + "factor_program_sha256": "c0691c249deee7020dad5d2f5c6896fa99dbc34b45270a127eb3cce1d3a56204" + }, + { + "kind": "new_rank2", + "role": 15828, + "determinant": "-131621703842267136", + "count": 139, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 162, + "scope": "final12", + "factor_program_sha256": "37e56760c6a4cde1efcb0f39703e491630d4baae6fb3c807d641a8ceab57ac4f" + }, + { + "kind": "new_rank2", + "role": 15829, + "determinant": "131621703842267136", + "count": 139, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 163, + "scope": "final12", + "factor_program_sha256": "3d14a85d83b25b743dfdf48fe676d3d55512344466e6ba5c3c9bc1ca3872bfbd" + }, + { + "kind": "new_rank2", + "role": 15830, + "determinant": "-131621703842267136", + "count": 140, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 164, + "scope": "final12", + "factor_program_sha256": "4c8f5a2f5c11c33df104297c2c15d659e67af0d9f35474b4583f97c6d33bcb37" + }, + { + "kind": "new_rank2", + "role": 15831, + "determinant": "131621703842267136", + "count": 140, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 165, + "scope": "final12", + "factor_program_sha256": "3359f7b745c9de748bf83d8425ff5e3c49411f76a92a6ed3c1de7d3e95d56aec" + }, + { + "kind": "new_rank2", + "role": 15836, + "determinant": "-131621703842267136", + "count": 137, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 166, + "scope": "final12", + "factor_program_sha256": "dbbe84e50bac1e4c935734883b75fb8b3ee488c8f49fb11d3391dad7b5ba12b5" + }, + { + "kind": "new_rank2", + "role": 15837, + "determinant": "131621703842267136", + "count": 137, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 167, + "scope": "final12", + "factor_program_sha256": "1049cae5e30061da14d716a24cdbbc6b0c220126b8daa75ebd0ea989ffabd776" + }, + { + "kind": "new_rank2", + "role": 15838, + "determinant": "-131621703842267136", + "count": 138, + "max_numerator": 11, + "max_denominator": 6, + "program_id": 168, + "scope": "final12", + "factor_program_sha256": "a4566308c131e7c8a1fffb27361cf17087e5773416738dbf1d2ef7024094d7bc" + }, + { + "kind": "new_rank2", + "role": 15839, + "determinant": "131621703842267136", + "count": 138, + "max_numerator": 11, + "max_denominator": 8, + "program_id": 169, + "scope": "final12", + "factor_program_sha256": "85962bd14637498df8f74140816ebff93862a9bf4f18d1e0b2331d3f22e03616" + }, + { + "kind": "reverted_rank4", + "role": 15329, + "determinant": "-36", + "count": 106, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 170, + "scope": "final12", + "factor_program_sha256": "de932dcf21dfeaa7f1c93cb6a932e353de96d3e0261356cd26141eac45903481" + }, + { + "kind": "reverted_rank4", + "role": 15349, + "determinant": "-36", + "count": 96, + "max_numerator": 4, + "max_denominator": 9, + "program_id": 171, + "scope": "final12", + "factor_program_sha256": "96786bdb129df734d2b6f7c4d30111b73426a0979b0de902d46436c650c5908d" + }, + { + "kind": "reverted_rank4", + "role": 15369, + "determinant": "-36", + "count": 98, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 172, + "scope": "final12", + "factor_program_sha256": "dfd454c1f52338a66123df3be7b46ae8819eba2863578fe8c4765f4667c48d50" + }, + { + "kind": "reverted_rank4", + "role": 15379, + "determinant": "-36", + "count": 98, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 173, + "scope": "final12", + "factor_program_sha256": "7180a6da9bf8668d16cc7f0b2324435c8dd8e27b435adf26b785a6ea2ef73b43" + }, + { + "kind": "reverted_rank4", + "role": 15389, + "determinant": "-36", + "count": 90, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 174, + "scope": "final12", + "factor_program_sha256": "34fb8662289be9a0709819f0005371639f76f27da8161886973fce7b2ecdbdb0" + }, + { + "kind": "reverted_rank4", + "role": 15399, + "determinant": "-36", + "count": 90, + "max_numerator": 4, + "max_denominator": 6, + "program_id": 175, + "scope": "final12", + "factor_program_sha256": "85f1b05841c93c188eaea4f00cc3027df85c2e032094a056d34ccaf2978b6eab" + } + ] +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/composition.json b/research/gen5b-shared-kernels/certificates/kernel72/composition.json new file mode 100644 index 0000000000..5b45c14bd6 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/composition.json @@ -0,0 +1,860 @@ +{ + "status": "PASS_ROLE_DISJOINT_PR300_COMPOSITION", + "source_head": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "baseline_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "id_space": "pre-sink18954 streams", + "new_descent_gate_count": 89, + "distinct_new_descent_helper_streams": 154, + "all_new_descent_operands_helpers": true, + "category_counts": { + "30": 2, + "12": 87 + }, + "rational_new_frame_ranks_and_nondegeneracy_checked": 89, + "unchanged_restore_entries": 440, + "unchanged_sink_entries": 7, + "final12_changed_frame_streams": 60, + "final12_broader_scalar_closure": 84, + "kernel72_streams": 165, + "descent2_overlap_final12": [], + "descent2_overlap_kernel72": [], + "paid_ledgers_additive": true, + "combined_local_histogram_delta_over299": { + "1": 155, + "2": 280, + "3": -222, + "4": -29, + "5": 7, + "6": -2, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "combined_local_rank_drop": 78, + "final12_and_kernel72_source_response_unchanged": true, + "common_kernel_cut_and_final_restore_order_unchanged": true, + "scalar_majorants_unchanged_by_descent2": true, + "source_operand_columns_unchanged_by_new_kernel": true, + "proofs": { + "frame": "Every descent2 event and every affected per-role MOVE partition belongs to a helper disjoint from the full local-surgery role closure and new kernel members. Thus both modifications preserve each other's chronological frame path and their paid histogram differences add exactly.", + "scalar": "Descent2 preserves the scalar/COPY order and coefficients. Consequently final12's complete suffix identity and the new kernel's response relations/cut/restore identity remain unchanged. Inserting new kernel setup before every source injection changes only dirty columns, so each inherited old operand's source-column span remains identical over the integers.", + "prefix": "Descent2 changes only87 helper forward-gate frames and2 old kernel-setup frames. It neither changes initial dirty-read/source-injection ordering nor touches new kernel helpers. Its changed old kernel setups use disjoint helper support.", + "endpoints": "All440 restoration entries and all7 sink entries are semantically identical to299; changed input hashes and shifted raw record indices do not change their selected operators or endpoint bases." + }, + "matched_scalar_events": [ + { + "record": 614073, + "kind": "old_kernel_setup", + "streams": [ + 16639, + 16635 + ] + }, + { + "record": 614371, + "kind": "old_kernel_setup", + "streams": [ + 16711, + 16707 + ] + }, + { + "record": 686889, + "kind": "forward_gate", + "op": 22572, + "streams": [ + 12222, + 4901 + ] + }, + { + "record": 686891, + "kind": "forward_gate", + "op": 22573, + "streams": [ + 16432, + 12222 + ] + }, + { + "record": 686975, + "kind": "forward_gate", + "op": 22621, + "streams": [ + 12224, + 4911 + ] + }, + { + "record": 686977, + "kind": "forward_gate", + "op": 22622, + "streams": [ + 16436, + 12224 + ] + }, + { + "record": 687063, + "kind": "forward_gate", + "op": 22670, + "streams": [ + 13054, + 6161 + ] + }, + { + "record": 687065, + "kind": "forward_gate", + "op": 22671, + "streams": [ + 16440, + 13054 + ] + }, + { + "record": 687150, + "kind": "forward_gate", + "op": 22719, + "streams": [ + 13056, + 6171 + ] + }, + { + "record": 687152, + "kind": "forward_gate", + "op": 22720, + "streams": [ + 16444, + 13056 + ] + }, + { + "record": 687237, + "kind": "forward_gate", + "op": 22768, + "streams": [ + 13718, + 7169 + ] + }, + { + "record": 687239, + "kind": "forward_gate", + "op": 22769, + "streams": [ + 16448, + 13718 + ] + }, + { + "record": 687324, + "kind": "forward_gate", + "op": 22817, + "streams": [ + 13720, + 7179 + ] + }, + { + "record": 687326, + "kind": "forward_gate", + "op": 22818, + "streams": [ + 16452, + 13720 + ] + }, + { + "record": 687411, + "kind": "forward_gate", + "op": 22866, + "streams": [ + 14226, + 7953 + ] + }, + { + "record": 687413, + "kind": "forward_gate", + "op": 22867, + "streams": [ + 16456, + 14226 + ] + }, + { + "record": 687497, + "kind": "forward_gate", + "op": 22915, + "streams": [ + 14228, + 7963 + ] + }, + { + "record": 687499, + "kind": "forward_gate", + "op": 22916, + "streams": [ + 16460, + 14228 + ] + }, + { + "record": 687584, + "kind": "forward_gate", + "op": 22964, + "streams": [ + 14610, + 8541 + ] + }, + { + "record": 687586, + "kind": "forward_gate", + "op": 22965, + "streams": [ + 16464, + 14610 + ] + }, + { + "record": 687670, + "kind": "forward_gate", + "op": 23013, + "streams": [ + 14612, + 8551 + ] + }, + { + "record": 687672, + "kind": "forward_gate", + "op": 23014, + "streams": [ + 16468, + 14612 + ] + }, + { + "record": 687758, + "kind": "forward_gate", + "op": 23062, + "streams": [ + 14894, + 8961 + ] + }, + { + "record": 687760, + "kind": "forward_gate", + "op": 23063, + "streams": [ + 16472, + 14894 + ] + }, + { + "record": 687845, + "kind": "forward_gate", + "op": 23111, + "streams": [ + 14896, + 8971 + ] + }, + { + "record": 687847, + "kind": "forward_gate", + "op": 23112, + "streams": [ + 16476, + 14896 + ] + }, + { + "record": 687933, + "kind": "forward_gate", + "op": 23160, + "streams": [ + 14898, + 9241 + ] + }, + { + "record": 687935, + "kind": "forward_gate", + "op": 23161, + "streams": [ + 16480, + 14898 + ] + }, + { + "record": 688020, + "kind": "forward_gate", + "op": 23209, + "streams": [ + 14900, + 9251 + ] + }, + { + "record": 688022, + "kind": "forward_gate", + "op": 23210, + "streams": [ + 16484, + 14900 + ] + }, + { + "record": 688107, + "kind": "forward_gate", + "op": 23258, + "streams": [ + 14970, + 9409 + ] + }, + { + "record": 688109, + "kind": "forward_gate", + "op": 23259, + "streams": [ + 16488, + 14970 + ] + }, + { + "record": 688193, + "kind": "forward_gate", + "op": 23307, + "streams": [ + 14972, + 9419 + ] + }, + { + "record": 688195, + "kind": "forward_gate", + "op": 23308, + "streams": [ + 16492, + 14972 + ] + }, + { + "record": 688280, + "kind": "forward_gate", + "op": 23356, + "streams": [ + 14974, + 9417 + ] + }, + { + "record": 688282, + "kind": "forward_gate", + "op": 23357, + "streams": [ + 16496, + 14974 + ] + }, + { + "record": 688366, + "kind": "forward_gate", + "op": 23405, + "streams": [ + 14976, + 9425 + ] + }, + { + "record": 688368, + "kind": "forward_gate", + "op": 23406, + "streams": [ + 16500, + 14976 + ] + }, + { + "record": 688454, + "kind": "forward_gate", + "op": 23454, + "streams": [ + 14992, + 9401 + ] + }, + { + "record": 688456, + "kind": "forward_gate", + "op": 23455, + "streams": [ + 16504, + 14992 + ] + }, + { + "record": 688541, + "kind": "forward_gate", + "op": 23503, + "streams": [ + 14994, + 9405 + ] + }, + { + "record": 688543, + "kind": "forward_gate", + "op": 23504, + "streams": [ + 16508, + 14994 + ] + }, + { + "record": 688628, + "kind": "forward_gate", + "op": 23552, + "streams": [ + 15010, + 9429 + ] + }, + { + "record": 688630, + "kind": "forward_gate", + "op": 23553, + "streams": [ + 16512, + 15010 + ] + }, + { + "record": 688715, + "kind": "forward_gate", + "op": 23601, + "streams": [ + 15012, + 9433 + ] + }, + { + "record": 688717, + "kind": "forward_gate", + "op": 23602, + "streams": [ + 16516, + 15012 + ] + }, + { + "record": 688803, + "kind": "forward_gate", + "op": 23650, + "streams": [ + 15028, + 9457 + ] + }, + { + "record": 688805, + "kind": "forward_gate", + "op": 23651, + "streams": [ + 16520, + 15028 + ] + }, + { + "record": 688889, + "kind": "forward_gate", + "op": 23699, + "streams": [ + 15030, + 9461 + ] + }, + { + "record": 688891, + "kind": "forward_gate", + "op": 23700, + "streams": [ + 16524, + 15030 + ] + }, + { + "record": 695015, + "kind": "forward_gate", + "op": 26229, + "streams": [ + 16642, + 5077 + ] + }, + { + "record": 695215, + "kind": "forward_gate", + "op": 26312, + "streams": [ + 16646, + 5085 + ] + }, + { + "record": 695415, + "kind": "forward_gate", + "op": 26395, + "streams": [ + 16650, + 5061 + ] + }, + { + "record": 695613, + "kind": "forward_gate", + "op": 26478, + "streams": [ + 16654, + 5065 + ] + }, + { + "record": 695758, + "kind": "forward_gate", + "op": 26536, + "streams": [ + 16656, + 13977 + ] + }, + { + "record": 695815, + "kind": "forward_gate", + "op": 26561, + "streams": [ + 16658, + 5089 + ] + }, + { + "record": 695959, + "kind": "forward_gate", + "op": 26619, + "streams": [ + 16660, + 13979 + ] + }, + { + "record": 696016, + "kind": "forward_gate", + "op": 26644, + "streams": [ + 16662, + 5093 + ] + }, + { + "record": 696160, + "kind": "forward_gate", + "op": 26702, + "streams": [ + 16664, + 13981 + ] + }, + { + "record": 696360, + "kind": "forward_gate", + "op": 26785, + "streams": [ + 16668, + 13983 + ] + }, + { + "record": 696435, + "kind": "forward_gate", + "op": 26818, + "streams": [ + 16671, + 4085 + ] + }, + { + "record": 696559, + "kind": "forward_gate", + "op": 26868, + "streams": [ + 16672, + 13999 + ] + }, + { + "record": 696635, + "kind": "forward_gate", + "op": 26901, + "streams": [ + 16675, + 4109 + ] + }, + { + "record": 696759, + "kind": "forward_gate", + "op": 26951, + "streams": [ + 16676, + 14001 + ] + }, + { + "record": 696835, + "kind": "forward_gate", + "op": 26984, + "streams": [ + 16679, + 4113 + ] + }, + { + "record": 696958, + "kind": "forward_gate", + "op": 27034, + "streams": [ + 16680, + 14017 + ] + }, + { + "record": 697016, + "kind": "forward_gate", + "op": 27059, + "streams": [ + 16682, + 5173 + ] + }, + { + "record": 697035, + "kind": "forward_gate", + "op": 27067, + "streams": [ + 16683, + 4137 + ] + }, + { + "record": 697157, + "kind": "forward_gate", + "op": 27117, + "streams": [ + 16684, + 14019 + ] + }, + { + "record": 697214, + "kind": "forward_gate", + "op": 27142, + "streams": [ + 16686, + 5177 + ] + }, + { + "record": 697233, + "kind": "forward_gate", + "op": 27150, + "streams": [ + 16687, + 4141 + ] + }, + { + "record": 697358, + "kind": "forward_gate", + "op": 27200, + "streams": [ + 16688, + 14035 + ] + }, + { + "record": 697415, + "kind": "forward_gate", + "op": 27225, + "streams": [ + 16690, + 5201 + ] + }, + { + "record": 697558, + "kind": "forward_gate", + "op": 27283, + "streams": [ + 16692, + 14037 + ] + }, + { + "record": 697615, + "kind": "forward_gate", + "op": 27308, + "streams": [ + 16694, + 5205 + ] + }, + { + "record": 697758, + "kind": "forward_gate", + "op": 27366, + "streams": [ + 16696, + 14053 + ] + }, + { + "record": 697816, + "kind": "forward_gate", + "op": 27391, + "streams": [ + 16698, + 5229 + ] + }, + { + "record": 697956, + "kind": "forward_gate", + "op": 27449, + "streams": [ + 16700, + 14055 + ] + }, + { + "record": 698013, + "kind": "forward_gate", + "op": 27474, + "streams": [ + 16702, + 5233 + ] + }, + { + "record": 698157, + "kind": "forward_gate", + "op": 27532, + "streams": [ + 16704, + 14071 + ] + }, + { + "record": 698214, + "kind": "forward_gate", + "op": 27557, + "streams": [ + 16706, + 5257 + ] + }, + { + "record": 698357, + "kind": "forward_gate", + "op": 27615, + "streams": [ + 16708, + 14073 + ] + }, + { + "record": 698414, + "kind": "forward_gate", + "op": 27640, + "streams": [ + 16710, + 5261 + ] + }, + { + "record": 698557, + "kind": "forward_gate", + "op": 27698, + "streams": [ + 16712, + 14089 + ] + }, + { + "record": 698615, + "kind": "forward_gate", + "op": 27723, + "streams": [ + 16714, + 5285 + ] + }, + { + "record": 698634, + "kind": "forward_gate", + "op": 27731, + "streams": [ + 16715, + 4249 + ] + }, + { + "record": 698757, + "kind": "forward_gate", + "op": 27781, + "streams": [ + 16716, + 14091 + ] + }, + { + "record": 698814, + "kind": "forward_gate", + "op": 27806, + "streams": [ + 16718, + 5289 + ] + }, + { + "record": 698832, + "kind": "forward_gate", + "op": 27814, + "streams": [ + 16719, + 4253 + ] + } + ], + "input_sha256": { + "pr300/descent2-selection.json": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "pr300/expected/kernel-pins.json": "5421d38c4624a5d05b8936fa86f490ee0e932e9e6fe7c6a24defd9b7c671cf4e", + "pr300/portable_bit.py": "93b2c72a63cf24b991a7cc0f35de4da016a245c58f45c1551fe888d5412a73a4", + "pr300/restore-selection.json": "aa85e17b5ff9e849f0decce611a9cc61f697e23aaeea87a7580084535e7f3e07", + "pr300/sink-selection.json": "cadc2c1e3975a3103bbd55992428b686950b4f13987f59146b527f86cebf639f" + }, + "scope": "A changed-stage composition certificate, conditional on the admitted PR300 descent2/source contracts. It independently matches all89 scalar events, checks rational frame rank/nondegeneracy and proves support disjointness; it does not rerun PR300's complete physical producer, source-span admission, all-size compiler or unified finite/bank assembly. No upstream program was executed." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/finite-bill.json b/research/gen5b-shared-kernels/certificates/kernel72/finite-bill.json new file mode 100644 index 0000000000..3a1ff5c7e0 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/finite-bill.json @@ -0,0 +1,91 @@ +{ + "status": "PASS_UNIFIED_KERNEL72_FINAL12_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "union72", + "with_final12": true, + "gross_added_scalar_events_per_stage": 946, + "omitted_reads_not_credited": 832, + "scalar_weighted_additions_upper": 217342800, + "scalar_unit_additions_upper": 218398800, + "literal_children": 28987800, + "literal_rank_mass": 147282600, + "literal_stock": 1229555, + "route_families": 11790600, + "changed_chart_programs": 176, + "changed_role_chart_uses": 330, + "pivot_residual_demands": 72, + "max_changed_chart_factors": 489, + "max_changed_chart_numerator": 390, + "max_changed_chart_denominator": 540, + "normalizer_factor_bound": 815, + "bank_selector_calls": 905994092400, + "displayed_finite_coefficient": 90435658164483601, + "coefficient_bits": 57, + "retained_coefficient_cap_bits": 80, + "sink_aware_forward_norm": 158647, + "sink_aware_inverse_norm": 3809875, + "conservative_payload_upper": 3709343221562739318443143000000, + "payload_bits": 102, + "retained_payload_cap_bits": 104, + "actual_sink_redirects": 14, + "target_majorant_edges": 681, + "target_majorant_acyclic_vertices": 908, + "new_bank_block_scalars_up_to": 60, + "scalar_unit_reason": "All chart factor numerators and denominators, and every block+1 scalar, are nonzero and smaller than the retained prime characteristic q>2^80.", + "bad_fallback_per_child": 460800, + "internal_row_coefficient": 14401, + "external_row_coefficient": 20161, + "ordinary_degree_gap": "23971789/25", + "delta_tau_lower": "3386810281644564901035805085014933112087173010663/2401474609375000000000000000000000000000000000000000000000000000000", + "delta_linear": "85937499565183/48029492187500000", + "bootstrap_chain": [ + "384599/10000000000", + "749945844325726351902845225189711/1000000000000000000000000000000000000", + "750479800440563450884264785497766069952493954840087/1000000000000000000000000000000000000000000000000000000", + "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "bootstrap_gaps": [ + { + "stage": 1, + "slacks": { + "atom": "534357139290648097154774810289/1000000000000000000000000000000000000", + "borrowing": "998499573954209256648097154774810289/1000000000000000000000000000000000000", + "remainder": "998499602817602756972504473074810289/1000000000000000000000000000000000000", + "stock": "999249519798534983/1000000000000000000" + }, + "minimum": "534357139290648097154774810289/1000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 126077987671493 + }, + { + "stage": 2, + "slacks": { + "atom": "401024453549115735214502233930047506045159913/1000000000000000000000000000000000000000000000000000000", + "borrowing": "998499039998094419549115735214502233930047506045159913/1000000000000000000000000000000000000000000000000000000", + "remainder": "998499602817602756972504473074810289/1000000000000000000000000000000000000", + "stock": "999249519798534983/1000000000000000000" + }, + "minimum": "401024453549115735214502233930047506045159913/1000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 223851902285465857654 + }, + { + "stage": 3, + "slacks": { + "atom": "300960912691938728652091566477013257591769227703984640263521/1000000000000000000000000000000000000000000000000000000000000000000000000", + "borrowing": "998499039597370926912691938728652091566477013257591769227703984640263521/1000000000000000000000000000000000000000000000000000000000000000000000000", + "remainder": "998499602817602756972504473074810289/1000000000000000000000000000000000000", + "stock": "999249519798534983/1000000000000000000" + }, + "minimum": "300960912691938728652091566477013257591769227703984640263521/1000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 397449825162080515280296586 + } + ], + "cutoff_scope": "Displayed fixed bill only. The retained theorem rule uses C_full, including inherited primitive, wrapper and earlier ordinary-level constants, whose values are not supplied or replaced by this check.", + "inherited_assumptions": [ + "Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.", + "Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.", + "Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.", + "Inherited all-size theorem and outer positive literal-gap and row-gap interfaces." + ], + "full_inherited_admission_replayed": false, + "all_size_theorem_verified": false +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/norm.json b/research/gen5b-shared-kernels/certificates/kernel72/norm.json new file mode 100644 index 0000000000..935f7447b6 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/norm.json @@ -0,0 +1,32 @@ +{ + "status": "PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS", + "selection": "three_lines_trimmed", + "forward": { + "reverse": false, + "inherited_bound": 77985, + "max_added_majorant": 80662, + "certified_new_bound": 158647, + "max_added_helper": 80662, + "max_added_target": 369, + "max_added_source": 0 + }, + "inverse": { + "reverse": true, + "inherited_bound": 2475558, + "max_added_majorant": 1334317, + "certified_new_bound": 3809875, + "max_added_helper": 80662, + "max_added_target": 1334317, + "max_added_source": 0 + }, + "payload_bound": 3709343221562739318443143000000, + "payload_bits": 102, + "retained_payload_cap_2_to104": true, + "setup_restore_pairs": 473, + "max_target_prefix_degree": 3, + "target_majorant_acyclic_vertices": 908, + "target_majorant_edges": 681, + "actual_sink_redirects": 14, + "target_majorant_proof": "Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.", + "scope": "Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/pr300-finite-bill.json b/research/gen5b-shared-kernels/certificates/kernel72/pr300-finite-bill.json new file mode 100644 index 0000000000..21b2fb4f17 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/pr300-finite-bill.json @@ -0,0 +1,101 @@ +{ + "status": "PASS_UNIFIED_PR300_KERNEL72_FINAL12_CHANGED_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "union72", + "with_final12": true, + "gross_added_scalar_events_per_stage": 946, + "omitted_reads_not_credited": 832, + "scalar_weighted_additions_upper": 217342800, + "scalar_unit_additions_upper": 218398800, + "literal_children": 29007300, + "literal_rank_mass": 147282600, + "literal_stock": 1229555, + "route_families": 11790600, + "changed_chart_programs": 176, + "changed_role_chart_uses": 330, + "pivot_residual_demands": 72, + "max_changed_chart_factors": 489, + "max_changed_chart_numerator": 390, + "max_changed_chart_denominator": 540, + "normalizer_factor_bound": 815, + "bank_selector_calls": 905994092400, + "displayed_finite_coefficient": 90470165115059101, + "coefficient_bits": 57, + "retained_coefficient_cap_bits": 80, + "sink_aware_forward_norm": 158647, + "sink_aware_inverse_norm": 3809875, + "conservative_payload_upper": 3709343221562739318443143000000, + "payload_bits": 102, + "retained_payload_cap_bits": 104, + "actual_sink_redirects": 14, + "target_majorant_edges": 681, + "target_majorant_acyclic_vertices": 908, + "new_bank_block_scalars_up_to": 60, + "scalar_unit_reason": "All chart factor numerators and denominators, and every block+1 scalar, are nonzero and smaller than the retained prime characteristic q>2^80.", + "bad_fallback_per_child": 460800, + "internal_row_coefficient": 14401, + "external_row_coefficient": 20161, + "ordinary_degree_gap": "23971789/25", + "delta_tau_lower": "15296888111414771252236468656244160341001308370261/9605898437500000000000000000000000000000000000000000000000000000000", + "delta_linear": "171874999129781/96058984375000000", + "bootstrap_chain": [ + "384599/10000000000", + "749964562290113480996991236716311/1000000000000000000000000000000000000", + "750498545789837435304289527616803008853558792986613/1000000000000000000000000000000000000000000000000000000", + "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "bootstrap_gaps": [ + { + "stage": 1, + "slacks": { + "atom": "534384554769519003008763283689/1000000000000000000000000000000000000", + "borrowing": "998499536490865003519003008763283689/1000000000000000000000000000000000000", + "remainder": "998499565354979449278518700463283689/1000000000000000000000000000000000000", + "stock": "999249501053155117/1000000000000000000" + }, + "minimum": "534384554769519003008763283689/1000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 126065051669836 + }, + { + "stage": 2, + "slacks": { + "atom": "401055045564695710472383196991146441207013387/1000000000000000000000000000000000000000000000000000000", + "borrowing": "998499002507365279564695710472383196991146441207013387/1000000000000000000000000000000000000000000000000000000", + "remainder": "998499565354979449278518700463283689/1000000000000000000000000000000000000", + "stock": "999249501053155117/1000000000000000000" + }, + "minimum": "401055045564695710472383196991146441207013387/1000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 223817753258910997887 + }, + { + "stage": 3, + "slacks": { + "atom": "300991389323130695582081557401004308080985293437695193448721/1000000000000000000000000000000000000000000000000000000000000000000000000", + "borrowing": "998499002106611225389323130695582081557401004308080985293437695193448721/1000000000000000000000000000000000000000000000000000000000000000000000000", + "remainder": "998499565354979449278518700463283689/1000000000000000000000000000000000000", + "stock": "999249501053155117/1000000000000000000" + }, + "minimum": "300991389323130695582081557401004308080985293437695193448721/1000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2_at_displayed_coefficient": 397369342338145701842915788 + } + ], + "cutoff_scope": "Displayed fixed bill only. The retained theorem rule uses C_full, including inherited primitive, wrapper and earlier ordinary-level constants, whose values are not supplied or replaced by this check.", + "inherited_assumptions": [ + "Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.", + "Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.", + "Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.", + "Inherited all-size theorem and outer positive literal-gap and row-gap interfaces.", + "Pinned PR300 second-descent chronological/source-span admission and its unchanged chart/finite-compiler contracts; only the new composition is independently checked here." + ], + "full_inherited_admission_replayed": false, + "all_size_theorem_verified": false, + "additional_source_head": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "additional_source_pins": { + "pr300/descent2-selection.json": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "pr300/expected/kernel-pins.json": "5421d38c4624a5d05b8936fa86f490ee0e932e9e6fe7c6a24defd9b7c671cf4e", + "pr300/portable_bit.py": "93b2c72a63cf24b991a7cc0f35de4da016a245c58f45c1551fe888d5412a73a4", + "pr300/restore-selection.json": "aa85e17b5ff9e849f0decce611a9cc61f697e23aaeea87a7580084535e7f3e07", + "pr300/sink-selection.json": "cadc2c1e3975a3103bbd55992428b686950b4f13987f59146b527f86cebf639f" + }, + "pr300_composition_status": "PASS_ROLE_DISJOINT_PR300_COMPOSITION" +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/pr300-pricing.json b/research/gen5b-shared-kernels/certificates/kernel72/pr300-pricing.json new file mode 100644 index 0000000000..d1994db1c4 --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/pr300-pricing.json @@ -0,0 +1,756 @@ +{ + "status": "CONDITIONAL_PINNED_ADDITIONAL_HISTOGRAM_ARITHMETIC", + "physical_admission": false, + "local_histogram_delta": { + "3": -222, + "1": 155, + "2": 280, + "6": -2, + "5": 7, + "4": -29, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "role_rank_count_delta": { + "24": -72, + "23": 72, + "2": 12, + "3": -18, + "4": 6 + }, + "histogram": { + "1": 221615, + "2": 84130, + "3": 43935, + "4": 25660, + "5": 12075, + "6": 10105, + "7": 4200, + "8": 1690, + "9": 3485, + "10": 2015, + "11": 3330, + "12": 3025, + "13": 1470, + "14": 2545, + "15": 300, + "16": 8340, + "17": 390, + "18": 3615, + "19": 375, + "20": 3180, + "21": 35095, + "22": 2320, + "23": 3520, + "46": 3520, + "50": 3520 + }, + "calls": 483455, + "rank_mass": 2454710, + "literal_stock": 1229555, + "unreplicated_stock": "245911/12", + "deficit": "4400", + "packing": { + "capacity": 120, + "demand": { + "10": 60, + "12": 60, + "13": 240, + "14": 60, + "15": 60, + "17": 120, + "18": 180, + "19": 120, + "20": 1260, + "21": 960, + "22": 4920, + "23": 98760, + "24": 684060, + "3": 27360, + "4": 104880, + "6": 1020, + "7": 180, + "8": 360, + "9": 240, + "2": 720 + }, + "patterns": [ + { + "widths": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 10 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 7, + 7, + 7, + 7, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 8, + 8, + 8, + 8, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 90 + }, + { + "widths": [ + 9, + 9, + 9, + 9, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 10, + 10, + 10, + 10, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 12, + 12, + 12, + 12, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 13, + 13, + 13, + 13, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 14, + 14, + 14, + 14, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 15, + 15, + 15, + 15, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 17, + 17, + 17, + 17, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 18, + 18, + 18, + 18, + 24, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 45 + }, + { + "widths": [ + 19, + 19, + 19, + 19, + 24, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 20, + 20, + 20, + 20, + 24, + 4, + 4, + 4, + 4 + ], + "count": 315 + }, + { + "widths": [ + 21, + 21, + 21, + 21, + 24, + 4, + 4, + 4 + ], + "count": 240 + }, + { + "widths": [ + 22, + 22, + 22, + 22, + 24, + 4, + 4 + ], + "count": 1230 + }, + { + "widths": [ + 23, + 23, + 23, + 23, + 24, + 4 + ], + "count": 24690 + }, + { + "widths": [ + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 2361 + }, + { + "widths": [ + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3 + ], + "count": 684 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6 + ], + "count": 48 + }, + { + "widths": [ + 24, + 24, + 24, + 24, + 24 + ], + "count": 131436 + }, + { + "widths": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "count": 12 + } + ], + "total_rank_demand": 19371720, + "feasible_bins": 161431, + "unused_coordinate_capacity": 0, + "dual_prices": { + "10": "1/12", + "12": "1/10", + "13": "13/120", + "14": "7/60", + "15": "1/8", + "17": "17/120", + "18": "3/20", + "19": "19/120", + "20": "1/6", + "21": "7/40", + "22": "11/60", + "23": "23/120", + "24": "1/5", + "3": "1/40", + "4": "1/30", + "6": "1/20", + "7": "7/120", + "8": "1/15", + "9": "3/40", + "2": "1/60" + }, + "dual_objective": "161431", + "integer_lower_bound": 161431, + "optimal": true + }, + "root_bracket": [ + "750498946844883/1000000000000000000", + "187624736711221/250000000000000000" + ], + "moment_interval": [ + "60036865234374999904394449303657679673522070898473398574308223497/60036865234375000000000000000000000000000000000000000000000000000", + "9605898437499999984703111888585228747763531343755839658998691629739/9605898437500000000000000000000000000000000000000000000000000000000" + ], + "adjacent_moment_interval": [ + "1876152038574218751490225646164233544116776825485662716434821167/1876152038574218750000000000000000000000000000000000000000000000", + "9605898437500000007629955308360875745877897346486688995255660245259/9605898437500000000000000000000000000000000000000000000000000000000" + ], + "kappa": "3749680601367/5000000000000000", + "kappa_decimal": "0.0007499361202734", + "assembly": { + "coarse": "750498946844883/1000000000000000000", + "complex_coarse": "754736418878859/1000000000000000000", + "bootstrap_chain": [ + "384599/10000000000", + "749964562290113480996991236716311/1000000000000000000000000000000000000", + "750498545789837435304289527616803008853558792986613/1000000000000000000000000000000000000000000000000000000", + "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "strict_constraints": { + "a_positive": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000", + "a_below_b": "4237472334967389323130695582081557401004308080985293437695193448721/1000000000000000000000000000000000000000000000000000000000000000000000000", + "b_below_one_over32": "30495263581121141/1000000000000000000", + "beta_positive": "1/1000000000", + "beta_below_one": "999999999/1000000000", + "phase_leaf_above_bit": "4237471580230970444271695582081557401004308080985293437695193448721/1000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "375249473271195306391890760598282351995079927516908357589233388569077195193448721/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "750498946543891610676869304417918442598995691919014706562304806551279/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "2118735790865984168679739401717648004920072483091642410766611430922804806551279/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "375249473396195306391890760598282351995079927516908357589233388569077195193448721/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499624750526603804693608109239401717648004920072483091642410766611430922804806551279/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "lambda_above_tau": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "4237472335717888269674587192758426705422226523584289129614208155283304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "2118735790865984168679739401717648004920072483091642410766611430922804806551279/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "lambda_prime_below_one": "375249473271195306391890760598282351995079927516908357589233388569077195193448721/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "epsilon_below_one": "375249473771195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "guard_width": "375249473771195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "K_geometry": "375375249473396195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721000000000000", + "K_dominates_log": "375249473395820056918494565291890461234481645164913277661716480211487961804879643804806551279/500375249473271195306391890760598282351995079927516908357589233388569077195193448721000000000000", + "record_suffix": "375249473771195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "phase_local": "3001995789669187201661854889479866925200041137783271780786350200195028328159020690804806551279/4003001995786169562451135126084786258815960639420135266860713867108552617561547589768000000000000", + "phase_boundary": "600399157533537240753754021650859872431529601675058292215256513352934278920948876404806551279/800600399157233912490227025216957251763192127884027053372142773421710523512309517953600000000000", + "gamma_sublinear": "1/2000000000000", + "cell_above_band": "999999999998499624750526728804693608109239401717648004920072483091642410766611430922804806551279/2001500997893084781225567563042393129407980319710067633430356933554276308780773794884000000000000", + "prime_interval_packing": "375249473771195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "alpha_positive": "750498947042015363310510325890172813229561572681821635250949868780565156998328364804806551279/1000750498946542390612783781521196564703990159855033816715178466777138154390386897442000000000000", + "alpha_below_one": "999999999999500375249473271195306391890760598282351995079927516908357589233388569077195193448721/1000750498946542390612783781521196564703990159855033816715178466777138154390386897442000000000000", + "alpha_below_one_fourth": "249437125789593582289885435054408968362767978391076632543543666825503973440598395995695193448721/1000750498946542390612783781521196564703990159855033816715178466777138154390386897442000000000000", + "delta_positive": "1/8000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "short_record_fallback": "499624468901893673012371534969480490436463452383951864732790634455147885479711727523744770826639569869637716660867688765152748034336484860351378097656535841/500375249473271195306391890760598282351995079927516908357589233388569077195193448721000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000", + "artificial_boundary": "28024015966294857625357500822264209246199966910208138120125493487593493708192546425375585580346163/4003001995786169562451135126084786258815960639420135266860713867108552617561547589768000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "g1_above_kappa": "2501878346350303350225239421577063463109704956244821117914571763406350388557942042998393/2501876247366355976531959453802991411759975399637584541787946166942845385975967243605000000000000000", + "g2_above_kappa": "562826270491610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3_above_kappa": "2098983947373693279967774072051349729556607236576126625596463505002581974799393393/2501876247366355976531959453802991411759975399637584541787946166942845385975967243605000000000000000", + "g4_above_kappa": "562826270491610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5_above_kappa": "234551422936582716223191190737548457689930082867832694824276352266768005580740628936317/625469061841588994132989863450747852939993849909396135446986541735711346493991810901250000000000000", + "g6_above_kappa": "273642976928688606644843061231461192079963503911265381273884811567311839413868267193471/312734530920794497066494931725373926469996924954698067723493270867855673246995905450625000000000000", + "g7_above_kappa": "2498123752631145901814390849547233827661601663825525163168298654175069185787439106783557942042998393/2501876247366355976531959453802991411759975399637584541787946166942845385975967243605000000000000000" + }, + "margins": { + "g1": "375249473771195306391890760598282351995079927516908357589233388569077195193448721/500375249473271195306391890760598282351995079927516908357589233388569077195193448721", + "g2": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3": "375249473270820056918619565291890461234481645164913277661716480211487961804879643804806551279/500375249473271195306391890760598282351995079927516908357589233388569077195193448721000000000000", + "g4": "750498946543891610676869304417918442598995691919014706562304806551279/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5": "600399157533537240753754021650859872431529601675058292215256513352934278920948876404806551279/800600399157233912490227025216957251763192127884027053372142773421710523512309517953600000000000", + "g6": "3001995789669187201661854889479866925200041137783271780786350200195028328159020690804806551279/4003001995786169562451135126084786258815960639420135266860713867108552617561547589768000000000000", + "g7": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375249473271195306391890760598282351995079927516908357589233388569077195193448721" + }, + "kappa": "3749680601367/5000000000000000", + "kappa_decimal": "0.0007499361202734", + "minimum_margin": "375249473270820056918619565291890461234481645164913277661716480211487961804879643804806551279/500375249473271195306391890760598282351995079927516908357589233388569077195193448721000000000000", + "absorption_gap": "2098983947373693279967774072051349729556607236576126625596463505002581974799393393/2501876247366355976531959453802991411759975399637584541787946166942845385975967243605000000000000000", + "adjacent_grid_rejected": [ + "g3_above_kappa" + ], + "bridge_scope": "The positive literal gap and supplied row gap are assumptions in this arithmetic check." + }, + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "selection": "union72", + "with_final12": true, + "additional_source": { + "git_blob": "638d3a1669c850d91f93d04939abfdd5f3a86c05", + "sha256": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "bytes": 319700, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "descent2-selection.json" + }, + "additional_declared_local_histogram_delta": { + "1": 44, + "2": 148, + "3": -78, + "4": -48, + "5": 24, + "7": -47, + "8": -2, + "9": 24, + "11": -1, + "12": -24, + "14": 24, + "16": -1, + "17": 1, + "18": -38, + "19": 39 + }, + "preceding_kappa": "749917402998347/1000000000000000000", + "gain_over_preceding_case": "18717275053/1000000000000000000", + "extra_chronology_and_interactions_verified": false, + "updated_finite_bill_verified": false, + "scope": "Separate declared-histogram arithmetic with verified source bytes; does not replace the union72+final12 receipt or certify extra admission, composition, scalar norms, or finite bounds." +} diff --git a/research/gen5b-shared-kernels/certificates/kernel72/pricing.json b/research/gen5b-shared-kernels/certificates/kernel72/pricing.json new file mode 100644 index 0000000000..8aba4fdc0a --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/kernel72/pricing.json @@ -0,0 +1,744 @@ +{ + "status": "PASS_UNION72_FINAL12_EXACT_PRICING", + "physical_admission": false, + "local_histogram_delta": { + "3": -144, + "1": 111, + "2": 132, + "6": -2, + "5": -17, + "4": 19 + }, + "role_rank_count_delta": { + "24": -72, + "23": 72, + "2": 12, + "3": -18, + "4": 6 + }, + "histogram": { + "1": 221395, + "2": 83390, + "3": 44325, + "4": 25900, + "5": 11955, + "6": 10105, + "7": 4435, + "8": 1700, + "9": 3365, + "10": 2015, + "11": 3335, + "12": 3145, + "13": 1470, + "14": 2425, + "15": 300, + "16": 8345, + "17": 385, + "18": 3805, + "19": 180, + "20": 3180, + "21": 35095, + "22": 2320, + "23": 3520, + "46": 3520, + "50": 3520 + }, + "calls": 483130, + "rank_mass": 2454710, + "literal_stock": 1229555, + "unreplicated_stock": "245911/12", + "deficit": "4400", + "packing": { + "capacity": 120, + "demand": { + "10": 60, + "12": 60, + "13": 240, + "14": 60, + "15": 60, + "17": 120, + "18": 180, + "19": 120, + "20": 1260, + "21": 960, + "22": 4920, + "23": 98760, + "24": 684060, + "3": 27360, + "4": 104880, + "6": 1020, + "7": 180, + "8": 360, + "9": 240, + "2": 720 + }, + "patterns": [ + { + "widths": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 10 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 7, + 7, + 7, + 7, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 8, + 8, + 8, + 8, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 90 + }, + { + "widths": [ + 9, + 9, + 9, + 9, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 10, + 10, + 10, + 10, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 12, + 12, + 12, + 12, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 13, + 13, + 13, + 13, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 60 + }, + { + "widths": [ + 14, + 14, + 14, + 14, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 15, + 15, + 15, + 15, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 15 + }, + { + "widths": [ + 17, + 17, + 17, + 17, + 24, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 18, + 18, + 18, + 18, + 24, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 45 + }, + { + "widths": [ + 19, + 19, + 19, + 19, + 24, + 4, + 4, + 4, + 4, + 4 + ], + "count": 30 + }, + { + "widths": [ + 20, + 20, + 20, + 20, + 24, + 4, + 4, + 4, + 4 + ], + "count": 315 + }, + { + "widths": [ + 21, + 21, + 21, + 21, + 24, + 4, + 4, + 4 + ], + "count": 240 + }, + { + "widths": [ + 22, + 22, + 22, + 22, + 24, + 4, + 4 + ], + "count": 1230 + }, + { + "widths": [ + 23, + 23, + 23, + 23, + 24, + 4 + ], + "count": 24690 + }, + { + "widths": [ + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4, + 4 + ], + "count": 2361 + }, + { + "widths": [ + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3 + ], + "count": 684 + }, + { + "widths": [ + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6 + ], + "count": 48 + }, + { + "widths": [ + 24, + 24, + 24, + 24, + 24 + ], + "count": 131436 + }, + { + "widths": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "count": 12 + } + ], + "total_rank_demand": 19371720, + "feasible_bins": 161431, + "unused_coordinate_capacity": 0, + "dual_prices": { + "10": "1/12", + "12": "1/10", + "13": "13/120", + "14": "7/60", + "15": "1/8", + "17": "17/120", + "18": "3/20", + "19": "19/120", + "20": "1/6", + "21": "7/40", + "22": "11/60", + "23": "23/120", + "24": "1/5", + "3": "1/40", + "4": "1/30", + "6": "1/20", + "7": "7/120", + "8": "1/15", + "9": "3/40", + "2": "1/60" + }, + "dual_objective": "161431", + "integer_lower_bound": 161431, + "optimal": true + }, + "root_bracket": [ + "750480201465017/1000000000000000000", + "375240100732509/500000000000000000" + ], + "moment_interval": [ + "4802949218749999993226379436710870197928389829970085832270966043857/4802949218750000000000000000000000000000000000000000000000000000000", + "2401474609374999996613189718355435098964194914985066887912826989337/2401474609375000000000000000000000000000000000000000000000000000000" + ], + "adjacent_moment_interval": [ + "4802949218750000004690085114750427419669804985871964186345732004077/4802949218750000000000000000000000000000000000000000000000000000000", + "2401474609375000002345042557375213709834902492936006064950209969447/2401474609375000000000000000000000000000000000000000000000000000000" + ], + "kappa": "749917402998347/1000000000000000000", + "kappa_decimal": "0.000749917402998347", + "assembly": { + "coarse": "750480201465017/1000000000000000000", + "complex_coarse": "754736418878859/1000000000000000000", + "bootstrap_chain": [ + "384599/10000000000", + "749945844325726351902845225189711/1000000000000000000000000000000000000", + "750479800440563450884264785497766069952493954840087/1000000000000000000000000000000000000000000000000000000", + "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000" + ], + "strict_constraints": { + "a_positive": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000", + "a_below_b": "4256217714802912691938728652091566477013257591769227703984640263521/1000000000000000000000000000000000000000000000000000000000000000000000000", + "b_below_one_over32": "30495263581121141/1000000000000000000", + "beta_positive": "1/1000000000", + "beta_below_one": "999999999/1000000000", + "phase_leaf_above_bit": "4256216960066493813079728652091566477013257591769227703984640263521/1000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "375240100581277563452866579586646155490145462770592399405599449095943484640263521/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "750480201164056087308061271347908433522986742408230772296015359736479/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "2128108480783727107703920413353844509854537229407600594400550904056515359736479/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "375240100706277563452866579586646155490145462770592399405599449095943484640263521/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499624759899293722436547133420413353844509854537229407600594400550904056515359736479/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "lambda_above_tau": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "4256217715553392893102784739399627748361166025292214446392871035817015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "2128108480783727107703920413353844509854537229407600594400550904056515359736479/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "lambda_prime_below_one": "375240100581277563452866579586646155490145462770592399405599449095943484640263521/500000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "epsilon_below_one": "375240101081277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "guard_width": "375240101081277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "K_geometry": "375375240100706277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000", + "K_dominates_log": "375240100705902323352160302023193288910558816615102253942828856696537885191167577515359736479/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000", + "record_suffix": "375240101081277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "phase_local": "3001920808149845267522351359129716377341577056009249049782025000368142277673012224515359736479/4003001920804650220507622932636693169243921163702164739195244795592767547877122108168000000000000", + "phase_boundary": "600384161229668861424005249775180982204646094277457693586188526154103975975325690115359736479/800600384160930044101524586527338633848784232740432947839048959118553509575424421633600000000000", + "gamma_sublinear": "1/2000000000000", + "cell_above_band": "999999999998499624759899418722436547133420413353844509854537229407600594400550904056515359736479/2001500960402325110253811466318346584621960581851082369597622397796383773938561054084000000000000", + "prime_interval_packing": "375240101081277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "alpha_positive": "750480201662179886805151881609839444400704279385694653348428305792481369831431098515359736479/1000750480201162555126905733159173292310980290925541184798811198898191886969280527042000000000000", + "alpha_below_one": "999999999999500375240100581277563452866579586646155490145462770592399405599449095943484640263521/1000750480201162555126905733159173292310980290925541184798811198898191886969280527042000000000000", + "alpha_below_one_fourth": "249437139848628458894921281408183483633344368451999601546354371418755490372488700661984640263521/1000750480201162555126905733159173292310980290925541184798811198898191886969280527042000000000000", + "delta_positive": "1/8000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "short_record_fallback": "499624478288651802898520610018996404657634249134438578225854000125933186554633351676305022722264487803959928203741997934208071522085818501834352204323317441/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000", + "artificial_boundary": "28024015366442702889781285204926235712551108069555784383998346676519338599815324153174453920790563/4003001920804650220507622932636693169243921163702164739195244795592767547877122108168000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "g1_above_kappa": "500375313263946099020189432580196415419154268779115623002655441460316679785676154392600213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000", + "g2_above_kappa": "562798165709087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3_above_kappa": "73163364821456736566000609769263664123316345030603249842011220736301035890871600213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000", + "g4_above_kappa": "562798165709087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5_above_kappa": "187640788201082800543031390967954761571972927864884002753026941804631715107775989691975213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000", + "g6_above_kappa": "437828408251373439324757824257748084649718000596269298952729741529179686850096121452475213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000", + "g7_above_kappa": "499624759898919097749811079519433543277090050952648561869373516173906711956820053158785676154392600213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000" + }, + "margins": { + "g1": "375240101081277563452866579586646155490145462770592399405599449095943484640263521/500375240100581277563452866579586646155490145462770592399405599449095943484640263521", + "g2": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g3": "375240100580902323352285302023193288910558816615102253942828856696537885191167577515359736479/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000", + "g4": "750480201164056087308061271347908433522986742408230772296015359736479/1000000000000000000000000000000000000000000000000000000000000000000000000", + "g5": "600384161229668861424005249775180982204646094277457693586188526154103975975325690115359736479/800600384160930044101524586527338633848784232740432947839048959118553509575424421633600000000000", + "g6": "3001920808149845267522351359129716377341577056009249049782025000368142277673012224515359736479/4003001920804650220507622932636693169243921163702164739195244795592767547877122108168000000000000", + "g7": "499999999999500000000000000000000000000000000000000000000000000000000000000000000000/500375240100581277563452866579586646155490145462770592399405599449095943484640263521" + }, + "kappa": "749917402998347/1000000000000000000", + "kappa_decimal": "0.000749917402998347", + "minimum_margin": "375240100580902323352285302023193288910558816615102253942828856696537885191167577515359736479/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000", + "absorption_gap": "73163364821456736566000609769263664123316345030603249842011220736301035890871600213/500375240100581277563452866579586646155490145462770592399405599449095943484640263521000000000000000000", + "adjacent_grid_rejected": [ + "g3_above_kappa" + ], + "bridge_scope": "The positive literal gap and supplied row gap are assumptions in this arithmetic check." + }, + "selection": "union72", + "with_final12": true, + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "kernel_histogram_delta": { + "3": -144, + "1": 93, + "2": 144, + "6": -2, + "5": -17, + "4": 19 + }, + "final12_histogram_delta": { + "1": 18, + "2": -12 + }, + "kernel_residual_delta": { + "24": -72, + "23": 72 + }, + "final12_residual_delta": { + "2": 12, + "3": -18, + "4": 6 + }, + "pivots": 72, + "distinct_donors": 93, + "scalar_setup_gates": 473, + "scalar_restore_gates": 473, + "prior_final12_kappa": "749906929903449/1000000000000000000", + "kappa_gain_over_final12": "5236547449/500000000000000000", + "binding": "Measured union72 first-frame ledger plus measured final12 chronological suffix delta; exact residual inventory.", + "scope": "Exact arithmetic and optimal inventory under separately checked changed-stage certificates. Literal bank assignment, unchanged PR299 admission, finite compiler and all-size theorem remain separate." +} diff --git a/research/gen5b-shared-kernels/certificates/pr300-bases.json b/research/gen5b-shared-kernels/certificates/pr300-bases.json new file mode 100644 index 0000000000..09f1950b1d --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/pr300-bases.json @@ -0,0 +1,664 @@ +{ + "unique_selected_bases": 65, + "nondegenerate_over_Q": true, + "maximum_gram_determinant_bits": 103, + "all_gram_prime_factors": [ + 2, + 3, + 5 + ], + "nondegenerate_over_every_field_of_characteristic_above5": true, + "bases": [ + { + "dimension": 18, + "gram_determinant": -9005678117819947260, + "absolute_determinant_bits": 63, + "prime_factorization": { + "2": 2, + "3": 37, + "5": 1 + } + }, + { + "dimension": 17, + "gram_determinant": -500315450989997070, + "absolute_determinant_bits": 59, + "prime_factorization": { + "2": 1, + "3": 35, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -23028533304243058114560, + "absolute_determinant_bits": 75, + "prime_factorization": { + "2": 26, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1372607547297660, + "absolute_determinant_bits": 51, + "prime_factorization": { + "2": 2, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -23028533304243058114560, + "absolute_determinant_bits": 75, + "prime_factorization": { + "2": 26, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1372607547297660, + "absolute_determinant_bits": 51, + "prime_factorization": { + "2": 2, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -23028533304243058114560, + "absolute_determinant_bits": 75, + "prime_factorization": { + "2": 26, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1372607547297660, + "absolute_determinant_bits": 51, + "prime_factorization": { + "2": 2, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -23028533304243058114560, + "absolute_determinant_bits": 75, + "prime_factorization": { + "2": 26, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1372607547297660, + "absolute_determinant_bits": 51, + "prime_factorization": { + "2": 2, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -23028533304243058114560, + "absolute_determinant_bits": 75, + "prime_factorization": { + "2": 26, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1372607547297660, + "absolute_determinant_bits": 51, + "prime_factorization": { + "2": 2, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 14, + "gram_determinant": -1545418709633918009954103459840, + "absolute_determinant_bits": 101, + "prime_factorization": { + "2": 52, + "3": 29, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -8354684086777333792399278735360, + "absolute_determinant_bits": 103, + "prime_factorization": { + "2": 37, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -8354684086777333792399278735360, + "absolute_determinant_bits": 103, + "prime_factorization": { + "2": 37, + "3": 40, + "5": 1 + } + }, + { + "dimension": 19, + "gram_determinant": -121576654590569288010, + "absolute_determinant_bits": 67, + "prime_factorization": { + "2": 1, + "3": 40, + "5": 1 + } + } + ], + "scope": "Exact nondegeneracy and row independence only; actual chronological frame replacement requires a separate check." +} diff --git a/research/gen5b-shared-kernels/certificates/summary.json b/research/gen5b-shared-kernels/certificates/summary.json new file mode 100644 index 0000000000..60f9f1349a --- /dev/null +++ b/research/gen5b-shared-kernels/certificates/summary.json @@ -0,0 +1,35 @@ +{ + "status": "PASS_UNIFIED_CHANGED_STAGE_CHECKS_UNDER_RETAINED_INTERFACES", + "verified_source_files": 16, + "baseline_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "additional_head": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "headline_case": "PR300 + final12 + 70 shared-donor pivots", + "kappa": "749940157923873/1000000000000000000", + "kappa_decimal": "0.000749940157923873", + "literal_stock": 1229560, + "calls": 483425, + "rank_mass": 2454720, + "deficit": "4400", + "displayed_finite_coefficient": 90466979917115701, + "payload_upper": 12927738210344389271740351838400, + "payload_strict_gap": 7354671393307281152206899447616, + "fallback_PR300_kernel72_kappa": "3749680601367/5000000000000000", + "checkpoint_PR299_kernel72_kappa": "749917402998347/1000000000000000000", + "all_changed_role_bank_assignments": 4628100, + "inherited_assumptions": [ + "Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.", + "Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.", + "Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.", + "Inherited all-size theorem and outer positive literal-gap and row-gap interfaces.", + "Pinned PR300 second-descent chronological/source-span admission and its unchanged chart/finite-compiler contracts; only the new composition is independently checked here." + ], + "full_inherited_admission_replayed": false, + "all_size_theorem_verified": false, + "global_optimality_or_priority_claimed": false, + "verification_limits": [ + "The shared-kernel F2 all-column proof is compositional under the inherited old decoder, not a full physical-word replay.", + "PR300 complete chronological/source-span admission remains inherited; scalar incidences, support disjointness and exact selected basis determinants are checked here.", + "Original row bounds and unchanged compiler, chart, normalizer, routing, prime, setup, complex-supplier and all-size interfaces remain hypotheses.", + "Displayed finite bounds do not supply unknown retained constants inside C_full." + ] +} diff --git a/research/gen5b-shared-kernels/chart_bounds.py b/research/gen5b-shared-kernels/chart_bounds.py new file mode 100644 index 0000000000..2dc075b7cc --- /dev/null +++ b/research/gen5b-shared-kernels/chart_bounds.py @@ -0,0 +1,130 @@ +"""Original exact constructions and factor programs for all 18 changed charts. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from math import gcd,lcm +import hashlib,json +import source_data as sd +import check_coretime +import exact_geometry as geo +def rref(A): + A=[[F(x)for x in row]for row in A];piv=[] + for j in range(len(A[0])if A else 0): + q=next((i for i in range(len(piv),len(A))if A[i][j]),None) + if q is None:continue + i=len(piv);A[i],A[q]=A[q],A[i];v=A[i][j];A[i]=[x/v for x in A[i]] + for k in range(len(A)): + if k!=i and A[k][j]: + v=A[k][j];A[k]=[a-v*b for a,b in zip(A[k],A[i])] + piv.append(j) + if len(piv)==len(A):break + return A,piv + + +def primitive(v): + d=lcm(*(F(x).denominator for x in v));v=[int(F(x)*d)for x in v];g=gcd(*v) + assert g;return [x//g for x in v] + + +def nullspace(A,n=24): + R,piv=rref(A);out=[] + for free in range(n): + if free in piv:continue + v=[F(0)]*n;v[free]=1 + for i,j in enumerate(piv):v[j]=-R[i][free] + out.append(primitive(v)) + return out + + +def factor(B): + n=len(B);A=[[F(x)for x in row]for row in B];ops=[];det=F(1) + for j in range(n): + pivot=next(i for i in range(j,n)if A[i][j]) + if pivot!=j:A[pivot],A[j]=A[j],A[pivot];ops.append(('swap',j,pivot,F(1)));det=-det + v=A[j][j];det*=v + if v!=1:A[j]=[x/v for x in A[j]];ops.append(('scale',j,j,1/v)) + for i in range(n): + if i!=j and A[i][j]: + q=-A[i][j];A[i]=[x+q*y for x,y in zip(A[i],A[j])];ops.append(('add',i,j,q)) + assert A==[[int(i==j)for j in range(n)]for i in range(n)] + # Independently replay inverse operations from I and recover B. + C=[[F(i==j)for j in range(n)]for i in range(n)] + for kind,i,j,q in reversed(ops): + if kind=='swap':C[i],C[j]=C[j],C[i] + elif kind=='scale':C[i]=[x/q for x in C[i]] + else:C[i]=[x-q*y for x,y in zip(C[i],C[j])] + assert C==B + return dict(determinant=det,factors=ops,count=len(ops), + max_numerator=max((abs(q.numerator)for kind,i,j,q in ops),default=1), + max_denominator=max((q.denominator for kind,i,j,q in ops),default=1)) + + +def serial(x): + if isinstance(x,F):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return [serial(v)for v in x] + return x + + +def endpoint_columns(candidate,w,frames): + gauges={z['role']:z for z in w['gauges']} + sigma=frames[str(gauges[candidate['helper']]['frame'])]['a'] + endpoint=frames[str(candidate['new_endpoint'])]['a'] + common=frames[str(candidate['common_frame'])]['a'] + assert gauges[candidate['helper']]['dim']==21 + assert len(rref(sigma)[1])==3 and len(rref(sigma+endpoint)[1])==3 + assert len(rref(common)[1])==2 and len(rref(common+endpoint)[1])==2 + P=geo.projector(sigma);E=geo.projector(endpoint);I=geo.eye(24) + assert geo.mul(P,E)==P and geo.mul(E,P)==P + residual=geo.add(E,P,-1);completion=geo.add(I,residual,-1) + assert geo.mul(residual,residual)==residual and sum(residual[i][i]for i in range(24))==2 + assert geo.mul(completion,completion)==completion and sum(completion[i][i]for i in range(24))==22 + residual_columns,_=geo.integer_columns(residual,2) + entrance_columns,_=geo.integer_columns(P,21) + exterior_columns,_=geo.integer_columns(geo.add(I,E,-1),1) + columns=residual_columns+entrance_columns+exterior_columns + assert len(rref(list(zip(*columns)))[1])==24 + gram=lambda a,b:9*sum(x*y for x,y in zip(a,b))-sum(a)*sum(b) + assert all(gram(a,b)==0 for a in columns[:2]for b in columns[2:]) + assert all(gram(a,columns[-1])==0 for a in columns[:23]) + return columns + + +def run(): + candidate=check_coretime.run(minimal=True) + w=sd.read_json('gen5bit/selected/bit/word_p12.json.gz') + frames=sd.read_json('gen5bit/selected/bit/frames_p12.json.gz')['frames'] + pins=sd.read_json('expected/kernel-pins.json') + undone={c['old_restored_helper']for c in candidate['candidates']} + assert len(candidate['candidates'])==12 and len(undone)==6 + gauges={z['role']:z for z in w['gauges']};matrices=[] + for c in candidate['candidates']: + matrices.append(('new_rank2',c['helper'],endpoint_columns(c,w,frames))) + for role in sorted(undone): + ann=frames[str(gauges[role]['frame'])]['a'];assert len(ann)==4 + residual=[primitive([15*x-sum(a)for x in a])for a in ann] + entrance=nullspace(ann);assert len(entrance)==20 + assert all(9*sum(x*y for x,y in zip(a,b))-sum(a)*sum(b)==0 for a in residual for b in entrance) + matrices.append(('reverted_rank4',role,residual+entrance)) + out=[] + for kind,role,cols in matrices: + assert len(cols)==24 and all(len(c)==24 for c in cols) + B=[list(row)for row in zip(*cols)];f=factor(B) + assert f['max_numerator']<2**80 and f['max_denominator']<2**80 + out.append(dict(kind=kind,role=role,basis_columns=cols,**f)) + assert len(out)==18 + largest=max(z['count']for z in out) + retained=pins['max_chart_factors'];assert retained==576 + bound=max(retained,largest)+119+120 + assert bound==pins['normalizer_factor_bound']==815 + stock=pins['literal_stock']-15;roles=pins['physical_R'] + selectors=600*((stock-1)+roles*120*bound) + assert selectors<2**40 + return dict(status='PASS_CHANGED_CHART_FACTORIZATION_BOUNDS',charts=len(out), + max_changed_chart_factors=largest,retained_chart_factor_bound=retained, + combined_normalizer_factor_bound=bound,selector_calls_bound=selectors, + selector_bound_less_than_2_power_40=True, + max_factor_numerator=max(z['max_numerator']for z in out), + max_factor_denominator=max(z['max_denominator']for z in out), + source_head=sd.HEAD,factor_programs=out, + scope='All changed chart constructions, exact inverse factor replay and selector bounds; retained finite-compiler and unchanged-stage hypotheses remain conditional.') diff --git a/research/gen5b-shared-kernels/check_bank_assignment.py b/research/gen5b-shared-kernels/check_bank_assignment.py new file mode 100644 index 0000000000..cd370caee9 --- /dev/null +++ b/research/gen5b-shared-kernels/check_bank_assignment.py @@ -0,0 +1,113 @@ +"""Explicit role-resolved bank assignment for the minimal twelve-helper rewrite.""" +from collections import Counter,defaultdict +import hashlib,json,time +from check_complete_suffix import read,HERE,CANDIDATE_FILE + +def run(output_dir=None, mutation=None): + started=time.monotonic() + w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + selection=read(CANDIDATE_FILE)['candidates'];kernel=read('kernel-selection.json') + restore=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + original_from_stream={3520+i:r for i,r in enumerate(regs)} + sinkroles={r['role']for r in sinks};roles=sorted(set(regs)-sinkroles) + assert len(roles)==15427 + entrances={r:0 for r in roles};entrance_type={r:'ZERO'for r in roles} + for z in w['gauges']: + if z['role']in entrances: + entrances[z['role']]=z['dim'];entrance_type[z['role']]=f'frame:{z["frame"]}' + pivots=[(z['a'],z['rank'])for z in kernel['pairs']]+[(z['pivot'],z['rank'])for z in kernel['families']] + pivot_residuals=Counter() + for stream,rank in pivots: + role=original_from_stream[stream];assert entrances[role]==0 + entrances[role]=rank;entrance_type[role]=f'kernel:{stream}' + pivot_residuals[24-rank]+=1 + endpoints={r:24 for r in roles};endpoint_type={r:'FULL'for r in roles} + undo={z['old_restored_helper_stream']for z in selection} + assert len(undo)==6 + retained=[z for z in restore if z['helper']not in undo] + assert len(retained)==434 + for z in retained: + r=original_from_stream[z['helper']];assert entrances[r]==20 + endpoints[r]=23;endpoint_type[r]=f'old_restore:{z["helper"]}' + for z in selection: + r=z['helper'];assert entrances[r]==21 and endpoints[r]==24 + endpoints[r]=23;endpoint_type[r]=f'frame:{z["new_endpoint"]}' + families=defaultdict(list) + for r in roles: + width=endpoints[r]-entrances[r];assert 0=0 and 120%width==0 and leftover%blocks==0 + patterns.append(([width]*blocks,leftover//blocks)) + total=Counter();segments=defaultdict(list);bank_start=0 + for pattern,(widths,n) in enumerate(patterns): + assert sum(widths)==120 and n>0 + offsets=[];x=0 + for r in widths:offsets.append(x);x+=r + for r in set(widths): + blocks=[(i,offsets[i])for i,v in enumerate(widths)if v==r] + lo=total[r];hi=lo+n*len(blocks) + segments[r].append(dict(lo=lo,hi=hi,pattern=pattern,bank_start=bank_start,blocks=blocks)) + total[r]=hi + bank_start+=n + assert total=={r:60*n for r,n in counts.items()} + assert bank_start==161467 + def assignment(role_index,replica,width): + q=60*role_index+replica + for s in segments[width]: + if s['lo']<=q0: + positive_plain.update(alias.get(s,s)for s in w['ops'][index][:2]if alias.get(s,s)not in gauges) + assert len(positive_plain)==13200 + lower_moves=len(positive_plain)-2*904 + last_close=max(x['close_after_record']for x in target['groups']) + assert prefix_adds+lower_moves>last_close + # No target-prefix changes remain in this suffix; descent never changes + # scalar coefficients. Kernel restoration calls are appended explicitly. + byroot=defaultdict(list) + for e in partner:byroot[e['deliver_after_root']].append(e) + insert={z['blocker_root']:z for z in candidate} + omit={z['donor_root']for z in candidate} + finish={z['helper_root']:z for z in candidate} + undo={z['old_restored_helper_stream']for z in candidate} + assert len(candidate)==12 and len(undo)==6 + + def emit(changed): + out=[] + def add(a,b,c,tag): + assert a!=b and c%2 + out.append((a,b,c,tag)) + def root(i,exclude=None,only=None): + r=graph['roots'][i];s=w['rootroles'][i] + if r['kind']!='side' or s in sunk:return + for t in r['targets']: + if t==exclude or only is not None and t!=only:continue + add(V+t,sid(s),r.get('coefficient',1),f'root:{i}:{t}') + for i,r in enumerate(graph['roots']): + if changed and i in insert: + z=insert[i];root(z['donor_root']);root(i,exclude=z['target']) + for e in byroot[i]: + add(e['carrier'],e['passive'],1,f'partner_setup:{i}') + for t in e['receivers']: + if t!=z['target']:add(V+t,e['carrier'],1,f'partner_delivery:{i}:{t}') + root(i,only=z['target']) + for e in byroot[i]: + for t in e['receivers']: + if t==z['target']:add(V+t,e['carrier'],1,f'partner_delivery:{i}:{t}') + else: + if not(changed and i in omit):root(i) + for e in byroot[i]: + add(e['carrier'],e['passive'],1,f'partner_setup:{i}') + for t in e['receivers']:add(V+t,e['carrier'],1,f'partner_delivery:{i}:{t}') + if changed and i in finish: + z=finish[i];add(sid(z['helper']),sid(z['donor']),-1,f'new_restore:{z["helper"]}') + for e in partner:add(e['carrier'],e['passive'],-1,'partner_cleanup') + retained=[z for z in oldrestore if not(changed and z['helper']in undo)] + for z in sorted(retained,key=lambda z:z['helper']):add(z['helper'],z['donor'],z['coefficient'],f'old_restore:{z["helper"]}') + moved={(z['helper'],z['donor']):0 for z in retained} + newpairs={(sid(z['helper']),sid(z['donor'])):0 for z in candidate}if changed else {} + for index in reversed(order): + a,b,_=w['ops'][index] + if a in sunk:continue + pair=(sid(a),sid(b)) + if pair in moved:moved[pair]+=1;continue + if pair in newpairs:newpairs[pair]+=1;continue + add(*pair,-1,f'cleanup:{index}') + assert all(x==1 for x in moved.values())and all(x==1 for x in newpairs.values()) + for source,role in w['sources'].items():add(sid(role),int(source),-1,'uninject') + for z in entries: + for donor in z['donors']:add(donor,z['pivot'],-1,f'kernel_restore:{z["pivot"]}') + return out + old,new=emit(False),emit(True) + assert Counter((a,b,c)for a,b,c,_ in old)==Counter((a,b,c)for a,b,c,_ in new) + return n,old,new,dict(all_independent_entry_roles=n,active_roles_after_sinks=n-7, + selected=len(candidate),old_restorations_undone=len(undo),sink_roles_removed=7, + kernel_member_donors=kernel_candidate_donors,sink_target_overlaps_contained_in_new_frame=sink_target_overlaps, + target_prefix_closed_before_suffix=dict(prefix_odd_adds=prefix_adds, + mandatory_positive_move_lower_bound=lower_moves,last_close_record=last_close), + co_retimed_partner_deliveries=sum(z['target'] in e['receivers']for z in candidate for e in byroot[z['blocker_root']]), + original_suffix_adds=len(old),modified_suffix_adds=len(new)) + +def evaluate(events,n,reverse=False): + rows=[1<>s&1] + assert len(leaves)==180 + assert all(not any(sum(z[j]for j in g['labels'][s])for z in J)for s in leaves) + assert g['roots'][bi]['node']==g['roots'][ai]['node'] + # a has exactly one forward incidence and b is unchanged from that write to the roots. + ai_ops=[(i,o)for i,o in enumerate(w['ops'])if a in o[:2]] + assert len(ai_ops)==1 and ai_ops[0][1][:2]==[a,b] + aop=ai_ops[0][0] + assert not any(o[0]==b for o in w['ops'][aop+1:]) + candidates.append(dict(helper=a,donor=b,blocker=c,target=t,helper_root=ai,donor_root=bi, + blocker_root=ki,old_restored_helper=regs[prior['helper']-3520],old_restored_helper_stream=prior['helper'], + common_frame=row['write_frame_id'],new_endpoint=row['helper_frame_id'],promoted_blocker_frame=row['donor_frame_id'], + target_precursor_roots=predecessors,prefix_group_present=bool(group),source_union_size=len(leaves))) + if minimal: + multiplicity=Counter(z['old_restored_helper_stream'] for z in candidates) + candidates=[z for z in candidates if multiplicity[z['old_restored_helper_stream']]==2] + retained={z['old_restored_helper_stream']for z in candidates} + lost={h:z for h,z in lost.items()if h in retained} + expected_candidates,expected_undo=(12,6)if minimal else(32,26) + if mutation=='omit_old_restoration_undo':lost.pop(next(iter(lost))) + if mutation=='shared_blocker':candidates[1]['blocker']=candidates[0]['blocker'] + if mutation=='wrong_promoted_frame':candidates[0]['promoted_blocker_frame']=candidates[0]['new_endpoint'] + assert {z['old_restored_helper_stream']for z in candidates}<=set(lost),'Missing old restoration undo' + assert len({z['blocker']for z in candidates})==len(candidates),'Shared blocker' + for z in candidates: + promoted=f[z['promoted_blocker_frame']]['a'];cap=f[w['root_frame'][z['donor_root']]]['a'] + assert sub(promoted,cap),'Promoted delivery outside target cap' + assert len(candidates)==expected_candidates and len(lost)==expected_undo and len(rejected)==2 + aa={z['helper']for z in candidates};bb={z['donor']for z in candidates};cc={z['blocker']for z in candidates} + assert len(aa)==len(bb)==len(cc)==expected_candidates and not(aa&bb or aa&cc or bb&cc) + kernel_donor_contracts=[z for z in kernel_donor_contracts if z['donor'] in bb] + assert not (aa|bb|cc)&set(w['sources'].values()), 'A moved helper is a source carrier with possible partner-mix writes' + # Construct the literal altered root schedule and compare its EXACT INTEGER + # linear map on arbitrary independent helper registers and target contents. + insert={z['blocker_root']:z for z in candidates};omit={z['donor_root']for z in candidates} + finish={z['helper_root']:z for z in candidates} + def root_events(i,exclude=None): + z=g['roots'][i] + return [(1760*10+t,w['rootroles'][i],z.get('coefficient',1))for t in z['targets']if t!=exclude] + original=[];modified=[] + for i,z in enumerate(g['roots']): + original+=root_events(i) + if i in insert: + row=insert[i];modified+=root_events(row['donor_root']) + # First deliver K-source to its unaffected target(s), then promote + # that source and the affected target to B and deliver there. + modified+=root_events(i,exclude=row['target']) + modified += [(1760*10+row['target'],row['blocker'],z.get('coefficient',1))] + elif i not in omit:modified+=root_events(i) + if i in finish: + row=finish[i];modified.append((row['helper'],row['donor'],-1)) + original += [(z['helper'],z['donor'],-1)for z in candidates] + def evaluate(events): + rows={} + def get(i):return rows.setdefault(i,{i:1}) + for dest,src,coeff in events:add(get(dest),get(src),coeff) + return {i:row for i,row in rows.items()if row!={i:1}} + A=evaluate(original);C=evaluate(modified);assert A==C + corrupted=modified[:];removed_restore=next(i for i,z in enumerate(corrupted)if z[0]in aa) + del corrupted[removed_restore];assert evaluate(corrupted)!=A + # Local role-path ledger. Unchanged target dimensions 21->22->23. + # Per new surgery a loses 23->24; blocker changes 22->24 to 22->23->24. + gross=Counter({1:len(candidates),2:-len(candidates)}) + gross.update({1:-3*len(lost),2:2*len(lost)}) + residual={2:len(candidates),3:-len(candidates)-len(lost),4:len(lost)} + assert dict(gross)==({1:-6,2:0}if minimal else{1:-46,2:20}) + assert sum(r*n for r,n in gross.items())==-6 + assert sum(r*n for r,n in residual.items())==-6 and sum(residual.values())==0 + return dict(status='PASS_LOCAL_INTEGER_ROOT_SCHEDULE_CERTIFICATE',head=old['head'], + selected=len(candidates),undone_old_restorations=len(lost),local_histogram_delta=dict(gross), + residual_rank_count_delta=residual,literal_stock_delta=-15,unreplicated_stock_delta='-1/4', + exact_integer_root_schedule_identity=True,missing_restoration_control_rejected=True, + unchanged_root_read_coefficients=True,candidates=candidates,rejected=rejected, + kernel_donor_contracts=kernel_donor_contracts, + scope='Local source-data surgery certificate with exact integer root map, geometry/source-span conditions and net ledger. Full emitted postkernel word and global all-column replay have NOT been reconstructed. Existing valid monotone source-stage/target-prefix/sink contracts are retained assumptions; no certified new multiplication exponent is claimed.') + +if __name__=='__main__': + r=run();(HERE/'coretime-result.json').write_text(json.dumps(r,indent=2)+'\n') + print(r['status'],r['selected'],'new restorations,',r['undone_old_restorations'],'old restorations undone, delta',r['local_histogram_delta']) diff --git a/research/gen5b-shared-kernels/check_kernel70.py b/research/gen5b-shared-kernels/check_kernel70.py new file mode 100644 index 0000000000..4c84949f91 --- /dev/null +++ b/research/gen5b-shared-kernels/check_kernel70.py @@ -0,0 +1,219 @@ +"""Independently authored shared-donor validation; upstream is inert JSON only. + +The all-column comparison is a compositional F2 matrix certificate using the +inherited old complete-word decoder, not a replay of the upstream producer. +""" +from pathlib import Path +from collections import Counter,defaultdict +from fractions import Fraction as Q +import base64,gzip,hashlib,json,time +HERE=Path(__file__).resolve().parent +import source_data as sd +import check_coretime +import kernel_witness +import kernel70_witness +CANDIDATE=kernel70_witness.PATH + +def verify_inputs(): + sd.verify_all() + kernel_witness.load() + kernel70_witness.load() + +def read(name): + if name=='coretime-candidate12.json': + return check_coretime.run(minimal=True) + aliases={'graph.json':'gen5bit/selected/bit/graph_p12.json'} + return sd.read_json(aliases.get(name,name.replace('__','/').removesuffix('.base64'))) + +def echelon(A): + A=[[Q(x)for x in row]for row in A];rank=0;piv=[] + for j in range(24): + p=next((i for i in range(rank,len(A))if A[i][j]),None) + if p is None:continue + A[rank],A[p]=A[p],A[rank];d=A[rank][j];A[rank]=[x/d for x in A[rank]] + for i in range(len(A)): + if i!=rank and A[i][j]: + d=A[i][j];A[i]=[x-d*y for x,y in zip(A[i],A[rank])] + piv.append(j);rank+=1 + return A[:rank],piv + +def nullspace(B): + R,piv=echelon(B);out=[] + for j in range(24): + if j in piv:continue + v=[Q(0)]*24;v[j]=1 + for i,k in enumerate(piv):v[k]=-R[i][j] + out.append(v) + return out + +def run(mutation=None, selection="candidate70"): + verify_inputs();start=time.monotonic();w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + f={int(k):v for k,v in read('gen5bit__selected__bit__frames_p12.json.gz.base64')['frames'].items()} + graph=read('graph.json');ks=read('kernel-selection.json');desc=read('descent-selection.json') + oldrest=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'];core=read('coretime-candidate12.json')['candidates'] + candidate=json.loads(CANDIDATE.read_text());raw_entries=candidate['entries'] + families=[];line_set=set() + for z in raw_entries: + assert z['rank']==1 and len(z['basis'])==1 + row=z['basis'][0];assert len(row)==24 and sorted(x for x in row if x)==[-1,1] + line=[row.index(1),row.index(-1)];line_set.add(tuple(line)) + families.append(dict(pivot=z['virtual_pivot'],donors=z['virtual_donors'],line=line)) + chosen=[dict(line=list(line))for line in sorted(line_set)] + if mutation=='bad_relation':families[0]=dict(families[0],donors=families[0]['donors'][1:]) + P={z['pivot']for z in families};D={d for z in families for d in z['donors']};M=P|D + assert (len(P),len(D))==(70,87) and not P&D + removed={b for a,b in w['pairs']};reused={a for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[r] + for z in raw_entries: + assert z['pivot']==sid(z['virtual_pivot']) and z['donors']==[sid(d)for d in z['virtual_donors']] + assert not M&(removed|reused|{z['role']for z in w['gauges']}|{z['role']for z in sinks}|set(w['sources'].values())) + oldentries=[dict(pivot=z['a'],donors=[z['b']])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'])for z in ks['families']] + oldmembers={s for z in oldentries for s in[z['pivot']]+z['donors']} + assert not {sid(r)for r in M}&oldmembers + assert not {sid(r)for r in M}&{s for z in desc['entries']for s in z['scalar'][:2]} + assert not M&{z[k]for z in core for k in('helper','donor','blocker')} + assert not {sid(r)for r in M}&{z['helper']for z in oldrest} + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + # Integer adjoint coefficients, reduced only at the declared bit interface. + adj=[{}for _ in range(17160)] + for root,r in zip(graph['roots'],w['rootroles']): + for t in root['targets']:adj[r][t]=adj[r].get(t,0)+1 + for index in reversed(order): + a,b,_=w['ops'][index] + for t,c in adj[a].items():adj[b][t]=adj[b].get(t,0)+c + response=[sum(1<1:H[d-1]+=1 + if r in D:H[1]+=1 + pathrows.append(dict(role=r,stream=sid(r),kind='pivot'if r in P else'donor',line=[i,j],first_dimension=d,old_frames=frames, + old_dimensions=[f[z]['dim']for z in frames],new_initial_dimension=1 if r in P else 0, + new_paid_entrance_dimensions=[d-1]if r in P else[1,d-1])) + H={r:c for r,c in sorted(H.items())if c} + assert H=={1:87,2:137,3:-137,4:18,5:-16,6:-2},H + assert sum(r*c for r,c in H.items())==-len(P) + # Full formal matrix composition. Q is precisely the selected dirty-column + # part of the common prefix. All other prefix operations commute with the + # selected shear by the checked no-touch/disjoint-support hypotheses. + n=3520+len(regs) + def prefix(skip): + out=[] + for r in sorted(M-skip): + for t,c in adj[r].items(): + if c%2:out.append((1760+t,sid(r))) + return out + setup=[(sid(d),sid(z['pivot']))for z in families for d in z['donors']] + oldprefix=prefix(set());newprefix=prefix(P) + # Baseline remainder is U*Q^{-1}, where U is the inherited exact decoder. + # U adds source[t] to target[t] and fixes every dirty helper, so it commutes + # with setup. This explicit all-column representative proves the identity. + U=[(1760+t,t)for t in range(1760)] + tail=list(reversed(oldprefix))+U + def evaluate(events): + rows=[1<1 else'candidate70' + result=run(selection=selection) + print(json.dumps({k:v for k,v in result.items()if k!='paths'},indent=2)) diff --git a/research/gen5b-shared-kernels/check_kernel70_bank_assignment.py b/research/gen5b-shared-kernels/check_kernel70_bank_assignment.py new file mode 100644 index 0000000000..ae4b5ee3af --- /dev/null +++ b/research/gen5b-shared-kernels/check_kernel70_bank_assignment.py @@ -0,0 +1,125 @@ +"""Explicit role-resolved bank assignment for the 70-pivot and final12 rewrite.""" +from collections import Counter,defaultdict +from fractions import Fraction +import hashlib,json,time +from check_complete_suffix import read,HERE,CANDIDATE_FILE +import kernel70_witness + +def run(output_dir=None, mutation=None): + started=time.monotonic() + w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + selection=read(CANDIDATE_FILE)['candidates'];kernel=read('kernel-selection.json') + restore=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + original_from_stream={3520+i:r for i,r in enumerate(regs)} + sinkroles={r['role']for r in sinks};roles=sorted(set(regs)-sinkroles) + assert len(roles)==15427 + entrances={r:0 for r in roles};entrance_type={r:'ZERO'for r in roles} + for z in w['gauges']: + if z['role']in entrances: + entrances[z['role']]=z['dim'];entrance_type[z['role']]=f'frame:{z["frame"]}' + pivots=[(z['a'],z['rank'])for z in kernel['pairs']]+[(z['pivot'],z['rank'])for z in kernel['families']] + pivot_residuals=Counter() + for stream,rank in pivots: + role=original_from_stream[stream];assert entrances[role]==0 + entrances[role]=rank;entrance_type[role]=f'kernel:{stream}' + pivot_residuals[24-rank]+=1 + new_kernel=kernel70_witness.load()['entries'] + assert len(new_kernel)==70 and len({z['pivot']for z in new_kernel})==70 + for z in new_kernel: + role=original_from_stream[z['pivot']] + assert role==z['virtual_pivot'] and entrances[role]==0 + assert z['rank']==1 and len(z['basis'])==1 + entrances[role]=1 + entrance_type[role]=f'shared_kernel:{z["pivot"]}' + pivot_residuals[23]+=1 + endpoints={r:24 for r in roles};endpoint_type={r:'FULL'for r in roles} + undo={z['old_restored_helper_stream']for z in selection} + assert len(undo)==6 + retained=[z for z in restore if z['helper']not in undo] + assert len(retained)==434 + for z in retained: + r=original_from_stream[z['helper']];assert entrances[r]==20 + endpoints[r]=23;endpoint_type[r]=f'old_restore:{z["helper"]}' + for z in selection: + r=z['helper'];assert entrances[r]==21 and endpoints[r]==24 + endpoints[r]=23;endpoint_type[r]=f'frame:{z["new_endpoint"]}' + families=defaultdict(list) + for r in roles: + width=endpoints[r]-entrances[r];assert 0=0 and 120%width==0 and leftover%blocks==0 + patterns.append(([width]*blocks,leftover//blocks)) + total=Counter();segments=defaultdict(list);bank_start=0 + for pattern,(widths,n) in enumerate(patterns): + assert sum(widths)==120 and n>0 + offsets=[];x=0 + for r in widths:offsets.append(x);x+=r + for r in set(widths): + blocks=[(i,offsets[i])for i,v in enumerate(widths)if v==r] + lo=total[r];hi=lo+n*len(blocks) + segments[r].append(dict(lo=lo,hi=hi,pattern=pattern,bank_start=bank_start,blocks=blocks)) + total[r]=hi + bank_start+=n + assert total=={r:60*n for r,n in counts.items()} + assert bank_start==161432 + def assignment(role_index,replica,width): + q=60*role_index+replica + for s in segments[width]: + if s['lo']<=q=0 + delta=close_target_majorant(delta) + # The old full compressed decoder bounds all its own prefixes. The helper + # paths above are exact; the full target-only acyclic graph is majorized. + inherited=2475558 if reverse else 77985 + out=inherited+max(delta) + return dict(reverse=reverse,inherited_bound=inherited,max_added_majorant=max(delta),certified_new_bound=out, + max_added_helper=max(delta[3520:]),max_added_target=max(delta[1760:3520]),max_added_source=max(delta[:1760])) + F,B=bound(False),bound(True);payload=64*F['certified_new_bound']**3*B['certified_new_bound']**2 + return dict(status='PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS',selection='candidate70',forward=F,inverse=B, + payload_bound=payload,payload_bits=payload.bit_length(),retained_payload_cap_2_to104=payload<2**104, + setup_restore_pairs=len(newsetup),max_target_prefix_degree=max(map(len,dependency.values())),target_majorant_acyclic_vertices=len(topology),target_majorant_edges=len(edges),actual_sink_redirects=sum(z['forward_writes']for z in sinks), + target_majorant_proof='Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.', + scope='Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites.',seconds=time.monotonic()-start) +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + r=run();print(json.dumps(r,indent=2)) diff --git a/research/gen5b-shared-kernels/check_kernel_bank_assignment.py b/research/gen5b-shared-kernels/check_kernel_bank_assignment.py new file mode 100644 index 0000000000..baf5aa21cd --- /dev/null +++ b/research/gen5b-shared-kernels/check_kernel_bank_assignment.py @@ -0,0 +1,124 @@ +"""Explicit role-resolved bank assignment for the minimal twelve-helper rewrite.""" +from collections import Counter,defaultdict +import hashlib,json,time +from check_complete_suffix import read,HERE,CANDIDATE_FILE +import kernel_witness + +def run(output_dir=None, mutation=None): + started=time.monotonic() + w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + selection=read(CANDIDATE_FILE)['candidates'];kernel=read('kernel-selection.json') + restore=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + original_from_stream={3520+i:r for i,r in enumerate(regs)} + sinkroles={r['role']for r in sinks};roles=sorted(set(regs)-sinkroles) + assert len(roles)==15427 + entrances={r:0 for r in roles};entrance_type={r:'ZERO'for r in roles} + for z in w['gauges']: + if z['role']in entrances: + entrances[z['role']]=z['dim'];entrance_type[z['role']]=f'frame:{z["frame"]}' + pivots=[(z['a'],z['rank'])for z in kernel['pairs']]+[(z['pivot'],z['rank'])for z in kernel['families']] + pivot_residuals=Counter() + for stream,rank in pivots: + role=original_from_stream[stream];assert entrances[role]==0 + entrances[role]=rank;entrance_type[role]=f'kernel:{stream}' + pivot_residuals[24-rank]+=1 + new_kernel=kernel_witness.load()['portable']['variants']['three_lines_trimmed']['entries'] + assert len(new_kernel)==72 and len({z['pivot']for z in new_kernel})==72 + for z in new_kernel: + role=original_from_stream[z['pivot']] + assert role==z['virtual_pivot'] and entrances[role]==0 + assert z['rank']==1 and len(z['basis'])==1 + entrances[role]=1 + entrance_type[role]=f'shared_kernel:{z["pivot"]}' + pivot_residuals[23]+=1 + endpoints={r:24 for r in roles};endpoint_type={r:'FULL'for r in roles} + undo={z['old_restored_helper_stream']for z in selection} + assert len(undo)==6 + retained=[z for z in restore if z['helper']not in undo] + assert len(retained)==434 + for z in retained: + r=original_from_stream[z['helper']];assert entrances[r]==20 + endpoints[r]=23;endpoint_type[r]=f'old_restore:{z["helper"]}' + for z in selection: + r=z['helper'];assert entrances[r]==21 and endpoints[r]==24 + endpoints[r]=23;endpoint_type[r]=f'frame:{z["new_endpoint"]}' + families=defaultdict(list) + for r in roles: + width=endpoints[r]-entrances[r];assert 0=0 and 120%width==0 and leftover%blocks==0 + patterns.append(([width]*blocks,leftover//blocks)) + total=Counter();segments=defaultdict(list);bank_start=0 + for pattern,(widths,n) in enumerate(patterns): + assert sum(widths)==120 and n>0 + offsets=[];x=0 + for r in widths:offsets.append(x);x+=r + for r in set(widths): + blocks=[(i,offsets[i])for i,v in enumerate(widths)if v==r] + lo=total[r];hi=lo+n*len(blocks) + segments[r].append(dict(lo=lo,hi=hi,pattern=pattern,bank_start=bank_start,blocks=blocks)) + total[r]=hi + bank_start+=n + assert total=={r:60*n for r,n in counts.items()} + assert bank_start==161431 + def assignment(role_index,replica,width): + q=60*role_index+replica + for s in segments[width]: + if s['lo']<=q=0 + delta=close_target_majorant(delta) + # The old full compressed decoder bounds all its own prefixes. The helper + # paths above are exact; the full target-only acyclic graph is majorized. + inherited=2475558 if reverse else 77985 + out=inherited+max(delta) + return dict(reverse=reverse,inherited_bound=inherited,max_added_majorant=max(delta),certified_new_bound=out, + max_added_helper=max(delta[3520:]),max_added_target=max(delta[1760:3520]),max_added_source=max(delta[:1760])) + F,B=bound(False),bound(True);payload=64*F['certified_new_bound']**3*B['certified_new_bound']**2 + return dict(status='PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS',selection='three_lines_trimmed',forward=F,inverse=B, + payload_bound=payload,payload_bits=payload.bit_length(),retained_payload_cap_2_to104=payload<2**104, + setup_restore_pairs=len(newsetup),max_target_prefix_degree=max(map(len,dependency.values())),target_majorant_acyclic_vertices=len(topology),target_majorant_edges=len(edges),actual_sink_redirects=sum(z['forward_writes']for z in sinks), + target_majorant_proof='Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.', + scope='Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites.',seconds=time.monotonic()-start) +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + r=run();print(json.dumps(r,indent=2)) diff --git a/research/gen5b-shared-kernels/check_shared_kernel.py b/research/gen5b-shared-kernels/check_shared_kernel.py new file mode 100644 index 0000000000..329fe381d8 --- /dev/null +++ b/research/gen5b-shared-kernels/check_shared_kernel.py @@ -0,0 +1,214 @@ +"""Independently authored shared-donor validation; upstream is inert JSON only. + +The all-column comparison is a compositional F2 matrix certificate using the +inherited old complete-word decoder, not a replay of the upstream producer. +""" +from pathlib import Path +from collections import Counter,defaultdict +from fractions import Fraction as Q +import base64,gzip,hashlib,json,time +HERE=Path(__file__).resolve().parent +import source_data as sd +import check_coretime +import kernel_witness +CANDIDATE=kernel_witness.PATH + +def verify_inputs(): + sd.verify_all() + kernel_witness.load() + +def read(name): + if name=='coretime-candidate12.json': + return check_coretime.run(minimal=True) + aliases={'graph.json':'gen5bit/selected/bit/graph_p12.json'} + return sd.read_json(aliases.get(name,name.replace('__','/').removesuffix('.base64'))) + +def echelon(A): + A=[[Q(x)for x in row]for row in A];rank=0;piv=[] + for j in range(24): + p=next((i for i in range(rank,len(A))if A[i][j]),None) + if p is None:continue + A[rank],A[p]=A[p],A[rank];d=A[rank][j];A[rank]=[x/d for x in A[rank]] + for i in range(len(A)): + if i!=rank and A[i][j]: + d=A[i][j];A[i]=[x-d*y for x,y in zip(A[i],A[rank])] + piv.append(j);rank+=1 + return A[:rank],piv + +def nullspace(B): + R,piv=echelon(B);out=[] + for j in range(24): + if j in piv:continue + v=[Q(0)]*24;v[j]=1 + for i,k in enumerate(piv):v[k]=-R[i][j] + out.append(v) + return out + +def run(mutation=None, selection="union34"): + verify_inputs();start=time.monotonic();w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + f={int(k):v for k,v in read('gen5bit__selected__bit__frames_p12.json.gz.base64')['frames'].items()} + graph=read('graph.json');ks=read('kernel-selection.json');desc=read('descent-selection.json') + oldrest=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'];core=read('coretime-candidate12.json')['candidates'] + candidates=json.loads(CANDIDATE.read_text())['best_candidates'] + lines={'union34':[[6,7],[2,3]],'union72':[[6,7],[16,17],[2,3]],'line6':[[6,7]],'line16':[[16,17]],'line2':[[2,3]]}[selection] + chosen=[z for z in candidates if z['line']in lines] + assert len(chosen)==len(lines) + families=[dict(z,line=c['line'])for c in chosen for z in c['relations']if not(selection=='union72' and c['line']==[6,7] and z['pivot']in(10859,10861))] + if mutation=='bad_relation':families[0]=dict(families[0],donors=families[0]['donors'][1:]) + P={z['pivot']for z in families};D={d for z in families for d in z['donors']};M=P|D + counts={'union34':(34,43),'union72':(72,93),'line6':(28,37),'line16':(40,50),'line2':(6,6)} + assert (len(P),len(D))==counts[selection] and not P&D + removed={b for a,b in w['pairs']};reused={a for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[r] + assert not M&(removed|reused|{z['role']for z in w['gauges']}|{z['role']for z in sinks}|set(w['sources'].values())) + oldentries=[dict(pivot=z['a'],donors=[z['b']])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'])for z in ks['families']] + oldmembers={s for z in oldentries for s in[z['pivot']]+z['donors']} + assert not {sid(r)for r in M}&oldmembers + assert not {sid(r)for r in M}&{s for z in desc['entries']for s in z['scalar'][:2]} + assert not M&{z[k]for z in core for k in('helper','donor','blocker')} + assert not {sid(r)for r in M}&{z['helper']for z in oldrest} + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + # Integer adjoint coefficients, reduced only at the declared bit interface. + adj=[{}for _ in range(17160)] + for root,r in zip(graph['roots'],w['rootroles']): + for t in root['targets']:adj[r][t]=adj[r].get(t,0)+1 + for index in reversed(order): + a,b,_=w['ops'][index] + for t,c in adj[a].items():adj[b][t]=adj[b].get(t,0)+c + response=[sum(1<1:H[d-1]+=1 + if r in D:H[1]+=1 + pathrows.append(dict(role=r,stream=sid(r),kind='pivot'if r in P else'donor',line=[i,j],first_dimension=d,old_frames=frames, + old_dimensions=[f[z]['dim']for z in frames],new_initial_dimension=1 if r in P else 0, + new_paid_entrance_dimensions=[d-1]if r in P else[1,d-1])) + H={r:c for r,c in sorted(H.items())if c} + expected={'union34':{1:43,2:75,3:-75,5:2,6:-2},'union72':{1:93,2:144,3:-144,4:19,5:-17,6:-2}} + if selection in expected:assert H==expected[selection],H + assert sum(r*c for r,c in H.items())==-len(P) + # Full formal matrix composition. Q is precisely the selected dirty-column + # part of the common prefix. All other prefix operations commute with the + # selected shear by the checked no-touch/disjoint-support hypotheses. + n=3520+len(regs) + def prefix(skip): + out=[] + for r in sorted(M-skip): + for t,c in adj[r].items(): + if c%2:out.append((1760+t,sid(r))) + return out + setup=[(sid(d),sid(z['pivot']))for z in families for d in z['donors']] + oldprefix=prefix(set());newprefix=prefix(P) + # Baseline remainder is U*Q^{-1}, where U is the inherited exact decoder. + # U adds source[t] to target[t] and fixes every dirty helper, so it commutes + # with setup. This explicit all-column representative proves the identity. + U=[(1760+t,t)for t in range(1760)] + tail=list(reversed(oldprefix))+U + def evaluate(events): + rows=[1<1 else'union34' + result=run(selection=selection) + print(json.dumps({k:v for k,v in result.items()if k!='paths'},indent=2)) diff --git a/research/gen5b-shared-kernels/check_suffix_frames.py b/research/gen5b-shared-kernels/check_suffix_frames.py new file mode 100644 index 0000000000..786131e8ed --- /dev/null +++ b/research/gen5b-shared-kernels/check_suffix_frames.py @@ -0,0 +1,128 @@ +"""Independent chronological frame-path recount of every affected stream.""" +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +import json,time +from check_complete_suffix import build,read,HERE,V,CANDIDATE_FILE +from exact_geometry import echelon + +def nullspace(B): + rows,piv=echelon(B);free=[j for j in range(24)if j not in piv] + out=[] + for j in free: + v=[Q(0)]*24;v[j]=1 + for i,k in enumerate(piv):v[k]=-rows[i][j] + out.append(v) + return out + +def run(mutation=None): + start=time.monotonic();n,old,new,scalar=build() + w=read('gen5bit__selected__bit__word_p12.json.gz.base64') + ff=read('gen5bit__selected__bit__frames_p12.json.gz.base64')['frames'];g=read('graph.json') + sel=read(CANDIDATE_FILE)['candidates'];restore=read('restore-selection.json')['entries'] + partner=read('gen5bit__selected__bit__kchron_p12.json')['entries'] + aliases={b:a for a,b in w['pairs']};regs=sorted(set(range(17160))-set(aliases));ids={s:3520+i for i,s in enumerate(regs)} + sid=lambda s:ids[aliases.get(s,s)] + undo={z['old_restored_helper_stream']for z in sel};oldr={z['helper']:z for z in restore} + bynew={z['helper']:z for z in sel};bydonor={z['donor_root']:z for z in sel};byblocker={z['blocker_root']:z for z in sel} + affected={sid(z[k])for z in sel for k in ('helper','donor','blocker')} + affected|={oldr[h][k]for h in undo for k in ('helper','donor')} + affected|={V+z['target']for z in sel} + partner_by_root={e['deliver_after_root']:e for e in partner} + assert len(partner_by_root)==len(partner) + affected|={partner_by_root[z['blocker_root']]['carrier']for z in sel} + descent=read('descent-selection.json')['entries'] + affected_helpers={s for s in affected if s>=3520} + assert not [e for e in descent if set(e['scalar'][:2])&affected_helpers] + # Canonical annihilator matrices; exact containment uses row-span inclusion. + cache={'FULL':[], 'ZERO':[[Q(i==j)for j in range(24)]for i in range(24)]} + dims={'FULL':24,'ZERO':0} + def ann(key): + if key not in cache: + if isinstance(key,int): + d=ff[str(key)];cache[key]=d.get('a') if 'a'in d else nullspace(d['b']);dims[key]=d['dim'] + elif key.startswith('REST:'): + z=oldr[int(key[5:])];cache[key]=nullspace(z['basis']);dims[key]=z['rank'] + elif key.startswith('CAP:'): + t=int(key[4:]);S=set(g['labels'][t]);cache[key]=[[3*int(j in S)-1 for j in range(24)]];dims[key]=23 + else:raise ValueError(key) + return cache[key] + containment={} + def sub(a,b): + if (a,b)not in containment: + A,B=ann(a),ann(b) + containment[a,b]=len(echelon(A+B)[1])==len(A) + return containment[a,b] + setup_frames={} + for z in sel: + e=partner_by_root[z['blocker_root']] + selected=[d for d in descent if d['scalar'][:3]==[e['carrier'],e['passive'],1]] + assert len(selected)==1 and selected[0]['old_dimension']==2 and selected[0]['new_dimension']==22 + d=selected[0];A=ann(e['deliver_frame']) + assert len(echelon(d['new_basis'])[1])==22 + assert all(sum(x*y for x,y in zip(a,b))==0 for a in A for b in d['new_basis']) + setup_frames[z['blocker_root']]=e['deliver_frame'] + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + initial={x:'ZERO'for x in affected} + for x in affected: + if x=3520:ann(initial[x]);assert dims[initial[x]]<=22,(x,initial[x],dims[initial[x]]) + def frame(tag,changed): + if tag.startswith('root:'): + _,ii,tt=tag.split(':');i,t=int(ii),int(tt) + if changed and i in bydonor:return bydonor[i]['common_frame'] + if changed and i in byblocker and t==byblocker[i]['target']:return byblocker[i]['promoted_blocker_frame'] + return w['root_frame'][i] + if tag.startswith('new_restore:'):return bynew[int(tag.split(':')[1])]['new_endpoint'] + if tag.startswith('old_restore:'):return 'REST:'+tag.split(':')[1] + if tag.startswith('partner_setup:'): + i=int(tag.split(':')[1]);return setup_frames.get(i,partner_by_root[i]['mix_frame']) + if tag.startswith('partner_delivery:'): + _,ii,tt=tag.split(':');i,t=int(ii),int(tt) + if changed and mutation!='omit_partner_promotion' and i in byblocker and t==byblocker[i]['target']:return byblocker[i]['promoted_blocker_frame'] + return partner_by_root[i]['deliver_frame'] + return 'FULL' + def check(events,changed): + state=dict(initial);hist=Counter();paths={x:[initial[x]]for x in affected} + def move(x,f): + if x not in affected:return + a=state[x];assert sub(a,f),('nonnested',changed,x,a,f) + ann(f);delta=dims[f]-dims[a] + if delta:hist[delta]+=1;paths[x].append(f) + state[x]=f + for a,b,c,tag in events: + f=frame(tag,changed);move(a,f);move(b,f) + for x in affected: + endpoint='FULL'if x<1760 or x>=3520 else 'CAP:'+str(x-V) + if x in oldr and not(changed and x in undo and mutation!='omit_old_undo'):endpoint='REST:'+str(x) + if changed: + match=next((z for z in sel if sid(z['helper'])==x),None) + if match:endpoint=match['new_endpoint'] + move(x,endpoint) + return hist,paths + oldH,oldP=check(old,False);newH,newP=check(new,True) + delta=Counter(newH);delta.subtract(oldH);delta={r:c for r,c in delta.items()if c} + assert delta=={1:18,2:-12},delta + byrole=[] + for x in sorted(affected): + if oldP[x]!=newP[x]: + byrole.append(dict(stream=x,before_frames=oldP[x],after_frames=newP[x], + before_dimensions=[dims[f]for f in oldP[x]],after_dimensions=[dims[f]for f in newP[x]])) + return dict(status='PASS_MEASURED_AFFECTED_SUFFIX_FRAME_LEDGER',source_head='5f6bd3fbc0e6796dd31263cef1f06dc968186f64', + affected_streams=len(affected),changed_paths=len(byrole),exact_rational_containment_checks=len(containment), + affected_helper_descent_overlaps=0,partner_setup_descent_replacements_applied=len(setup_frames), + old_histogram=dict(oldH),new_histogram=dict(newH),local_histogram_delta=delta, + both_reflected_ledgers=True,reflected_justification='For each nested frame pair A⊂B, the annihilator inclusion reverses and the codimension drop equals the dimension gain.', + paths=byrole,seconds=time.monotonic()-start, + scope='Chronological required-frame census of all affected helper, source-carrier and target streams. Targets start at ZERO for this difference census; their unchanged prior prefixes terminate within the checked first unchanged precursor frame, under retained source admission. Helper prefix frames are read from the actual base forward word and no affected helper overlaps descent changes; all 12 selected partner setups use their verified post-descent rank-22 frames. No global finite/compiler replay is claimed.') + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + r=run() + print(json.dumps({k:v for k,v in r.items()if k!='paths'},indent=2)) diff --git a/research/gen5b-shared-kernels/exact_geometry.py b/research/gen5b-shared-kernels/exact_geometry.py new file mode 100644 index 0000000000..e4bbb9d0d9 --- /dev/null +++ b/research/gen5b-shared-kernels/exact_geometry.py @@ -0,0 +1,57 @@ +"""Original exact weighted-frame linear algebra over rational numbers. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as Q +from math import gcd,lcm +def transpose(A):return list(map(list,zip(*A))) + + +def eye(n):return [[Q(i==j)for j in range(n)]for i in range(n)] + + +def add(A,B,c=1):return [[x+c*y for x,y in zip(a,b)]for a,b in zip(A,B)] + + +def mul(A,B): + cols=transpose(B) + return [[sum((x*y for x,y in zip(row,col)if x and y),Q(0))for col in cols]for row in A] + + +def echelon(A): + A=[[Q(x)for x in row]for row in A];piv=[];n=len(A) + if not n:return A,piv + for j in range(len(A[0])): + k=next((k for k in range(len(piv),n)if A[k][j]),None) + if k is None:continue + i=len(piv);A[i],A[k]=A[k],A[i];c=A[i][j];A[i]=[x/c for x in A[i]] + for k in range(n): + if k!=i and A[k][j]: + c=A[k][j];A[k]=[x-c*y for x,y in zip(A[k],A[i])] + piv.append(j) + if len(piv)==n:break + return A,piv + + +def inv(A): + n=len(A);B,p=echelon([a+b for a,b in zip(A,eye(n))]);assert p[:n]==list(range(n)) + return [r[n:]for r in B] + + +def projector(ann): + # G=I-J/9; its inverse is I-J/15 in dimension24. + I=eye(24);Gi=[[I[i][j]-Q(1,15)for j in range(24)]for i in range(24)] + A=[[Q(x)for x in row]for row in ann] + gram=mul(mul(A,Gi),transpose(A));gram_inv=inv(gram) + return add(I,mul(mul(mul(Gi,transpose(A)),gram_inv),A),-1) + + +def integer_columns(A,count): + _,p=echelon(A);assert len(p)==count + out=[] + for j in p: + col=[row[j]for row in A];den=lcm(*(x.denominator for x in col)) + col=[int(x*den)for x in col];g=0 + for x in col:g=gcd(g,abs(x)) + out.append([x//g for x in col]) + return out,p + diff --git a/research/gen5b-shared-kernels/exact_intervals.py b/research/gen5b-shared-kernels/exact_intervals.py new file mode 100644 index 0000000000..e28b500b2b --- /dev/null +++ b/research/gen5b-shared-kernels/exact_intervals.py @@ -0,0 +1,77 @@ +"""Original rational log/exp enclosures; upstream programs are never run. + +Atanh series uses 64 terms and an explicit positive tail. Exponential series +uses 32 terms with a geometric upper bound for its tail, on arguments <= 1. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from decimal import Decimal, localcontext +from functools import lru_cache +GRID=10**50 +def floor_grid(x): + return F((x * GRID).numerator // (x * GRID).denominator, GRID) + + +def ceil_grid(x): + return -floor_grid(-x) + + +@lru_cache(None) +def log_interval(x): + """ln(x), x>=1, binary reduction and 64-term positive atanh series.""" + x = F(x) + if x < 1: + raise ValueError('log argument must be at least one') + k = 0 + while x >= 2: + x /= 2 + k += 1 + def short(y): + z = (y - 1) / (y + 1) + power, total = z, F(0) + for j in range(64): + total += 2 * power / (2*j + 1) + power *= z*z + return total, total + 2*power / (129*(1-z*z)) + lo, hi = short(x) + a, b = short(F(2)) + return floor_grid(lo+k*a), ceil_grid(hi+k*b) + + +def exp_interval(lo, hi): + if not 0 <= lo <= hi <= 1: + raise ValueError('exponential interval is outside certified range') + def poly(x): + term = total = F(1) + for n in range(1, 33): + term = term*x/n + total += term + return total, term + low, _ = poly(lo) + high, term = poly(hi) + tail = (term*hi/33) / (1-hi/34) + return floor_grid(low), ceil_grid(high+tail) + + +def moment_interval(m, W, histogram, a): + W, a = F(W), F(a) + if not isinstance(m, int) or m <= 1 or W <= 0 or not 0 <= a < 1: + raise ValueError('invalid moment dimensions or exponent') + lo = hi = F(0) + for r, n in histogram.items(): + if not isinstance(r, int) or not 0 < r < m or F(n) <= 0: + raise ValueError('invalid positive-rank child') + L, U = log_interval(F(m,r)) + E, G = exp_interval(a*L,a*U) + weight = F(n)*r/(m*W) + lo += weight*E + hi += weight*G + return lo, hi + + +def dec(x): + x = F(x) + with localcontext() as c: + c.prec = 45 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + diff --git a/research/gen5b-shared-kernels/fetch_inputs.py b/research/gen5b-shared-kernels/fetch_inputs.py new file mode 100644 index 0000000000..ae1a1752a9 --- /dev/null +++ b/research/gen5b-shared-kernels/fetch_inputs.py @@ -0,0 +1,35 @@ +"""Download only hash-pinned public data; no upstream program is executed.""" +import argparse +from pathlib import Path +import urllib.request + +from source_data import MANIFEST, verify_bytes + + +def fetch(destination): + destination = Path(destination).expanduser().resolve() + for name, pin in MANIFEST['files'].items(): + target = destination / name + if target.exists(): + verify_bytes(name, target.read_bytes()) + print('Verified existing ' + name) + continue + url = ('https://raw.githubusercontent.com/' + pin.get('repository', MANIFEST['repository']) + '/' + + pin.get('commit', MANIFEST['commit']) + '/' + pin.get('package', MANIFEST['package']) + + '/' + pin.get('path', name)) + with urllib.request.urlopen(url, timeout=60) as response: + data = response.read(pin['bytes'] + 1) + verify_bytes(name, data) + target.parent.mkdir(parents=True, exist_ok=True) + # Exclusive creation avoids replacing a file written during download. + with target.open('xb') as output: + output.write(data) + print('Verified downloaded ' + name) + return destination + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--destination', type=Path, required=True) + args = parser.parse_args() + print('Input directory: ' + str(fetch(args.destination))) diff --git a/research/gen5b-shared-kernels/finite_bill.py b/research/gen5b-shared-kernels/finite_bill.py new file mode 100644 index 0000000000..d74463da3c --- /dev/null +++ b/research/gen5b-shared-kernels/finite_bill.py @@ -0,0 +1,72 @@ +"""Original changed-obligation check for the retained finite bill. + +Constants and formulas are independently transcribed from pinned PR299. +Unchanged all-size interfaces and original norm bounds remain hypotheses. +""" +from pathlib import Path +from fractions import Fraction as F +import json,hashlib +import source_data as sd + +def ceil(x):return -((-x.numerator)//x.denominator) +def cutoff(delta,C): + assert 00 + return max(1,ceil(36/delta**2),ceil(F(2*(4+(C-1).bit_length()),1)/delta)) + +def serial(x): + if isinstance(x,F):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return [serial(v)for v in x] + return x + +def run(chart,norm,math): + pins=sd.read_json('expected/kernel-pins.json') + assert chart['charts']==18 and chart['max_changed_chart_factors']==142 + assert norm['status']=='PASS_EXACT_SCALAR_NORM_TRANSPORT' + m=120;R=pins['physical_R'];v=1760;T=60;stock=math['literal_stock'];d=m*m;N=2*m + assert R==15427 and stock==1229735 + E=T*math['calls'];mass=T*math['rank_mass'];assert m*stock-mass==264000 + assert math['calls']==482665 and math['rank_mass']==2455070 + weighted=T*(5*pins['scalar_events']+6*v) + unit=T*(5*pins['literal_unit_additions']+6*v) + J=T*(24*v+10*R);good=8*m*m+8;high=16*(d+1)**2 + K=600*((stock-1)+R*120*chart['combined_normalizer_factor_bound']) + assert K==chart['selector_calls_bound']==905994200400<2**40 + coefficient=unit+J*high+J*(stock+24)+E*good+E*(128*N**3)+16*m**3+120*T+E+K+1 + assert coefficient<2**80 and 2*m**3*10**16<2**80 and stock+24<2**80 + # Use the independent conservative factor-two norm transport, even though + # the bridge worker separately checks the stronger unchanged majorant. + payload=64*(2*pins['forward_max_row_l1'])**3*(2*pins['inverse_max_row_l1'])**2 + assert payload==norm['payload_upper']<2**104 + c=F(math['root_bracket'][0]);moment_upper=F(math['moment_interval'][1]) + delta_tau=1-moment_upper + delta_linear=1-F(mass,m*stock)-F(32*m*E,10**16*stock) + assert delta_tau>0 and delta_linear>0 + chain=[F(384599,10**10)];gaps=[] + for stage in range(3): + prior=chain[-1];a=(1-c)*c+c*prior + ds=dict(atom=c-a,borrowing=1-a-c,remainder=1-a-c*(1-prior),stock=1-c) + delta=min(ds.values());assert prior0 + L=cutoff(delta,coefficient) + assert F(L)*delta**2>=36 and F(L)*delta>=2*(4+(coefficient-1).bit_length()) + gaps.append(dict(stage=stage+1,slacks=ds,minimum=delta,cutoff_log2_at_displayed_coefficient=L)) + chain.append(a) + assert chain==list(map(F,math['assembly']['bootstrap_chain'])) + # Pure rank-2 banks introduce sixty block-separation scalar choices. + max_bank_scalar=max(len(p['widths'])for p in math['packing']['patterns']) + assert max_bank_scalar==60<=m + return dict(status='PASS_CHANGED_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES', + scalar_weighted_additions=weighted,scalar_unit_additions=unit,literal_children=E, + literal_rank_mass=mass,literal_stock=stock,route_families=J, + new_chart_count=18,max_changed_chart_factors=142,max_changed_chart_numerator=11,max_changed_chart_denominator=9, + new_bank_block_scalars_up_to=max_bank_scalar, + scalar_unit_reason='Every block+1 scalar is at most60; chart factor numerators≤11 and denominators≤9. All are units in retained prime characteristic q>2^80.', + normalizer_factor_bound=815,bank_selector_calls=K,displayed_finite_coefficient=coefficient, + coefficient_bits=coefficient.bit_length(),retained_coefficient_cap_bits=80, + conservative_payload_upper=payload,payload_bits=payload.bit_length(),retained_payload_cap_bits=104, + bad_fallback_per_child=32*m*m,internal_row_coefficient=14401,external_row_coefficient=20161, + ordinary_degree_gap=F(10**6)-F(51*20161,25),delta_tau_lower=delta_tau,delta_linear=delta_linear, + bootstrap_chain=chain,bootstrap_gaps=gaps, + cutoff_scope='Displayed fixed bill only. The retained theorem rule uses C_full including inherited primitive, wrapper and earlier ordinary-level constants; this check does not assign those unknown constants a value.', + source_head=sd.HEAD,source_pins_sha256=sd.MANIFEST['files']['expected/kernel-pins.json']['sha256']) + diff --git a/research/gen5b-shared-kernels/inputs.json b/research/gen5b-shared-kernels/inputs.json new file mode 100644 index 0000000000..223e0943af --- /dev/null +++ b/research/gen5b-shared-kernels/inputs.json @@ -0,0 +1,107 @@ +{ + "repository": "CrocSwap/integer-mult-bounds", + "commit": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "package": "research/five-stage-gen5b-kernels-restorations-sinks", + "files": { + "gen5bit/selected/bit/word_p12.json.gz": { + "git_blob": "ad318242f00ab47190660dd57f30e0d1d612f6f8", + "sha256": "f2a8b915209c28812c73a6a51a1b30b9cf830d7e0acbf00e7094b976d513cdb8", + "bytes": 727150 + }, + "gen5bit/selected/bit/frames_p12.json.gz": { + "git_blob": "a558091c81ab56c8a8b74ab3c5ebe28b2a1d9694", + "sha256": "c5e9eadf7ea06cefcb31f94f00b99c9cf3b850231af222bc88efee51f5d01295", + "bytes": 297501 + }, + "gen5bit/selected/bit/graph_p12.json": { + "git_blob": "d25a5f7be51c6a064a30a210c0aac3811e44e9f1", + "sha256": "73814dd03979f08b13cf981a30b56dc9b8127f618162407b815009e44298cb00", + "bytes": 927750 + }, + "gen5bit/selected/bit/kchron_p12.json": { + "git_blob": "f8295fab205a81dfdf2612e9b37ef536aea952e7", + "sha256": "e28cd9e9842605af568eea62203a15c48fb08a92e99b38a3480f2fe462d8e1b4", + "bytes": 226522 + }, + "gen5bit/selected/bit/profile_p12.json": { + "git_blob": "f00ab5c99495fd3912dd8c744e0611bdbf3d9753", + "sha256": "bcfebb851f1d2e91c604867da2235d83f36f3d591a14d113a4aab734417b3c0b", + "bytes": 917 + }, + "restore-selection.json": { + "git_blob": "118ea83e27fc4cb51c28fcef6ce96a8aa076c834", + "sha256": "494885a7c371c60c29c7dc8add574c589be9705f4299fcf1f64138bdd7878f7b", + "bytes": 808745 + }, + "kernel-selection.json": { + "git_blob": "32afa7b3dbab3b661c47cb0b84b9a038fa0e133b", + "sha256": "cf4321ad481b99a59a6e0e022a770d55da9ecc69070ca203398ff615181880a9", + "bytes": 873734 + }, + "target-selection.json": { + "git_blob": "e43472750bb21afca82c3f0853a8f3e64792affe", + "sha256": "2feaa1d43d663f3360722f5377824ca2e9f31ac52294827c2f753cf95f82a4ea", + "bytes": 1040746 + }, + "sink-selection.json": { + "git_blob": "7112747fca58dfa86ed38da6a994c21b92f4594e", + "sha256": "9909ec8ecbbf28fb0f6b22af7e4d3a7cf83a6af9e8d4b8545940389d11de1efb", + "bytes": 31837 + }, + "expected/kernel-pins.json": { + "git_blob": "f66743863692473f2862792eaa13ca28cb125b27", + "sha256": "bdc0cb4aebaa9c1209c0598f14f69df4e0489e65b2208d0c51f7a3aaee1f1a77", + "bytes": 2937 + }, + "descent-selection.json": { + "git_blob": "d204e192f859a2055e9b1947a7709ec275904953", + "sha256": "f68d5a0949e22e4f4ddc8da915caa4a1b30919e25ae1ce956ddd7ce4fb18bfd8", + "bytes": 4225342 + }, + "pr300/descent2-selection.json": { + "git_blob": "638d3a1669c850d91f93d04939abfdd5f3a86c05", + "sha256": "5f947e418285a776d5c7170c07f1befcc44e626e53e6825f06c80a8c81b7a755", + "bytes": 319700, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "descent2-selection.json" + }, + "pr300/expected/kernel-pins.json": { + "git_blob": "5f551166c73a8acb566fe10ad1f733147aad0c13", + "sha256": "5421d38c4624a5d05b8936fa86f490ee0e932e9e6fe7c6a24defd9b7c671cf4e", + "bytes": 3281, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "expected/kernel-pins.json" + }, + "pr300/portable_bit.py": { + "git_blob": "47749a7028739552798e230d81e781681307a061", + "sha256": "93b2c72a63cf24b991a7cc0f35de4da016a245c58f45c1551fe888d5412a73a4", + "bytes": 6831, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "portable_bit.py" + }, + "pr300/restore-selection.json": { + "git_blob": "f76b0bb16b9aad7af144ac1ae4facc1a71da90f6", + "sha256": "aa85e17b5ff9e849f0decce611a9cc61f697e23aaeea87a7580084535e7f3e07", + "bytes": 808745, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "restore-selection.json" + }, + "pr300/sink-selection.json": { + "git_blob": "bf403cb657dd451e3d64c49d6edc856eb29f7b23", + "sha256": "cadc2c1e3975a3103bbd55992428b686950b4f13987f59146b527f86cebf639f", + "bytes": 31837, + "repository": "rohanarun/integer-mult-bounds", + "commit": "fd516176fd068e4fa7af14b40cd878ce8c305296", + "package": "research/five-stage-gen5b-full", + "path": "sink-selection.json" + } + } +} diff --git a/research/gen5b-shared-kernels/kernel-witness.json b/research/gen5b-shared-kernels/kernel-witness.json new file mode 100644 index 0000000000..b3b17b4d01 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel-witness.json @@ -0,0 +1,7098 @@ +{ + "schema": "shared-donor-candidates/1", + "source_head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "best_candidates": [ + { + "line": [ + 6, + 7 + ], + "relations": [ + { + "pivot": 9883, + "donors": [ + 8413, + 8415, + 9881 + ] + }, + { + "pivot": 10534, + "donors": [ + 9228, + 9230, + 9935, + 9937, + 10532 + ] + }, + { + "pivot": 10741, + "donors": [ + 8339, + 8341, + 10740 + ] + }, + { + "pivot": 10759, + "donors": [ + 9845, + 9847, + 10758 + ] + }, + { + "pivot": 10764, + "donors": [ + 9175, + 9845 + ] + }, + { + "pivot": 10766, + "donors": [ + 9177, + 9847 + ] + }, + { + "pivot": 10812, + "donors": [ + 8339, + 8359, + 8394, + 9229, + 9898, + 10733, + 10740 + ] + }, + { + "pivot": 10813, + "donors": [ + 8339, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ] + }, + { + "pivot": 10830, + "donors": [ + 8412, + 9247, + 9845, + 9863, + 9916, + 10751, + 10758 + ] + }, + { + "pivot": 10831, + "donors": [ + 8412, + 9247, + 9845, + 9865, + 9916, + 10751, + 10758 + ] + }, + { + "pivot": 10836, + "donors": [ + 9193, + 9863 + ] + }, + { + "pivot": 10838, + "donors": [ + 9195, + 9865 + ] + }, + { + "pivot": 10859, + "donors": [ + 8339, + 8394, + 9229, + 9898, + 10733, + 10740 + ] + }, + { + "pivot": 10861, + "donors": [ + 8339, + 8359, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ] + }, + { + "pivot": 10877, + "donors": [ + 8412, + 9247, + 9845, + 9916, + 10751, + 10758 + ] + }, + { + "pivot": 10879, + "donors": [ + 8412, + 9247, + 9845, + 9863, + 9865, + 9916, + 10751, + 10758 + ] + }, + { + "pivot": 10884, + "donors": [ + 8413, + 9881 + ] + }, + { + "pivot": 10885, + "donors": [ + 8415, + 9881 + ] + }, + { + "pivot": 10892, + "donors": [ + 9211, + 9881 + ] + }, + { + "pivot": 10894, + "donors": [ + 8413, + 8415, + 9213, + 9881 + ] + }, + { + "pivot": 10922, + "donors": [ + 8339, + 9229, + 9247, + 9845, + 10733, + 10740, + 10751, + 10758, + 10911, + 10915 + ] + }, + { + "pivot": 10928, + "donors": [ + 8339, + 10733, + 10740, + 10911 + ] + }, + { + "pivot": 10929, + "donors": [ + 9228, + 9229, + 10532, + 10910, + 10911 + ] + }, + { + "pivot": 10940, + "donors": [ + 9228, + 9935, + 10532 + ] + }, + { + "pivot": 10941, + "donors": [ + 9228, + 9937, + 10532 + ] + }, + { + "pivot": 10946, + "donors": [ + 9845, + 10751, + 10758, + 10915 + ] + }, + { + "pivot": 10950, + "donors": [ + 9267, + 9935 + ] + }, + { + "pivot": 10952, + "donors": [ + 9269, + 9937 + ] + } + ] + }, + { + "line": [ + 16, + 17 + ], + "relations": [ + { + "pivot": 10277, + "donors": [ + 9719, + 9722, + 10275 + ] + }, + { + "pivot": 10382, + "donors": [ + 9691, + 9693, + 10379 + ] + }, + { + "pivot": 10785, + "donors": [ + 8787, + 8789, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 10783 + ] + }, + { + "pivot": 10890, + "donors": [ + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10887 + ] + }, + { + "pivot": 11171, + "donors": [ + 9691, + 9693, + 10782, + 10784, + 11168 + ] + }, + { + "pivot": 11172, + "donors": [ + 8787, + 8789, + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 10350, + 10352, + 11169 + ] + }, + { + "pivot": 11173, + "donors": [ + 8787, + 8789, + 8862, + 8864, + 10859, + 10861, + 11170 + ] + }, + { + "pivot": 11257, + "donors": [ + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 11255 + ] + }, + { + "pivot": 11286, + "donors": [ + 10859, + 10861, + 11283 + ] + }, + { + "pivot": 11558, + "donors": [ + 8615, + 10115, + 11006, + 11007, + 11448, + 11557 + ] + }, + { + "pivot": 11634, + "donors": [ + 8615, + 9691, + 9693, + 9719, + 9722, + 10115, + 10350, + 10352, + 11006, + 11007, + 11448, + 11527, + 11529, + 11555, + 11557, + 11632 + ] + }, + { + "pivot": 11711, + "donors": [ + 8615, + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11555, + 11557, + 11709 + ] + }, + { + "pivot": 11825, + "donors": [ + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 11824 + ] + }, + { + "pivot": 11830, + "donors": [ + 8787, + 8789, + 8891, + 8894, + 10859, + 10861, + 11828 + ] + }, + { + "pivot": 11843, + "donors": [ + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 11842 + ] + }, + { + "pivot": 11849, + "donors": [ + 8615, + 8787, + 8789, + 8891, + 8894, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11555, + 11557, + 11846 + ] + }, + { + "pivot": 11865, + "donors": [ + 8615, + 8787, + 8789, + 8862, + 8864, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11527, + 11529, + 11555, + 11557, + 11864 + ] + }, + { + "pivot": 11935, + "donors": [ + 8891, + 8894, + 11933 + ] + }, + { + "pivot": 11950, + "donors": [ + 8787, + 8862, + 10275, + 10350, + 10859, + 11169, + 11255, + 11527, + 11709, + 11824, + 11933 + ] + }, + { + "pivot": 11952, + "donors": [ + 8615, + 8787, + 8862, + 9691, + 9693, + 9719, + 9722, + 10115, + 10275, + 10350, + 10859, + 11006, + 11007, + 11169, + 11255, + 11448, + 11529, + 11555, + 11557, + 11709, + 11824, + 11933 + ] + }, + { + "pivot": 11963, + "donors": [ + 8901, + 8903, + 11962 + ] + }, + { + "pivot": 12331, + "donors": [ + 10623, + 11006, + 11007, + 11538 + ] + }, + { + "pivot": 12341, + "donors": [ + 8615, + 10623, + 11007, + 11448 + ] + }, + { + "pivot": 12344, + "donors": [ + 11007, + 11539 + ] + }, + { + "pivot": 12410, + "donors": [ + 8787, + 10275, + 10782, + 11168 + ] + }, + { + "pivot": 12418, + "donors": [ + 10783, + 11169, + 11170, + 11828 + ] + }, + { + "pivot": 12428, + "donors": [ + 8787, + 10783, + 11170, + 11632 + ] + }, + { + "pivot": 12439, + "donors": [ + 8789, + 9691, + 9693, + 9719, + 9722, + 10275, + 10782, + 11168 + ] + }, + { + "pivot": 12447, + "donors": [ + 8891, + 8894, + 9719, + 9722, + 10783, + 11169, + 11170, + 11828 + ] + }, + { + "pivot": 12457, + "donors": [ + 8615, + 8789, + 8862, + 8864, + 8891, + 8894, + 10115, + 10783, + 10859, + 10861, + 11006, + 11007, + 11170, + 11448, + 11527, + 11529, + 11555, + 11557, + 11632 + ] + }, + { + "pivot": 12546, + "donors": [ + 10350, + 11527, + 11709 + ] + }, + { + "pivot": 12547, + "donors": [ + 8787, + 8901, + 10275, + 10350, + 11169, + 11527, + 11709, + 11824, + 11933, + 11962 + ] + }, + { + "pivot": 12549, + "donors": [ + 8787, + 10275, + 11169, + 11824, + 11933 + ] + }, + { + "pivot": 12550, + "donors": [ + 8787, + 8862, + 10275, + 10350, + 11169, + 11527, + 11824, + 11933 + ] + }, + { + "pivot": 12575, + "donors": [ + 8615, + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10115, + 10352, + 10859, + 10861, + 11006, + 11007, + 11448, + 11529, + 11555, + 11557, + 11709 + ] + }, + { + "pivot": 12576, + "donors": [ + 8615, + 8789, + 8862, + 8864, + 8903, + 10115, + 10275, + 10350, + 10859, + 10861, + 11006, + 11007, + 11169, + 11448, + 11529, + 11555, + 11557, + 11709, + 11824, + 11933, + 11962 + ] + }, + { + "pivot": 12578, + "donors": [ + 8787, + 8862, + 8864, + 9691, + 9693, + 9719, + 9722, + 10275, + 10350, + 10352, + 11169, + 11824, + 11933 + ] + }, + { + "pivot": 12579, + "donors": [ + 8787, + 8862, + 9691, + 9693, + 9719, + 9722, + 10275, + 10350, + 11169, + 11529, + 11824, + 11933 + ] + }, + { + "pivot": 12607, + "donors": [ + 8787, + 10275, + 11169, + 11842, + 11937 + ] + }, + { + "pivot": 12665, + "donors": [ + 8787, + 10275, + 11169, + 11632, + 11828, + 11864, + 11955 + ] + } + ] + }, + { + "line": [ + 2, + 3 + ], + "relations": [ + { + "pivot": 9355, + "donors": [ + 9346, + 9347, + 9353 + ] + }, + { + "pivot": 9726, + "donors": [ + 9346, + 9353 + ] + }, + { + "pivot": 9729, + "donors": [ + 9347, + 9353 + ] + }, + { + "pivot": 9793, + "donors": [ + 9402, + 9403, + 9790 + ] + }, + { + "pivot": 12233, + "donors": [ + 9402, + 9790 + ] + }, + { + "pivot": 12262, + "donors": [ + 9403, + 9790 + ] + } + ] + } + ], + "portable": { + "status": "PASS_EXACT_SIGNED_PREFIX_AND_PORTABLE_SELECTION", + "head": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64", + "plain_odd_initial_read_events": 648088, + "last_plain_read": { + "record": 648087, + "scalar": [ + 3503, + 16719, + -1 + ] + }, + "target_prefix_setup_record": 696719, + "frozen_literal_cut_reads_reproduced": 1720, + "common_cut": "After all initial plain dirty compensation reads and all frozen kernel setups, before the first source injection. Per-entry latest-read cuts also legal because every first non-read use is later than the entire plain-read block.", + "variants": { + "two_lines": { + "entries": [ + { + "pivot": 13403, + "donors": [ + 11933, + 11935, + 13401 + ], + "virtual_pivot": 9883, + "virtual_donors": [ + 8413, + 8415, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3207, + 13403, + -1 + ], + "base_prefix_cut_record": 563335, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14054, + "donors": [ + 12748, + 12750, + 13455, + 13457, + 14052 + ], + "virtual_pivot": 10534, + "virtual_donors": [ + 9228, + 9230, + 9935, + 9937, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2183, + 14054, + -1 + ], + "base_prefix_cut_record": 579815, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14261, + "donors": [ + 11859, + 11861, + 14260 + ], + "virtual_pivot": 10741, + "virtual_donors": [ + 8339, + 8341, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3143, + 14261, + -1 + ], + "base_prefix_cut_record": 583735, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14279, + "donors": [ + 13365, + 13367, + 14278 + ], + "virtual_pivot": 10759, + "virtual_donors": [ + 9845, + 9847, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3151, + 14279, + -1 + ], + "base_prefix_cut_record": 584263, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14284, + "donors": [ + 12695, + 13365 + ], + "virtual_pivot": 10764, + "virtual_donors": [ + 9175, + 9845 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2638, + 14284, + -1 + ], + "base_prefix_cut_record": 584351, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14286, + "donors": [ + 12697, + 13367 + ], + "virtual_pivot": 10766, + "virtual_donors": [ + 9177, + 9847 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2639, + 14286, + -1 + ], + "base_prefix_cut_record": 584383, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14332, + "donors": [ + 11859, + 11879, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10812, + "virtual_donors": [ + 8339, + 8359, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3174, + 14332, + -1 + ], + "base_prefix_cut_record": 585515, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14333, + "donors": [ + 11859, + 11881, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10813, + "virtual_donors": [ + 8339, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3175, + 14333, + -1 + ], + "base_prefix_cut_record": 585519, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14350, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10830, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3182, + 14350, + -1 + ], + "base_prefix_cut_record": 586203, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14351, + "donors": [ + 11932, + 12767, + 13365, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10831, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9865, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3183, + 14351, + -1 + ], + "base_prefix_cut_record": 586207, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14356, + "donors": [ + 12713, + 13383 + ], + "virtual_pivot": 10836, + "virtual_donors": [ + 9193, + 9863 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2646, + 14356, + -1 + ], + "base_prefix_cut_record": 586319, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14358, + "donors": [ + 12715, + 13385 + ], + "virtual_pivot": 10838, + "virtual_donors": [ + 9195, + 9865 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2647, + 14358, + -1 + ], + "base_prefix_cut_record": 586351, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14379, + "donors": [ + 11859, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10859, + "virtual_donors": [ + 8339, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3174, + 14379, + -1 + ], + "base_prefix_cut_record": 586831, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14381, + "donors": [ + 11859, + 11879, + 11881, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10861, + "virtual_donors": [ + 8339, + 8359, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3175, + 14381, + -1 + ], + "base_prefix_cut_record": 586879, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14397, + "donors": [ + 11932, + 12767, + 13365, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10877, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3182, + 14397, + -1 + ], + "base_prefix_cut_record": 587087, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14399, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10879, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9865, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3183, + 14399, + -1 + ], + "base_prefix_cut_record": 587135, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14404, + "donors": [ + 11933, + 13401 + ], + "virtual_pivot": 10884, + "virtual_donors": [ + 8413, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3206, + 14404, + -1 + ], + "base_prefix_cut_record": 587163, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14405, + "donors": [ + 11935, + 13401 + ], + "virtual_pivot": 10885, + "virtual_donors": [ + 8415, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3207, + 14405, + -1 + ], + "base_prefix_cut_record": 587167, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14412, + "donors": [ + 12731, + 13401 + ], + "virtual_pivot": 10892, + "virtual_donors": [ + 9211, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2654, + 14412, + -1 + ], + "base_prefix_cut_record": 587559, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14414, + "donors": [ + 11933, + 11935, + 12733, + 13401 + ], + "virtual_pivot": 10894, + "virtual_donors": [ + 8413, + 8415, + 9213, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 14414, + -1 + ], + "base_prefix_cut_record": 587591, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14442, + "donors": [ + 11859, + 12749, + 12767, + 13365, + 14253, + 14260, + 14271, + 14278, + 14431, + 14435 + ], + "virtual_pivot": 10922, + "virtual_donors": [ + 8339, + 9229, + 9247, + 9845, + 10733, + 10740, + 10751, + 10758, + 10911, + 10915 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3222, + 14442, + -1 + ], + "base_prefix_cut_record": 587963, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14448, + "donors": [ + 11859, + 14253, + 14260, + 14431 + ], + "virtual_pivot": 10928, + "virtual_donors": [ + 8339, + 10733, + 10740, + 10911 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2662, + 14448, + -1 + ], + "base_prefix_cut_record": 588063, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14449, + "donors": [ + 12748, + 12749, + 14052, + 14430, + 14431 + ], + "virtual_pivot": 10929, + "virtual_donors": [ + 9228, + 9229, + 10532, + 10910, + 10911 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3221, + 14449, + -1 + ], + "base_prefix_cut_record": 588071, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14460, + "donors": [ + 12748, + 13455, + 14052 + ], + "virtual_pivot": 10940, + "virtual_donors": [ + 9228, + 9935, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3230, + 14460, + -1 + ], + "base_prefix_cut_record": 588195, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14461, + "donors": [ + 12748, + 13457, + 14052 + ], + "virtual_pivot": 10941, + "virtual_donors": [ + 9228, + 9937, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3231, + 14461, + -1 + ], + "base_prefix_cut_record": 588199, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14466, + "donors": [ + 13365, + 14271, + 14278, + 14435 + ], + "virtual_pivot": 10946, + "virtual_donors": [ + 9845, + 10751, + 10758, + 10915 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2670, + 14466, + -1 + ], + "base_prefix_cut_record": 588599, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14470, + "donors": [ + 12787, + 13455 + ], + "virtual_pivot": 10950, + "virtual_donors": [ + 9267, + 9935 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2678, + 14470, + -1 + ], + "base_prefix_cut_record": 588663, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14472, + "donors": [ + 12789, + 13457 + ], + "virtual_pivot": 10952, + "virtual_donors": [ + 9269, + 9937 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 14472, + -1 + ], + "base_prefix_cut_record": 588695, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 12875, + "donors": [ + 12866, + 12867, + 12873 + ], + "virtual_pivot": 9355, + "virtual_donors": [ + 9346, + 9347, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 12875, + -1 + ], + "base_prefix_cut_record": 549359, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13246, + "donors": [ + 12866, + 12873 + ], + "virtual_pivot": 9726, + "virtual_donors": [ + 9346, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2654, + 13246, + -1 + ], + "base_prefix_cut_record": 558975, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13249, + "donors": [ + 12867, + 12873 + ], + "virtual_pivot": 9729, + "virtual_donors": [ + 9347, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 13249, + -1 + ], + "base_prefix_cut_record": 559167, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13313, + "donors": [ + 12922, + 12923, + 13310 + ], + "virtual_pivot": 9793, + "virtual_donors": [ + 9402, + 9403, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 13313, + -1 + ], + "base_prefix_cut_record": 561487, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15753, + "donors": [ + 12922, + 13310 + ], + "virtual_pivot": 12233, + "virtual_donors": [ + 9402, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2677, + 15753, + -1 + ], + "base_prefix_cut_record": 625503, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15782, + "donors": [ + 12923, + 13310 + ], + "virtual_pivot": 12262, + "virtual_donors": [ + 9403, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 15782, + -1 + ], + "base_prefix_cut_record": 626351, + "kind": "shared-donor-contrast-line" + } + ], + "groups": [ + { + "line": [ + 6, + 7 + ], + "pivots": 28, + "distinct_donors": 37, + "active_virtual_roles": [ + 8339, + 8341, + 8359, + 8361, + 8394, + 8412, + 8413, + 8415, + 9175, + 9177, + 9193, + 9195, + 9211, + 9213, + 9228, + 9229, + 9230, + 9247, + 9267, + 9269, + 9845, + 9847, + 9863, + 9865, + 9881, + 9883, + 9898, + 9916, + 9935, + 9937, + 10532, + 10534, + 10733, + 10740, + 10741, + 10751, + 10758, + 10759, + 10764, + 10766, + 10812, + 10813, + 10830, + 10831, + 10836, + 10838, + 10859, + 10861, + 10877, + 10879, + 10884, + 10885, + 10892, + 10894, + 10910, + 10911, + 10915, + 10922, + 10928, + 10929, + 10940, + 10941, + 10946, + 10950, + 10952 + ] + }, + { + "line": [ + 2, + 3 + ], + "pivots": 6, + "distinct_donors": 6, + "active_virtual_roles": [ + 9346, + 9347, + 9353, + 9355, + 9402, + 9403, + 9726, + 9729, + 9790, + 9793, + 12233, + 12262 + ] + } + ], + "pivots": 34, + "distinct_donors": 43, + "scalar_setup_gates": 135, + "scalar_restore_gates": 135 + }, + "three_lines_trimmed": { + "entries": [ + { + "pivot": 13403, + "donors": [ + 11933, + 11935, + 13401 + ], + "virtual_pivot": 9883, + "virtual_donors": [ + 8413, + 8415, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3207, + 13403, + -1 + ], + "base_prefix_cut_record": 563335, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14054, + "donors": [ + 12748, + 12750, + 13455, + 13457, + 14052 + ], + "virtual_pivot": 10534, + "virtual_donors": [ + 9228, + 9230, + 9935, + 9937, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2183, + 14054, + -1 + ], + "base_prefix_cut_record": 579815, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14261, + "donors": [ + 11859, + 11861, + 14260 + ], + "virtual_pivot": 10741, + "virtual_donors": [ + 8339, + 8341, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3143, + 14261, + -1 + ], + "base_prefix_cut_record": 583735, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14279, + "donors": [ + 13365, + 13367, + 14278 + ], + "virtual_pivot": 10759, + "virtual_donors": [ + 9845, + 9847, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3151, + 14279, + -1 + ], + "base_prefix_cut_record": 584263, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14284, + "donors": [ + 12695, + 13365 + ], + "virtual_pivot": 10764, + "virtual_donors": [ + 9175, + 9845 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2638, + 14284, + -1 + ], + "base_prefix_cut_record": 584351, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14286, + "donors": [ + 12697, + 13367 + ], + "virtual_pivot": 10766, + "virtual_donors": [ + 9177, + 9847 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2639, + 14286, + -1 + ], + "base_prefix_cut_record": 584383, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14332, + "donors": [ + 11859, + 11879, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10812, + "virtual_donors": [ + 8339, + 8359, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3174, + 14332, + -1 + ], + "base_prefix_cut_record": 585515, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14333, + "donors": [ + 11859, + 11881, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10813, + "virtual_donors": [ + 8339, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3175, + 14333, + -1 + ], + "base_prefix_cut_record": 585519, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14350, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10830, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3182, + 14350, + -1 + ], + "base_prefix_cut_record": 586203, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14351, + "donors": [ + 11932, + 12767, + 13365, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10831, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9865, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3183, + 14351, + -1 + ], + "base_prefix_cut_record": 586207, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14356, + "donors": [ + 12713, + 13383 + ], + "virtual_pivot": 10836, + "virtual_donors": [ + 9193, + 9863 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2646, + 14356, + -1 + ], + "base_prefix_cut_record": 586319, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14358, + "donors": [ + 12715, + 13385 + ], + "virtual_pivot": 10838, + "virtual_donors": [ + 9195, + 9865 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2647, + 14358, + -1 + ], + "base_prefix_cut_record": 586351, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14397, + "donors": [ + 11932, + 12767, + 13365, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10877, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3182, + 14397, + -1 + ], + "base_prefix_cut_record": 587087, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14399, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10879, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9865, + 9916, + 10751, + 10758 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3183, + 14399, + -1 + ], + "base_prefix_cut_record": 587135, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14404, + "donors": [ + 11933, + 13401 + ], + "virtual_pivot": 10884, + "virtual_donors": [ + 8413, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3206, + 14404, + -1 + ], + "base_prefix_cut_record": 587163, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14405, + "donors": [ + 11935, + 13401 + ], + "virtual_pivot": 10885, + "virtual_donors": [ + 8415, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3207, + 14405, + -1 + ], + "base_prefix_cut_record": 587167, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14412, + "donors": [ + 12731, + 13401 + ], + "virtual_pivot": 10892, + "virtual_donors": [ + 9211, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2654, + 14412, + -1 + ], + "base_prefix_cut_record": 587559, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14414, + "donors": [ + 11933, + 11935, + 12733, + 13401 + ], + "virtual_pivot": 10894, + "virtual_donors": [ + 8413, + 8415, + 9213, + 9881 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 14414, + -1 + ], + "base_prefix_cut_record": 587591, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14442, + "donors": [ + 11859, + 12749, + 12767, + 13365, + 14253, + 14260, + 14271, + 14278, + 14431, + 14435 + ], + "virtual_pivot": 10922, + "virtual_donors": [ + 8339, + 9229, + 9247, + 9845, + 10733, + 10740, + 10751, + 10758, + 10911, + 10915 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3222, + 14442, + -1 + ], + "base_prefix_cut_record": 587963, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14448, + "donors": [ + 11859, + 14253, + 14260, + 14431 + ], + "virtual_pivot": 10928, + "virtual_donors": [ + 8339, + 10733, + 10740, + 10911 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2662, + 14448, + -1 + ], + "base_prefix_cut_record": 588063, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14449, + "donors": [ + 12748, + 12749, + 14052, + 14430, + 14431 + ], + "virtual_pivot": 10929, + "virtual_donors": [ + 9228, + 9229, + 10532, + 10910, + 10911 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3221, + 14449, + -1 + ], + "base_prefix_cut_record": 588071, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14460, + "donors": [ + 12748, + 13455, + 14052 + ], + "virtual_pivot": 10940, + "virtual_donors": [ + 9228, + 9935, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3230, + 14460, + -1 + ], + "base_prefix_cut_record": 588195, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14461, + "donors": [ + 12748, + 13457, + 14052 + ], + "virtual_pivot": 10941, + "virtual_donors": [ + 9228, + 9937, + 10532 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3231, + 14461, + -1 + ], + "base_prefix_cut_record": 588199, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14466, + "donors": [ + 13365, + 14271, + 14278, + 14435 + ], + "virtual_pivot": 10946, + "virtual_donors": [ + 9845, + 10751, + 10758, + 10915 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2670, + 14466, + -1 + ], + "base_prefix_cut_record": 588599, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14470, + "donors": [ + 12787, + 13455 + ], + "virtual_pivot": 10950, + "virtual_donors": [ + 9267, + 9935 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2678, + 14470, + -1 + ], + "base_prefix_cut_record": 588663, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14472, + "donors": [ + 12789, + 13457 + ], + "virtual_pivot": 10952, + "virtual_donors": [ + 9269, + 9937 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 14472, + -1 + ], + "base_prefix_cut_record": 588695, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13797, + "donors": [ + 13239, + 13242, + 13795 + ], + "virtual_pivot": 10277, + "virtual_donors": [ + 9719, + 9722, + 10275 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2495, + 13797, + -1 + ], + "base_prefix_cut_record": 572567, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13902, + "donors": [ + 13211, + 13213, + 13899 + ], + "virtual_pivot": 10382, + "virtual_donors": [ + 9691, + 9693, + 10379 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2783, + 13902, + -1 + ], + "base_prefix_cut_record": 575507, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14305, + "donors": [ + 12307, + 12309, + 12411, + 12414, + 13211, + 13213, + 13239, + 13242, + 13870, + 13872, + 14303 + ], + "virtual_pivot": 10785, + "virtual_donors": [ + 8787, + 8789, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 10783 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3175, + 14305, + -1 + ], + "base_prefix_cut_record": 584759, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14410, + "donors": [ + 12307, + 12309, + 13211, + 13213, + 13239, + 13242, + 14407 + ], + "virtual_pivot": 10890, + "virtual_donors": [ + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10887 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3007, + 14410, + -1 + ], + "base_prefix_cut_record": 587379, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14691, + "donors": [ + 13211, + 13213, + 14302, + 14304, + 14688 + ], + "virtual_pivot": 11171, + "virtual_donors": [ + 9691, + 9693, + 10782, + 10784, + 11168 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2495, + 14691, + -1 + ], + "base_prefix_cut_record": 593415, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14692, + "donors": [ + 12307, + 12309, + 12382, + 12384, + 12411, + 12414, + 13211, + 13213, + 13870, + 13872, + 14689 + ], + "virtual_pivot": 11172, + "virtual_donors": [ + 8787, + 8789, + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 10350, + 10352, + 11169 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3471, + 14692, + -1 + ], + "base_prefix_cut_record": 593427, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14693, + "donors": [ + 12307, + 12309, + 12382, + 12384, + 14379, + 14381, + 14690 + ], + "virtual_pivot": 11173, + "virtual_donors": [ + 8787, + 8789, + 8862, + 8864, + 10859, + 10861, + 11170 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3479, + 14693, + -1 + ], + "base_prefix_cut_record": 593439, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14777, + "donors": [ + 12307, + 12309, + 13211, + 13213, + 13239, + 13242, + 14775 + ], + "virtual_pivot": 11257, + "virtual_donors": [ + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 11255 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3007, + 14777, + -1 + ], + "base_prefix_cut_record": 595911, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 14806, + "donors": [ + 14379, + 14381, + 14803 + ], + "virtual_pivot": 11286, + "virtual_donors": [ + 10859, + 10861, + 11283 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3175, + 14806, + -1 + ], + "base_prefix_cut_record": 596595, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15078, + "donors": [ + 12135, + 13635, + 14526, + 14527, + 14968, + 15077 + ], + "virtual_pivot": 11558, + "virtual_donors": [ + 8615, + 10115, + 11006, + 11007, + 11448, + 11557 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3295, + 15078, + -1 + ], + "base_prefix_cut_record": 604483, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15154, + "donors": [ + 12135, + 13211, + 13213, + 13239, + 13242, + 13635, + 13870, + 13872, + 14526, + 14527, + 14968, + 15047, + 15049, + 15075, + 15077, + 15152 + ], + "virtual_pivot": 11634, + "virtual_donors": [ + 8615, + 9691, + 9693, + 9719, + 9722, + 10115, + 10350, + 10352, + 11006, + 11007, + 11448, + 11527, + 11529, + 11555, + 11557, + 11632 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2135, + 15154, + -1 + ], + "base_prefix_cut_record": 606751, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15231, + "donors": [ + 12135, + 12307, + 12309, + 13211, + 13213, + 13239, + 13242, + 13635, + 14379, + 14381, + 14526, + 14527, + 14968, + 15075, + 15077, + 15229 + ], + "virtual_pivot": 11711, + "virtual_donors": [ + 8615, + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11555, + 11557, + 11709 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3295, + 15231, + -1 + ], + "base_prefix_cut_record": 609295, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15345, + "donors": [ + 12382, + 12384, + 12411, + 12414, + 13211, + 13213, + 13239, + 13242, + 13870, + 13872, + 15344 + ], + "virtual_pivot": 11825, + "virtual_donors": [ + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 11824 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3471, + 15345, + -1 + ], + "base_prefix_cut_record": 613327, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15350, + "donors": [ + 12307, + 12309, + 12411, + 12414, + 14379, + 14381, + 15348 + ], + "virtual_pivot": 11830, + "virtual_donors": [ + 8787, + 8789, + 8891, + 8894, + 10859, + 10861, + 11828 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3007, + 15350, + -1 + ], + "base_prefix_cut_record": 613391, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15363, + "donors": [ + 12382, + 12384, + 12411, + 12414, + 13211, + 13213, + 13239, + 13242, + 13870, + 13872, + 15362 + ], + "virtual_pivot": 11843, + "virtual_donors": [ + 8862, + 8864, + 8891, + 8894, + 9691, + 9693, + 9719, + 9722, + 10350, + 10352, + 11842 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3471, + 15363, + -1 + ], + "base_prefix_cut_record": 613623, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15369, + "donors": [ + 12135, + 12307, + 12309, + 12411, + 12414, + 13635, + 14379, + 14381, + 14526, + 14527, + 14968, + 15075, + 15077, + 15366 + ], + "virtual_pivot": 11849, + "virtual_donors": [ + 8615, + 8787, + 8789, + 8891, + 8894, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11555, + 11557, + 11846 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3007, + 15369, + -1 + ], + "base_prefix_cut_record": 613839, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15385, + "donors": [ + 12135, + 12307, + 12309, + 12382, + 12384, + 13635, + 14379, + 14381, + 14526, + 14527, + 14968, + 15047, + 15049, + 15075, + 15077, + 15384 + ], + "virtual_pivot": 11865, + "virtual_donors": [ + 8615, + 8787, + 8789, + 8862, + 8864, + 10115, + 10859, + 10861, + 11006, + 11007, + 11448, + 11527, + 11529, + 11555, + 11557, + 11864 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3479, + 15385, + -1 + ], + "base_prefix_cut_record": 614503, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15455, + "donors": [ + 12411, + 12414, + 15453 + ], + "virtual_pivot": 11935, + "virtual_donors": [ + 8891, + 8894, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2135, + 15455, + -1 + ], + "base_prefix_cut_record": 616615, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15470, + "donors": [ + 12307, + 12382, + 13795, + 13870, + 14379, + 14689, + 14775, + 15047, + 15229, + 15344, + 15453 + ], + "virtual_pivot": 11950, + "virtual_donors": [ + 8787, + 8862, + 10275, + 10350, + 10859, + 11169, + 11255, + 11527, + 11709, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3374, + 15470, + -1 + ], + "base_prefix_cut_record": 616831, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15472, + "donors": [ + 12135, + 12307, + 12382, + 13211, + 13213, + 13239, + 13242, + 13635, + 13795, + 13870, + 14379, + 14526, + 14527, + 14689, + 14775, + 14968, + 15049, + 15075, + 15077, + 15229, + 15344, + 15453 + ], + "virtual_pivot": 11952, + "virtual_donors": [ + 8615, + 8787, + 8862, + 9691, + 9693, + 9719, + 9722, + 10115, + 10275, + 10350, + 10859, + 11006, + 11007, + 11169, + 11255, + 11448, + 11529, + 11555, + 11557, + 11709, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3375, + 15472, + -1 + ], + "base_prefix_cut_record": 616867, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15483, + "donors": [ + 12421, + 12423, + 15482 + ], + "virtual_pivot": 11963, + "virtual_donors": [ + 8901, + 8903, + 11962 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3431, + 15483, + -1 + ], + "base_prefix_cut_record": 617007, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15851, + "donors": [ + 14143, + 14526, + 14527, + 15058 + ], + "virtual_pivot": 12331, + "virtual_donors": [ + 10623, + 11006, + 11007, + 11538 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2423, + 15851, + -1 + ], + "base_prefix_cut_record": 628451, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15861, + "donors": [ + 12135, + 14143, + 14527, + 14968 + ], + "virtual_pivot": 12341, + "virtual_donors": [ + 8615, + 10623, + 11007, + 11448 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2063, + 15861, + -1 + ], + "base_prefix_cut_record": 628823, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15864, + "donors": [ + 14527, + 15059 + ], + "virtual_pivot": 12344, + "virtual_donors": [ + 11007, + 11539 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3311, + 15864, + -1 + ], + "base_prefix_cut_record": 628863, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15930, + "donors": [ + 12307, + 13795, + 14302, + 14688 + ], + "virtual_pivot": 12410, + "virtual_donors": [ + 8787, + 10275, + 10782, + 11168 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3005, + 15930, + -1 + ], + "base_prefix_cut_record": 630611, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15938, + "donors": [ + 14303, + 14689, + 14690, + 15348 + ], + "virtual_pivot": 12418, + "virtual_donors": [ + 10783, + 11169, + 11170, + 11828 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2493, + 15938, + -1 + ], + "base_prefix_cut_record": 630995, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15948, + "donors": [ + 12307, + 14303, + 14690, + 15152 + ], + "virtual_pivot": 12428, + "virtual_donors": [ + 8787, + 10783, + 11170, + 11632 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2133, + 15948, + -1 + ], + "base_prefix_cut_record": 631367, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15959, + "donors": [ + 12309, + 13211, + 13213, + 13239, + 13242, + 13795, + 14302, + 14688 + ], + "virtual_pivot": 12439, + "virtual_donors": [ + 8789, + 9691, + 9693, + 9719, + 9722, + 10275, + 10782, + 11168 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3007, + 15959, + -1 + ], + "base_prefix_cut_record": 631459, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15967, + "donors": [ + 12411, + 12414, + 13239, + 13242, + 14303, + 14689, + 14690, + 15348 + ], + "virtual_pivot": 12447, + "virtual_donors": [ + 8891, + 8894, + 9719, + 9722, + 10783, + 11169, + 11170, + 11828 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2495, + 15967, + -1 + ], + "base_prefix_cut_record": 631843, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15977, + "donors": [ + 12135, + 12309, + 12382, + 12384, + 12411, + 12414, + 13635, + 14303, + 14379, + 14381, + 14526, + 14527, + 14690, + 14968, + 15047, + 15049, + 15075, + 15077, + 15152 + ], + "virtual_pivot": 12457, + "virtual_donors": [ + 8615, + 8789, + 8862, + 8864, + 8891, + 8894, + 10115, + 10783, + 10859, + 10861, + 11006, + 11007, + 11170, + 11448, + 11527, + 11529, + 11555, + 11557, + 11632 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2135, + 15977, + -1 + ], + "base_prefix_cut_record": 632215, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16066, + "donors": [ + 13870, + 15047, + 15229 + ], + "virtual_pivot": 12546, + "virtual_donors": [ + 10350, + 11527, + 11709 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3469, + 16066, + -1 + ], + "base_prefix_cut_record": 634795, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16067, + "donors": [ + 12307, + 12421, + 13795, + 13870, + 14689, + 15047, + 15229, + 15344, + 15453, + 15482 + ], + "virtual_pivot": 12547, + "virtual_donors": [ + 8787, + 8901, + 10275, + 10350, + 11169, + 11527, + 11709, + 11824, + 11933, + 11962 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3429, + 16067, + -1 + ], + "base_prefix_cut_record": 634799, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16069, + "donors": [ + 12307, + 13795, + 14689, + 15344, + 15453 + ], + "virtual_pivot": 12549, + "virtual_donors": [ + 8787, + 10275, + 11169, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3469, + 16069, + -1 + ], + "base_prefix_cut_record": 634811, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16070, + "donors": [ + 12307, + 12382, + 13795, + 13870, + 14689, + 15047, + 15344, + 15453 + ], + "virtual_pivot": 12550, + "virtual_donors": [ + 8787, + 8862, + 10275, + 10350, + 11169, + 11527, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3374, + 16070, + -1 + ], + "base_prefix_cut_record": 634823, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16095, + "donors": [ + 12135, + 12307, + 12309, + 13211, + 13213, + 13239, + 13242, + 13635, + 13872, + 14379, + 14381, + 14526, + 14527, + 14968, + 15049, + 15075, + 15077, + 15229 + ], + "virtual_pivot": 12575, + "virtual_donors": [ + 8615, + 8787, + 8789, + 9691, + 9693, + 9719, + 9722, + 10115, + 10352, + 10859, + 10861, + 11006, + 11007, + 11448, + 11529, + 11555, + 11557, + 11709 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3471, + 16095, + -1 + ], + "base_prefix_cut_record": 635643, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16096, + "donors": [ + 12135, + 12309, + 12382, + 12384, + 12423, + 13635, + 13795, + 13870, + 14379, + 14381, + 14526, + 14527, + 14689, + 14968, + 15049, + 15075, + 15077, + 15229, + 15344, + 15453, + 15482 + ], + "virtual_pivot": 12576, + "virtual_donors": [ + 8615, + 8789, + 8862, + 8864, + 8903, + 10115, + 10275, + 10350, + 10859, + 10861, + 11006, + 11007, + 11169, + 11448, + 11529, + 11555, + 11557, + 11709, + 11824, + 11933, + 11962 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3431, + 16096, + -1 + ], + "base_prefix_cut_record": 635647, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16098, + "donors": [ + 12307, + 12382, + 12384, + 13211, + 13213, + 13239, + 13242, + 13795, + 13870, + 13872, + 14689, + 15344, + 15453 + ], + "virtual_pivot": 12578, + "virtual_donors": [ + 8787, + 8862, + 8864, + 9691, + 9693, + 9719, + 9722, + 10275, + 10350, + 10352, + 11169, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3471, + 16098, + -1 + ], + "base_prefix_cut_record": 635659, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16099, + "donors": [ + 12307, + 12382, + 13211, + 13213, + 13239, + 13242, + 13795, + 13870, + 14689, + 15049, + 15344, + 15453 + ], + "virtual_pivot": 12579, + "virtual_donors": [ + 8787, + 8862, + 9691, + 9693, + 9719, + 9722, + 10275, + 10350, + 11169, + 11529, + 11824, + 11933 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3375, + 16099, + -1 + ], + "base_prefix_cut_record": 635671, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16127, + "donors": [ + 12307, + 13795, + 14689, + 15362, + 15457 + ], + "virtual_pivot": 12607, + "virtual_donors": [ + 8787, + 10275, + 11169, + 11842, + 11937 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3470, + 16127, + -1 + ], + "base_prefix_cut_record": 636507, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 16185, + "donors": [ + 12307, + 13795, + 14689, + 15152, + 15348, + 15384, + 15475 + ], + "virtual_pivot": 12665, + "virtual_donors": [ + 8787, + 10275, + 11169, + 11632, + 11828, + 11864, + 11955 + ], + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 3478, + 16185, + -1 + ], + "base_prefix_cut_record": 638203, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 12875, + "donors": [ + 12866, + 12867, + 12873 + ], + "virtual_pivot": 9355, + "virtual_donors": [ + 9346, + 9347, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 12875, + -1 + ], + "base_prefix_cut_record": 549359, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13246, + "donors": [ + 12866, + 12873 + ], + "virtual_pivot": 9726, + "virtual_donors": [ + 9346, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2654, + 13246, + -1 + ], + "base_prefix_cut_record": 558975, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13249, + "donors": [ + 12867, + 12873 + ], + "virtual_pivot": 9729, + "virtual_donors": [ + 9347, + 9353 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2655, + 13249, + -1 + ], + "base_prefix_cut_record": 559167, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 13313, + "donors": [ + 12922, + 12923, + 13310 + ], + "virtual_pivot": 9793, + "virtual_donors": [ + 9402, + 9403, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 13313, + -1 + ], + "base_prefix_cut_record": 561487, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15753, + "donors": [ + 12922, + 13310 + ], + "virtual_pivot": 12233, + "virtual_donors": [ + 9402, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2677, + 15753, + -1 + ], + "base_prefix_cut_record": 625503, + "kind": "shared-donor-contrast-line" + }, + { + "pivot": 15782, + "donors": [ + 12923, + 13310 + ], + "virtual_pivot": 12262, + "virtual_donors": [ + 9403, + 9790 + ], + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ], + "rank": 1, + "cut_read": [ + 2679, + 15782, + -1 + ], + "base_prefix_cut_record": 626351, + "kind": "shared-donor-contrast-line" + } + ], + "groups": [ + { + "line": [ + 6, + 7 + ], + "pivots": 26, + "distinct_donors": 37, + "active_virtual_roles": [ + 8339, + 8341, + 8359, + 8361, + 8394, + 8412, + 8413, + 8415, + 9175, + 9177, + 9193, + 9195, + 9211, + 9213, + 9228, + 9229, + 9230, + 9247, + 9267, + 9269, + 9845, + 9847, + 9863, + 9865, + 9881, + 9883, + 9898, + 9916, + 9935, + 9937, + 10532, + 10534, + 10733, + 10740, + 10741, + 10751, + 10758, + 10759, + 10764, + 10766, + 10812, + 10813, + 10830, + 10831, + 10836, + 10838, + 10877, + 10879, + 10884, + 10885, + 10892, + 10894, + 10910, + 10911, + 10915, + 10922, + 10928, + 10929, + 10940, + 10941, + 10946, + 10950, + 10952 + ] + }, + { + "line": [ + 16, + 17 + ], + "pivots": 40, + "distinct_donors": 50, + "active_virtual_roles": [ + 8615, + 8787, + 8789, + 8862, + 8864, + 8891, + 8894, + 8901, + 8903, + 9691, + 9693, + 9719, + 9722, + 10115, + 10275, + 10277, + 10350, + 10352, + 10379, + 10382, + 10623, + 10782, + 10783, + 10784, + 10785, + 10859, + 10861, + 10887, + 10890, + 11006, + 11007, + 11168, + 11169, + 11170, + 11171, + 11172, + 11173, + 11255, + 11257, + 11283, + 11286, + 11448, + 11527, + 11529, + 11538, + 11539, + 11555, + 11557, + 11558, + 11632, + 11634, + 11709, + 11711, + 11824, + 11825, + 11828, + 11830, + 11842, + 11843, + 11846, + 11849, + 11864, + 11865, + 11933, + 11935, + 11937, + 11950, + 11952, + 11955, + 11962, + 11963, + 12331, + 12341, + 12344, + 12410, + 12418, + 12428, + 12439, + 12447, + 12457, + 12546, + 12547, + 12549, + 12550, + 12575, + 12576, + 12578, + 12579, + 12607, + 12665 + ] + }, + { + "line": [ + 2, + 3 + ], + "pivots": 6, + "distinct_donors": 6, + "active_virtual_roles": [ + 9346, + 9347, + 9353, + 9355, + 9402, + 9403, + 9726, + 9729, + 9790, + 9793, + 12233, + 12262 + ] + } + ], + "pivots": 72, + "distinct_donors": 93, + "scalar_setup_gates": 473, + "scalar_restore_gates": 473 + } + }, + "scope": "Exact signed prefix, parity response relations, cut ordering, physical stream mapping and new relation selections. This is not a newly replayed complete physical word. Bank charts, whole-word scalar/finite bounds and assembler admission need independent certificates." + } +} diff --git a/research/gen5b-shared-kernels/kernel70-witness.json b/research/gen5b-shared-kernels/kernel70-witness.json new file mode 100644 index 0000000000..8379343ab6 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel70-witness.json @@ -0,0 +1,3818 @@ +{ + "status": "EXACT_RESPONSE_CANDIDATE_PENDING_ADMISSION", + "entries": [ + { + "pivot": 13403, + "donors": [ + 11933, + 11935, + 13401 + ], + "virtual_pivot": 9883, + "virtual_donors": [ + 8413, + 8415, + 9881 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14054, + "donors": [ + 12748, + 12750, + 13455, + 13457, + 14052 + ], + "virtual_pivot": 10534, + "virtual_donors": [ + 9228, + 9230, + 9935, + 9937, + 10532 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14261, + "donors": [ + 11859, + 11861, + 14260 + ], + "virtual_pivot": 10741, + "virtual_donors": [ + 8339, + 8341, + 10740 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14279, + "donors": [ + 13365, + 13367, + 14278 + ], + "virtual_pivot": 10759, + "virtual_donors": [ + 9845, + 9847, + 10758 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14284, + "donors": [ + 12695, + 13365 + ], + "virtual_pivot": 10764, + "virtual_donors": [ + 9175, + 9845 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14286, + "donors": [ + 12697, + 13367 + ], + "virtual_pivot": 10766, + "virtual_donors": [ + 9177, + 9847 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14332, + "donors": [ + 11859, + 11879, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10812, + "virtual_donors": [ + 8339, + 8359, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14333, + "donors": [ + 11859, + 11881, + 11914, + 12749, + 13418, + 14253, + 14260 + ], + "virtual_pivot": 10813, + "virtual_donors": [ + 8339, + 8361, + 8394, + 9229, + 9898, + 10733, + 10740 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14350, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10830, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9916, + 10751, + 10758 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14351, + "donors": [ + 11932, + 12767, + 13365, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10831, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9865, + 9916, + 10751, + 10758 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14356, + "donors": [ + 12713, + 13383 + ], + "virtual_pivot": 10836, + "virtual_donors": [ + 9193, + 9863 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14358, + "donors": [ + 12715, + 13385 + ], + "virtual_pivot": 10838, + "virtual_donors": [ + 9195, + 9865 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14397, + "donors": [ + 11932, + 12767, + 13365, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10877, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9916, + 10751, + 10758 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14399, + "donors": [ + 11932, + 12767, + 13365, + 13383, + 13385, + 13436, + 14271, + 14278 + ], + "virtual_pivot": 10879, + "virtual_donors": [ + 8412, + 9247, + 9845, + 9863, + 9865, + 9916, + 10751, + 10758 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14404, + "donors": [ + 11933, + 13401 + ], + "virtual_pivot": 10884, + "virtual_donors": [ + 8413, + 9881 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14405, + "donors": [ + 11935, + 13401 + ], + "virtual_pivot": 10885, + "virtual_donors": [ + 8415, + 9881 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14412, + "donors": [ + 12731, + 13401 + ], + "virtual_pivot": 10892, + "virtual_donors": [ + 9211, + 9881 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14414, + "donors": [ + 11933, + 11935, + 12733, + 13401 + ], + "virtual_pivot": 10894, + "virtual_donors": [ + 8413, + 8415, + 9213, + 9881 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14442, + "donors": [ + 11859, + 12749, + 12767, + 13365, + 14253, + 14260, + 14271, + 14278, + 14431, + 14435 + ], + "virtual_pivot": 10922, + "virtual_donors": [ + 8339, + 9229, + 9247, + 9845, + 10733, + 10740, + 10751, + 10758, + 10911, + 10915 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14448, + "donors": [ + 11859, + 14253, + 14260, + 14431 + ], + "virtual_pivot": 10928, + "virtual_donors": [ + 8339, + 10733, + 10740, + 10911 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14449, + "donors": [ + 12748, + 12749, + 14052, + 14430, + 14431 + ], + "virtual_pivot": 10929, + "virtual_donors": [ + 9228, + 9229, + 10532, + 10910, + 10911 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14460, + "donors": [ + 12748, + 13455, + 14052 + ], + "virtual_pivot": 10940, + "virtual_donors": [ + 9228, + 9935, + 10532 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14461, + "donors": [ + 12748, + 13457, + 14052 + ], + "virtual_pivot": 10941, + "virtual_donors": [ + 9228, + 9937, + 10532 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14466, + "donors": [ + 13365, + 14271, + 14278, + 14435 + ], + "virtual_pivot": 10946, + "virtual_donors": [ + 9845, + 10751, + 10758, + 10915 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14470, + "donors": [ + 12787, + 13455 + ], + "virtual_pivot": 10950, + "virtual_donors": [ + 9267, + 9935 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14472, + "donors": [ + 12789, + 13457 + ], + "virtual_pivot": 10952, + "virtual_donors": [ + 9269, + 9937 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15470, + "donors": [ + 14693, + 13870, + 14379, + 16099, + 14692, + 14777, + 15075, + 15078, + 15967, + 16095, + 15047, + 14303, + 15348 + ], + "virtual_pivot": 11950, + "virtual_donors": [ + 11173, + 10350, + 10859, + 12579, + 11172, + 11257, + 11555, + 11558, + 12447, + 12575, + 11527, + 10783, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15977, + "donors": [ + 13870, + 14379, + 15930, + 15948, + 16099, + 14692, + 15075, + 15078, + 15455, + 14691, + 15047, + 12384, + 14304, + 15345, + 14381 + ], + "virtual_pivot": 12457, + "virtual_donors": [ + 10350, + 10859, + 12410, + 12428, + 12579, + 11172, + 11555, + 11558, + 11935, + 11171, + 11527, + 8864, + 10784, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15344, + "donors": [ + 13870, + 14379, + 15930, + 16099, + 14692, + 15075, + 15078, + 16095, + 16066, + 15455, + 14691, + 15047, + 12384, + 14304, + 14381 + ], + "virtual_pivot": 11824, + "virtual_donors": [ + 10350, + 10859, + 12410, + 12579, + 11172, + 11555, + 11558, + 12575, + 12546, + 11935, + 11171, + 11527, + 8864, + 10784, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15049, + "donors": [ + 14693, + 13870, + 14379, + 15930, + 16099, + 14692, + 15453, + 14690, + 14691, + 12384, + 14304, + 15345, + 14381 + ], + "virtual_pivot": 11529, + "virtual_donors": [ + 11173, + 10350, + 10859, + 12410, + 12579, + 11172, + 11933, + 11170, + 11171, + 8864, + 10784, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15472, + "donors": [ + 14693, + 13870, + 14379, + 14692, + 14777, + 15967, + 16095, + 15047, + 14303, + 16070, + 15348 + ], + "virtual_pivot": 11952, + "virtual_donors": [ + 11173, + 10350, + 10859, + 11172, + 11257, + 12447, + 12575, + 11527, + 10783, + 12550, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 16098, + "donors": [ + 14693, + 13870, + 14379, + 14692, + 15967, + 15047, + 12384, + 14303, + 16070, + 15348, + 14381 + ], + "virtual_pivot": 12578, + "virtual_donors": [ + 11173, + 10350, + 10859, + 11172, + 12447, + 11527, + 8864, + 10783, + 12550, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13239, + "donors": [ + 14693, + 13870, + 14379, + 12307, + 14692, + 13795, + 15453, + 14690, + 13242, + 15047, + 12384, + 16070, + 15345, + 14381 + ], + "virtual_pivot": 9719, + "virtual_donors": [ + 11173, + 10350, + 10859, + 8787, + 11172, + 10275, + 11933, + 11170, + 9722, + 11527, + 8864, + 12550, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13872, + "donors": [ + 15930, + 15967, + 15453, + 14690, + 14691, + 15047, + 12384, + 14303, + 16070, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 10352, + "virtual_donors": [ + 12410, + 12447, + 11933, + 11170, + 11171, + 11527, + 8864, + 10783, + 12550, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15152, + "donors": [ + 12307, + 15948, + 14690, + 14303 + ], + "virtual_pivot": 11632, + "virtual_donors": [ + 8787, + 12428, + 11170, + 10783 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15229, + "donors": [ + 13870, + 16066, + 15047 + ], + "virtual_pivot": 11709, + "virtual_donors": [ + 10350, + 12546, + 11527 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15350, + "donors": [ + 13870, + 15930, + 16099, + 15075, + 15078, + 15967, + 16095, + 16066, + 15455, + 14690, + 14691, + 15047, + 12384, + 14303, + 14304, + 15345 + ], + "virtual_pivot": 11830, + "virtual_donors": [ + 10350, + 12410, + 12579, + 11555, + 11558, + 12447, + 12575, + 12546, + 11935, + 11170, + 11171, + 11527, + 8864, + 10783, + 10784, + 11825 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14689, + "donors": [ + 14693, + 13870, + 14379, + 12307, + 14692, + 15967, + 13795, + 15455, + 15047, + 12384, + 14303, + 16070, + 15345, + 15348, + 14381 + ], + "virtual_pivot": 11169, + "virtual_donors": [ + 11173, + 10350, + 10859, + 8787, + 11172, + 12447, + 10275, + 11935, + 11527, + 8864, + 10783, + 12550, + 11825, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15231, + "donors": [ + 14693, + 13870, + 14379, + 16099, + 14692, + 15967, + 16095, + 15047, + 14303, + 16070, + 15348, + 14381 + ], + "virtual_pivot": 11711, + "virtual_donors": [ + 11173, + 10350, + 10859, + 12579, + 11172, + 12447, + 12575, + 11527, + 10783, + 12550, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13213, + "donors": [ + 12307, + 15930, + 13795, + 14691, + 14304, + 13211 + ], + "virtual_pivot": 9693, + "virtual_donors": [ + 8787, + 12410, + 10275, + 11171, + 10784, + 9691 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15459, + "donors": [ + 13870, + 14379, + 15457, + 15930, + 16099, + 14692, + 15075, + 16127, + 15078, + 16095, + 16066, + 15455, + 16156, + 14691, + 15047, + 12384, + 14304, + 15345, + 14381 + ], + "virtual_pivot": 11939, + "virtual_donors": [ + 10350, + 10859, + 11937, + 12410, + 12579, + 11172, + 11555, + 12607, + 11558, + 12575, + 12546, + 11935, + 12636, + 11171, + 11527, + 8864, + 10784, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 16069, + "donors": [ + 14693, + 15930, + 16099, + 15075, + 15078, + 15967, + 15453, + 16095, + 16066, + 14691, + 14303, + 16070, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 12549, + "virtual_donors": [ + 11173, + 12410, + 12579, + 11555, + 11558, + 12447, + 11933, + 12575, + 12546, + 11171, + 10783, + 12550, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 12414, + "donors": [ + 15453, + 15455, + 12411 + ], + "virtual_pivot": 8894, + "virtual_donors": [ + 11933, + 11935, + 8891 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14305, + "donors": [ + 14693, + 13870, + 15930, + 16099, + 14692, + 15075, + 15078, + 16095, + 16066, + 15455, + 14690, + 14691, + 15047, + 12384, + 14303, + 14304, + 15345 + ], + "virtual_pivot": 10785, + "virtual_donors": [ + 11173, + 10350, + 12410, + 12579, + 11172, + 11555, + 11558, + 12575, + 12546, + 11935, + 11170, + 11171, + 11527, + 8864, + 10783, + 10784, + 11825 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15482, + "donors": [ + 14693, + 13870, + 14379, + 16096, + 14692, + 15967, + 16095, + 12423, + 15047, + 12384, + 14303, + 16070, + 15348, + 14381 + ], + "virtual_pivot": 11962, + "virtual_donors": [ + 11173, + 10350, + 10859, + 12576, + 11172, + 12447, + 12575, + 8903, + 11527, + 8864, + 10783, + 12550, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15483, + "donors": [ + 14693, + 15930, + 16099, + 15075, + 16067, + 15078, + 15967, + 15453, + 16095, + 12423, + 14691, + 14303, + 16070, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 11963, + "virtual_donors": [ + 11173, + 12410, + 12579, + 11555, + 12547, + 11558, + 12447, + 11933, + 12575, + 8903, + 11171, + 10783, + 12550, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 12382, + "donors": [ + 14693, + 13870, + 15930, + 16099, + 15075, + 15078, + 15967, + 15453, + 16095, + 16066, + 14691, + 15047, + 14303, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 8862, + "virtual_donors": [ + 11173, + 10350, + 12410, + 12579, + 11555, + 11558, + 12447, + 11933, + 12575, + 12546, + 11171, + 11527, + 10783, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15477, + "donors": [ + 14693, + 15384, + 12307, + 15930, + 15948, + 16099, + 15075, + 15078, + 15967, + 15453, + 15455, + 14690, + 14691, + 16214, + 16070, + 14304 + ], + "virtual_pivot": 11957, + "virtual_donors": [ + 11173, + 11864, + 8787, + 12410, + 12428, + 12579, + 11555, + 11558, + 12447, + 11933, + 11935, + 11170, + 11171, + 12694, + 12550, + 10784 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14302, + "donors": [ + 12307, + 15930, + 13795, + 14688 + ], + "virtual_pivot": 10782, + "virtual_donors": [ + 8787, + 12410, + 10275, + 11168 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15385, + "donors": [ + 13870, + 15384, + 14379, + 15930, + 16099, + 14692, + 15075, + 15078, + 15453, + 14691, + 15047, + 12384, + 14304, + 15345, + 14381 + ], + "virtual_pivot": 11865, + "virtual_donors": [ + 10350, + 11864, + 10859, + 12410, + 12579, + 11172, + 11555, + 11558, + 11933, + 11171, + 11527, + 8864, + 10784, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15363, + "donors": [ + 14693, + 15457, + 15930, + 16099, + 15075, + 16127, + 15078, + 15967, + 16095, + 16066, + 14691, + 14303, + 16070, + 14304, + 15348 + ], + "virtual_pivot": 11843, + "virtual_donors": [ + 11173, + 11937, + 12410, + 12579, + 11555, + 12607, + 11558, + 12447, + 12575, + 12546, + 11171, + 10783, + 12550, + 10784, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13797, + "donors": [ + 14693, + 13870, + 14379, + 12307, + 14692, + 15453, + 14690, + 15047, + 12384, + 16070, + 15345, + 14381 + ], + "virtual_pivot": 10277, + "virtual_donors": [ + 11173, + 10350, + 10859, + 8787, + 11172, + 11933, + 11170, + 11527, + 8864, + 12550, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15938, + "donors": [ + 14693, + 13870, + 14379, + 12307, + 14692, + 15967, + 13795, + 15455, + 14690, + 15047, + 12384, + 16070, + 15345, + 14381 + ], + "virtual_pivot": 12418, + "virtual_donors": [ + 11173, + 10350, + 10859, + 8787, + 11172, + 12447, + 10275, + 11935, + 11170, + 11527, + 8864, + 12550, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15362, + "donors": [ + 14693, + 13870, + 14379, + 15457, + 14692, + 16127, + 15967, + 15455, + 15047, + 12384, + 14303, + 16070, + 15345, + 15348, + 14381 + ], + "virtual_pivot": 11842, + "virtual_donors": [ + 11173, + 10350, + 10859, + 11937, + 11172, + 12607, + 12447, + 11935, + 11527, + 8864, + 10783, + 12550, + 11825, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15154, + "donors": [ + 13870, + 12307, + 15930, + 15948, + 16099, + 15075, + 15078, + 15967, + 15453, + 14691, + 15047, + 12384, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 11634, + "virtual_donors": [ + 10350, + 8787, + 12410, + 12428, + 12579, + 11555, + 11558, + 12447, + 11933, + 11171, + 11527, + 8864, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14407, + "donors": [ + 14693, + 14410, + 16099, + 14692, + 15075, + 15078, + 15967, + 16095, + 16066, + 14303, + 16070, + 15348 + ], + "virtual_pivot": 10887, + "virtual_donors": [ + 11173, + 10890, + 12579, + 11172, + 11555, + 11558, + 12447, + 12575, + 12546, + 10783, + 12550, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15369, + "donors": [ + 13870, + 15930, + 16099, + 15967, + 16095, + 16066, + 15455, + 14690, + 14691, + 15366, + 15047, + 12384, + 14303, + 14304, + 15345, + 15348 + ], + "virtual_pivot": 11849, + "virtual_donors": [ + 10350, + 12410, + 12579, + 12447, + 12575, + 12546, + 11935, + 11170, + 11171, + 11846, + 11527, + 8864, + 10783, + 10784, + 11825, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 12309, + "donors": [ + 13870, + 14379, + 12307, + 15930, + 16099, + 15075, + 15078, + 15967, + 15453, + 16095, + 16066, + 14690, + 14691, + 15047, + 12384, + 14303, + 14304, + 15345, + 15348, + 14381 + ], + "virtual_pivot": 8789, + "virtual_donors": [ + 10350, + 10859, + 8787, + 12410, + 12579, + 11555, + 11558, + 12447, + 11933, + 12575, + 12546, + 11170, + 11171, + 11527, + 8864, + 10783, + 10784, + 11825, + 11828, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14803, + "donors": [ + 14379, + 14806, + 14381 + ], + "virtual_pivot": 11283, + "virtual_donors": [ + 10859, + 11286, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 14775, + "donors": [ + 14693, + 16099, + 14692, + 14777, + 15075, + 15078, + 15967, + 16095, + 16066, + 14303, + 16070, + 15348 + ], + "virtual_pivot": 11255, + "virtual_donors": [ + 11173, + 12579, + 11172, + 11257, + 11555, + 11558, + 12447, + 12575, + 12546, + 10783, + 12550, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15475, + "donors": [ + 14693, + 13870, + 15384, + 14379, + 16185, + 12307, + 15948, + 14692, + 15967, + 15455, + 14690, + 15047, + 12384, + 16070, + 15345, + 14381 + ], + "virtual_pivot": 11955, + "virtual_donors": [ + 11173, + 10350, + 11864, + 10859, + 12665, + 8787, + 12428, + 11172, + 12447, + 11935, + 11170, + 11527, + 8864, + 12550, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13902, + "donors": [ + 12307, + 15930, + 13795, + 14691, + 14304, + 13899 + ], + "virtual_pivot": 10382, + "virtual_donors": [ + 8787, + 12410, + 10275, + 11171, + 10784, + 10379 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 12421, + "donors": [ + 13870, + 14379, + 15930, + 16099, + 16096, + 14692, + 15075, + 16067, + 15078, + 15453, + 12423, + 14691, + 15047, + 12384, + 14304, + 15345, + 14381 + ], + "virtual_pivot": 8901, + "virtual_donors": [ + 10350, + 10859, + 12410, + 12579, + 12576, + 11172, + 11555, + 12547, + 11558, + 11933, + 8903, + 11171, + 11527, + 8864, + 10784, + 11825, + 10861 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15959, + "donors": [ + 14693, + 15930, + 16099, + 14692, + 15075, + 15078, + 15967, + 16095, + 16066, + 14303, + 16070, + 15348 + ], + "virtual_pivot": 12439, + "virtual_donors": [ + 11173, + 12410, + 12579, + 11172, + 11555, + 11558, + 12447, + 12575, + 12546, + 10783, + 12550, + 11828 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 12875, + "donors": [ + 12866, + 12867, + 12873 + ], + "virtual_pivot": 9355, + "virtual_donors": [ + 9346, + 9347, + 9353 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13246, + "donors": [ + 12866, + 12873 + ], + "virtual_pivot": 9726, + "virtual_donors": [ + 9346, + 9353 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13249, + "donors": [ + 12867, + 12873 + ], + "virtual_pivot": 9729, + "virtual_donors": [ + 9347, + 9353 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 13313, + "donors": [ + 12922, + 12923, + 13310 + ], + "virtual_pivot": 9793, + "virtual_donors": [ + 9402, + 9403, + 9790 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15753, + "donors": [ + 12922, + 13310 + ], + "virtual_pivot": 12233, + "virtual_donors": [ + 9402, + 9790 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + }, + { + "pivot": 15782, + "donors": [ + 12923, + 13310 + ], + "virtual_pivot": 12262, + "virtual_donors": [ + 9403, + 9790 + ], + "rank": 1, + "basis": [ + [ + 0, + 0, + 1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + ] + } + ], + "pr300_descent2_endpoint_overlap": [], + "max_shared_donor_fan_in": 24, + "pivots": 70, + "donors": 87, + "scalar_setup_gates": 601, + "local_histogram_delta": { + "3": -137, + "2": 137, + "1": 87, + "5": -16, + "4": 18, + "6": -2 + }, + "phi_delta": -23.074146200742753, + "replacement_line": [ + 16, + 17 + ], + "replacement_order": "shuffle_20261011", + "final12_extended_closure_size": 84, + "final12_extended_closure_overlap": [] +} diff --git a/research/gen5b-shared-kernels/kernel70_charts.py b/research/gen5b-shared-kernels/kernel70_charts.py new file mode 100644 index 0000000000..746777a950 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel70_charts.py @@ -0,0 +1,123 @@ +"""Exact changed-chart constructions for candidate70 and final12. + +Every member receives its new first-frame quotient chart. All 70 pivot bank +residuals and 87 donor line entrances are bound to reusable exact programs. +""" +from collections import Counter +from fractions import Fraction as F + +import chart_bounds as base +import source_data as sd +from kernel70_pricing import measured_kernel_delta + + +def gram(a, b): + return 9 * sum(x * y for x, y in zip(a, b)) - sum(a) * sum(b) + + +def checked_chart(columns, residual_rank): + assert len(columns) == 24 and all(len(c) == 24 for c in columns) + assert 0 < residual_rank < 24 + assert all(gram(a, b) == 0 for a in columns[:residual_rank] + for b in columns[residual_rank:]) + matrix = [list(row) for row in zip(*columns)] + assert len(base.rref(matrix)[1]) == 24 + f = base.factor(matrix) # Includes an exact inverse-program replay. + assert f['determinant'] and f['count'] <= 576 + assert f['max_numerator'] < 2**80 and f['max_denominator'] < 2**80 + return dict(basis_columns=columns, residual_rank=residual_rank, + completion_rank=24-residual_rank, **f) + + +def line_chart(i, j, residual_rank): + assert type(i) is int and type(j) is int and 0 <= i < j < 24 + line = [int(k == i) - int(k == j) for k in range(24)] + complement = [[int(k == r) for k in range(24)] for r in range(24) if r not in (i, j)] + complement.append([int(k == i or k == j) for k in range(24)]) + assert gram(line, line) == 18 + if residual_rank == 1: + columns = [line] + complement + elif residual_rank == 23: + columns = complement + [line] + else: + raise ValueError('A line chart has residual rank 1 or 23') + return dict(line=[i, j], **checked_chart(columns, residual_rank)) + + +def first_frame_chart(frame, line): + """F/L from ker(A) intersect L-perp; completion is L direct-sum F-perp.""" + ann = frame['a'] if 'a' in frame else base.nullspace(frame['b']) + d = frame['dim']; i, j = line + assert len(base.rref(ann)[1]) == 24 - d + v = [int(k == i) - int(k == j) for k in range(24)] + assert all(sum(a * b for a, b in zip(row, v)) == 0 for row in ann) + assert gram(v, v) == 18 + # Since sum(v)=0, the weighted condition =0 is x_i=x_j. + residual = base.nullspace(ann + [v]) + assert len(residual) == d - 1 + # (9I-J)^(-1) a is proportional to 15*a-sum(a). + exterior = [base.primitive([15 * x - sum(row) for x in row]) for row in ann] + assert len(exterior) == 24 - d + assert all(sum(a * b for a, b in zip(row, col)) == 0 + for row in ann for col in residual + [v]) + assert all(gram(col, other) == 0 for col in residual + [v] for other in exterior) + out = checked_chart(residual + [v] + exterior, d - 1) + out.update(first_dimension=d, line=line) + return out + + +def run(bridge=None, final12_charts=None, literal_stock=1229560): + sd.verify_all() + if bridge is None: + import check_kernel70 + bridge = check_kernel70.run() + measured_kernel_delta(bridge) + if final12_charts is None: + final12_charts = base.run() + frames = sd.read_json('gen5bit/selected/bit/frames_p12.json.gz')['frames'] + programs = []; uses = []; index = {} + def put(key, builder): + if key not in index: + index[key] = len(programs) + programs.append(dict(program_id=len(programs), **builder())) + return index[key] + for p in sorted(bridge['paths'], key=lambda p: p['role']): + line = tuple(p['line']); frame_id = p['old_frames'][0] + first = frames[str(frame_id)] + assert first['dim'] == p['first_dimension'] + program = put(('first_frame', frame_id, line), + lambda: dict(kind='first_frame_quotient', frame=frame_id, + **first_frame_chart(first, list(line)))) + uses.append(dict(kind='first_frame_quotient', role=p['role'], stream=p['stream'], + frame=frame_id, rank=p['first_dimension']-1, program_id=program)) + rank = 23 if p['kind'] == 'pivot' else 1 + program = put(('line', line, rank), + lambda: dict(kind='pivot_residual' if rank == 23 else 'donor_line_entrance', + **line_chart(*line, rank))) + uses.append(dict(kind='pivot_residual' if rank == 23 else 'donor_line_entrance', + role=p['role'], stream=p['stream'], rank=rank, program_id=program)) + assert Counter(u['kind'] for u in uses) == { + 'first_frame_quotient': 157, 'pivot_residual': 70, 'donor_line_entrance': 87} + assert final12_charts['charts'] == 18 + for program in final12_charts['factor_programs']: + programs.append(dict(program, program_id=len(programs), scope='final12')) + pins = sd.read_json('expected/kernel-pins.json') + largest = max(p['count'] for p in programs) + retained = pins['max_chart_factors'] + bound = max(largest, retained) + 119 + 120 + assert retained == 576 and bound == pins['normalizer_factor_bound'] == 815 + assert literal_stock == pins['literal_stock'] - 190 + selectors = 600 * ((literal_stock - 1) + pins['physical_R'] * 120 * bound) + assert selectors < 2**40 + return dict(status='PASS_KERNEL70_PR300_FINAL12_CHANGED_CHARTS', source_head=sd.HEAD, + selection='candidate70', with_final12=True, charts=len(programs), + kernel_programs=len(programs)-18, final12_charts=18, + first_frame_quotient_demands=157, donor_line_entrance_demands=87, + pivot_residual_demands=70, role_chart_uses=uses, + max_changed_chart_factors=largest, + max_factor_numerator=max(p['max_numerator'] for p in programs), + max_factor_denominator=max(p['max_denominator'] for p in programs), + retained_chart_factor_bound=retained, + combined_normalizer_factor_bound=bound, literal_stock=literal_stock, + selector_calls_bound=selectors, factor_programs=programs, + scope='Every changed candidate70 first-frame quotient, donor line entrance and rank23 pivot residual is bound to an exactly factored weighted chart; final12 charts are included. Unchanged chart admission and finite-compiler interfaces remain inherited.') diff --git a/research/gen5b-shared-kernels/kernel70_finite_bill.py b/research/gen5b-shared-kernels/kernel70_finite_bill.py new file mode 100644 index 0000000000..74a5e8e1ab --- /dev/null +++ b/research/gen5b-shared-kernels/kernel70_finite_bill.py @@ -0,0 +1,154 @@ +"""Unified changed finite bill for the 70-pivot union plus final12. + +Closes changed chart, selector, scalar-cost and sink-aware payload obligations. +Original compiler, primitive, weighted-chart, routing and all-size contracts +remain explicit assumptions; their unspecified constants are not set to zero. +""" +from collections import Counter +from fractions import Fraction as F + +import finite_bill as base +import source_data as sd +import bank_binding +from kernel70_pricing import integer_map, measured_kernel_delta, verify_composition + + +def run(chart, norm, math, bridge, banks=None, suffix=None, composition=None): + sd.verify_all() + measured_kernel_delta(bridge) + assert chart['status'] == 'PASS_KERNEL70_PR300_FINAL12_CHANGED_CHARTS' + assert chart['selection'] == math['selection'] == 'candidate70' + assert chart['with_final12'] and math['with_final12'] + assert chart['source_head'] == math['source_head'] == sd.HEAD + assert math['status'] == 'PASS_KERNEL70_PR300_FINAL12_EXACT_PRICING' + if composition is None: + import check_pr300_kernel70_composition + composition = check_pr300_kernel70_composition.run() + verify_composition(composition, math['local_histogram_delta']) + assert math['additional_source']['sha256'] == sd.MANIFEST['files']['pr300/descent2-selection.json']['sha256'] + assert chart['first_frame_quotient_demands'] == bridge['members'] == 157 + assert chart['pivot_residual_demands'] == bridge['pivots'] == 70 + assert chart['donor_line_entrance_demands'] == bridge['distinct_donors'] == 87 + assert chart['final12_charts'] == 18 + programs = {p['program_id']: p for p in chart['factor_programs']} + assert len(programs) == chart['charts'] + expected = {(p['role'], p['stream'], 'first_frame_quotient', p['first_dimension'] - 1) + for p in bridge['paths']} + expected.update((p['role'], p['stream'], 'pivot_residual' if p['kind'] == 'pivot' else 'donor_line_entrance', + 23 if p['kind'] == 'pivot' else 1) for p in bridge['paths']) + uses = chart['role_chart_uses'] + assert len(uses) == len(expected) == 314 + assert {(u['role'], u['stream'], u['kind'], u['rank']) for u in uses} == expected + for u in uses: + assert programs[u['program_id']]['residual_rank'] == u['rank'] + assert norm['status'] == 'PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS' + assert norm['selection'] in ('candidate70',) + assert norm['setup_restore_pairs'] == bridge['setup_adds'] == bridge['restore_adds'] == 601 + pins = sd.read_json('expected/kernel-pins.json') + forward = norm['forward']; inverse = norm['inverse'] + assert forward['reverse'] is False and inverse['reverse'] is True + assert forward['inherited_bound'] == pins['forward_max_row_l1'] == 77985 + assert inverse['inherited_bound'] == pins['inverse_max_row_l1'] == 2475558 + for row in (forward, inverse): + assert row['certified_new_bound'] == row['inherited_bound'] + row['max_added_majorant'] + assert row['max_added_source'] == 0 + assert forward['certified_new_bound'] == 191659 and inverse['certified_new_bound'] == 5356455 + # These guards specifically reject the superseded target-only majorant. + sinks = sd.read_json('sink-selection.json')['sinks'] + assert norm['actual_sink_redirects'] == sum(s['forward_writes'] for s in sinks) == 14 + assert norm['target_majorant_edges'] == 681 and norm['target_majorant_acyclic_vertices'] == 908 + payload = 64 * forward['certified_new_bound']**3 * inverse['certified_new_bound']**2 + assert payload == norm['payload_bound'] == 12927738210344389271740351838400 + assert payload.bit_length() == norm['payload_bits'] == 104 + assert norm['retained_payload_cap_2_to104'] and payload < 2**104 + assert 2**104 - payload == 7354671393307281152206899447616 + if suffix is None: + import check_complete_suffix + suffix = check_complete_suffix.run() + assert suffix['status'] == 'PASS_COMPLETE_SUFFIX_ALL_COLUMN_EQUALITY' + assert suffix['source_head'] == sd.HEAD and suffix['unchanged_scalar_multiset'] + assert suffix['original_suffix_adds'] == suffix['modified_suffix_adds'] + if banks is None: + import check_kernel70_bank_assignment + banks = check_kernel70_bank_assignment.run() + assert banks['status'] == 'PASS_UNIFIED_KERNEL70_CORETIME12_BANK_ASSIGNMENT' + assert banks['new_shared_kernel_pivots'] == 70 and banks['helper_roles'] == pins['physical_R'] + assert banks['all_banks_full'] and banks['stages_have_disjoint_bank_namespaces'] + assert integer_map(banks['family_counts']) == {r: n // 60 for r, n in integer_map(math['packing']['demand']).items()} + assert banks['banks_per_stage'] == math['packing']['feasible_bins'] == 161432 + bank_binding.check(banks, math) + m = 120; R = pins['physical_R']; v = 1760; T = 60; d = m*m; N = 2*m + stock = math['literal_stock'] + assert R == 15427 and stock == chart['literal_stock'] == banks['literal_stock'] == 1229560 + assert F(banks['unreplicated_stock']) == F(math['unreplicated_stock']) == F(stock, 60) + assert math['calls'] == 483425 and math['rank_mass'] == 2454720 + E = T * math['calls']; mass = T * math['rank_mass'] + assert m * stock - mass == 264000 + # All 601 setup and 601 restore additions are charged. The 860 omitted + # old compensation reads are deliberately not subtracted from this bound. + added = bridge['setup_adds'] + bridge['restore_adds'] + weighted = T * (5 * (pins['scalar_events'] + added) + 6*v) + unit = T * (5 * (pins['literal_unit_additions'] + added) + 6*v) + J = T * (24*v + 10*R); good = 8*m*m + 8; high = 16*(d+1)**2 + bound = chart['combined_normalizer_factor_bound'] + assert bound == 815 and chart['max_changed_chart_factors'] <= pins['max_chart_factors'] == 576 + K = 600 * ((stock-1) + R*120*bound) + assert K == chart['selector_calls_bound'] < 2**40 + coefficient = unit + J*high + J*(stock+24) + E*good + E*(128*N**3) + 16*m**3 + 120*T + E + K + 1 + assert coefficient == 90466979917115701 + assert coefficient < 2**80 and 2*m**3*10**16 < 2**80 and stock+24 < 2**80 + c = F(math['root_bracket'][0]); moment_upper = F(math['moment_interval'][1]) + delta_tau = 1 - moment_upper + delta_linear = 1 - F(mass, m*stock) - F(32*m*E, 10**16*stock) + assert delta_tau > 0 and delta_linear > 0 + chain = [F(384599, 10**10)]; gaps = [] + for stage in range(3): + prior = chain[-1]; a = (1-c)*c + c*prior + slacks = dict(atom=c-a, borrowing=1-a-c, remainder=1-a-c*(1-prior), stock=1-c) + delta = min(slacks.values()); assert prior < a < c < 1-a and delta > 0 + L = base.cutoff(delta, coefficient) + assert F(L)*delta**2 >= 36 and F(L)*delta >= 2*(4+(coefficient-1).bit_length()) + gaps.append(dict(stage=stage+1, slacks=slacks, minimum=delta, + cutoff_log2_at_displayed_coefficient=L)) + chain.append(a) + assert chain == list(map(F, math['assembly']['bootstrap_chain'])) + max_bank_scalar = max(len(p['widths']) for p in math['packing']['patterns']) + assert max_bank_scalar == banks['maximum_block_scalar'] == 60 <= m + result = dict(status='PASS_UNIFIED_PR300_KERNEL70_FINAL12_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES', + source_head=sd.HEAD, selection='candidate70', with_final12=True, + gross_added_scalar_events_per_stage=added, + omitted_reads_not_credited=bridge['prefix_compensation_reads_removed'], + scalar_weighted_additions_upper=weighted, scalar_unit_additions_upper=unit, + literal_children=E, literal_rank_mass=mass, literal_stock=stock, + route_families=J, changed_chart_programs=chart['charts'], + changed_role_chart_uses=314, pivot_residual_demands=70, + max_changed_chart_factors=chart['max_changed_chart_factors'], + max_changed_chart_numerator=chart['max_factor_numerator'], + max_changed_chart_denominator=chart['max_factor_denominator'], + normalizer_factor_bound=bound, bank_selector_calls=K, + displayed_finite_coefficient=coefficient, coefficient_bits=coefficient.bit_length(), + retained_coefficient_cap_bits=80, + sink_aware_forward_norm=forward['certified_new_bound'], + sink_aware_inverse_norm=inverse['certified_new_bound'], + conservative_payload_upper=payload, payload_bits=payload.bit_length(), + retained_payload_cap_bits=104, payload_strict_gap=2**104-payload, actual_sink_redirects=14, + target_majorant_edges=681, target_majorant_acyclic_vertices=908, + new_bank_block_scalars_up_to=max_bank_scalar, + scalar_unit_reason='All chart factor numerators and denominators, and every block+1 scalar, are nonzero and smaller than the retained prime characteristic q>2^80.', + bad_fallback_per_child=32*m*m, internal_row_coefficient=14401, + external_row_coefficient=20161, ordinary_degree_gap=F(10**6)-F(51*20161,25), + delta_tau_lower=delta_tau, delta_linear=delta_linear, + bootstrap_chain=chain, bootstrap_gaps=gaps, + cutoff_scope='Displayed fixed bill only. The retained theorem rule uses C_full, including inherited primitive, wrapper and earlier ordinary-level constants, whose values are not supplied or replaced by this check.', + inherited_assumptions=[ + 'Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.', + 'Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.', + 'Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.', + 'Inherited all-size theorem and outer positive literal-gap and row-gap interfaces.' + ], full_inherited_admission_replayed=False, all_size_theorem_verified=False) + result['additional_source_head'] = composition['source_head'] + result['additional_source_pins'] = composition['input_sha256'] + result['pr300_composition_status'] = composition['status'] + result['inherited_assumptions'].append( + 'Pinned PR300 second-descent chronological/source-span admission and its unchanged chart/finite-compiler contracts; only the new composition is independently checked here.') + return result diff --git a/research/gen5b-shared-kernels/kernel70_pricing.py b/research/gen5b-shared-kernels/kernel70_pricing.py new file mode 100644 index 0000000000..51f6c092f6 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel70_pricing.py @@ -0,0 +1,119 @@ +"""Exact portable kernel70 + final12 pricing on the separately pinned PR300 case. + +PR299 raw inputs and declared PR300 descent2 delta remain byte-pinned. The +composition checker binds changed role paths; inherited source admission and +all-size interfaces remain conditional. The kernel72 fallback is unchanged. +""" +from collections import Counter +from fractions import Fraction as F + +import source_data as sd +import check_coretime +import check_suffix_frames +import reprice +from kernel72_pricing import integer_map, patterns + +PR300_HEAD = 'fd516176fd068e4fa7af14b40cd878ce8c305296' + + +def measured_kernel_delta(bridge): + """Bind the price to the full measured entrance ledger, not a copied delta.""" + assert bridge['status'] == 'PASS_SHARED_DONOR_CHANGED_STAGE_COMPOSITION' + assert bridge['selection'] == 'candidate70' and bridge['source_head'] == sd.HEAD + assert bridge['formal_forward_and_inverse_equal'] + assert bridge['arbitrary_source_target_dirty_inputs'] + paths = bridge['paths'] + assert len(paths) == bridge['members'] == 157 + assert len({p['role'] for p in paths}) == len({p['stream'] for p in paths}) == len(paths) + assert Counter(p['kind'] for p in paths) == {'pivot': 70, 'donor': 87} + assert bridge['pivots'] == 70 and bridge['distinct_donors'] == 87 + assert bridge['setup_adds'] == bridge['restore_adds'] == 601 + assert {tuple(p['line']) for p in paths} == {(6, 7), (16, 17), (2, 3)} + delta = Counter() + for p in paths: + d = p['first_dimension'] + assert type(d) is int and 1 < d <= 24 + assert p['old_dimensions'][0] == d and p['old_dimensions'][-1] == 24 + assert len(p['old_frames']) == len(p['old_dimensions']) + assert all(a <= b for a, b in zip(p['old_dimensions'], p['old_dimensions'][1:])) + paid = [d - 1] if p['kind'] == 'pivot' else [1, d - 1] + assert p['new_paid_entrance_dimensions'] == paid + assert p['new_initial_dimension'] == (1 if p['kind'] == 'pivot' else 0) + delta[d] -= 1 + delta.update(paid) + delta = {r: n for r, n in delta.items() if n} + assert delta == integer_map(bridge['local_paid_histogram_delta']) + assert delta == {1: 87, 2: 137, 3: -137, 4: 18, 5: -16, 6: -2} + residual = {24: -70, 23: 70} + assert integer_map(bridge['residual_family_delta']) == residual + assert sum(r * n for r, n in delta.items()) == -70 + return delta, residual + + + +def verify_composition(composition, combined_delta=None): + assert composition['status'] == 'PASS_ROLE_DISJOINT_PR300_COMPOSITION' + assert composition['baseline_head'] == sd.HEAD + assert composition['source_head'] == PR300_HEAD + pin = sd.MANIFEST['files']['pr300/descent2-selection.json'] + assert pin['commit'] == PR300_HEAD + assert composition['input_sha256']['pr300/descent2-selection.json'] == pin['sha256'] + assert composition['paid_ledgers_additive'] + assert composition['new_descent_gate_count'] == 89 + assert composition['rational_new_frame_ranks_and_nondegeneracy_checked'] == 89 + assert composition['final12_broader_scalar_closure'] == 84 + assert composition['kernel70_streams'] == 157 + assert composition['descent2_overlap_final12'] == composition['descent2_overlap_kernel70'] == [] + assert composition['scalar_majorants_unchanged_by_descent2'] + assert composition['source_operand_columns_unchanged_by_new_kernel'] + assert composition['common_kernel_cut_and_final_restore_order_unchanged'] + assert composition['final12_and_kernel70_source_response_unchanged'] + assert composition['unchanged_restore_entries'] == 440 and composition['unchanged_sink_entries'] == 7 + if combined_delta is not None: + assert integer_map(composition['combined_local_histogram_delta_over299']) == integer_map(combined_delta) + return pin + + +def run(bridge=None, final12_frames=None, final12_local=None, composition=None): + sd.verify_all() + if bridge is None: + import check_kernel70 + bridge = check_kernel70.run() + if final12_frames is None: + final12_frames = check_suffix_frames.run() + if final12_local is None: + final12_local = check_coretime.run(minimal=True) + if composition is None: + import check_pr300_kernel70_composition + composition = check_pr300_kernel70_composition.run() + H, D = measured_kernel_delta(bridge) + assert final12_frames['status'] == 'PASS_MEASURED_AFFECTED_SUFFIX_FRAME_LEDGER' + assert final12_frames['source_head'] == sd.HEAD and final12_frames['both_reflected_ledgers'] + finalH = integer_map(final12_frames['local_histogram_delta']) + assert finalH == {1: 18, 2: -12} + assert final12_local['selected'] == 12 and final12_local['undone_old_restorations'] == 6 + finalD = integer_map(final12_local['residual_rank_count_delta']) + assert finalD == {2: 12, 3: -18, 4: 6} + extraH = integer_map(sd.read_json('pr300/descent2-selection.json')['expected_local_histogram_delta']) + assert sum(r*n for r,n in extraH.items()) == 0 and sum(extraH.values()) == 65 + combinedH = Counter(H); combinedH.update(finalH); combinedH.update(extraH) + combinedD = Counter(D); combinedD.update(finalD) + pin = verify_composition(composition, combinedH) + result = reprice.reprice(dict(combinedH), dict(combinedD), patterns(70, finalD)) + assert result['packing']['optimal'] and result['packing']['unused_coordinate_capacity'] == 0 + assert result['literal_stock'] == 1229560 + assert result['calls'] == 483425 and result['rank_mass'] == 2454720 + assert result['deficit'] == 4400 and result['packing']['feasible_bins'] == 161432 + assert result['kappa'] == F(749940157923873, 10**18) + result.update(status='PASS_KERNEL70_PR300_FINAL12_EXACT_PRICING', selection='candidate70', + with_final12=True, on_PR300=True, source_head=sd.HEAD, + additional_source=dict(pin), composition_status=composition['status'], + kernel_histogram_delta=H, final12_histogram_delta=finalH, + pr300_histogram_delta=extraH, kernel_residual_delta=D, + final12_residual_delta=finalD, pivots=70, distinct_donors=87, + scalar_setup_gates=601, scalar_restore_gates=601, + fallback_kernel72_kappa=F(749936120273400, 10**18), + kappa_gain_over_kernel72=result['kappa']-F(749936120273400, 10**18), + binding='Measured candidate70 first-frame ledger plus measured final12 chronological suffix delta and pinned PR300 descent2 delta, bound to role-disjoint composition.', + scope='Exact arithmetic and optimal inventory under the changed composition certificates. PR300 chronological/source-span admission and unchanged compiler, prime, routing and all-size interfaces remain inherited.') + return result diff --git a/research/gen5b-shared-kernels/kernel70_witness.py b/research/gen5b-shared-kernels/kernel70_witness.py new file mode 100644 index 0000000000..245e50d0d4 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel70_witness.py @@ -0,0 +1,10 @@ +"""Byte-pinned new 70-pivot witness, rechecked against immutable upstream data.""" +from pathlib import Path +import hashlib,json +PATH=Path(__file__).resolve().parent/'kernel70-witness.json' +SHA256='8b99bb2f0e9f352c303d251009058cc30e7ad4c20b8e32e863afb0ebcc3388b7' +def load(): + raw=PATH.read_bytes() + if hashlib.sha256(raw).hexdigest()!=SHA256: + raise ValueError('70-pivot witness bytes changed') + return json.loads(raw) diff --git a/research/gen5b-shared-kernels/kernel72_charts.py b/research/gen5b-shared-kernels/kernel72_charts.py new file mode 100644 index 0000000000..cd8c3ec0ed --- /dev/null +++ b/research/gen5b-shared-kernels/kernel72_charts.py @@ -0,0 +1,123 @@ +"""Exact changed-chart constructions for union72 and final12. + +Every member receives its new first-frame quotient chart. All 72 pivot bank +residuals and 93 donor line entrances are bound to reusable exact programs. +""" +from collections import Counter +from fractions import Fraction as F + +import chart_bounds as base +import source_data as sd +from kernel72_pricing import measured_kernel_delta + + +def gram(a, b): + return 9 * sum(x * y for x, y in zip(a, b)) - sum(a) * sum(b) + + +def checked_chart(columns, residual_rank): + assert len(columns) == 24 and all(len(c) == 24 for c in columns) + assert 0 < residual_rank < 24 + assert all(gram(a, b) == 0 for a in columns[:residual_rank] + for b in columns[residual_rank:]) + matrix = [list(row) for row in zip(*columns)] + assert len(base.rref(matrix)[1]) == 24 + f = base.factor(matrix) # Includes an exact inverse-program replay. + assert f['determinant'] and f['count'] <= 576 + assert f['max_numerator'] < 2**80 and f['max_denominator'] < 2**80 + return dict(basis_columns=columns, residual_rank=residual_rank, + completion_rank=24-residual_rank, **f) + + +def line_chart(i, j, residual_rank): + assert type(i) is int and type(j) is int and 0 <= i < j < 24 + line = [int(k == i) - int(k == j) for k in range(24)] + complement = [[int(k == r) for k in range(24)] for r in range(24) if r not in (i, j)] + complement.append([int(k == i or k == j) for k in range(24)]) + assert gram(line, line) == 18 + if residual_rank == 1: + columns = [line] + complement + elif residual_rank == 23: + columns = complement + [line] + else: + raise ValueError('A line chart has residual rank 1 or 23') + return dict(line=[i, j], **checked_chart(columns, residual_rank)) + + +def first_frame_chart(frame, line): + """F/L from ker(A) intersect L-perp; completion is L direct-sum F-perp.""" + ann = frame['a'] if 'a' in frame else base.nullspace(frame['b']) + d = frame['dim']; i, j = line + assert len(base.rref(ann)[1]) == 24 - d + v = [int(k == i) - int(k == j) for k in range(24)] + assert all(sum(a * b for a, b in zip(row, v)) == 0 for row in ann) + assert gram(v, v) == 18 + # Since sum(v)=0, the weighted condition =0 is x_i=x_j. + residual = base.nullspace(ann + [v]) + assert len(residual) == d - 1 + # (9I-J)^(-1) a is proportional to 15*a-sum(a). + exterior = [base.primitive([15 * x - sum(row) for x in row]) for row in ann] + assert len(exterior) == 24 - d + assert all(sum(a * b for a, b in zip(row, col)) == 0 + for row in ann for col in residual + [v]) + assert all(gram(col, other) == 0 for col in residual + [v] for other in exterior) + out = checked_chart(residual + [v] + exterior, d - 1) + out.update(first_dimension=d, line=line) + return out + + +def run(bridge=None, final12_charts=None, literal_stock=1229555): + sd.verify_all() + if bridge is None: + import check_shared_kernel + bridge = check_shared_kernel.run(selection='union72') + measured_kernel_delta(bridge) + if final12_charts is None: + final12_charts = base.run() + frames = sd.read_json('gen5bit/selected/bit/frames_p12.json.gz')['frames'] + programs = []; uses = []; index = {} + def put(key, builder): + if key not in index: + index[key] = len(programs) + programs.append(dict(program_id=len(programs), **builder())) + return index[key] + for p in sorted(bridge['paths'], key=lambda p: p['role']): + line = tuple(p['line']); frame_id = p['old_frames'][0] + first = frames[str(frame_id)] + assert first['dim'] == p['first_dimension'] + program = put(('first_frame', frame_id, line), + lambda: dict(kind='first_frame_quotient', frame=frame_id, + **first_frame_chart(first, list(line)))) + uses.append(dict(kind='first_frame_quotient', role=p['role'], stream=p['stream'], + frame=frame_id, rank=p['first_dimension']-1, program_id=program)) + rank = 23 if p['kind'] == 'pivot' else 1 + program = put(('line', line, rank), + lambda: dict(kind='pivot_residual' if rank == 23 else 'donor_line_entrance', + **line_chart(*line, rank))) + uses.append(dict(kind='pivot_residual' if rank == 23 else 'donor_line_entrance', + role=p['role'], stream=p['stream'], rank=rank, program_id=program)) + assert Counter(u['kind'] for u in uses) == { + 'first_frame_quotient': 165, 'pivot_residual': 72, 'donor_line_entrance': 93} + assert final12_charts['charts'] == 18 + for program in final12_charts['factor_programs']: + programs.append(dict(program, program_id=len(programs), scope='final12')) + pins = sd.read_json('expected/kernel-pins.json') + largest = max(p['count'] for p in programs) + retained = pins['max_chart_factors'] + bound = max(largest, retained) + 119 + 120 + assert retained == 576 and bound == pins['normalizer_factor_bound'] == 815 + assert literal_stock == pins['literal_stock'] - 195 + selectors = 600 * ((literal_stock - 1) + pins['physical_R'] * 120 * bound) + assert selectors < 2**40 + return dict(status='PASS_UNION72_FINAL12_CHANGED_CHARTS', source_head=sd.HEAD, + selection='union72', with_final12=True, charts=len(programs), + kernel_programs=len(programs)-18, final12_charts=18, + first_frame_quotient_demands=165, donor_line_entrance_demands=93, + pivot_residual_demands=72, role_chart_uses=uses, + max_changed_chart_factors=largest, + max_factor_numerator=max(p['max_numerator'] for p in programs), + max_factor_denominator=max(p['max_denominator'] for p in programs), + retained_chart_factor_bound=retained, + combined_normalizer_factor_bound=bound, literal_stock=literal_stock, + selector_calls_bound=selectors, factor_programs=programs, + scope='Every changed union72 first-frame quotient, donor line entrance and rank23 pivot residual is bound to an exactly factored weighted chart; final12 charts are included. Unchanged chart admission and finite-compiler interfaces remain inherited.') diff --git a/research/gen5b-shared-kernels/kernel72_finite_bill.py b/research/gen5b-shared-kernels/kernel72_finite_bill.py new file mode 100644 index 0000000000..2e79b39962 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel72_finite_bill.py @@ -0,0 +1,167 @@ +"""Unified changed finite bill for the 72-pivot union plus final12. + +Closes changed chart, selector, scalar-cost and sink-aware payload obligations. +Original compiler, primitive, weighted-chart, routing and all-size contracts +remain explicit assumptions; their unspecified constants are not set to zero. +""" +from collections import Counter +from fractions import Fraction as F + +import finite_bill as base +import source_data as sd +import bank_binding +from kernel72_pricing import integer_map, measured_kernel_delta + + +def run(chart, norm, math, bridge, banks=None, suffix=None, composition=None): + sd.verify_all() + measured_kernel_delta(bridge) + assert chart['status'] == 'PASS_UNION72_FINAL12_CHANGED_CHARTS' + assert chart['selection'] == math['selection'] == 'union72' + assert chart['with_final12'] and math['with_final12'] + assert chart['source_head'] == math['source_head'] == sd.HEAD + extra_case = composition is not None + if not extra_case: + assert math['status'] == 'PASS_UNION72_FINAL12_EXACT_PRICING' + else: + assert math['status'] == 'CONDITIONAL_PINNED_ADDITIONAL_HISTOGRAM_ARITHMETIC' + assert composition['status'] == 'PASS_ROLE_DISJOINT_PR300_COMPOSITION' + assert composition['baseline_head'] == sd.HEAD + assert composition['source_head'] == math['additional_source']['commit'] == 'fd516176fd068e4fa7af14b40cd878ce8c305296' + assert composition['input_sha256']['pr300/descent2-selection.json'] == math['additional_source']['sha256'] == sd.MANIFEST['files']['pr300/descent2-selection.json']['sha256'] + assert composition['paid_ledgers_additive'] + assert integer_map(composition['combined_local_histogram_delta_over299']) == integer_map(math['local_histogram_delta']) + assert composition['scalar_majorants_unchanged_by_descent2'] + assert composition['source_operand_columns_unchanged_by_new_kernel'] + assert composition['common_kernel_cut_and_final_restore_order_unchanged'] + assert composition['descent2_overlap_final12'] == composition['descent2_overlap_kernel72'] == [] + assert composition['new_descent_gate_count'] == 89 + assert composition['rational_new_frame_ranks_and_nondegeneracy_checked'] == 89 + assert composition['final12_broader_scalar_closure'] == 84 + assert composition['kernel72_streams'] == 165 + assert composition['unchanged_restore_entries'] == 440 and composition['unchanged_sink_entries'] == 7 + assert chart['first_frame_quotient_demands'] == bridge['members'] == 165 + assert chart['pivot_residual_demands'] == bridge['pivots'] == 72 + assert chart['donor_line_entrance_demands'] == bridge['distinct_donors'] == 93 + assert chart['final12_charts'] == 18 + programs = {p['program_id']: p for p in chart['factor_programs']} + assert len(programs) == chart['charts'] + expected = {(p['role'], p['stream'], 'first_frame_quotient', p['first_dimension'] - 1) + for p in bridge['paths']} + expected.update((p['role'], p['stream'], 'pivot_residual' if p['kind'] == 'pivot' else 'donor_line_entrance', + 23 if p['kind'] == 'pivot' else 1) for p in bridge['paths']) + uses = chart['role_chart_uses'] + assert len(uses) == len(expected) == 330 + assert {(u['role'], u['stream'], u['kind'], u['rank']) for u in uses} == expected + for u in uses: + assert programs[u['program_id']]['residual_rank'] == u['rank'] + assert norm['status'] == 'PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS' + assert norm['selection'] in ('three_lines_trimmed', 'union72') + assert norm['setup_restore_pairs'] == bridge['setup_adds'] == bridge['restore_adds'] == 473 + pins = sd.read_json('expected/kernel-pins.json') + forward = norm['forward']; inverse = norm['inverse'] + assert forward['reverse'] is False and inverse['reverse'] is True + assert forward['inherited_bound'] == pins['forward_max_row_l1'] == 77985 + assert inverse['inherited_bound'] == pins['inverse_max_row_l1'] == 2475558 + for row in (forward, inverse): + assert row['certified_new_bound'] == row['inherited_bound'] + row['max_added_majorant'] + assert row['max_added_source'] == 0 + assert forward['certified_new_bound'] == 158647 and inverse['certified_new_bound'] == 3809875 + # These guards specifically reject the superseded target-only majorant. + sinks = sd.read_json('sink-selection.json')['sinks'] + assert norm['actual_sink_redirects'] == sum(s['forward_writes'] for s in sinks) == 14 + assert norm['target_majorant_edges'] == 681 and norm['target_majorant_acyclic_vertices'] == 908 + payload = 64 * forward['certified_new_bound']**3 * inverse['certified_new_bound']**2 + assert payload == norm['payload_bound'] == 3709343221562739318443143000000 + assert payload.bit_length() == norm['payload_bits'] == 102 + assert norm['retained_payload_cap_2_to104'] and payload < 2**104 + if suffix is None: + import check_complete_suffix + suffix = check_complete_suffix.run() + assert suffix['status'] == 'PASS_COMPLETE_SUFFIX_ALL_COLUMN_EQUALITY' + assert suffix['source_head'] == sd.HEAD and suffix['unchanged_scalar_multiset'] + assert suffix['original_suffix_adds'] == suffix['modified_suffix_adds'] + if banks is None: + import check_kernel_bank_assignment + banks = check_kernel_bank_assignment.run() + assert banks['status'] == 'PASS_UNIFIED_KERNEL72_CORETIME12_BANK_ASSIGNMENT' + assert banks['new_shared_kernel_pivots'] == 72 and banks['helper_roles'] == pins['physical_R'] + assert banks['all_banks_full'] and banks['stages_have_disjoint_bank_namespaces'] + assert integer_map(banks['family_counts']) == {r: n // 60 for r, n in integer_map(math['packing']['demand']).items()} + assert banks['banks_per_stage'] == math['packing']['feasible_bins'] == 161431 + bank_binding.check(banks, math) + m = 120; R = pins['physical_R']; v = 1760; T = 60; d = m*m; N = 2*m + stock = math['literal_stock'] + assert R == 15427 and stock == chart['literal_stock'] == banks['literal_stock'] == 1229555 + assert math['calls'] == (483455 if extra_case else 483130) and math['rank_mass'] == 2454710 + E = T * math['calls']; mass = T * math['rank_mass'] + assert m * stock - mass == 264000 + # All 473 setup and 473 restore additions are charged. The 832 omitted + # old compensation reads are deliberately not subtracted from this bound. + added = bridge['setup_adds'] + bridge['restore_adds'] + weighted = T * (5 * (pins['scalar_events'] + added) + 6*v) + unit = T * (5 * (pins['literal_unit_additions'] + added) + 6*v) + J = T * (24*v + 10*R); good = 8*m*m + 8; high = 16*(d+1)**2 + bound = chart['combined_normalizer_factor_bound'] + assert bound == 815 and chart['max_changed_chart_factors'] <= pins['max_chart_factors'] == 576 + K = 600 * ((stock-1) + R*120*bound) + assert K == chart['selector_calls_bound'] < 2**40 + coefficient = unit + J*high + J*(stock+24) + E*good + E*(128*N**3) + 16*m**3 + 120*T + E + K + 1 + assert coefficient < 2**80 and 2*m**3*10**16 < 2**80 and stock+24 < 2**80 + c = F(math['root_bracket'][0]); moment_upper = F(math['moment_interval'][1]) + delta_tau = 1 - moment_upper + delta_linear = 1 - F(mass, m*stock) - F(32*m*E, 10**16*stock) + assert delta_tau > 0 and delta_linear > 0 + chain = [F(384599, 10**10)]; gaps = [] + for stage in range(3): + prior = chain[-1]; a = (1-c)*c + c*prior + slacks = dict(atom=c-a, borrowing=1-a-c, remainder=1-a-c*(1-prior), stock=1-c) + delta = min(slacks.values()); assert prior < a < c < 1-a and delta > 0 + L = base.cutoff(delta, coefficient) + assert F(L)*delta**2 >= 36 and F(L)*delta >= 2*(4+(coefficient-1).bit_length()) + gaps.append(dict(stage=stage+1, slacks=slacks, minimum=delta, + cutoff_log2_at_displayed_coefficient=L)) + chain.append(a) + assert chain == list(map(F, math['assembly']['bootstrap_chain'])) + max_bank_scalar = max(len(p['widths']) for p in math['packing']['patterns']) + assert max_bank_scalar == banks['maximum_block_scalar'] == 60 <= m + result = dict(status='PASS_UNIFIED_KERNEL72_FINAL12_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES', + source_head=sd.HEAD, selection='union72', with_final12=True, + gross_added_scalar_events_per_stage=added, + omitted_reads_not_credited=bridge['prefix_compensation_reads_removed'], + scalar_weighted_additions_upper=weighted, scalar_unit_additions_upper=unit, + literal_children=E, literal_rank_mass=mass, literal_stock=stock, + route_families=J, changed_chart_programs=chart['charts'], + changed_role_chart_uses=330, pivot_residual_demands=72, + max_changed_chart_factors=chart['max_changed_chart_factors'], + max_changed_chart_numerator=chart['max_factor_numerator'], + max_changed_chart_denominator=chart['max_factor_denominator'], + normalizer_factor_bound=bound, bank_selector_calls=K, + displayed_finite_coefficient=coefficient, coefficient_bits=coefficient.bit_length(), + retained_coefficient_cap_bits=80, + sink_aware_forward_norm=forward['certified_new_bound'], + sink_aware_inverse_norm=inverse['certified_new_bound'], + conservative_payload_upper=payload, payload_bits=payload.bit_length(), + retained_payload_cap_bits=104, actual_sink_redirects=14, + target_majorant_edges=681, target_majorant_acyclic_vertices=908, + new_bank_block_scalars_up_to=max_bank_scalar, + scalar_unit_reason='All chart factor numerators and denominators, and every block+1 scalar, are nonzero and smaller than the retained prime characteristic q>2^80.', + bad_fallback_per_child=32*m*m, internal_row_coefficient=14401, + external_row_coefficient=20161, ordinary_degree_gap=F(10**6)-F(51*20161,25), + delta_tau_lower=delta_tau, delta_linear=delta_linear, + bootstrap_chain=chain, bootstrap_gaps=gaps, + cutoff_scope='Displayed fixed bill only. The retained theorem rule uses C_full, including inherited primitive, wrapper and earlier ordinary-level constants, whose values are not supplied or replaced by this check.', + inherited_assumptions=[ + 'Pinned PR299 full unchanged bit decoder, original scalar bounds and stage admission.', + 'Retained weighted-chart, prime-field, routing, cover, bank-normalizer and finite-compiler contracts.', + 'Inherited setup, primitive, wrapper and earlier ordinary-level constants inside C_full.', + 'Inherited all-size theorem and outer positive literal-gap and row-gap interfaces.' + ], full_inherited_admission_replayed=False, all_size_theorem_verified=False) + if extra_case: + result['status'] = 'PASS_UNIFIED_PR300_KERNEL72_FINAL12_CHANGED_FINITE_OBLIGATIONS_UNDER_RETAINED_INTERFACES' + result['additional_source_head'] = composition['source_head'] + result['additional_source_pins'] = composition['input_sha256'] + result['pr300_composition_status'] = composition['status'] + result['inherited_assumptions'].append( + 'Pinned PR300 second-descent chronological/source-span admission and its unchanged chart/finite-compiler contracts; only the new composition is independently checked here.') + return result diff --git a/research/gen5b-shared-kernels/kernel72_pricing.py b/research/gen5b-shared-kernels/kernel72_pricing.py new file mode 100644 index 0000000000..484048477c --- /dev/null +++ b/research/gen5b-shared-kernels/kernel72_pricing.py @@ -0,0 +1,158 @@ +"""Exact portable pricing of the admitted union72 plus final12 changes. + +Only independently authored helpers and byte-pinned PR299 JSON are used. +Physical bank admission and inherited all-size interfaces remain separate. +""" +from collections import Counter +from fractions import Fraction as F + +import check_coretime +import check_suffix_frames +import reprice +import source_data as sd + + +def integer_map(values): + result = {} + for rank, count in values.items(): + if isinstance(rank, str): + if not rank.isdecimal(): + raise ValueError('Invalid histogram rank') + rank = int(rank) + if type(rank) is not int or type(count) is not int or rank <= 0: + raise ValueError('Histogram requires positive integer ranks and integer counts') + if count: + if rank in result: + raise ValueError('Duplicate histogram rank') + result[rank] = count + return result + + +def measured_kernel_delta(bridge): + """Bind the price to the full measured entrance ledger, not a copied delta.""" + assert bridge['status'] == 'PASS_SHARED_DONOR_CHANGED_STAGE_COMPOSITION' + assert bridge['selection'] == 'union72' and bridge['source_head'] == sd.HEAD + assert bridge['formal_forward_and_inverse_equal'] + assert bridge['arbitrary_source_target_dirty_inputs'] + paths = bridge['paths'] + assert len(paths) == bridge['members'] == 165 + assert len({p['role'] for p in paths}) == len({p['stream'] for p in paths}) == len(paths) + assert Counter(p['kind'] for p in paths) == {'pivot': 72, 'donor': 93} + assert bridge['pivots'] == 72 and bridge['distinct_donors'] == 93 + assert bridge['setup_adds'] == bridge['restore_adds'] == 473 + assert {tuple(p['line']) for p in paths} == {(6, 7), (16, 17), (2, 3)} + delta = Counter() + for p in paths: + d = p['first_dimension'] + assert type(d) is int and 1 < d <= 24 + assert p['old_dimensions'][0] == d and p['old_dimensions'][-1] == 24 + assert len(p['old_frames']) == len(p['old_dimensions']) + assert all(a <= b for a, b in zip(p['old_dimensions'], p['old_dimensions'][1:])) + paid = [d - 1] if p['kind'] == 'pivot' else [1, d - 1] + assert p['new_paid_entrance_dimensions'] == paid + assert p['new_initial_dimension'] == (1 if p['kind'] == 'pivot' else 0) + delta[d] -= 1 + delta.update(paid) + delta = {r: n for r, n in delta.items() if n} + assert delta == integer_map(bridge['local_paid_histogram_delta']) + assert delta == {1: 93, 2: 144, 3: -144, 4: 19, 5: -17, 6: -2} + residual = {24: -72, 23: 72} + assert integer_map(bridge['residual_family_delta']) == residual + assert sum(r * n for r, n in delta.items()) == -72 + return delta, residual + + +def patterns(pivots, final12_residual): + """Exact mixed-bin exchange: 4*23 + 24 + 4 = 120, with 60 replicas.""" + if type(pivots) is not int or pivots <= 0 or pivots % 2: + raise ValueError('An even positive pivot count is required') + out = reprice.pure_retile(final12_residual) + for widths, change in (([23] * 4 + [24, 4], 15 * pivots), + ([24] * 5, -15 * pivots), + ([4] * 30, -pivots // 2)): + row = next((r for r in out if r['widths'] == widths), None) + if row is None or row['count'] + change < 0: + raise ValueError('Mixed packing exchange is unavailable') + row['count'] += change + return [row for row in out if row['count']] + + +def run(bridge=None, final12_frames=None, final12_local=None): + sd.verify_all() + if bridge is None: + import check_shared_kernel + bridge = check_shared_kernel.run(selection='union72') + if final12_frames is None: + final12_frames = check_suffix_frames.run() + if final12_local is None: + final12_local = check_coretime.run(minimal=True) + H, D = measured_kernel_delta(bridge) + assert final12_frames['status'] == 'PASS_MEASURED_AFFECTED_SUFFIX_FRAME_LEDGER' + assert final12_frames['source_head'] == sd.HEAD and final12_frames['both_reflected_ledgers'] + finalH = integer_map(final12_frames['local_histogram_delta']) + assert finalH == {1: 18, 2: -12} + assert final12_local['selected'] == 12 and final12_local['undone_old_restorations'] == 6 + finalD = integer_map(final12_local['residual_rank_count_delta']) + assert finalD == {2: 12, 3: -18, 4: 6} + combinedH = Counter(H); combinedH.update(finalH) + combinedD = Counter(D); combinedD.update(finalD) + result = reprice.reprice(dict(combinedH), dict(combinedD), patterns(72, finalD)) + assert result['packing']['optimal'] and result['packing']['unused_coordinate_capacity'] == 0 + assert result['literal_stock'] == 1229555 + assert result['calls'] == 483130 and result['rank_mass'] == 2454710 + assert result['deficit'] == 4400 + assert result['kappa'] == F(749917402998347, 10**18) + result.update(status='PASS_UNION72_FINAL12_EXACT_PRICING', selection='union72', + with_final12=True, source_head=sd.HEAD, + kernel_histogram_delta=H, final12_histogram_delta=finalH, + kernel_residual_delta=D, final12_residual_delta=finalD, + pivots=72, distinct_donors=93, scalar_setup_gates=473, + scalar_restore_gates=473, + prior_final12_kappa=F(749906929903449, 10**18), + kappa_gain_over_final12=result['kappa'] - F(749906929903449, 10**18), + binding='Measured union72 first-frame ledger plus measured final12 chronological suffix delta; exact residual inventory.', + scope='Exact arithmetic and optimal inventory under separately checked changed-stage certificates. Literal bank assignment, unchanged PR299 admission, finite compiler and all-size theorem remain separate.') + return result + + +def price_additional_histogram(base_receipt, selection_bytes, pin): + """Separate conditional case; byte-pin an extra declared local histogram. + + This does not certify the extra transformation's chronological admission, + compatibility, scalar norms or finite bill. The base receipt is untouched. + """ + import hashlib + import json + import re + assert base_receipt['status'] == 'PASS_UNION72_FINAL12_EXACT_PRICING' + assert base_receipt['source_head'] == sd.HEAD + assert isinstance(selection_bytes, bytes) + assert pin['repository'] and pin['path'] + assert re.fullmatch('[0-9a-f]{40}', pin['commit']) + assert re.fullmatch('[0-9a-f]{40}', pin['git_blob']) + assert re.fullmatch('[0-9a-f]{64}', pin['sha256']) + if hashlib.sha256(selection_bytes).hexdigest() != pin['sha256']: + raise ValueError('Additional histogram source SHA-256 mismatch') + blob = hashlib.sha1(b'blob ' + str(len(selection_bytes)).encode() + b'\0' + selection_bytes).hexdigest() + if blob != pin['git_blob']: + raise ValueError('Additional histogram source Git blob mismatch') + data = json.loads(selection_bytes) + extra = integer_map(data['expected_local_histogram_delta']) + if sum(rank * count for rank, count in extra.items()): + raise ValueError('This overlay requires unchanged total rank and bank inventory') + H = Counter(integer_map(base_receipt['local_histogram_delta'])); H.update(extra) + D = integer_map(base_receipt['role_rank_count_delta']) + result = reprice.reprice(dict(H), D, base_receipt['packing']['patterns']) + assert result['literal_stock'] == base_receipt['literal_stock'] + assert result['rank_mass'] == base_receipt['rank_mass'] + assert result['calls'] == base_receipt['calls'] + 5 * sum(extra.values()) + result.update(status='CONDITIONAL_PINNED_ADDITIONAL_HISTOGRAM_ARITHMETIC', + source_head=sd.HEAD, selection='union72', with_final12=True, + additional_source=dict(pin), + additional_declared_local_histogram_delta=extra, + preceding_kappa=F(base_receipt['kappa']), + gain_over_preceding_case=result['kappa']-F(base_receipt['kappa']), + extra_chronology_and_interactions_verified=False, + updated_finite_bill_verified=False, + scope='Separate declared-histogram arithmetic with verified source bytes; does not replace the union72+final12 receipt or certify extra admission, composition, scalar norms, or finite bounds.') + return result diff --git a/research/gen5b-shared-kernels/kernel_witness.py b/research/gen5b-shared-kernels/kernel_witness.py new file mode 100644 index 0000000000..98496a8528 --- /dev/null +++ b/research/gen5b-shared-kernels/kernel_witness.py @@ -0,0 +1,12 @@ +"""Frozen new relation witnesses; equations are rechecked against pinned data.""" +from pathlib import Path +import hashlib,json +HERE=Path(__file__).resolve().parent +PATH=HERE/'kernel-witness.json' +SHA256='ff2539ed56c790545c33a03ce185e49a8132ca9db26c007686deb6a4009b06d6' + +def load(): + data=PATH.read_bytes() + if hashlib.sha256(data).hexdigest()!=SHA256: + raise ValueError('Kernel witness bytes changed') + return json.loads(data) diff --git a/research/gen5b-shared-kernels/packing.py b/research/gen5b-shared-kernels/packing.py new file mode 100644 index 0000000000..b966e6d584 --- /dev/null +++ b/research/gen5b-shared-kernels/packing.py @@ -0,0 +1,51 @@ +"""Original exact primal/dual width-120 bank inventory checker. + +No geometry or chronological admission is implied by a packing witness. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from collections import Counter +from fractions import Fraction as F +import source_data as sd +def verify(capacity,demand,patterns): + assert type(capacity)is int and capacity>0 + assert all(type(r)is int and 00 for r,n in demand.items()) + supplied=Counter();bins=0;waste=0 + for row in patterns: + count=row['count'];widths=row['widths'] + assert type(count)is int and count>0 + assert all(type(r)is int and 01 + while hi-lo>1: + mid=(lo+hi)//2;L,U=old.moment(H,120,W,F(mid,scale)) + if U<1:lo=mid + elif L>1:hi=mid + else:raise ArithmeticError('More interval precision required') + c=F(lo,scale);upper=F(hi,scale) + return c,upper,old.moment(H,120,W,c),old.moment(H,120,W,upper) + +def reprice(local_histogram_delta,role_rank_count_delta,patterns=None): + if any(type(r)is not int or type(n)is not int or r<=0 or r>=120 for D in (local_histogram_delta,role_rank_count_delta)for r,n in D.items()): + raise ValueError('Deltas require positive integer ranks and integer counts') + old.source_integrity();H,_=old.final_histogram() + H.update({r:5*n for r,n in local_histogram_delta.items()}) + if any(n<0 for n in H.values()):raise ValueError('Negative child count') + H=Counter({r:n for r,n in H.items()if n}) + original=packing.calculate()['stage_certificate'];demand=original['demand'].copy() + for r,n in role_rank_count_delta.items():demand[r]=demand.get(r,0)+60*n + if any(n<0 for n in demand.values()):raise ValueError('Negative residual demand') + demand={r:n for r,n in demand.items()if n} + if patterns is None:patterns=pure_retile(role_rank_count_delta) + witness=packing.verify(120,demand,patterns) + stock=422400+5*witness['feasible_bins'];W=F(stock,60) + c,upper,L,U=moment_root(H,W);b=F(754736418878859,10**18) + chain=[F(384599,10**10)] + for i in range(3):chain.append((1-c)*c+c*chain[-1]) + eta=F(1,10**12);beta=F(1,10**9) + if not chain[-1]<(1-beta)*b: + raise ValueError('Complex side now binds: this narrow repricer needs a revised bootstrap/backoff policy') + q=chain[-1]*(1-2*eta);G=(1-eta)*q/(1+q);ticks=G*10**18 + k=F((ticks.numerator-1)//ticks.denominator,10**18) + assembly=old.assembly(c,b,k) + return dict(status='CONDITIONAL_ARITHMETIC_ONLY',physical_admission=False, + local_histogram_delta=local_histogram_delta,role_rank_count_delta=role_rank_count_delta, + histogram=dict(sorted(H.items())),calls=sum(H.values()),rank_mass=old.rank(H), + literal_stock=stock,unreplicated_stock=W,deficit=120*W-old.rank(H), + packing=witness,root_bracket=[c,upper],moment_interval=L,adjacent_moment_interval=U, + kappa=k,kappa_decimal=old.ex.dec(k),assembly=assembly) diff --git a/research/gen5b-shared-kernels/run_checks.py b/research/gen5b-shared-kernels/run_checks.py new file mode 100644 index 0000000000..bfe30cd9de --- /dev/null +++ b/research/gen5b-shared-kernels/run_checks.py @@ -0,0 +1,137 @@ +"""Reproduce the 70-pivot headline and 72-pivot fallback with every binding.""" +import argparse +import json +from pathlib import Path + +import assembly_arithmetic as arithmetic +import source_data as sd +import run_coretime12 as core +import chart_bounds +import check_shared_kernel as bridge72 +import check_scalar_bounds as norm72 +import check_kernel_bank_assignment as banks72 +import check_pr300_composition as composition72 +import kernel72_pricing as price72 +import kernel72_charts as charts72 +import kernel72_finite_bill as bill72 +import check_kernel70 as bridge70 +import check_kernel70_norm as norm70 +import check_kernel70_bank_assignment as banks70 +import check_pr300_kernel70_composition as composition70 +import kernel70_pricing as price70 +import kernel70_charts as charts70 +import kernel70_finite_bill as bill70 +import check_pr300_bases + +HERE = Path(__file__).resolve().parent + + +def canonical(value): + if isinstance(value, dict): + value = {key: canonical(item) for key, item in value.items() if key != 'seconds'} + elif isinstance(value, (list, tuple)): + value = [canonical(item) for item in value] + return json.loads(json.dumps(arithmetic.serial(value))) + + +def run(output_dir=None, write_streams=False): + count = sd.verify_all() + output = Path(output_dir) if output_dir is not None else None + final12 = core.run(output / 'coretime12' if output else None, write_streams) + full_final_charts = chart_bounds.run() + results = {'coretime12/' + key: value for key, value in final12.items()} + results['pr300-bases'] = check_pr300_bases.run() + full_programs = {} + for case, bridge, norm, banks, composition, price, charts, bill in ( + ('kernel72', bridge72, norm72, banks72, composition72, price72, charts72, bill72), + ('kernel70', bridge70, norm70, banks70, composition70, price70, charts70, bill70), + ): + b = bridge.run(selection='union72') if case == 'kernel72' else bridge.run() + n = norm.run() + bank = banks.run(output / case if output else None) + comp = composition.run() + if case == 'kernel72': + priced = price.run(b, final12['frames'], final12['local']) + else: + priced = price.run(b, final12['frames'], final12['local'], comp) + assert arithmetic.F(bank['unreplicated_stock']) == arithmetic.F(priced['unreplicated_stock']) + c = charts.run(b, full_final_charts, literal_stock=priced['literal_stock']) + finite = bill.run(c, n, priced, b, bank, final12['suffix'], + composition=comp if case == 'kernel70' else None) + for name, value in {'bridge': b, 'norm': n, 'banks': bank, + 'composition': comp, 'pricing': priced, + 'charts': core.compact_charts(c), 'finite-bill': finite}.items(): + results[case + '/' + name] = value + full_programs[case] = c['factor_programs'] + if case == 'kernel72': + pin = sd.MANIFEST['files']['pr300/descent2-selection.json'] + overlay = price.price_additional_histogram( + priced, sd.read_bytes('pr300/descent2-selection.json'), pin) + overlay_bill = bill.run(c, n, overlay, b, bank, final12['suffix'], composition=comp) + results['kernel72/pr300-pricing'] = overlay + results['kernel72/pr300-finite-bill'] = overlay_bill + headline = results['kernel70/pricing'] + headline_bill = results['kernel70/finite-bill'] + results['summary'] = dict( + status='PASS_UNIFIED_CHANGED_STAGE_CHECKS_UNDER_RETAINED_INTERFACES', + verified_source_files=count, + baseline_head=sd.HEAD, + additional_head=results['kernel70/composition']['source_head'], + headline_case='PR300 + final12 + 70 shared-donor pivots', + kappa=headline['kappa'], kappa_decimal=headline['kappa_decimal'], + literal_stock=headline['literal_stock'], calls=headline['calls'], + rank_mass=headline['rank_mass'], deficit=headline['deficit'], + displayed_finite_coefficient=headline_bill['displayed_finite_coefficient'], + payload_upper=headline_bill['conservative_payload_upper'], + payload_strict_gap=headline_bill['payload_strict_gap'], + fallback_PR300_kernel72_kappa=results['kernel72/pr300-pricing']['kappa'], + checkpoint_PR299_kernel72_kappa=results['kernel72/pricing']['kappa'], + all_changed_role_bank_assignments=results['kernel70/banks']['total_stage_assignments'], + inherited_assumptions=headline_bill['inherited_assumptions'], + full_inherited_admission_replayed=False, all_size_theorem_verified=False, + global_optimality_or_priority_claimed=False, + verification_limits=[ + 'The shared-kernel F2 all-column proof is compositional under the inherited old decoder, not a full physical-word replay.', + 'PR300 complete chronological/source-span admission remains inherited; scalar incidences, support disjointness and exact selected basis determinants are checked here.', + 'Original row bounds and unchanged compiler, chart, normalizer, routing, prime, setup, complex-supplier and all-size interfaces remain hypotheses.', + 'Displayed finite bounds do not supply unknown retained constants inside C_full.' + ]) + results = {name: canonical(value) for name, value in results.items()} + if output: + for name, value in results.items(): + path = output / (name + '.json') + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(value, indent=2) + '\n') + for case, programs in full_programs.items(): + (output / case / 'chart-factor-programs.json').write_text( + json.dumps(canonical(programs), indent=2) + '\n') + return results + + +def check_certificates(results): + expected_names = {path.relative_to(HERE / 'certificates').as_posix()[:-5] + for path in (HERE / 'certificates').rglob('*.json')} + if expected_names != set(results): + raise ValueError('Committed certificate set differs from generated set') + for name, actual in results.items(): + expected = json.loads((HERE / 'certificates' / (name + '.json')).read_text()) + if actual != expected: + raise ValueError('Certificate drift: ' + name) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output-dir', type=Path) + parser.add_argument('--write-streams', action='store_true') + parser.add_argument('--check', action='store_true') + args = parser.parse_args() + if args.write_streams and args.output_dir is None: + parser.error('--write-streams requires --output-dir') + results = run(args.output_dir, args.write_streams) + if args.check: + check_certificates(results) + print(json.dumps(results['summary'], indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gen5b-shared-kernels/run_coretime12.py b/research/gen5b-shared-kernels/run_coretime12.py new file mode 100644 index 0000000000..ae04f3ae85 --- /dev/null +++ b/research/gen5b-shared-kernels/run_coretime12.py @@ -0,0 +1,116 @@ +"""Reproduce the independently authored changed-stage checks and exact pricing.""" +import argparse +import hashlib +import json +from pathlib import Path + +import assembly_arithmetic as arithmetic +import baseline_arithmetic as baseline +import chart_bounds +import check_bank_assignment +import check_complete_suffix +import check_coretime +import check_suffix_frames +import reprice +import finite_bill +import scalar_norm_transport +import source_data + +HERE = Path(__file__).resolve().parent + + +def compact_charts(value): + value = dict(value) + programs = value.pop('factor_programs') + value['chart_summaries'] = [] + for program in programs: + summary = {key: item for key, item in program.items() + if key not in ('basis_columns', 'factors')} + data = json.dumps(arithmetic.serial(program), sort_keys=True, + separators=(',', ':')).encode() + summary['factor_program_sha256'] = hashlib.sha256(data).hexdigest() + value['chart_summaries'].append(summary) + return value + + +def run(output_dir=None, write_streams=False): + source_data.verify_all() + local = check_coretime.run(minimal=True) + suffix = check_complete_suffix.run(output_dir if write_streams else None) + frames = check_suffix_frames.run() + transport = scalar_norm_transport.run() + charts = chart_bounds.run() + banks = check_bank_assignment.run(output_dir) + priced = reprice.reprice(frames['local_histogram_delta'], + local['residual_rank_count_delta']) + assert banks['family_counts'] == {rank:count//60 for rank,count in priced['packing']['demand'].items()} + assert banks['literal_stock'] == priced['literal_stock'] + pins = source_data.read_json('expected/kernel-pins.json') + assert priced['literal_stock'] == pins['literal_stock'] + local['literal_stock_delta'] + assert transport['source_hashes']['original_suffix'] == suffix['original_suffix_sha256'] + assert transport['source_hashes']['modified_suffix'] == suffix['modified_suffix_sha256'] + assert charts['selector_calls_bound'] < 2 ** 40 + assert transport['payload_upper'] < 2 ** 104 + assert priced['kappa'] == arithmetic.F(749906929903449, 10 ** 18) + priced['source_head'] = source_data.HEAD + priced['binding'] = 'Measured chronological frame delta and exact selected endpoint residual changes.' + priced['prior_kappa'] = arithmetic.F(pins['kappa']) + priced['kappa_gain'] = priced['kappa'] - priced['prior_kappa'] + finite = finite_bill.run(charts, transport, arithmetic.serial(priced)) + results = {'local': local, 'suffix': suffix, 'frames': frames, + 'scalar-transport': transport, 'charts': compact_charts(charts), + 'pricing': priced, 'finite-bill': finite, 'banks': banks} + results['summary'] = { + 'status': 'PASS_CHANGED_STAGE_CHECKS_CONDITIONAL_ON_PINNED_BASE', + 'source_head': source_data.HEAD, + 'new_restorations': local['selected'], + 'old_restorations_undone': local['undone_old_restorations'], + 'kappa': str(priced['kappa']), + 'kappa_decimal': priced['kappa_decimal'], + 'literal_stock': priced['literal_stock'], + 'paid_calls': priced['calls'], + 'rank_mass': priced['rank_mass'], + 'deficit': str(priced['deficit']), + 'full_inherited_admission_replayed': False, + 'all_size_theorem_verified': False, + 'verification_limits': [ + 'The pinned PR299 unchanged prefix and its original admission remain hypotheses.', + 'Unchanged finite compiler, weighted chart, routing, prime and setup contracts are inherited.', + 'Changed charts, selector bound and scalar payload bound are checked here; the complete inherited finite compiler is not rerun.', + 'Outer positive literal and row-gap inputs remain conditional on the inherited finite bridge.', + 'No full all-size or machine-verification claim is made.' + ]} + for name, result in results.items(): + result.pop('seconds', None) + # Normalize integer map keys to their JSON representation before comparing. + results[name] = json.loads(json.dumps(arithmetic.serial(result))) + if output_dir is not None: + output_dir = Path(output_dir) + output_dir.mkdir(parents=True, exist_ok=True) + for name, result in results.items(): + (output_dir / (name + '.json')).write_text(json.dumps(result, indent=2) + '\n') + (output_dir / 'chart-factor-programs.json').write_text( + json.dumps(arithmetic.serial(charts['factor_programs']), indent=2) + '\n') + return results + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output-dir', type=Path) + parser.add_argument('--write-streams', action='store_true') + parser.add_argument('--check', action='store_true', + help='Compare every regenerated receipt with the committed certificates') + args = parser.parse_args() + if args.write_streams and args.output_dir is None: + parser.error('--write-streams requires --output-dir') + results = run(args.output_dir, args.write_streams) + if args.check: + for name, actual in results.items(): + expected = json.loads((HERE / 'certificates' / 'coretime12' / (name + '.json')).read_text()) + if actual != expected: + raise ValueError('Certificate drift: ' + name) + print(json.dumps(results['summary'], indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gen5b-shared-kernels/scalar_norm_transport.py b/research/gen5b-shared-kernels/scalar_norm_transport.py new file mode 100644 index 0000000000..a97c805c36 --- /dev/null +++ b/research/gen5b-shared-kernels/scalar_norm_transport.py @@ -0,0 +1,69 @@ +"""Original exact trace-commutation check and conservative scalar norm transport. + +If all swaps commute and each destination's update order changes by moving only +one unit-coefficient update, each new row lies on the old row trajectory or is +one old row plus/minus one old source row. Both forward and inverse maxima grow +by at most two. Upstream programs are never executed. +""" +from pathlib import Path +from collections import defaultdict,deque,Counter +import gzip,json,hashlib,time +ROOT=Path(__file__).resolve().parent +import check_complete_suffix as scalar +import source_data as sd + +def check(old,new): + assert Counter(tuple(z[:3])for z in old)==Counter(tuple(z[:3])for z in new) + buckets=defaultdict(deque) + for i,z in enumerate(old):buckets[tuple(z[:3])].append(i) + desired=[buckets[tuple(z[:3])].popleft()for z in new] + assert len(set(desired))==len(old) + old_rows=defaultdict(list);new_rows=defaultdict(list) + for i,z in enumerate(old):old_rows[z[0]].append(i) + for i in desired:new_rows[old[i][0]].append(i) + changed=[] + for dest,seq in old_rows.items(): + target=new_rows[dest] + if seq==target:continue + # No quadratic search over all updates: only at most three updates + # are expected on affected targets; still test the literal sequences. + chosen=next((x for x in seq if abs(old[x][2])==1 and + [i for i in seq if i!=x]==[i for i in target if i!=x]),None) + assert chosen is not None,('more than one update moved on row',dest) + changed.append(dict(destination=dest,moved_old_event=chosen, + moved_gate=old[chosen][:3],old_order=seq,new_order=target)) + current=list(range(len(old)));pos=current[:];swaps=0 + for i,wanted in enumerate(desired): + j=pos[wanted];assert j>=i + if j==i:continue + a,b,c=old[wanted][:3] + for k in range(i,j): + token=current[k];d,e,f=old[token][:3] + assert b!=d and e!=a,('noncommuting crossed additions',old[wanted],old[token]) + pos[token]+=1;swaps+=1 + current[i:j+1]=[wanted]+current[i:j];pos[wanted]=i + assert current==desired + return dict(commuting_adjacent_swaps=swaps,destinations_with_changed_update_order=changed, + forward_norm_factor=2,inverse_norm_factor=2) + +def run(): + start=time.monotonic();_,old,new,_=scalar.build() + certificate=check(old,new) + assert len(certificate['destinations_with_changed_update_order'])==12 + pins=sd.read_json('expected/kernel-pins.json') + old_forward=pins['forward_max_row_l1'];old_inverse=pins['inverse_max_row_l1'] + assert (old_forward,old_inverse)==(77985,2475558) + forward=2*old_forward;inverse=2*old_inverse;payload=64*forward**3*inverse**2 + assert payload<2**104 + return dict(status='PASS_EXACT_SCALAR_NORM_TRANSPORT',suffix_additions=len(old), + **certificate,original_forward_bound=old_forward,original_inverse_bound=old_inverse, + new_forward_bound=forward,new_inverse_bound=inverse,payload_upper=payload, + payload_bits=payload.bit_length(),retained_payload_cap_bits=104, + unchanged_literal_scalar_multiset=True, + source_hashes={name:hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()for name,events in [('original_suffix',old),('modified_suffix',new)]}, + theorem='Commuting swaps preserve each source value sampled by a gate. Every unchanged destination update sequence has the old row-value trajectory. Each changed destination order moves one unit update; at intermediate cuts its row is an old row plus or minus that same old source row. Reversing both schedules gives the identical property. The unchanged prefix is composed using the retained old global row-norm bounds.', + scope='Changed scalar suffix and retained old prefix bounds only. Address geometry and inherited finite compiler hypotheses are separate.',seconds=time.monotonic()-start) + +if __name__=='__main__': + x=run() + print(x['status'],'swaps',x['commuting_adjacent_swaps'],'changed row orders',len(x['destinations_with_changed_update_order']),'payload bits',x['payload_bits'],'seconds',x['seconds']) diff --git a/research/gen5b-shared-kernels/source_data.py b/research/gen5b-shared-kernels/source_data.py new file mode 100644 index 0000000000..55830601cc --- /dev/null +++ b/research/gen5b-shared-kernels/source_data.py @@ -0,0 +1,49 @@ +"""Read immutable PR299/PR300 data; never import or execute upstream programs.""" +from pathlib import Path +import gzip +import hashlib +import json +import os + +if not __debug__: + raise RuntimeError('Run without -O; certificate assertions must remain enabled.') + +HERE = Path(__file__).resolve().parent +MANIFEST = json.loads((HERE / 'inputs.json').read_text()) +HEAD = MANIFEST['commit'] + + +def source_root(): + value = os.environ.get('CORETIME_SOURCE_DIR') + if not value: + raise RuntimeError('Set CORETIME_SOURCE_DIR to the pinned input directory; see README.md.') + return Path(value).expanduser().resolve() + + +def verify_bytes(name, data): + pin = MANIFEST['files'][name] + if len(data) != pin['bytes'] or hashlib.sha256(data).hexdigest() != pin['sha256']: + raise ValueError('Pinned input bytes changed: ' + name) + blob = hashlib.sha1(b'blob ' + str(len(data)).encode() + b'\0' + data).hexdigest() + if blob != pin['git_blob']: + raise ValueError('Pinned Git blob changed: ' + name) + return data + + +def read_bytes(name): + if name not in MANIFEST['files']: + raise ValueError('Unpinned input: ' + name) + return verify_bytes(name, (source_root() / name).read_bytes()) + + +def read_json(name): + data = read_bytes(name) + if name.endswith('.gz'): + data = gzip.decompress(data) + return json.loads(data) + + +def verify_all(): + for name in MANIFEST['files']: + read_bytes(name) + return len(MANIFEST['files']) diff --git a/research/gen5b-shared-kernels/test_bank_assignment.py b/research/gen5b-shared-kernels/test_bank_assignment.py new file mode 100644 index 0000000000..60de45aa65 --- /dev/null +++ b/research/gen5b-shared-kernels/test_bank_assignment.py @@ -0,0 +1,32 @@ +import unittest + +import check_bank_assignment as banks + + +class BankAssignmentTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.result = banks.run() + + def test_complete_role_and_replica_bijection(self): + x = self.result + self.assertEqual(x['helper_roles'], 15427) + self.assertEqual(x['checked_role_replica_assignments_per_stage'], 925620) + self.assertEqual(x['total_stage_assignments'], 4628100) + self.assertTrue(x['stages_have_disjoint_bank_namespaces']) + + def test_frozen_assignment_and_stock(self): + x = self.result + self.assertEqual(x['assignment_sha256'], + '0317c568260dafde4cbc6ac1b88cae8afaa66d164ea454c372c01ea551af5f5b') + self.assertEqual(x['banks_per_stage'], 161467) + self.assertEqual(x['literal_stock'], 1229735) + self.assertTrue(x['all_banks_full']) + + def test_duplicated_role_rejected(self): + with self.assertRaisesRegex(AssertionError, 'Missing or duplicated helper role'): + banks.run(mutation='duplicate_role') + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_bank_binding.py b/research/gen5b-shared-kernels/test_bank_binding.py new file mode 100644 index 0000000000..e595704826 --- /dev/null +++ b/research/gen5b-shared-kernels/test_bank_binding.py @@ -0,0 +1,37 @@ +"""Regression controls for stock units and replica/stage factors.""" +import copy +import json +from pathlib import Path +import unittest +import bank_binding + + +class StockBindingTests(unittest.TestCase): + def pair(self, case='kernel70'): + root=Path(__file__).resolve().parent/'certificates'/case + return [json.loads((root/(name+'.json')).read_text()) for name in ('banks','pricing')] + def test_both_cases(self): + for case in ('kernel70','kernel72'): + bank_binding.check(*self.pair(case)) + def test_half_normalized_stock_rejected(self): + b,p=self.pair();b['unreplicated_stock']='30739/3' + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_literal_stock_rejected(self): + b,p=self.pair();b['literal_stock']+=1 + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_stage_factor_rejected(self): + b,p=self.pair();b['total_banks']//=5 + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_replica_factor_rejected(self): + b,p=self.pair();b['checked_role_replica_assignments_per_stage']//=60 + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_inventory_demand_rejected(self): + b,p=self.pair();p['packing']['demand']['23']+=1 + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_paid_rank_mass_rejected(self): + b,p=self.pair();p['rank_mass']+=1 + with self.assertRaises(AssertionError):bank_binding.check(b,p) + def test_explicit_wrong_factors_rejected(self): + with self.assertRaises(AssertionError):bank_binding.check(*self.pair(),replicas=30) + +if __name__=='__main__':unittest.main() diff --git a/research/gen5b-shared-kernels/test_candidate70.py b/research/gen5b-shared-kernels/test_candidate70.py new file mode 100644 index 0000000000..08711cfed2 --- /dev/null +++ b/research/gen5b-shared-kernels/test_candidate70.py @@ -0,0 +1,24 @@ +import unittest +from check_kernel70 import run as kernel +from check_kernel70_norm import run as bounds +from check_pr300_kernel70_composition import run as composition +class Candidate70Tests(unittest.TestCase): + def test_exact_candidate(self): + r=kernel();self.assertEqual((r['pivots'],r['distinct_donors'],r['setup_adds']),(70,87,601));self.assertTrue(r['formal_forward_and_inverse_equal']) + def test_entrance_mutation(self): + with self.assertRaises(AssertionError):kernel('bad_entrance') + def test_response_mutation(self): + with self.assertRaises(AssertionError):kernel('bad_relation') + def test_missing_setup(self): + with self.assertRaises(AssertionError):kernel('omit_setup') + def test_missing_restore(self): + with self.assertRaises(AssertionError):kernel('omit_restore') + def test_payload_cap(self): + r=bounds();self.assertEqual(r['payload_bits'],104);self.assertTrue(r['retained_payload_cap_2_to104']) + def test_pr300_composition(self): + r=composition();self.assertEqual(r['kernel70_streams'],157);self.assertTrue(r['paid_ledgers_additive']) + def test_reject_pr300_kernel_overlap(self): + with self.assertRaises(AssertionError):composition('kernel_overlap') + def test_reject_pr300_final12_overlap(self): + with self.assertRaises(AssertionError):composition('frame_overlap') +if __name__=='__main__':unittest.main() diff --git a/research/gen5b-shared-kernels/test_chart_bounds.py b/research/gen5b-shared-kernels/test_chart_bounds.py new file mode 100644 index 0000000000..3b749700e3 --- /dev/null +++ b/research/gen5b-shared-kernels/test_chart_bounds.py @@ -0,0 +1,26 @@ +from fractions import Fraction as F +import unittest +import chart_bounds as c + +class ChartTests(unittest.TestCase): + def test_identity(self): + r=c.factor([[1,0],[0,1]]) + self.assertEqual(r['count'],0);self.assertEqual(r['determinant'],1) + def test_exact_nontrivial_factorization(self): + r=c.factor([[1,2],[3,5]]) + self.assertEqual(r['determinant'],-1) + self.assertGreater(r['count'],0) + def test_singular_rejected(self): + with self.assertRaises(StopIteration):c.factor([[1,2],[2,4]]) + def test_integer_nullspace(self): + A=[[1,2,3],[2,4,6]];B=c.nullspace(A,3) + self.assertEqual(len(B),2) + self.assertTrue(all(sum(x*y for x,y in zip(a,b))==0 for a in A for b in B)) + def test_all_actual_charts(self): + r=c.run();self.assertEqual(r['charts'],18) + self.assertEqual(r['max_changed_chart_factors'],142) + self.assertEqual(r['max_factor_numerator'],11) + self.assertEqual(r['max_factor_denominator'],9) + self.assertEqual(r['selector_calls_bound'],905994200400) + +if __name__=='__main__':unittest.main(verbosity=2) diff --git a/research/gen5b-shared-kernels/test_coretime.py b/research/gen5b-shared-kernels/test_coretime.py new file mode 100644 index 0000000000..26acf83d02 --- /dev/null +++ b/research/gen5b-shared-kernels/test_coretime.py @@ -0,0 +1,35 @@ +import unittest +import check_coretime as c + +class TestCoretime(unittest.TestCase): + @classmethod + def setUpClass(cls):cls.result=c.run() + def test_selected_and_lost(self): + self.assertEqual((self.result['selected'],self.result['undone_old_restorations']),(32,26)) + def test_exact_integer_identity(self): + self.assertTrue(self.result['exact_integer_root_schedule_identity']) + self.assertTrue(self.result['missing_restoration_control_rejected']) + def test_net_histogram(self): + self.assertEqual(self.result['local_histogram_delta'],{1:-46,2:20}) + self.assertEqual(self.result['residual_rank_count_delta'],{2:32,3:-58,4:26}) + def test_conflicts_explicit(self): + self.assertEqual({z['helper']for z in self.result['rejected']},{16485,16709}) + def test_exact_source_spans(self): + self.assertTrue(all(z['source_union_size']==180 for z in self.result['candidates'])) + def test_wrong_promoted_frame_rejected(self): + with self.assertRaisesRegex(AssertionError,'Promoted delivery outside target cap'): + c.run('wrong_promoted_frame') + def test_missing_old_undo_rejected(self): + with self.assertRaisesRegex(AssertionError,'Missing old restoration undo'): + c.run('omit_old_restoration_undo') + def test_shared_blocker_rejected(self): + with self.assertRaisesRegex(AssertionError,'Shared blocker'): + c.run('shared_blocker') + def test_incompatible_prefix_rejected(self): + with self.assertRaisesRegex(AssertionError,'Prefix closing frame outside common frame'): + c.run('incompatible_prefix') + def test_kernel_donor_overlap_disclosed(self): + self.assertEqual({r['donor']for r in self.result['kernel_donor_contracts']}, + {12649,12678,8811,11313,11329}) + +if __name__=='__main__':unittest.main() diff --git a/research/gen5b-shared-kernels/test_finite_bill.py b/research/gen5b-shared-kernels/test_finite_bill.py new file mode 100644 index 0000000000..d71471a416 --- /dev/null +++ b/research/gen5b-shared-kernels/test_finite_bill.py @@ -0,0 +1,23 @@ +from fractions import Fraction as F +import unittest + +import finite_bill + + +class FiniteBillTests(unittest.TestCase): + def test_explicit_cutoff_inequalities(self): + for delta in (F(1), F(1, 100), F(1, 10 ** 20)): + for coefficient in (1, 90386288803484701): + cutoff = finite_bill.cutoff(delta, coefficient) + self.assertGreaterEqual(F(cutoff) * delta ** 2, 36) + self.assertGreaterEqual(F(cutoff) * delta, + 2 * (4 + (coefficient - 1).bit_length())) + + def test_invalid_gap_rejected(self): + for delta in (F(0), F(-1), F(2)): + with self.assertRaises(AssertionError): + finite_bill.cutoff(delta, 1) + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_kernel70_arithmetic.py b/research/gen5b-shared-kernels/test_kernel70_arithmetic.py new file mode 100644 index 0000000000..ea19724d7e --- /dev/null +++ b/research/gen5b-shared-kernels/test_kernel70_arithmetic.py @@ -0,0 +1,110 @@ +"""Focused kernel70 exact-pricing, chart, composition and finite-bound checks.""" +import copy +from fractions import Fraction as F +import unittest + +import check_kernel70 +import check_kernel70_norm +import check_pr300_kernel70_composition +import check_kernel70_bank_assignment +import check_complete_suffix +import kernel70_pricing as price +import kernel70_charts as charts +import kernel70_finite_bill as bill + + +class SmallChartTests(unittest.TestCase): + def test_both_line_orders(self): + for line in ((6,7),(16,17),(2,3)): + for rank in (1,23): + z=charts.line_chart(*line,rank) + self.assertEqual(abs(z['determinant']),2) + self.assertLessEqual(z['max_numerator'],2) + self.assertLessEqual(z['max_denominator'],2) + def test_bad_line_rejected(self): + with self.assertRaises(AssertionError):charts.line_chart(2,2,1) + def test_nonorthogonal_partition_rejected(self): + cols=[[int(i==j)for i in range(24)]for j in range(24)] + with self.assertRaises(AssertionError):charts.checked_chart(cols,1) + def test_bad_histogram_types_rejected(self): + for d in ({1:True},{True:1},{'x':1},{1:1,'1':2}): + with self.assertRaises(ValueError):price.integer_map(d) + def test_odd_pivot_packing_rejected(self): + with self.assertRaises(ValueError):price.patterns(69,{}) + + +class IntegratedBindingTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.bridge=check_kernel70.run() + cls.composition=check_pr300_kernel70_composition.run() + cls.price=price.run(cls.bridge,composition=cls.composition) + cls.charts=charts.run(cls.bridge) + cls.norm=check_kernel70_norm.run() + cls.banks=check_kernel70_bank_assignment.run() + cls.suffix=check_complete_suffix.run() + def run_bill(self,**changes): + args=dict(chart=self.charts,norm=self.norm,math=self.price,bridge=self.bridge, + banks=self.banks,suffix=self.suffix,composition=self.composition) + args.update(changes) + return bill.run(**args) + def test_full_pricing_and_bill(self): + r=self.run_bill() + self.assertEqual(self.price['kappa'],F(749940157923873,10**18)) + self.assertEqual(self.price['literal_stock'],1229560) + self.assertEqual(self.price['calls'],483425) + self.assertEqual(r['payload_bits'],104) + self.assertEqual(r['payload_strict_gap'],7354671393307281152206899447616) + self.assertLess(r['conservative_payload_upper'],2**104) + self.assertEqual(r['displayed_finite_coefficient'],90466979917115701) + self.assertEqual(r['pivot_residual_demands'],70) + self.assertFalse(r['all_size_theorem_verified']) + def test_measured_histogram_mismatch_rejected(self): + z=copy.deepcopy(self.bridge);z['local_paid_histogram_delta'][1]+=1 + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_missing_path_rejected(self): + z=copy.deepcopy(self.bridge);z['paths'].pop() + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_corrupt_paid_entrance_rejected(self): + z=copy.deepcopy(self.bridge);z['paths'][0]['new_paid_entrance_dimensions']=[1,3] + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_wrong_shear_count_rejected(self): + z=copy.deepcopy(self.bridge);z['setup_adds']=473 + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_missing_chart_use_rejected(self): + z=copy.deepcopy(self.charts);z['role_chart_uses'].pop() + with self.assertRaises(AssertionError):self.run_bill(chart=z) + def test_wrong_chart_rank_rejected(self): + z=copy.deepcopy(self.charts);p=z['role_chart_uses'][0]['program_id'] + z['factor_programs'][p]['residual_rank']+=1 + with self.assertRaises(AssertionError):self.run_bill(chart=z) + def test_missing_sink_redirects_rejected(self): + z=copy.deepcopy(self.norm);z['actual_sink_redirects']=0 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_missing_sink_graph_edges_rejected(self): + z=copy.deepcopy(self.norm);z['target_majorant_edges']-=1 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_payload_equality_at_cap_rejected(self): + z=copy.deepcopy(self.norm);z['payload_bound']=2**104 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_wrong_bank_count_rejected(self): + z=copy.deepcopy(self.banks);z['banks_per_stage']-=1 + with self.assertRaises(AssertionError):self.run_bill(banks=z) + def test_final12_multiset_required(self): + z=copy.deepcopy(self.suffix);z['unchanged_scalar_multiset']=False + with self.assertRaises(AssertionError):self.run_bill(suffix=z) + def test_pr300_scalar_invariance_required(self): + z=copy.deepcopy(self.composition);z['scalar_majorants_unchanged_by_descent2']=False + with self.assertRaises(AssertionError):self.run_bill(composition=z) + def test_pr300_disjointness_required(self): + z=copy.deepcopy(self.composition);z['descent2_overlap_kernel70']=[1] + with self.assertRaises(AssertionError):self.run_bill(composition=z) + def test_pr300_histogram_binding_required(self): + z=copy.deepcopy(self.composition);z['combined_local_histogram_delta_over299'][1]+=1 + with self.assertRaises(AssertionError):self.run_bill(composition=z) + def test_pr300_wrong_source_pin_rejected(self): + z=copy.deepcopy(self.composition);z['input_sha256']['pr300/descent2-selection.json']='0'*64 + with self.assertRaises(AssertionError):self.run_bill(composition=z) + + +if __name__=='__main__':unittest.main(verbosity=2) diff --git a/research/gen5b-shared-kernels/test_kernel70_bank_assignment.py b/research/gen5b-shared-kernels/test_kernel70_bank_assignment.py new file mode 100644 index 0000000000..3885a500fd --- /dev/null +++ b/research/gen5b-shared-kernels/test_kernel70_bank_assignment.py @@ -0,0 +1,36 @@ +import unittest + +import check_kernel70_bank_assignment as banks + + +class KernelBankAssignmentTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.result = banks.run() + + def test_complete_role_rebinding(self): + x = self.result + self.assertEqual(x['new_shared_kernel_pivots'], 70) + self.assertEqual(x['helper_roles'], 15427) + self.assertEqual(x['checked_role_replica_assignments_per_stage'], 925620) + self.assertEqual(x['total_stage_assignments'], 4628100) + self.assertEqual(x['family_counts'][23], 1644) + self.assertEqual(x['family_counts'][24], 11403) + + def test_bank_addresses_and_stock(self): + x = self.result + self.assertEqual(x['assignment_sha256'], + '69841a26beddd5a1d4cea70c745d831fe36e6543270b515a8beb4ffb2c61bee5') + self.assertEqual(x['banks_per_stage'], 161432) + self.assertEqual(x['literal_stock'], 1229560) + self.assertEqual(x['unreplicated_stock'], '61478/3') + self.assertTrue(x['all_banks_full']) + self.assertTrue(x['stages_have_disjoint_bank_namespaces']) + + def test_duplicated_role_is_rejected(self): + with self.assertRaisesRegex(AssertionError, 'Missing or duplicated helper role'): + banks.run(mutation='duplicate_role') + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_kernel72_arithmetic.py b/research/gen5b-shared-kernels/test_kernel72_arithmetic.py new file mode 100644 index 0000000000..952e973513 --- /dev/null +++ b/research/gen5b-shared-kernels/test_kernel72_arithmetic.py @@ -0,0 +1,120 @@ +"""Focused exact-construction and end-to-end binding negative controls.""" +import copy +from fractions import Fraction as F +import unittest + +import check_shared_kernel +import check_scalar_bounds +import check_complete_suffix +import check_kernel_bank_assignment +import check_pr300_composition +import source_data as sd +import kernel72_pricing as price +import kernel72_charts as charts +import kernel72_finite_bill as bill + + +class SmallChartTests(unittest.TestCase): + def test_both_line_orders(self): + for line in ((6,7),(16,17),(2,3)): + for rank in (1,23): + z=charts.line_chart(*line,rank) + self.assertEqual(abs(z['determinant']),2) + self.assertLessEqual(z['max_numerator'],2) + self.assertLessEqual(z['max_denominator'],2) + def test_bad_line_rejected(self): + with self.assertRaises(AssertionError):charts.line_chart(2,2,1) + def test_non_line_rank_rejected(self): + with self.assertRaises(ValueError):charts.line_chart(2,3,2) + def test_nonorthogonal_partition_rejected(self): + cols=[[int(i==j)for i in range(24)]for j in range(24)] + with self.assertRaises(AssertionError):charts.checked_chart(cols,1) + def test_bad_histogram_types_rejected(self): + for d in ({1:True},{True:1},{'x':1},{1:1,'1':2}): + with self.assertRaises(ValueError):price.integer_map(d) + def test_odd_pivot_packing_rejected(self): + with self.assertRaises(ValueError):price.patterns(71,{}) + + +class IntegratedBindingTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.bridge=check_shared_kernel.run(selection='union72') + cls.price=price.run(cls.bridge) + cls.charts=charts.run(cls.bridge) + cls.norm=check_scalar_bounds.run() + cls.banks=check_kernel_bank_assignment.run() + cls.suffix=check_complete_suffix.run() + cls.composition=check_pr300_composition.run() + cls.extra=price.price_additional_histogram( + cls.price, sd.read_bytes('pr300/descent2-selection.json'), + sd.MANIFEST['files']['pr300/descent2-selection.json']) + def run_bill(self,**changes): + args=dict(chart=self.charts,norm=self.norm,math=self.price,bridge=self.bridge, + banks=self.banks,suffix=self.suffix);args.update(changes) + return bill.run(**args) + def test_full_pricing_and_bill(self): + r=self.run_bill() + self.assertEqual(self.price['kappa'],F(749917402998347,10**18)) + self.assertEqual(self.price['literal_stock'],1229555) + self.assertEqual(self.price['calls'],483130) + self.assertEqual(r['payload_bits'],102) + self.assertLess(r['displayed_finite_coefficient'],2**80) + self.assertEqual(r['pivot_residual_demands'],72) + self.assertFalse(r['all_size_theorem_verified']) + def test_measured_histogram_mismatch_rejected(self): + z=copy.deepcopy(self.bridge);z['local_paid_histogram_delta'][1]+=1 + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_missing_path_rejected(self): + z=copy.deepcopy(self.bridge);z['paths'].pop() + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_corrupt_paid_entrance_rejected(self): + z=copy.deepcopy(self.bridge);z['paths'][0]['new_paid_entrance_dimensions']=[1,3] + with self.assertRaises(AssertionError):price.measured_kernel_delta(z) + def test_missing_chart_use_rejected(self): + z=copy.deepcopy(self.charts);z['role_chart_uses'].pop() + with self.assertRaises(AssertionError):self.run_bill(chart=z) + def test_wrong_chart_rank_rejected(self): + z=copy.deepcopy(self.charts);p=z['role_chart_uses'][0]['program_id'] + z['factor_programs'][p]['residual_rank']+=1 + with self.assertRaises(AssertionError):self.run_bill(chart=z) + def test_missing_sink_redirects_rejected(self): + z=copy.deepcopy(self.norm);z['actual_sink_redirects']=0 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_missing_sink_graph_edges_rejected(self): + z=copy.deepcopy(self.norm);z['target_majorant_edges']-=1 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_payload_tamper_rejected(self): + z=copy.deepcopy(self.norm);z['payload_bound']-=1 + with self.assertRaises(AssertionError):self.run_bill(norm=z) + def test_wrong_bank_count_rejected(self): + z=copy.deepcopy(self.banks);z['banks_per_stage']-=1 + with self.assertRaises(AssertionError):self.run_bill(banks=z) + def test_final12_multiset_required(self): + z=copy.deepcopy(self.suffix);z['unchanged_scalar_multiset']=False + with self.assertRaises(AssertionError):self.run_bill(suffix=z) + def test_extra_source_byte_change_rejected(self): + pin=dict(repository='example/repo',path='selection.json',commit='a'*40, + git_blob='b'*40,sha256='c'*64) + with self.assertRaises(ValueError):price.price_additional_histogram(self.price,b'{}',pin) + def test_pr300_composed_finite_bill(self): + r=self.run_bill(math=self.extra,composition=self.composition) + self.assertEqual(self.extra['kappa'],F(749936120273400,10**18)) + self.assertEqual(r['literal_children'],60*483455) + self.assertEqual(r['payload_bits'],102) + self.assertIn('PR300',r['status']) + self.assertFalse(r['all_size_theorem_verified']) + def test_extra_price_needs_composition(self): + with self.assertRaises(AssertionError):self.run_bill(math=self.extra) + def test_pr300_scalar_invariance_required(self): + z=copy.deepcopy(self.composition);z['scalar_majorants_unchanged_by_descent2']=False + with self.assertRaises(AssertionError):self.run_bill(math=self.extra,composition=z) + def test_pr300_disjointness_required(self): + z=copy.deepcopy(self.composition);z['descent2_overlap_final12']=[1] + with self.assertRaises(AssertionError):self.run_bill(math=self.extra,composition=z) + def test_pr300_histogram_binding_required(self): + z=copy.deepcopy(self.composition);z['combined_local_histogram_delta_over299'][1]+=1 + with self.assertRaises(AssertionError):self.run_bill(math=self.extra,composition=z) + + +if __name__=='__main__':unittest.main(verbosity=2) diff --git a/research/gen5b-shared-kernels/test_kernel_bank_assignment.py b/research/gen5b-shared-kernels/test_kernel_bank_assignment.py new file mode 100644 index 0000000000..aeefae2d8f --- /dev/null +++ b/research/gen5b-shared-kernels/test_kernel_bank_assignment.py @@ -0,0 +1,35 @@ +import unittest + +import check_kernel_bank_assignment as banks + + +class KernelBankAssignmentTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.result = banks.run() + + def test_complete_role_rebinding(self): + x = self.result + self.assertEqual(x['new_shared_kernel_pivots'], 72) + self.assertEqual(x['helper_roles'], 15427) + self.assertEqual(x['checked_role_replica_assignments_per_stage'], 925620) + self.assertEqual(x['total_stage_assignments'], 4628100) + self.assertEqual(x['family_counts'][23], 1646) + self.assertEqual(x['family_counts'][24], 11401) + + def test_bank_addresses_and_stock(self): + x = self.result + self.assertEqual(x['assignment_sha256'], + '70da321406af20759213ffdfd5bb440ea2fd2757d89101c4f56d2efec01a951a') + self.assertEqual(x['banks_per_stage'], 161431) + self.assertEqual(x['literal_stock'], 1229555) + self.assertTrue(x['all_banks_full']) + self.assertTrue(x['stages_have_disjoint_bank_namespaces']) + + def test_duplicated_role_is_rejected(self): + with self.assertRaisesRegex(AssertionError, 'Missing or duplicated helper role'): + banks.run(mutation='duplicate_role') + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_pipeline.py b/research/gen5b-shared-kernels/test_pipeline.py new file mode 100644 index 0000000000..018f181708 --- /dev/null +++ b/research/gen5b-shared-kernels/test_pipeline.py @@ -0,0 +1,71 @@ +"""Independent local and complete-suffix controls for the 12-helper exchange.""" +from collections import Counter +import unittest + +import check_coretime +import check_complete_suffix as scalar +import check_suffix_frames as frames + + +class PipelineTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.local = check_coretime.run(minimal=True) + cls.size, cls.before, cls.after, cls.scalar = scalar.build() + + def test_minimal_selection(self): + self.assertEqual(self.local['selected'], 12) + self.assertEqual(self.local['undone_old_restorations'], 6) + groups = Counter(z['old_restored_helper_stream'] for z in self.local['candidates']) + self.assertEqual(set(groups.values()), {2}) + + def test_integer_local_map(self): + self.assertTrue(self.local['exact_integer_root_schedule_identity']) + self.assertTrue(self.local['missing_restoration_control_rejected']) + + def test_all_columns_forward(self): + self.assertEqual(self.size, 18954) + self.assertEqual(scalar.evaluate(self.before, self.size), + scalar.evaluate(self.after, self.size)) + + def test_all_columns_reverse(self): + self.assertEqual(scalar.evaluate(self.before, self.size, True), + scalar.evaluate(self.after, self.size, True)) + + def test_exact_integer_operators_and_majorants(self): + for reverse in (False, True): + for absolute in (False, True): + self.assertEqual(scalar.integer_operator(self.before, self.size, reverse, absolute), + scalar.integer_operator(self.after, self.size, reverse, absolute)) + + def test_complete_scalar_multiset(self): + self.assertEqual(len(self.before), 55985) + self.assertEqual(Counter(x[:3] for x in self.before), + Counter(x[:3] for x in self.after)) + self.assertEqual(self.scalar['co_retimed_partner_deliveries'], 12) + + def test_missing_restoration_is_detected(self): + bad = self.after[:] + index = next(i for i, row in enumerate(bad) if row[3].startswith('new_restore:')) + del bad[index] + self.assertNotEqual(scalar.evaluate(self.before, self.size), + scalar.evaluate(bad, self.size)) + + def test_measured_paid_delta(self): + result = frames.run() + self.assertEqual(result['local_histogram_delta'], {1: 18, 2: -12}) + self.assertEqual(result['affected_streams'], 60) + self.assertTrue(result['both_reflected_ledgers']) + self.assertEqual(result['partner_setup_descent_replacements_applied'], 12) + + def test_missing_partner_promotion_rejected(self): + with self.assertRaisesRegex(AssertionError, 'nonnested'): + frames.run('omit_partner_promotion') + + def test_missing_old_restoration_undo_rejected(self): + with self.assertRaises(AssertionError): + frames.run('omit_old_undo') + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_pr300_bases.py b/research/gen5b-shared-kernels/test_pr300_bases.py new file mode 100644 index 0000000000..b71b0ab277 --- /dev/null +++ b/research/gen5b-shared-kernels/test_pr300_bases.py @@ -0,0 +1,18 @@ +import unittest +import copy +import source_data as sd +import check_pr300_bases as bases + +class BasisTests(unittest.TestCase): + def test_pinned_bases(self): + r=bases.run() + self.assertEqual(r['unique_selected_bases'],65) + self.assertTrue(r['nondegenerate_over_every_field_of_characteristic_above5']) + def test_singular_basis_rejected(self): + x=sd.read_json('pr300/descent2-selection.json') + x['entries'][0]['new_basis'][0]=[0]*24 + with self.assertRaises(AssertionError): bases.basis_receipt(x) + def test_bareiss_row_swap(self): + self.assertEqual(bases.det([[0,2],[3,4]]),-6) + +if __name__=='__main__': unittest.main() diff --git a/research/gen5b-shared-kernels/test_pr300_composition.py b/research/gen5b-shared-kernels/test_pr300_composition.py new file mode 100644 index 0000000000..eec5bb2092 --- /dev/null +++ b/research/gen5b-shared-kernels/test_pr300_composition.py @@ -0,0 +1,14 @@ +import unittest +from check_pr300_composition import run +class CompositionTests(unittest.TestCase): + def test_exact_disjoint_composition(self): + r=run();self.assertEqual(r['new_descent_gate_count'],89);self.assertEqual(r['final12_broader_scalar_closure'],84);self.assertEqual(r['kernel72_streams'],165) + def test_histograms_add(self): + r=run();H=r['combined_local_histogram_delta_over299'];self.assertEqual(sum(k*v for k,v in H.items()),-78) + def test_unchanged_following_stages(self): + r=run();self.assertEqual((r['unchanged_restore_entries'],r['unchanged_sink_entries']),(440,7)) + def test_reject_final12_overlap(self): + with self.assertRaises(AssertionError):run('frame_overlap') + def test_reject_kernel_overlap(self): + with self.assertRaises(AssertionError):run('kernel_overlap') +if __name__=='__main__':unittest.main() diff --git a/research/gen5b-shared-kernels/test_pricing.py b/research/gen5b-shared-kernels/test_pricing.py new file mode 100644 index 0000000000..d1967e8efd --- /dev/null +++ b/research/gen5b-shared-kernels/test_pricing.py @@ -0,0 +1,51 @@ +from fractions import Fraction as F +import unittest + +import baseline_arithmetic as baseline +import packing +import reprice + + +class PricingTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.result = reprice.reprice({1: 18, 2: -12}, {2: 12, 3: -18, 4: 6}) + + def test_profile_and_packing(self): + x = self.result + self.assertEqual((x['calls'], x['rank_mass'], x['literal_stock']), + (482665, 2455070, 1229735)) + self.assertEqual(x['deficit'], 4400) + self.assertEqual(x['packing']['feasible_bins'], 161467) + self.assertTrue(x['packing']['optimal']) + self.assertEqual(x['packing']['unused_coordinate_capacity'], 0) + + def test_adjacent_moment_bounds(self): + x = self.result + self.assertEqual(x['root_bracket'], + [F(750469712644613, 10 ** 18), F(750469712644614, 10 ** 18)]) + self.assertLess(x['moment_interval'][1], 1) + self.assertGreater(x['adjacent_moment_interval'][0], 1) + + def test_outer_constraints_and_scope(self): + x = self.result + self.assertEqual(x['kappa'], F(749906929903449, 10 ** 18)) + self.assertEqual(len(x['assembly']['strict_constraints']), 47) + self.assertTrue(all(v > 0 for v in x['assembly']['strict_constraints'].values())) + self.assertEqual(x['assembly']['adjacent_grid_rejected'], ['g3_above_kappa']) + self.assertFalse(x['physical_admission']) + + def test_missing_bank_is_rejected(self): + x = self.result['packing'] + patterns = [dict(widths=row['widths'][:], count=row['count']) for row in x['patterns']] + patterns[0]['count'] -= 1 + with self.assertRaises(AssertionError): + packing.verify(120, x['demand'], patterns) + + def test_float_delta_is_rejected(self): + with self.assertRaises(ValueError): + reprice.reprice({1: 18.0}, {}) + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_rootcuts.py b/research/gen5b-shared-kernels/test_rootcuts.py new file mode 100644 index 0000000000..d619f1d891 --- /dev/null +++ b/research/gen5b-shared-kernels/test_rootcuts.py @@ -0,0 +1,8 @@ +import unittest +import check_rootcuts as c +class TestCutScreen(unittest.TestCase): + def test_rank_empty(self): self.assertEqual(c.rank([]),0) + def test_rank_dependent(self): self.assertEqual(c.rank([[1,2],[2,4]],2),1) + def test_rank_independent(self): self.assertEqual(c.rank([[1,2],[2,5]],2),2) + def test_all_actual_roles(self): self.assertEqual(c.run()['count'],34) +if __name__=='__main__': unittest.main() diff --git a/research/gen5b-shared-kernels/test_scalar_norm.py b/research/gen5b-shared-kernels/test_scalar_norm.py new file mode 100644 index 0000000000..b42503bfb5 --- /dev/null +++ b/research/gen5b-shared-kernels/test_scalar_norm.py @@ -0,0 +1,31 @@ +import unittest + +import scalar_norm_transport as transport + + +class ScalarNormTests(unittest.TestCase): + def test_commuting_same_destination_updates(self): + old = [(0, 1, 1, 'a'), (0, 2, -1, 'b')] + result = transport.check(old, old[::-1]) + self.assertEqual(result['commuting_adjacent_swaps'], 1) + self.assertEqual(result['forward_norm_factor'], 2) + + def test_noncommuting_swap_rejected(self): + old = [(0, 1, 1, 'a'), (1, 2, 1, 'b')] + with self.assertRaisesRegex(AssertionError, 'noncommuting'): + transport.check(old, old[::-1]) + + def test_changed_coefficient_rejected(self): + with self.assertRaises(AssertionError): + transport.check([(0, 1, 1, 'a')], [(0, 1, -1, 'a')]) + + def test_complete_transport(self): + result = transport.run() + self.assertEqual(result['commuting_adjacent_swaps'], 172944) + self.assertEqual(len(result['destinations_with_changed_update_order']), 12) + self.assertEqual(result['payload_bits'], 103) + self.assertLess(result['payload_upper'], 2 ** 104) + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_shared_kernel.py b/research/gen5b-shared-kernels/test_shared_kernel.py new file mode 100644 index 0000000000..2529435e7b --- /dev/null +++ b/research/gen5b-shared-kernels/test_shared_kernel.py @@ -0,0 +1,24 @@ +import unittest +from check_shared_kernel import run + +class SharedKernelTests(unittest.TestCase): + def test_three_individual_groups(self): + for s in('line6','line16','line2'): + with self.subTest(selection=s):self.assertTrue(run(selection=s)['formal_forward_and_inverse_equal']) + def test_two_line_union(self): + r=run();self.assertEqual(r['pivots'],34);self.assertEqual(r['distinct_donors'],43) + def test_trimmed_three_line_union(self): + r=run(selection='union72');self.assertEqual(r['setup_adds'],473);self.assertEqual(r['max_donor_multiplicity'],21) + def test_missing_setup_rejected(self): + with self.assertRaises(AssertionError):run('omit_setup') + def test_missing_restore_rejected(self): + with self.assertRaises(AssertionError):run('omit_restore') + def test_bad_response_rejected(self): + with self.assertRaises(AssertionError):run('bad_relation') + def test_conservative_payload_cap(self): + from check_scalar_bounds import run as bounds + r=bounds();self.assertEqual(r['payload_bits'],102);self.assertTrue(r['retained_payload_cap_2_to104']);self.assertEqual(r['actual_sink_redirects'],14) + def test_bad_entrance_rejected(self): + with self.assertRaises(AssertionError):run('bad_entrance') + +if __name__=='__main__':unittest.main() diff --git a/research/gen5b-shared-kernels/test_source_data.py b/research/gen5b-shared-kernels/test_source_data.py new file mode 100644 index 0000000000..20381c8e66 --- /dev/null +++ b/research/gen5b-shared-kernels/test_source_data.py @@ -0,0 +1,59 @@ +"""Mutation and portability controls for the immutable input loader.""" +import io +import os +from pathlib import Path +import tempfile +import unittest +from unittest.mock import patch + +import fetch_inputs +import source_data as sd + + +class SourceDataTests(unittest.TestCase): + def test_all_input_pins(self): + self.assertEqual(sd.verify_all(), len(sd.MANIFEST['files'])) + + def test_altered_input_rejected(self): + name = 'expected/kernel-pins.json' + with self.assertRaisesRegex(ValueError, 'Pinned input bytes changed'): + sd.verify_bytes(name, sd.read_bytes(name) + b' ') + + def test_unpinned_path_rejected(self): + with self.assertRaisesRegex(ValueError, 'Unpinned input'): + sd.read_bytes('../untrusted.json') + + def test_source_location_is_explicit(self): + with patch.dict(os.environ, {}, clear=True): + with self.assertRaisesRegex(RuntimeError, 'CORETIME_SOURCE_DIR'): + sd.source_root() + + def test_fetch_url_and_exact_bytes(self): + name = 'expected/kernel-pins.json' + raw = sd.read_bytes(name) + manifest = dict(sd.MANIFEST, files={name: sd.MANIFEST['files'][name]}) + with tempfile.TemporaryDirectory() as directory: + with patch.object(fetch_inputs, 'MANIFEST', manifest): + with patch('urllib.request.urlopen', return_value=io.BytesIO(raw)) as request: + fetch_inputs.fetch(directory) + url = request.call_args.args[0] + self.assertIn('/' + sd.HEAD + '/', url) + self.assertTrue(url.endswith('/' + name)) + self.assertEqual((Path(directory) / name).read_bytes(), raw) + with patch('urllib.request.urlopen') as request: + fetch_inputs.fetch(directory) + request.assert_not_called() + + def test_fetch_rejects_corrupted_download(self): + name = 'expected/kernel-pins.json' + manifest = dict(sd.MANIFEST, files={name: sd.MANIFEST['files'][name]}) + with tempfile.TemporaryDirectory() as directory: + with patch.object(fetch_inputs, 'MANIFEST', manifest): + with patch('urllib.request.urlopen', return_value=io.BytesIO(b'{}')): + with self.assertRaisesRegex(ValueError, 'Pinned input bytes changed'): + fetch_inputs.fetch(directory) + self.assertFalse((Path(directory) / name).exists()) + + +if __name__ == '__main__': + unittest.main() diff --git a/research/gen5b-shared-kernels/test_target_majorant.py b/research/gen5b-shared-kernels/test_target_majorant.py new file mode 100644 index 0000000000..1ae0090059 --- /dev/null +++ b/research/gen5b-shared-kernels/test_target_majorant.py @@ -0,0 +1,35 @@ +"""Exhaustive small-model check of target-prefix plus sink domination.""" +from itertools import permutations,product +import unittest + +def close(v): + # Dp: row0<-row1. Ds: row2<-row0. Dp Ds=0, Ds Dp !=0. + z=v[:];z[0]+=2*v[1];z[2]+=2*z[0];return z + +def replay(word,seed): + v=seed[:] + for op in word: + if op in ('p0','p1'):v[0]+=v[1] + elif op in ('s0','s1'):v[2]+=v[0] + else:v[int(op)]+=1 + return v + +class TargetMajorant(unittest.TestCase): + def test_all_interleavings_nonnegative_sources(self): + count=0 + # Two copies of each target shear and one increment in every coordinate. + for word in permutations(('p0','p1','s0','s1','0','1','2')): + for seed in product(range(2),repeat=3): + bound=close([x+1 for x in seed]);actual=replay(word,list(seed)) + self.assertTrue(all(a<=b for a,b in zip(actual,bound)));count+=1 + self.assertEqual(count,40320) + def test_missing_sink_batch_can_underestimate(self): + seed=[0,1,0];actual=replay(('p0','p1','s0','s1'),seed) + prefix_only=[2,1,0] + self.assertGreater(actual[2],prefix_only[2]) + def test_reversing_closure_can_underestimate(self): + # (I+2Dp)(I+2Ds) misses the directed Ds Dp cross-term. + actual=replay(('p0','p1','s0','s1'),[0,1,0]) + self.assertEqual(actual,[2,1,4]);self.assertGreater(actual[2],0) + +if __name__=='__main__':unittest.main() From 67985f88c3440edd399f01bf39f51852f94cd176 Mon Sep 17 00:00:00 2001 From: "Dr. Maksym Kitsera" Date: Sat, 10 Oct 2026 05:39:56 -0700 Subject: [PATCH 2/9] Add verified weighted-matching shared-kernel composition with 166 pivots --- .../weighted275/.gitignore | 3 + .../weighted275/DEPENDENCIES.json | 21 + .../weighted275/MANIFEST.json | 183 + .../weighted275/NOTICE.md | 37 + .../gen5b-shared-kernels/weighted275/PROOF.md | 191 + .../weighted275/README.md | 118 + .../weighted275/bank_receipt_binding.py | 64 + .../weighted275/build_response_cache.py | 54 + .../candidate-combined166-reclosed.json | 11354 ++++++++++++++++ ...candidate-combined48-reclosed-reverse.json | 2370 ++++ .../weighted275/candidate-line16-17.json | 9994 ++++++++++++++ .../weighted275/candidate-line2-3.json | 544 + .../weighted275/candidate-line6-7.json | 1804 +++ .../weighted275/candidate70-rebound.json | 3803 ++++++ .../gen5b-shared-kernels/weighted275/cases.py | 4 + .../weighted275/certificates/aggregate.json | 39 + .../weighted275/certificates/baseline.json | 882 ++ .../weighted275/certificates/case166.json | 858 ++ .../weighted275/certificates/case70.json | 776 ++ .../weighted275/certificates/complex.json | 164 + .../weighted275/certificates/overlap.json | 50 + .../weighted275/chart_construction.py | 59 + .../weighted275/chart_rational.py | 64 + .../weighted275/check_bridge.py | 185 + .../weighted275/check_candidate_charts.py | 73 + .../weighted275/check_scalar_bounds.py | 151 + .../weighted275/check_shared_banks.py | 123 + .../weighted275/compose_screened_groups.py | 43 + .../weighted275/fetch_inputs.py | 23 + .../weighted275/inputs.json | 283 + .../integrate_bounded_candidate.py | 118 + .../weighted275/map_roles.py | 64 + .../weighted275/price_candidate.py | 66 + .../weighted275/reproduce_complex.py | 87 + .../weighted275/reproduce_pr275.py | 293 + .../weighted275/resolve_group_overlaps.py | 49 + .../weighted275/review_payload_cap.py | 81 + .../weighted275/run_checks.py | 69 + .../weighted275/search_expanded_lines.py | 147 + .../weighted275/source_data.py | 29 + .../weighted275/test_arithmetic.py | 79 + .../weighted275/test_bounded.py | 54 + .../weighted275/test_bridge166.py | 52 + .../weighted275/test_candidate_binding.py | 67 + .../weighted275/test_portable_contract.py | 62 + 45 files changed, 35634 insertions(+) create mode 100644 research/gen5b-shared-kernels/weighted275/.gitignore create mode 100644 research/gen5b-shared-kernels/weighted275/DEPENDENCIES.json create mode 100644 research/gen5b-shared-kernels/weighted275/MANIFEST.json create mode 100644 research/gen5b-shared-kernels/weighted275/NOTICE.md create mode 100644 research/gen5b-shared-kernels/weighted275/PROOF.md create mode 100644 research/gen5b-shared-kernels/weighted275/README.md create mode 100644 research/gen5b-shared-kernels/weighted275/bank_receipt_binding.py create mode 100644 research/gen5b-shared-kernels/weighted275/build_response_cache.py create mode 100644 research/gen5b-shared-kernels/weighted275/candidate-combined166-reclosed.json create mode 100644 research/gen5b-shared-kernels/weighted275/candidate-combined48-reclosed-reverse.json create mode 100644 research/gen5b-shared-kernels/weighted275/candidate-line16-17.json create mode 100644 research/gen5b-shared-kernels/weighted275/candidate-line2-3.json create mode 100644 research/gen5b-shared-kernels/weighted275/candidate-line6-7.json create mode 100644 research/gen5b-shared-kernels/weighted275/candidate70-rebound.json create mode 100644 research/gen5b-shared-kernels/weighted275/cases.py create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/aggregate.json create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/baseline.json create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/case166.json create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/case70.json create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/complex.json create mode 100644 research/gen5b-shared-kernels/weighted275/certificates/overlap.json create mode 100644 research/gen5b-shared-kernels/weighted275/chart_construction.py create mode 100644 research/gen5b-shared-kernels/weighted275/chart_rational.py create mode 100644 research/gen5b-shared-kernels/weighted275/check_bridge.py create mode 100644 research/gen5b-shared-kernels/weighted275/check_candidate_charts.py create mode 100644 research/gen5b-shared-kernels/weighted275/check_scalar_bounds.py create mode 100644 research/gen5b-shared-kernels/weighted275/check_shared_banks.py create mode 100644 research/gen5b-shared-kernels/weighted275/compose_screened_groups.py create mode 100644 research/gen5b-shared-kernels/weighted275/fetch_inputs.py create mode 100644 research/gen5b-shared-kernels/weighted275/inputs.json create mode 100644 research/gen5b-shared-kernels/weighted275/integrate_bounded_candidate.py create mode 100644 research/gen5b-shared-kernels/weighted275/map_roles.py create mode 100644 research/gen5b-shared-kernels/weighted275/price_candidate.py create mode 100644 research/gen5b-shared-kernels/weighted275/reproduce_complex.py create mode 100644 research/gen5b-shared-kernels/weighted275/reproduce_pr275.py create mode 100644 research/gen5b-shared-kernels/weighted275/resolve_group_overlaps.py create mode 100644 research/gen5b-shared-kernels/weighted275/review_payload_cap.py create mode 100644 research/gen5b-shared-kernels/weighted275/run_checks.py create mode 100644 research/gen5b-shared-kernels/weighted275/search_expanded_lines.py create mode 100644 research/gen5b-shared-kernels/weighted275/source_data.py create mode 100644 research/gen5b-shared-kernels/weighted275/test_arithmetic.py create mode 100644 research/gen5b-shared-kernels/weighted275/test_bounded.py create mode 100644 research/gen5b-shared-kernels/weighted275/test_bridge166.py create mode 100644 research/gen5b-shared-kernels/weighted275/test_candidate_binding.py create mode 100644 research/gen5b-shared-kernels/weighted275/test_portable_contract.py diff --git a/research/gen5b-shared-kernels/weighted275/.gitignore b/research/gen5b-shared-kernels/weighted275/.gitignore new file mode 100644 index 0000000000..f360d73424 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +inputs/ +generated/ diff --git a/research/gen5b-shared-kernels/weighted275/DEPENDENCIES.json b/research/gen5b-shared-kernels/weighted275/DEPENDENCIES.json new file mode 100644 index 0000000000..d1ca8a2f80 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/DEPENDENCIES.json @@ -0,0 +1,21 @@ +{ + "parent_commit": "f4be7cfff0ea3935d454b2cb944ecabc5ac4595a", + "files": { + "exact_intervals.py": { + "bytes": 2242, + "sha256": "c261dd44838d4e36c68768a1023ac859677089464ab121cdb46b30c918679333" + }, + "assembly_arithmetic.py": { + "bytes": 5223, + "sha256": "f2f6293c31deb579ebbea19eeaa732c07304ce9c2cacd431685e2dd18d4b0d58" + }, + "kernel70-witness.json": { + "bytes": 53356, + "sha256": "8b99bb2f0e9f352c303d251009058cc30e7ad4c20b8e32e863afb0ebcc3388b7" + }, + "certificates/coretime12/local.json": { + "bytes": 7577, + "sha256": "773519b2e5511a1f18a2d3d3f2798a432d97a6b3ceca1a7d5febd119f457ce5f" + } + } +} diff --git a/research/gen5b-shared-kernels/weighted275/MANIFEST.json b/research/gen5b-shared-kernels/weighted275/MANIFEST.json new file mode 100644 index 0000000000..38cbe1595c --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/MANIFEST.json @@ -0,0 +1,183 @@ +{ + "schema": "weighted275-additive-files/1", + "source_head": "10b40041d4ab8a6610083e95bc571aee3468bca2", + "parent_pr302_commit": "f4be7cfff0ea3935d454b2cb944ecabc5ac4595a", + "files": { + ".gitignore": { + "bytes": 32, + "sha256": "5730cb3eb4b2a2d6afa49a9a41ea2aeba9da921fdec0024ce1013275350044f2" + }, + "DEPENDENCIES.json": { + "bytes": 663, + "sha256": "be869c6fad9016242012ebc0bb59fb8a2a02cfa9fe613b4ad1b60f804f798f08" + }, + "NOTICE.md": { + "bytes": 2520, + "sha256": "038e6d32fd297a9c3e1d04a81d49f1e8fdc14cb447db9001965dbc4eaade5576" + }, + "PROOF.md": { + "bytes": 10869, + "sha256": "141ce08deb071c822c75f2e0bab1eb778f8c7d7d93eeabbd83370a7bbc38f30d" + }, + "README.md": { + "bytes": 6576, + "sha256": "6bf5d8e95ce8ee581fcadbc7ef98bc846a0a6294acd5bd4974693b6cbf4e8123" + }, + "bank_receipt_binding.py": { + "bytes": 4178, + "sha256": "f712502f645163fb7bfa4d39cfee2478c8ff9f2ac333f95d39c0e5e2c62dcb57" + }, + "build_response_cache.py": { + "bytes": 4314, + "sha256": "e9546161445c9430a579f50167949f13338c5b6977019e65d6dc282de6d4febf" + }, + "candidate-combined166-reclosed.json": { + "bytes": 159502, + "sha256": "f2932216a90298b62e2895bad0c5402faf6ce79e40aabc62e8e0c601067f4006" + }, + "candidate-combined48-reclosed-reverse.json": { + "bytes": 33025, + "sha256": "778c702ce5ca0601063f27d6b878be9aebad3806d755c31bd33519fe626b486f" + }, + "candidate-line16-17.json": { + "bytes": 140725, + "sha256": "ccfd4af2bb28f78c3d7c0df1b53b62abd4907942e533b33d3d38eccae9bbdada" + }, + "candidate-line2-3.json": { + "bytes": 7564, + "sha256": "dd000858f9c5639c580b4e3754991f430750f92436f45838da12efd469434aef" + }, + "candidate-line6-7.json": { + "bytes": 25008, + "sha256": "52ce4569b69afb2c3fd786cbb8efa315b5686b7cb62e8388e6b8467778863ba7" + }, + "candidate70-rebound.json": { + "bytes": 53277, + "sha256": "423da9c6edc40200a1defec3fd6ee507cb93e48a438df432df7f427b50bdbc01" + }, + "cases.py": { + "bytes": 970, + "sha256": "f54406a116cab7bb14b1be439478eed054613a6d7ec6cd9a04bbb6859725e3ce" + }, + "certificates/aggregate.json": { + "bytes": 1698, + "sha256": "c6760b5e1aa945b300c6bde3de4c501f56f9c5b977eca01e783ec9ad7ac927a7" + }, + "certificates/baseline.json": { + "bytes": 24587, + "sha256": "b0b1313f7aac627415fbeae4a21980e2f0f5089211ed346c9d259fe1383053dc" + }, + "certificates/case166.json": { + "bytes": 30962, + "sha256": "27da6fa6e75498b40b3ce7f46e2b1e6724ed69020499320c67b219947238a911" + }, + "certificates/case70.json": { + "bytes": 26484, + "sha256": "4afbba554f85adf2d43be20c30cd172be63066aac8392c41cd978475cc2455f2" + }, + "certificates/complex.json": { + "bytes": 3546, + "sha256": "26aaeff711d1fc3cfe1d98fb21593d00680705f14c05049db73ee3532f589d99" + }, + "certificates/overlap.json": { + "bytes": 1479, + "sha256": "7e907dbd9dcf4aac2ee1bc75c6baba3b11992b2867b8b96b07942e133bc53571" + }, + "chart_construction.py": { + "bytes": 2584, + "sha256": "d8ef92102d2ae7dccd85fd6f0565b3c5050878db4f6e580e9033a93090bd900f" + }, + "chart_rational.py": { + "bytes": 2337, + "sha256": "e95042aa1e8311cc3575663eeb0b50468044be68460bbdcac094cd5c76c3d07c" + }, + "check_bridge.py": { + "bytes": 11467, + "sha256": "38fb6d3ec2ecabd8b806f7b08151f57bcb1edb6aec60c33f83ec19da1e03d5d9" + }, + "check_candidate_charts.py": { + "bytes": 5378, + "sha256": "e588e1e33f5235e3a5905422c4703a762f9e4f60090cbd13e065020a3f2cdc99" + }, + "check_scalar_bounds.py": { + "bytes": 9673, + "sha256": "55f6f076448956f71f5b907d232ed20ed17daf5d0938854ec0f8fe01f0bde834" + }, + "check_shared_banks.py": { + "bytes": 7311, + "sha256": "2c2c2a36d4151de8e8cb7e614cb38aa87b25a11db9de2c45b1ce38e7ea3cdbf3" + }, + "compose_screened_groups.py": { + "bytes": 3220, + "sha256": "04ce226b69ba7f744985fc026ae68156a15a8a14cfe9254dcf71f3dd5024049d" + }, + "fetch_inputs.py": { + "bytes": 1351, + "sha256": "13f47ddb3b718c4deeeabd70169009ae4ea0a416d4c38f5b48964ed91a17798d" + }, + "inputs.json": { + "bytes": 17029, + "sha256": "bacbed72b4e184974596bb68fe0d4f288f4f943e88f7b5eb33cef0828f7d77bb" + }, + "integrate_bounded_candidate.py": { + "bytes": 9560, + "sha256": "2a7b37d8b4fdf33ac679e13c82df845b87a4b1e4a355bd98e1e0131e6b5507cb" + }, + "map_roles.py": { + "bytes": 4318, + "sha256": "f0c605d0364d7a08bc194e0d7885aec355b9c5ee1baf9cdff1719c233804a64b" + }, + "price_candidate.py": { + "bytes": 3864, + "sha256": "bce58448e1c73768231fa1d3c1df7ed4bcd9338972660f45ddfe86dbf968b9b8" + }, + "reproduce_complex.py": { + "bytes": 4589, + "sha256": "fd522134485624fd642747905aea99e107ea88e50d0ef89fb99c52d297f5eb0d" + }, + "reproduce_pr275.py": { + "bytes": 15576, + "sha256": "7b18d737e7423e2dc0115878d3b3c6f6f92c00c843b3851652453ab4a57d9904" + }, + "resolve_group_overlaps.py": { + "bytes": 3341, + "sha256": "dd4f9f4d8e0e46967f41958f26ffb57ad4e65d38c19a1fd95e8ff81c6f49e9c0" + }, + "review_payload_cap.py": { + "bytes": 5232, + "sha256": "ebcf73a8f5d0a052fb6f099fbe1dac2d93ff29db38d1c9e32d476eb3fd498b07" + }, + "run_checks.py": { + "bytes": 5210, + "sha256": "f3167f381a4aeb90793dc6982207e85b60e67b701f6248f23c8692fe7bfd085c" + }, + "search_expanded_lines.py": { + "bytes": 7693, + "sha256": "00063d58382bbad694c98d052a21899aa9ddb2a3941a395f836e700b03314bac" + }, + "source_data.py": { + "bytes": 1265, + "sha256": "24d386d6406767d20e137b6ed35ee8e499a501fa333a02242a10a0fa693f6283" + }, + "test_arithmetic.py": { + "bytes": 3672, + "sha256": "9ad651ca488edd47a07c6a5c7304400acffb837df4158455693412f43b1489e1" + }, + "test_bounded.py": { + "bytes": 2514, + "sha256": "043026bc3573b6bf43341242e1c6b1dc70dc9284372a6fc6e9ef906ad482b55a" + }, + "test_bridge166.py": { + "bytes": 3176, + "sha256": "9c2974b092b8ea10dc6152c56421a45f934e68b166cc42a28e4a0b44d10956da" + }, + "test_candidate_binding.py": { + "bytes": 3155, + "sha256": "43be8cc63e124ed7c2c8078fefd1a39bcf1d990df31b6251f2faa6ccd1c355f3" + }, + "test_portable_contract.py": { + "bytes": 3131, + "sha256": "7afaf6a2590d1faf69b7130b29d8fff827ee7993ba2e5e6361252ece8a37af40" + } + } +} diff --git a/research/gen5b-shared-kernels/weighted275/NOTICE.md b/research/gen5b-shared-kernels/weighted275/NOTICE.md new file mode 100644 index 0000000000..3f5e05c864 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/NOTICE.md @@ -0,0 +1,37 @@ +# Attribution and verification scope + +New material is provided under the repository's Apache-2.0 license and was +prepared with substantial OpenAI assistance. Independent AI-assisted replays +are not human peer review, an OpenAI endorsement or proof-assistant verification. + +The weighted-matching word, matching method and fixed-graph proof are the +PR275 contribution prepared for George Lydakis with substantial OpenAI Codex +assistance, including Ody's matching research and coordinated integration and +review. This update builds on the immutable package at +`10b40041d4ab8a6610083e95bc571aee3468bca2`: + +- [PR275 full notice](https://github.com/lydakis/integer-mult-bounds/blob/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/NOTICE.md) +- [Retained PR299 notice](https://github.com/lydakis/integer-mult-bounds/blob/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/NOTICE-PR299.md) +- [Retained PR300 notice](https://github.com/lydakis/integer-mult-bounds/blob/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/NOTICE-PR300.md) + +In particular, Rohan Arun's second constructed-frame descent is inherited +through PR300, including its prior PR291 lineage and Anthropic Claude assistance +disclosure. Chafik Boukhalfa's PR299 package and its source contributors retain +credit for the upstream kernel, restoration, sink, complex and compiler chain. +The parent PR302 NOTICE.md records that lineage in more detail and remains +unchanged. Source-specific licenses, including any inherited CC0 material, +remain applicable to their original sources. + +The contribution added here is the exact role-map port, corrected eligibility +of physical reuse donors, shared-donor line/closure construction, two bounded +overlap-resolution orders, explicit role-bank and chart binding, scalar bounds, +transparent candidate-specific payload certificate and conditional repricing. +No authorship of the weighted matching or inherited descents is claimed. +No exclusive priority or global optimality claim is made. + +The parent directory's earlier 70/72 construction, coordinated final12 component, +source manifests and receipts remain byte-for-byte intact. The old final12 +endpoint saving is explicitly rejected on this weighted word. No upstream +program is imported or executed. This update is conditional on the inherited +physical decoder, compiler, primitive constants and all-size interfaces; finite +certificate success is not verification of the full multiplication theorem. diff --git a/research/gen5b-shared-kernels/weighted275/PROOF.md b/research/gen5b-shared-kernels/weighted275/PROOF.md new file mode 100644 index 0000000000..93a1030b0c --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/PROOF.md @@ -0,0 +1,191 @@ +# A 166-pivot shared-donor bridge on the weighted-matching word + +## Result and scope + +Pinned base: PR275, commit `10b40041d4ab8a6610083e95bc571aee3468bca2`. +The candidate has 166 pivots, 210 distinct donors, 376 physical helper slots, +and 2,587 scalar setup ADDs followed by 2,587 inverse ADDs. +It removes 2,020 initial unit compensation ADDs. There is no co-retiming12 +contribution in this construction. + +The changed-stage checker passes the physical prefix relations, complete aliased +frame paths, paid-demand difference, and arbitrary-dirty-input compositional +identity. Exact pricing, literal role-to-bank packing, new chart factorization, +and the numerical finite invoice are separate companion certificates. The +inherited complete decoder, compiler and width-uniform interfaces remain +hypotheses. This is not a new unconditional multiplication theorem or a replay +of the entire upstream producer. + +## Why reused physical donor slots are legal here + +The weighted word stores `(donor, recipient)` pairs. Its physical map identifies +the recipient with the donor slot. The kernel guard excludes recipient keys; +it does not exclude donor values. Every paired recipient is gauged at rank21. +It has no initial ZERO-frame compensation read. Hence the literal initial +response of a reused donor slot is the donor's response, not the XOR of the two +virtual responses. The later recipient compensation remains in the suffix. + +We independently rebuild the signed adjoint and the physical initial prefix +from the pinned graph and word. This reproduces all 648,088 odd initial reads, +and all 1,720 existing kernel relations and cut-read triples. The new candidate +uses 105 reused physical donor slots. For each, the donor's last operation +strictly precedes the recipient gauge read, which precedes or coincides with +its first operation. Every complete physical frame chain is nested and ends at +FULL. The check includes 2,561 distinct exact rational containments, including +all 132 existing reused-donor examples. + +## Common cut and scalar proof + +Place the new setup after all ZERO compensation reads and old kernel setups, +before any source injection. Selected physical slots are disjoint from every +old kernel member and both descent endpoint sets. No selected slot is an old +early-restored helper or sunk helper. Thus its current entrance remains ZERO; +its first old required frame is explicitly recovered from the full alias path. + +Write `Q` for the old initial compensation prefix and `Q'` for that prefix +with the selected pivot reads removed. Let `A` be the commuting shear layer +`d += p` for every listed pivot/donor incidence. Pivot and donor sets are +disjoint; shared donors are permitted. The literal parity relations are +`R_p = sum_d R_d`. They imply `A Q' = Q A` over F2. +If the inherited remaining word is `S` and its full decoder is `U = S Q`, then +`A^-1 S A Q' = A^-1 U A = U`, because the inherited decoder fixes all dirty +helper coordinates. This also covers reused slots and arbitrary independent +dirty inputs. The final inverse layer is appended after the complete old word, +when all selected slots are at FULL. Its listed reverse order is valid even +with shared donors, since the shear factors commute. + +The checker evaluates this composition and its inverse on all 18,952 physical +pre-compaction coordinate columns. Removed sink slots are inert spectators. +This is a full-column check of the stated composition theorem, not a claimed +literal regeneration of the entire upstream scalar stream. Omitting a setup +or restore factor is detected. + +## Frame and paid-demand proof + +Each group uses `E = span(e_i-e_j)`, for one of the three specified pairs. +Every member's first required old frame contains E, checked exactly. Under +`G = 9I-J`, the vector has squared norm18, so E is nondegenerate over Q and +over the retained large-prime address fields. Payload computations are over +F2; address-field nondegeneracy is a separate requirement. + +A pivot starts at E through its residual bank endpoint. Each distinct donor +pays one ZERO-to-E call, regardless of fan-in. Every old first climb of rank d +becomes rank d-1, followed by the unchanged nested alias chain. Scalars are +charged once per incidence, not once per donor. The measured local paid +histogram difference is: + +`{1:+210, 2:+306, 3:-306, 4:+70, 5:-70}`. + +Residual families change by `{24:-166, 23:+166}` per unreplicated stage. +The full five-stage rank mass falls by830, as does twice the stock change +once the separate packing witness is applied. The deficit remains unchanged. + +## Scalar size and the explicit new recipe ceiling + +Fresh exact helper majorant propagation on the weighted word, with all14 +actual sink redirects and an acyclic target-only majorant graph, gives + +- forward prefix bound F = 433193; +- inverse prefix bound B = 14098095; +- `64 F^3 B^2 = 1034058550487293134087986294683200` (110 bits). + +This does not satisfy the old 104-bit reporting ceiling. It does satisfy the +explicit new 112-bit fixed-recipe ceiling. The payload-cap section below explains the pinned +source audit: the old104 assertion is a recipe-specific reporting limit, not +a discovered prime/recovery threshold. The fixed primitive constant may depend +on the finite recipe; no concrete all-size machine constant is inferred. +The new scalar ADD invoice and chart/bank operations must still be charged. +No argument here identifies the F2 payload size with the separate odd-prime +address budget. + +## Role-bank and finite arithmetic binding + +The independent stock census starts from the literal recipient-to-donor map, +removes the seven sunk roles, applies the 1,720 existing kernel entrances and +440 old restoration endpoints, then applies the 166 new rank-one entrances. +No old final12 endpoint saving is used. There are 15,425 remaining helper roles. + +Each of the 60 replicas is placed in explicit full width-120 banks using the +retained mixed patterns and exact pure-bin fills. For a rank-r role at sorted +index j and replica v, its ordinal is 60*j+v; an explicit segment table maps it +to one bank, block and coordinate interval. Every block is checked once, every +role/replica appears once, and every bank is full. The five stages have disjoint +bank namespaces. There are 161,384 banks per stage; with 422,400 data slots this +gives 1,229,320 literal stock slots. A second implementation independently +re-enumerates all 925,500 addresses per stage and checks normalized stock, +literal stock, stage and replica factors against the moment calculation. + +Every selected first-frame quotient, rank-one donor entrance and rank-23 pivot +residual is connected to an explicit exact rational chart program. There are +304 distinct programs and 752 role uses. Every inverse factorization is replayed +exactly. The maximum program length is 508; numerators and denominators are at +most 615 and 810. Thus the inherited 576 chart-factor bound and combined +815 normalizer bound remain valid for these changed programs. + +The displayed finite invoice charges all 2,587 setup and 2,587 inverse ADDs, +without credit for the 2,020 removed unit ADDs. It recomputes every stock-, +call- and selector-dependent term, producing 90,433,795,441,918,801 (<2^80). +This is the displayed operation coefficient, not an instantiation of the +unknown full primitive/compiler constant. All three bootstrap gaps stay +strictly positive, and the displayed-coefficient cutoff inequalities are +checked. The quantified inherited C_full is not set to zero or silently +identified with this displayed bill. + +## Explicit payload-cap audit + +The pinned `finite_check.py` is parsed as inert syntax. The only consumers of +its payload bound are its bit-length diagnostic, the `payload < 2**104` +assertion and emitted receipt fields. Neither payload variable occurs in the +displayed coefficient computation. Eight manifest-bound proof/code texts are +also checked: the packaged bit interface distinguishes F2 payload scalars from +odd-prime address geometry, and allows the fixed primitive constant to depend +on the finite recipe while remaining independent of input width. The q-squared +bound in the row proof concerns volume padding, not payload magnitudes. + +Consequently, this update supplies a separate, explicit 112-bit certificate for +its freshly bounded fixed recipe. It does not claim that the original 104-bit +checker passes unchanged. Changing only this reporting ceiling adds no scalar +or recursive operation and no term to the displayed invoice. An unspecified +recipe-dependent primitive constant remains inside C_full before choosing the +ordinary cutoff. No exact universal-machine cutoff or concrete value of that +constant is asserted. All original code and its 104-bit assertion are retained +as immutable input data. + +## Discovery scope and a useful fixed-set limitation + +The line screen uses exact F2 elimination with a fixed ascending-role basis. +Its maximum-closure instance selects pivot benefits while charging activated +donors once. Integer capacities come from a declared 10^9 rounding of the +entropy surrogate r*log(120/r); discovery is reproducible for this fixed screen, +but this surrogate is not the final certified objective. + +For a fixed active set U, common entrance dimension e and response rank r, +changing only the donor basis cannot change the local histogram: + +`sum_{s in U} ([d_s-e]-[d_s]) + r[e]`. + +Here `[0]` is omitted. Each active old first climb is split once, and exactly r +donors pay the entrance; hence the rank decrease is e*(|U|-r). Basis changes can +still affect scalar count and scalar growth. Improving this histogram requires +changing the active set or the entrance/cut model. This elementary limitation +does not prove the chosen active set optimal. + +The packaged selection replays exactly 276 lines, the three positive groups, +and two overlap-priority orders. The 166 witness is rederived as the retained +136+12 groups plus 18 secondary pivots, after reclosure and one deterministic +parity trim. Broader matching exchanges, donor bases, active sets and different +cut positions are outside this bounded experiment. + +## Verification boundary + +The complete upstream physical decoder and source-span/chronological admission +are inherited hypotheses. So are unchanged primitive chart and cover/compiler +interfaces, row conversion, eligible prime supply, precision/recovery where +applicable, the complex construction's semantic correctness, and the analytic +all-size framework. The complex profile and its rational arithmetic are +independently replayed, but that alone does not establish its physical theorem. +Separate AI-assisted implementations are useful checks, not human peer review +or proof-assistant verification. The full-column scalar check here proves the +stated conditional composition theorem, not a literal whole-word regeneration. + +See README.md for the complete portable commands and NOTICE.md for attribution. diff --git a/research/gen5b-shared-kernels/weighted275/README.md b/research/gen5b-shared-kernels/weighted275/README.md new file mode 100644 index 0000000000..f3b6b1db22 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/README.md @@ -0,0 +1,118 @@ +# Shared-donor kernels on the pinned weighted-matching word + +This additive PR302 experiment composes shared-donor kernels with PR275's +weighted-matching word. It preserves the parent directory's original pinned +70/72-pivot and co-retiming evidence. It does **not** transfer the old final12 +stock saving: every one of those twelve helpers is now a matched recipient, +whose earlier donor lifetime still needs its unchanged FULL cleanup. + +## Conditional results + +| Fixed case | κ | Literal stock | Five-stage calls | Rank mass | +|---|---:|---:|---:|---:| +| Pinned PR275 baseline | 0.000751075693834608 | 1,229,735 | 482,100 | 2,455,070 | +| Weighted word + transported 70 | 0.000751090249287618 | 1,229,560 | 482,535 | 2,454,720 | +| Weighted word + reclosed 166 | **0.000751097723288767** | **1,229,320** | **483,150** | **2,454,240** | + +The 166 case improves the pinned baseline by about **0.00293305%**. These are +exact rational grid choices with denominator 10^18, conditional on the retained +physical decoder, compiler, primitive and all-size interfaces. This is a small +finite-recipe improvement, with no global priority, optimality or unconditional +multiplication-theorem claim. + +The final candidate has 166 pivots, 210 distinct donors and 376 physical helper +slots, including 105 reused donor slots. It has 2,587 setup ADDs and the same +number of inverse ADDs. Its measured local histogram change is +`{1:+210, 2:+306, 3:-306, 4:+70, 5:-70}`. The residual-width change is +`{24:-166, 23:+166}`. The deficit remains 4,400 in the unreplicated profile. + +Fresh scalar bounds are F=433,193 and B=14,098,095. The exact payload upper bound +is 1,034,058,550,487,293,134,087,986,294,683,200 (110 bits). The original 104-bit +assertion fails; the separately reviewed, explicitly named 112-bit fixed-recipe +certificate passes. This distinction is intentional and tested. See PROOF.md +for the static source audit and the remaining quantified constants. + +## Immutable inputs and attribution + +The base is `lydakis/integer-mult-bounds` at +`10b40041d4ab8a6610083e95bc571aee3468bca2`, package +`research/gen5b-weighted-matching`. It already includes its remapped inherited +kernels, descents, 440 restorations and seven sinks. Those transforms are not +added again. One separately pinned PR299 word is used only for the old-to-new +role-map diagnostic. The two pure arithmetic helpers, original 70 witness and +final12 diagnostic are reused from the unchanged parent PR302 package. + +`inputs.json` pins 39 inert input files (about 10.9 MB) by immutable URL, +byte count, SHA-256 and Git blob ID. All downloaded Python files are stored as +`.py.txt` and read or parsed as data. No upstream producer, verifier or module +is executed. Large source bundles, generated chart programs and complete bank +tables are deliberately not committed. See NOTICE.md for credit and AI disclosure. + +## Reproduce from the PR302 checkout + +Python 3.11+ and the standard library suffice. Assertions must remain enabled. +From this `weighted275` directory: + +```sh +python3 -B fetch_inputs.py --output /tmp/weighted275-inputs +export PR275_INPUTS=/tmp/weighted275-inputs +export PR275_OUTPUTS=/tmp/weighted275-results +python3 -B -m unittest discover -s . -p 'test_*.py' -v +python3 -B run_checks.py --check --inputs "$PR275_INPUTS" --output "$PR275_OUTPUTS" +``` + +Absolute invocation from another working directory also works. Existing input +files are accepted only after hash verification. The aggregate independently +rebuilds both cases, baseline and complex arithmetic, full role/replica bank +addresses, changed chart programs, finite invoices, the 276-line screen and +both declared overlap-resolution orders. Generated data stays in the chosen +output directory. `--case 70` or `--case 166` selects one case; `--skip-screen` +omits discovery replay but does not skip that case's admission checks. + +The parent directory's existing test/replay commands remain unchanged. Its +original source inputs are separate; fetching the new weighted inputs does not +replace them. + +## What this update checks + +- Exact virtual-to-physical alias map, source pins and all 1,720 old kernel + response relations and cut triples on the new word. +- The final 166 relations, complete chronological donor/recipient paths, + 2,561 exact containments and final FULL endpoints. +- Forward/inverse compositional F2 equality on all 18,952 physical columns, + assuming the inherited complete decoder. This is not a literal regeneration + of the entire upstream scalar stream. +- 304 distinct exact rational chart programs, bound to 752 role uses. The + maximum is 508 factors; factor numerators/denominators are at most 615/810. + The retained combined normalizer bound is 815. +- All 15,425 helper roles in 60 replicas: 925,500 explicit addresses per stage, + five disjoint stages, 4,627,500 total assignments. Every width-120 bank is full. +- Sink-aware forward/inverse scalar majorants, every added setup/restore ADD, + selector bound 905,876,591,400, and displayed finite coefficient + 90,433,795,441,918,801, strictly below 2^80. +- Exact bit-root bracket + `[751662295432463, 751662295432464] / 10^18`, three bootstrap steps, all 47 + strict rational inequalities and rejection of the next κ grid tick. +- Negative controls for mapping/relation/frame/alias errors, omission of shear + factors, bank/stock/replica drift, missing chart paths and the old payload cap. + +## Bounded discovery scope + +The corrected eligible domain has 8,085 unused physical helpers, including +1,591 reused donor slots. Recipient keys, existing kernel members, both descent +supports, early-restored endpoints, sources and sinks remain excluded. + +The experiment tests all 276 contrast lines `e_i-e_j` in 24 dimensions using a +fixed role-order response basis. A maximum-closure calculation charges shared +donors once and optimizes a 10^9-rounded entropy surrogate, not κ itself. Three +groups survive: 136 pivots on line16/17, 36 on line6/7 and 12 on line2/3. + +There are four overlapping logical roles between the first two groups; the +third is disjoint. We evaluate exactly two priority orders. Preserving the +136- and 12-pivot groups leaves 29 nonconflicting secondary relations; closure +selects 19, then a declared deterministic parity trim removes pivot10764, +leaving 18. Thus the winner is 136+12+18=166. The reverse priority order selects +no additional surviving primary relations and returns the 48-pivot union. +The two naive prune-and-retain variants are comparison cases, not further +search domains. No optimum over all bases, active sets or conflict resolutions +is asserted. diff --git a/research/gen5b-shared-kernels/weighted275/bank_receipt_binding.py b/research/gen5b-shared-kernels/weighted275/bank_receipt_binding.py new file mode 100644 index 0000000000..973a054f75 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/bank_receipt_binding.py @@ -0,0 +1,64 @@ +"""Our standalone exact role-bank receipt binding, independent of candidate size. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from pathlib import Path +import hashlib,json +import reproduce_pr275 as base +def digest(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def bind_banks(result, receipt_path, table_path, expected_status): + banks=json.loads(receipt_path.read_text());table=json.loads(table_path.read_text()) + assert banks['status']==expected_status + assert banks['source_head']==base.HEAD and banks['candidate_sha256']==result['candidate_sha256'] + counts={int(r):n for r,n in banks['family_counts'].items()} + assert counts==result['residual_census'] + assert sum(counts.values())==banks['helper_roles']==result['physical_R']==15425 + assert base.mass(counts)==banks['residual_rank_per_replica'] + assert table['stages']==5 and table['replicas']==60 and table['width']==120 + assert table['stage_banks']==banks['banks_per_stage']==result['banks_per_stage'] + assert 120*banks['banks_per_stage']==60*base.mass(counts) + assert banks['total_banks']==5*banks['banks_per_stage'] + assert banks['literal_data_stock']==60*4*1760==422400 + assert banks['literal_stock']==422400+banks['total_banks']==result['literal_stock'] + assert F(banks['unreplicated_stock'])==result['unreplicated_stock']==F(banks['literal_stock'],60) + assert 120*banks['literal_stock']-60*result['rank_mass']==60*result['deficit']==264000 + assert banks['checked_role_replica_assignments_per_stage']==60*15425==925500 + assert banks['total_stage_assignments']==5*60*15425==4627500 + families={int(r):roles for r,roles in table['families'].items()} + assert {r:len(roles)for r,roles in families.items()}==counts + allroles=[role for roles in families.values()for role in roles] + assert len(allroles)==len(set(allroles))==15425 + patterns=table['patterns'];expected_masks=[] + for row in patterns: + assert sum(row['widths'])==120 + expected_masks.extend([(1<=0 is x_i=x_j. + residual = base.nullspace(ann + [v]) + assert len(residual) == d - 1 + # (9I-J)^(-1) a is proportional to 15*a-sum(a). + exterior = [base.primitive([15 * x - sum(row) for x in row]) for row in ann] + assert len(exterior) == 24 - d + assert all(sum(a * b for a, b in zip(row, col)) == 0 + for row in ann for col in residual + [v]) + assert all(gram(col, other) == 0 for col in residual + [v] for other in exterior) + out = checked_chart(residual + [v] + exterior, d - 1) + out.update(first_dimension=d, line=line) + return out + + diff --git a/research/gen5b-shared-kernels/weighted275/chart_rational.py b/research/gen5b-shared-kernels/weighted275/chart_rational.py new file mode 100644 index 0000000000..40bf896729 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/chart_rational.py @@ -0,0 +1,64 @@ +"""Our previously authored pure rational chart helpers, copied for PR275. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from math import gcd,lcm +def rref(A): + A=[[F(x)for x in row]for row in A];piv=[] + for j in range(len(A[0])if A else 0): + q=next((i for i in range(len(piv),len(A))if A[i][j]),None) + if q is None:continue + i=len(piv);A[i],A[q]=A[q],A[i];v=A[i][j];A[i]=[x/v for x in A[i]] + for k in range(len(A)): + if k!=i and A[k][j]: + v=A[k][j];A[k]=[a-v*b for a,b in zip(A[k],A[i])] + piv.append(j) + if len(piv)==len(A):break + return A,piv + + +def primitive(v): + d=lcm(*(F(x).denominator for x in v));v=[int(F(x)*d)for x in v];g=gcd(*v) + assert g;return [x//g for x in v] + + +def nullspace(A,n=24): + R,piv=rref(A);out=[] + for free in range(n): + if free in piv:continue + v=[F(0)]*n;v[free]=1 + for i,j in enumerate(piv):v[j]=-R[i][free] + out.append(primitive(v)) + return out + + +def factor(B): + n=len(B);A=[[F(x)for x in row]for row in B];ops=[];det=F(1) + for j in range(n): + pivot=next(i for i in range(j,n)if A[i][j]) + if pivot!=j:A[pivot],A[j]=A[j],A[pivot];ops.append(('swap',j,pivot,F(1)));det=-det + v=A[j][j];det*=v + if v!=1:A[j]=[x/v for x in A[j]];ops.append(('scale',j,j,1/v)) + for i in range(n): + if i!=j and A[i][j]: + q=-A[i][j];A[i]=[x+q*y for x,y in zip(A[i],A[j])];ops.append(('add',i,j,q)) + assert A==[[int(i==j)for j in range(n)]for i in range(n)] + # Independently replay inverse operations from I and recover B. + C=[[F(i==j)for j in range(n)]for i in range(n)] + for kind,i,j,q in reversed(ops): + if kind=='swap':C[i],C[j]=C[j],C[i] + elif kind=='scale':C[i]=[x/q for x in C[i]] + else:C[i]=[x-q*y for x,y in zip(C[i],C[j])] + assert C==B + return dict(determinant=det,factors=ops,count=len(ops), + max_numerator=max((abs(q.numerator)for kind,i,j,q in ops),default=1), + max_denominator=max((q.denominator for kind,i,j,q in ops),default=1)) + + +def serial(x): + if isinstance(x,F):return str(x) + if isinstance(x,dict):return {str(k):serial(v)for k,v in x.items()} + if isinstance(x,(list,tuple)):return [serial(v)for v in x] + return x + + diff --git a/research/gen5b-shared-kernels/weighted275/check_bridge.py b/research/gen5b-shared-kernels/weighted275/check_bridge.py new file mode 100644 index 0000000000..e066c2c1bf --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/check_bridge.py @@ -0,0 +1,185 @@ +"""Original weighted-word alias, prefix and kernel bridge check. Inert data only.""" +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter,defaultdict +import base64,gzip,hashlib,json,time +HERE=Path(__file__).resolve().parent +from source_data import SOURCE as P,verify,pins,OUTPUT +from cases import CASES +CASE=CASES['166'];CAND=HERE/CASE['file'] +def configure(label): + global CASE,CAND + CASE=CASES[str(label)];CAND=HERE/CASE['file'] +def verify_sources(): + verify() + assert hashlib.sha256(CAND.read_bytes()).hexdigest()==CASE['sha256'] + +def read(n): + n={'graph.json':'gen5bit/selected/bit/graph_p12.json','frames.json':'gen5bit/selected/bit/frames_p12.json.gz','kchron.json':'gen5bit/selected/bit/kchron_p12.json'}.get(n,n) + p=P/n + return json.load(gzip.open(p))if n.endswith('.gz')else json.loads(p.read_text()) +def rr(A): + A=[[Q(x)for x in row]for row in A];piv=[];k=0 + for j in range(24): + pivot=next((i for i in range(k,len(A))if A[i][j]),None) + if pivot is None:continue + A[k],A[pivot]=A[pivot],A[k];c=A[k][j];A[k]=[x/c for x in A[k]] + for i in range(len(A)): + if i!=k and A[i][j]: + c=A[i][j];A[i]=[x-c*y for x,y in zip(A[i],A[k])] + piv.append(j);k+=1 + return A[:k],piv +def null(B): + R,piv=rr(B);out=[] + for j in range(24): + if j in piv:continue + v=[Q(0)]*24;v[j]=1 + for i,k in enumerate(piv):v[k]=-R[i][j] + out.append(v) + return out +def run(): + verify_sources();t=time.monotonic();w=read('gen5bit/selected/bit/word_p12.json.gz');f={int(k):v for k,v in read('frames.json')['frames'].items()};g=read('graph.json') + ks=read('kernel-selection.json');d1=read('descent-selection.json');d2=read('descent2-selection.json');rest=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + candidate=json.loads(CAND.read_text());entries=candidate['entries'] + alias={b:a for a,b in w['pairs']};recipient={a:b for a,b in w['pairs']};regs=sorted(set(range(17160))-set(alias));ids={r:3520+i for i,r in enumerate(regs)} + sid=lambda r:ids[alias.get(r,r)];inverse={s:r for r,s in ids.items()};n=3520+len(regs);assert n==18952 + gauges={z['role']:z for z in w['gauges']};assert all(gauges[b]['dim']==21 for b in alias) + phase=w['phase1'];assert phase==sorted(phase);phase_set=set(phase);after=[i for i in range(len(w['ops']))if i not in phase_set];order=phase+after + pos={i:j for j,i in enumerate(order)};uses=defaultdict(list) + for i in order: + for r in w['ops'][i][:2]:uses[r].append(i) + adj=[{}for _ in range(17160)] + for root,r in zip(g['roots'],w['rootroles']): + for target in root['targets']:adj[r][target]=adj[r].get(target,0)+1 + for i in reversed(order): + a,b,_=w['ops'][i] + for target,c in adj[a].items():adj[b][target]=adj[b].get(target,0)+c + response=[sum(1<1:H[d-1]+=1 + if r in donors:H[1]+=1 + pathrows.append(dict(role=r,stream=sid(r),kernel_kind='pivot'if r in pivots else'donor',entrance_basis=[lines[r]],first_frame=first,first_dimension=d,frames=path,dimensions=[f[x]['dim']for x in path],endpoint='FULL',aliased_recipient=recipient.get(r))) + if r in recipient: + b=recipient[r];receipts.append(dict(donor_role=r,recipient_role=b,physical_stream=sid(r),gauge_read_order=w['reads'][str(b)], + donor_last_order=max(pos[i]for i in uses[r]),recipient_first_order=min(pos[i]for i in uses[b]),frames=path,dimensions=[f[x]['dim']for x in path],endpoint='FULL', + first_dimension=d,literal_zero_prefix_response_bitcount=prefix[sid(r)].bit_count())) + H={r:c for r,c in sorted(H.items())if c};assert H==CASE['delta'] + # Concrete obstruction to importing the original final12 endpoint invoice: + # each former helper now shares a slot with an earlier independent lifetime. + core=json.loads((HERE.parent/'certificates/coretime12/local.json').read_text())['candidates'];blocked=[] + for z in core: + a=z['helper'];assert a in alias;d=alias[a];assert uses[d] + assert max(pos[i]for i in uses[d])1:H[d-1]+=1 + if role in donors:H[1]+=1 + assert base.clean(H)==dict(base.histogram(bridge['local_histogram_delta'])) + assert Counter(u['kind']for u in uses)==dict(first_frame_quotient=len(active),pivot_residual=len(pivots),donor_line_entrance=len(donors)) + assert all(programs[u['program_id']]['residual_rank']==u['rank']for u in uses) + pins=base.read('expected/kernel-pins.json');largest=max(p['count']for p in programs);bound=max(pins['max_chart_factors'],largest)+119+120 + assert pins['max_chart_factors']==576 and bound==815 + assert literal_stock==pins['literal_stock']-5*len(pivots)//2 and len(pivots)%2==0 + selector=600*((literal_stock-1)+pins['physical_R']*120*bound);assert selector<2**40 + return dict(status='PASS_PR275_BOUNDED_CANDIDATE_CHANGED_CHARTS',source_head=base.HEAD, + candidate_sha256=hashlib.sha256(raw).hexdigest(),charts=len(programs),final12_charts=0, + first_frame_quotient_demands=len(active),pivot_residual_demands=len(pivots),donor_line_entrance_demands=len(donors), + role_chart_uses=uses,max_changed_chart_factors=largest,max_factor_numerator=max(p['max_numerator']for p in programs), + max_factor_denominator=max(p['max_denominator']for p in programs),combined_normalizer_factor_bound=bound, + literal_stock=literal_stock,selector_calls_bound=selector,local_histogram_delta=base.clean(H),factor_programs=programs, + scope='All changed first-frame, rank23 pivot residual and rank1 donor entrance charts are exactly constructed, factored, inverse-replayed and bound to fresh selected_paths. No final12 charts; unchanged chart/compiler contracts remain inherited.') diff --git a/research/gen5b-shared-kernels/weighted275/check_scalar_bounds.py b/research/gen5b-shared-kernels/weighted275/check_scalar_bounds.py new file mode 100644 index 0000000000..dd149f437f --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/check_scalar_bounds.py @@ -0,0 +1,151 @@ +"""Original nonnegative norm transport, with conservative target-prefix bound. + +Helper updates are replayed exactly. Every target prefix ADD is majorized by +applying every target-prefix and sink batch along an exact acyclic majorant. +Deleted compression reads are restored for this upper bound. No source code +from the upstream repository is executed. +""" +from pathlib import Path +from collections import defaultdict,Counter +import json,sys,time +import check_bridge +from check_bridge import read,HERE,verify_sources +from source_data import OUTPUT +def verify_inputs():verify_sources() +sys.dont_write_bytecode=True + +def suffix_build(): + w=read('gen5bit/selected/bit/word_p12.json.gz');g=read('graph.json');partner=read('kchron.json')['entries'] + oldrestore=read('restore-selection.json')['entries'];ks=read('kernel-selection.json');sinks=read('sink-selection.json')['sinks'] + alias={b:a for a,b in w['pairs']};regs=sorted(set(range(17160))-set(alias));physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[alias.get(r,r)] + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase];sunk={z['role']for z in sinks} + byroot=defaultdict(list) + for z in partner:byroot[z['deliver_after_root']].append(z) + out=[] + for i,(r,s)in enumerate(zip(g['roots'],w['rootroles'])): + if r['kind']=='side'and s not in sunk: + for t in r['targets']:out.append((1760+t,sid(s),1,'root')) + for e in byroot[i]: + out.append((e['carrier'],e['passive'],1,'partner_setup')) + for t in e['receivers']:out.append((1760+t,e['carrier'],1,'partner_delivery')) + for e in partner:out.append((e['carrier'],e['passive'],-1,'partner_cleanup')) + moved={(z['helper'],z['donor']):0 for z in oldrestore} + for z in sorted(oldrestore,key=lambda z:z['helper']):out.append((z['helper'],z['donor'],z['coefficient'],'old_restore')) + for index in reversed(order): + a,b,_=w['ops'][index] + if a in sunk:continue + pair=(sid(a),sid(b)) + if pair in moved:moved[pair]+=1;continue + out.append((*pair,-1,'cleanup')) + assert all(x==1 for x in moved.values()) + for source,role in w['sources'].items():out.append((sid(role),int(source),-1,'uninject')) + entries=[dict(pivot=z['a'],donors=[z['b']])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'])for z in ks['families']] + for z in entries: + for donor in z['donors']:out.append((donor,z['pivot'],-1,'kernel_restore')) + return 3520+len(regs),[],out,{} + +def run(candidate_path=None): + verify_inputs();start=time.monotonic();w=read('gen5bit/selected/bit/word_p12.json.gz');g=read('graph.json');ks=read('kernel-selection.json');target=read('target-selection.json');sinks=read('sink-selection.json')['sinks'];sink_byrole={z['role']:z for z in sinks} + candidate_path=Path(candidate_path)if candidate_path else check_bridge.CAND + witness=json.loads(candidate_path.read_text())['entries'] + oldentries=[dict(pivot=z['a'],donors=[z['b']],cut_read=z['cut_read'])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'],cut_read=z['cut_read'])for z in ks['families']] + alias={b:a for a,b in w['pairs']};regs=sorted(set(range(17160))-set(alias));physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[alias.get(r,r)] + n=3520+len(regs);phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + adj=[{}for _ in range(17160)] + for root,r in zip(g['roots'],w['rootroles']): + for t in root['targets']:adj[r][t]=adj[r].get(t,0)+1 + for index in reversed(order): + a,b,_=w['ops'][index] + for t,c in adj[a].items():adj[b][t]=adj[b].get(t,0)+c + gauge={x['role']:x for x in w['gauges']};oldp={x['pivot']for x in oldentries};newp={x['pivot']for x in witness} + setup=defaultdict(list) + for z in oldentries:setup[tuple(z['cut_read'])].append(z) + prefix=[];hits=set() + for r in range(17160): + if r in gauge or r in sink_byrole:continue + for t,c in adj[r].items(): + if c%2: + event=(1760+t,sid(r),-c) + if sid(r)not in oldp:prefix.append(event) + for z in sorted(setup.get(event,[]),key=lambda z:z['pivot']): + hits.add(z['pivot']);prefix.extend((d,z['pivot'],1)for d in z['donors']) + assert len(hits)==len(oldentries) + # Setup rank is irrelevant to scalar ordering here; the source sorts by rank + # and pivot. All factors commute because old pivot/donor sets are disjoint. + assert not oldp&{d for z in oldentries for d in z['donors']} + middle=[] + for source,r in w['sources'].items():middle.append((sid(r),int(source),1)) + for i in w['phase1']: + a,b,_=w['ops'][i];assert a not in sink_byrole;middle.append((sid(a),sid(b),1)) + for root,r in zip(g['roots'],w['rootroles']): + if root['kind']=='center':middle.extend((1760+t,sid(r),1)for t in root['targets']) + at=defaultdict(list) + # The source's gauge order is reversed JSON gauge list; explicit read times + # are numbered in phase1+rest chronology. + for z in reversed(w['gauges']): + r=z['role'];at[int(w['reads'].get(str(r),len(w['phase1'])))-len(w['phase1'])].append(r) + rest=[i for i in range(len(w['ops']))if i not in phase] + for j,i in enumerate(rest): + for r in at[j]:middle.extend((1760+t,sid(r),-c)for t,c in adj[r].items()if c%2) + a,b,_=w['ops'][i];middle.append((sink_byrole[a]['pivot']if a in sink_byrole else sid(a),sid(b),1)) + for r in at[len(rest)]:middle.extend((1760+t,sid(r),-c)for t,c in adj[r].items()if c%2) + _,_,suffix,_=suffix_build();tail=middle+[(a,b,c)for a,b,c,tag in suffix] + newsetup=[(d,z['pivot'],1)for z in witness for d in z['donors']] + # Baseline upper word contains all uncompressed target reads. We transport + # only nonnegative increases from added new shears, ignoring new deleted reads. + allgroups=target['groups'];dependency={1760+int(t):[1760+p for p in ps]for z in allgroups for t,ps in z['dependent'].items()} + assert not set(dependency)&{p for ps in dependency.values()for p in ps} + # Include both setup/restore batches of every terminal sink. Acyclicity + # is checked directly rather than assuming sink and prefix supports disjoint. + edges=Counter((p,t)for t,ps in dependency.items()for p in ps) + for z in sinks: + for t in z['targets']: + if t!=z['pivot']:edges[z['pivot'],t]+=1 + target_nodes=set(x for edge in edges for x in edge);incoming=Counter(t for p,t in edges);successors=defaultdict(list) + for(p,t),multiplicity in edges.items():successors[p].append((t,2*multiplicity)) + ready=sorted(target_nodes-set(incoming));topology=[] + while ready: + p=ready.pop();topology.append(p) + for t,c in successors[p]: + incoming[t]-=1 + if not incoming[t]:ready.append(t) + assert len(topology)==len(target_nodes),'target majorant dependency cycle' + def close_target_majorant(values): + out=values[:] + for p in topology: + for t,c in successors[p]:out[t]+=c*out[p] + return out + def add(v,event): + a,b,c=event;v[a]+=abs(c)*v[b] + def bound(reverse): + # exact helper majorants for old versus sheared word, and a nonnegative + # difference; target reads are deliberately not omitted. + old=[1]*n;new=[1]*n + if not reverse: + for e in prefix:add(old,e);add(new,e) + for e in newsetup:add(new,e) + for e in tail:add(old,e);add(new,e) + for e in reversed(newsetup):add(new,e) + else: + for e in newsetup:add(new,e) + for e in reversed(tail):add(old,e);add(new,e) + for e in reversed(newsetup):add(new,e) + for e in reversed(prefix):add(old,e);add(new,e) + delta=[a-b for a,b in zip(new,old)];assert min(delta)>=0 + delta=close_target_majorant(delta) + # The old full compressed decoder bounds all its own prefixes. The helper + # paths above are exact; the full target-only acyclic graph is majorized. + pins=read('expected/kernel-pins.json');inherited=pins['inverse_max_row_l1']if reverse else pins['forward_max_row_l1'] + out=inherited+max(delta) + return dict(reverse=reverse,inherited_bound=inherited,max_added_majorant=max(delta),certified_new_bound=out, + max_added_helper=max(delta[3520:]),max_added_target=max(delta[1760:3520]),max_added_source=max(delta[:1760])) + F,B=bound(False),bound(True);payload=64*F['certified_new_bound']**3*B['certified_new_bound']**2 + return dict(status='PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS',selection=candidate_path.name,forward=F,inverse=B, + payload_bound=payload,payload_bits=payload.bit_length(),retained_payload_cap_2_to104=payload<2**104,explicit_new_payload_cap_bits=112,new_payload_cap_2_to112=payload<2**112, + cap_change=('The original104 ceiling passes for this case.' if payload<2**104 else 'The original104 check fails; a separately reviewed fixed112 bound is used. See PROOF.md. No prime, row, moment or inherited width-uniformity hypothesis is changed.'), + setup_restore_pairs=len(newsetup),max_target_prefix_degree=max(map(len,dependency.values())),target_majorant_acyclic_vertices=len(topology),target_majorant_edges=len(edges),actual_sink_redirects=sum(z['forward_writes']for z in sinks), + target_majorant_proof='Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.', + scope='Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites.',seconds=time.monotonic()-start) +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + r=run();(OUTPUT/'scalar-bounds-result.json').write_text(json.dumps(r,indent=2)+'\n');print(json.dumps(r,indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/check_shared_banks.py b/research/gen5b-shared-kernels/weighted275/check_shared_banks.py new file mode 100644 index 0000000000..2745ae7c5d --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/check_shared_banks.py @@ -0,0 +1,123 @@ +"""Explicit role-resolved bank assignment for each fixed shared-kernel rewrite on the weighted PR275 word.""" +from collections import Counter,defaultdict +from fractions import Fraction +import hashlib,json,time +from source_data import read,verify,ROOT,HEAD + +def run(candidate_path, output_dir=None, mutation=None): + started=time.monotonic();verify() + w=read('gen5bit/selected/bit/word_p12.json.gz') + kernel=read('kernel-selection.json') + restore=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + original_from_stream={3520+i:r for i,r in enumerate(regs)} + sinkroles={r['role']for r in sinks};roles=sorted(set(regs)-sinkroles) + assert len(roles)==15425 + entrances={r:0 for r in roles};entrance_type={r:'ZERO'for r in roles} + for z in w['gauges']: + if z['role']in entrances: + entrances[z['role']]=z['dim'];entrance_type[z['role']]=f'frame:{z["frame"]}' + pivots=[(z['a'],z['rank'])for z in kernel['pairs']]+[(z['pivot'],z['rank'])for z in kernel['families']] + pivot_residuals=Counter() + for stream,rank in pivots: + role=original_from_stream[stream];assert entrances[role]==0 + entrances[role]=rank;entrance_type[role]=f'kernel:{stream}' + pivot_residuals[24-rank]+=1 + from pathlib import Path + raw_candidate=Path(candidate_path).read_bytes() + candidate=json.loads(raw_candidate);assert candidate['source_head']==HEAD + new_kernel=candidate['entries'] + new_count=len(new_kernel) + assert new_count>0 and new_count%2==0 and len({z['pivot']for z in new_kernel})==new_count + for z in new_kernel: + role=original_from_stream[z['pivot']] + assert role==z['virtual_pivot'] and entrances[role]==0 + assert z['rank']==1 and len(z['basis'])==1 + entrances[role]=1 + entrance_type[role]=f'shared_kernel:{z["pivot"]}' + pivot_residuals[23]+=1 + endpoints={r:24 for r in roles};endpoint_type={r:'FULL'for r in roles} + assert len(restore)==440 + for z in restore: + r=original_from_stream[z['helper']];assert entrances[r]==z['dims'][0] + endpoints[r]=z['rank'];endpoint_type[r]=f'old_restore:{z["helper"]}' + families=defaultdict(list) + for r in roles: + width=endpoints[r]-entrances[r];assert 0=0 and 120%width==0 and leftover%blocks==0 + patterns.append(([width]*blocks,leftover//blocks)) + total=Counter();segments=defaultdict(list);bank_start=0 + for pattern,(widths,n) in enumerate(patterns): + assert sum(widths)==120 and n>0 + offsets=[];x=0 + for r in widths:offsets.append(x);x+=r + for r in set(widths): + blocks=[(i,offsets[i])for i,v in enumerate(widths)if v==r] + lo=total[r];hi=lo+n*len(blocks) + segments[r].append(dict(lo=lo,hi=hi,pattern=pattern,bank_start=bank_start,blocks=blocks)) + total[r]=hi + bank_start+=n + assert total=={r:60*n for r,n in counts.items()} + assert bank_start==161467-new_count//2 + def assignment(role_index,replica,width): + q=60*role_index+replica + for s in segments[width]: + if s['lo']<=q1:h[d-1]+=1 + h[1]+=len(ds);h={r:n for r,n in sorted(h.items())if n} + assert sum(r*n for r,n in h.items())==-len(ps) + return h,len(ds) +def run(): + groups={n:json.loads((ROOT/f'candidate-line{n}.json').read_text())for n in ('16-17','6-7','2-3')} + receipts=[] + for name,left,right in [('keep136','16-17','6-7'),('keep36','6-7','16-17')]: + accepted=groups[left]['entries'][:];used=members(accepted);remaining=[e for e in groups[right]['entries']if not members([e])&used] + omitted=[e['virtual_pivot']for e in groups[right]['entries']if members([e])&used];parity=None + extras=groups['2-3']['entries'];assert not members(extras)&(used|members(remaining)) + if(len(accepted)+len(remaining)+len(extras))%2: + counts=Counter(r for e in remaining for r in e['virtual_donors']) + def marginal(e): + benefit=phi(dim(e['virtual_pivot']))-phi(dim(e['virtual_pivot'])-1) + release=sum(phi(1)+phi(dim(r)-1)-phi(dim(r))for r in e['virtual_donors']if counts[r]==1) + return(round((benefit-release)*10**9),e['virtual_pivot']) + parity=min(remaining,key=marginal);remaining=[e for e in remaining if e is not parity] + entries=accepted+remaining+extras;H,D=ledger(entries) + out=dict(source_head='10b40041d4ab8a6610083e95bc571aee3468bca2',selection=name,pivots=len(entries),entries=entries, + deterministic_pruning=dict(priority_line=left,secondary_line=right,overlap_omitted_pivots=omitted,parity_omitted_pivot=parity['virtual_pivot']if parity else None,parity_rule='Lowest rounded10^9 first-order marginal gain, ties by logical pivot ID.'), + local_histogram_delta=H,residual_family_delta={24:-len(entries),23:len(entries)},distinct_donors=D, + scalar_setup_pairs=sum(len(e['donors'])for e in entries),phi_delta=sum(n*phi(r)for r,n in H.items()), + scope='Deterministic disjoint support pruning of three already screened line groups. Exact F2 relations and first-frame ledger only; full combined alias/scalar/frame/norm/chart/bank admission required; no final12.') + file=OUTPUT/f'candidate-combined{len(entries)}-{name}.json';file.write_text(json.dumps(out,indent=2)+'\n') + receipts.append(dict(file=file.name,sha256=hashlib.sha256(file.read_bytes()).hexdigest(),**{k:v for k,v in out.items()if k!='entries'})) + (OUTPUT/'combined-screen-summary.json').write_text(json.dumps(receipts,indent=2)+'\n');print(json.dumps(receipts,indent=2)) +if __name__=='__main__':run() diff --git a/research/gen5b-shared-kernels/weighted275/fetch_inputs.py b/research/gen5b-shared-kernels/weighted275/fetch_inputs.py new file mode 100644 index 0000000000..a216fdf28d --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/fetch_inputs.py @@ -0,0 +1,23 @@ +"""Download immutable upstream data only; never execute upstream programs.""" +from pathlib import Path +import argparse,json,urllib.request +from source_data import ROOT,pins,validate,HEAD + +def run(destination): + destination=Path(destination).resolve();destination.mkdir(parents=True,exist_ok=True) + manifest=pins() + for name,row in manifest['files'].items(): + target=destination/row['local'] + assert destination in target.resolve().parents + url=row['url'];commit=row.get('commit',HEAD) + assert url.startswith('https://raw.githubusercontent.com/') and '/'+commit+'/' in url + if target.exists():raw=target.read_bytes() + else: + with urllib.request.urlopen(url,timeout=90) as response:raw=response.read() + validate(name,raw);target.parent.mkdir(parents=True,exist_ok=True) + if not target.exists():target.write_bytes(raw) + return dict(status='PASS_ALL_IMMUTABLE_INPUT_HASHES',files=len(manifest['files']),bytes=sum(z['bytes']for z in manifest['files'].values()),destination=str(destination),upstream_programs_executed=False) +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + parser=argparse.ArgumentParser();parser.add_argument('--output',type=Path,default=ROOT/'inputs') + print(json.dumps(run(parser.parse_args().output),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/inputs.json b/research/gen5b-shared-kernels/weighted275/inputs.json new file mode 100644 index 0000000000..17d9f2909d --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/inputs.json @@ -0,0 +1,283 @@ +{ + "repository": "lydakis/integer-mult-bounds", + "commit": "10b40041d4ab8a6610083e95bc571aee3468bca2", + "files": { + "KERNEL-PROOF.md": { + "local": "KERNEL-PROOF.md", + "bytes": 3820, + "git_blob": "a8abc839c03b41dea830fdd54fc8f1374efd8e77", + "sha256": "692191b9b29ff4ca508cee61425b6192c955e28bb43aec450afe574f1ef487e1", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/KERNEL-PROOF.md" + }, + "MANIFEST.json": { + "local": "MANIFEST.json", + "bytes": 16504, + "git_blob": "bf83520d4c3a5fc9938d4bb80f1ec1a1d60471ac", + "sha256": "135f3a9c8cdb9b3663832ade632947df54df4bdef633306462451edb712d0c87", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/MANIFEST.json" + }, + "MATCHING-PROOF.md": { + "local": "MATCHING-PROOF.md", + "bytes": 3863, + "git_blob": "27f32b668e0caefdf0bfd687c5d02de7bc3b67ca", + "sha256": "eb70b76c085f95d85df2b7ee84e4e6ddba3b9db34772c5165104cc7e33252ff2", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/MATCHING-PROOF.md" + }, + "PROOF.md": { + "local": "PROOF.md", + "bytes": 855, + "git_blob": "829225de4188111db4566012ac4c73242a009bdf", + "sha256": "1136962d02b5a392a601141cdb2d1079184601dcb9853972e780fb60a7fec27c", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/PROOF.md" + }, + "README.md": { + "local": "README.md", + "bytes": 5163, + "git_blob": "1d1b5897d50b5e3a6274d2f074a6ab38ce7e8925", + "sha256": "443a14764c391ccecdd8399dc5a7267a16d4996da6be530707f5df34f4be8e44", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/README.md" + }, + "SECOND-DESCENT-PROOF.md": { + "local": "SECOND-DESCENT-PROOF.md", + "bytes": 2197, + "git_blob": "d499b9b6d1ad6da06bc1ec25c0a9b3b523715f84", + "sha256": "770e950a7656ac9be5ca9d27f77f537295b3583db106c64d5493c1360ceac721", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/SECOND-DESCENT-PROOF.md" + }, + "SOURCE.json": { + "local": "SOURCE.json", + "bytes": 5688, + "git_blob": "29d8789ee19280048e6ebf28b29097f9d9349ce3", + "sha256": "363092c9a0775a2e469b6ea63e6d99d983041d2f39f353fc2e9315fa9948bb6f", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/SOURCE.json" + }, + "descent-selection.json": { + "local": "descent-selection.json", + "bytes": 4225342, + "git_blob": "d53d2f894a8a0bcfee06c84181e25f39c3d02df3", + "sha256": "d32c900002565565915467353acea887e96ea33da62583ccdca861bdd1bde6b1", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/descent-selection.json" + }, + "descent2-selection.json": { + "local": "descent2-selection.json", + "bytes": 319701, + "git_blob": "a465305c7d818e76918d79e20f4ba1fa7c898724", + "sha256": "b38f1cf6f8a6f0f53874e0bb7f1ddbb3a8bd57eadfa38e432d543ae8f2f8813b", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/descent2-selection.json" + }, + "kernel-selection.json": { + "local": "kernel-selection.json", + "bytes": 873734, + "git_blob": "5806ce264b8c5b18087c1f2a5275ebdc1b238284", + "sha256": "3de6647a97efda200269cee06446ee15944b197935b531efde61f4012526cc0d", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/kernel-selection.json" + }, + "kernel_transform.py": { + "local": "kernel_transform.py.txt", + "bytes": 17104, + "git_blob": "510bf5445b4449bdd1dc6a1da9014dd687dadde9", + "sha256": "fd5c98e7e50d6cae4a4c56ba33bc317bcf6a52b2a448b84146d0276eb140cbc2", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/kernel_transform.py" + }, + "math_check.py": { + "local": "math_check.py.txt", + "bytes": 5158, + "git_blob": "7f36db7e5c422d29f027de7d47a654969537cb47", + "sha256": "c44fe0f710fc8f00c2f085f40f1afadda287628e631f76ee7ca9160f94cf3bb6", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/math_check.py" + }, + "moment.py": { + "local": "moment.py.txt", + "bytes": 5568, + "git_blob": "1e43aaeaca1b9d1ff40b8805ca7ae3e6a219c392", + "sha256": "9d465c716c6b910ff66e1453e3bf0057608a787b5f5361be93781f42cb3370f7", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/moment.py" + }, + "restore-selection.json": { + "local": "restore-selection.json", + "bytes": 808745, + "git_blob": "39ed9e171661bc2779e7b7e19c7fcbd9dd978afc", + "sha256": "3b720a5aeb38d6930bc11fdf91816d31fe694a4f13b7ba29311d6c970fbab3be", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/restore-selection.json" + }, + "restore_transform.py": { + "local": "restore_transform.py.txt", + "bytes": 14720, + "git_blob": "ffc6cfe4d5c91a3991ba7c33ff0f17760071897b", + "sha256": "f7c80c5052efe17655dbaebe94ea37575db187c8e92eee30432fbf66199cfcd6", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/restore_transform.py" + }, + "sink-selection.json": { + "local": "sink-selection.json", + "bytes": 31837, + "git_blob": "4eac2269dcd315460db73b72616b82b4265fd0bb", + "sha256": "daf20cffc8de40048473088195827c8a0a86a5190ddbaca8c5162257453e0ed6", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/sink-selection.json" + }, + "sink_transform.py": { + "local": "sink_transform.py.txt", + "bytes": 15171, + "git_blob": "45662ae89ab154809f1c2867dc03abdec36e519a", + "sha256": "596995e17df374d0d5e5b49dc295ba71e647a46c464c73a4c4e57a6a71038ea5", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/sink_transform.py" + }, + "target-selection.json": { + "local": "target-selection.json", + "bytes": 1040746, + "git_blob": "1b96d9704a1daa9d837e56227f8ae17aa5143635", + "sha256": "3f700a370847e254d56a387ae73add542403bd8a2fd7352bfd1750eb20c3c3ee", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/target-selection.json" + }, + "gen5bit/selected/bit/frames_p12.json.gz": { + "local": "gen5bit/selected/bit/frames_p12.json.gz", + "bytes": 297501, + "git_blob": "a558091c81ab56c8a8b74ab3c5ebe28b2a1d9694", + "sha256": "c5e9eadf7ea06cefcb31f94f00b99c9cf3b850231af222bc88efee51f5d01295", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/gen5bit/selected/bit/frames_p12.json.gz" + }, + "gen5bit/selected/bit/graph_p12.json": { + "local": "gen5bit/selected/bit/graph_p12.json", + "bytes": 927750, + "git_blob": "d25a5f7be51c6a064a30a210c0aac3811e44e9f1", + "sha256": "73814dd03979f08b13cf981a30b56dc9b8127f618162407b815009e44298cb00", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/gen5bit/selected/bit/graph_p12.json" + }, + "gen5bit/selected/bit/kchron_p12.json": { + "local": "gen5bit/selected/bit/kchron_p12.json", + "bytes": 226522, + "git_blob": "f8295fab205a81dfdf2612e9b37ef536aea952e7", + "sha256": "e28cd9e9842605af568eea62203a15c48fb08a92e99b38a3480f2fe462d8e1b4", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/gen5bit/selected/bit/kchron_p12.json" + }, + "gen5bit/selected/bit/profile_p12.json": { + "local": "gen5bit/selected/bit/profile_p12.json", + "bytes": 917, + "git_blob": "f00ab5c99495fd3912dd8c744e0611bdbf3d9753", + "sha256": "bcfebb851f1d2e91c604867da2235d83f36f3d591a14d113a4aab734417b3c0b", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/gen5bit/selected/bit/profile_p12.json" + }, + "gen5bit/selected/bit/word_p12.json.gz": { + "local": "gen5bit/selected/bit/word_p12.json.gz", + "bytes": 727353, + "git_blob": "5bda3fa78a8858e807825b2158fb1b6264941ac1", + "sha256": "2317c6f6685dc48e6c2a41d10f6212ac15e99c774c4a8251a975e04b91e0f2cb", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/gen5bit/selected/bit/word_p12.json.gz" + }, + "expected/kernel-pins.json": { + "local": "expected/kernel-pins.json", + "bytes": 3279, + "git_blob": "7edadf3cdf1318332244be2e26d94d484aa67d8c", + "sha256": "9cbf1cb271cf6a32246630418d6ff86d23967e79ca687216049e970efabc7e90", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/expected/kernel-pins.json" + }, + "portable_complex.py": { + "local": "portable_complex.py.txt", + "bytes": 11070, + "git_blob": "debb378eb8e858376ccea380facdd64b5ce44286", + "sha256": "2097ab2a59fd3950527daa1da087e1aacefe107cbb49c5c55cc4adb28e4dee95", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/portable_complex.py" + }, + "inputs/complex/source-pins.json": { + "local": "inputs/complex/source-pins.json", + "bytes": 13587, + "sha256": "17b2c01350abc7fdd57a82fbe540488fb253a198d0cf7eb80275baef8864e11d", + "git_blob": "5ca82f7e66c4822c573300e3c6b4b7fd0c0459a6", + "external_byte_binding": "MANIFEST.json SHA256", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/inputs/complex/source-pins.json" + }, + "inputs/complex/gcert1-p11-pr233-flow.json.gz": { + "local": "inputs/complex/gcert1-p11-pr233-flow.json.gz", + "bytes": 478851, + "sha256": "09ceba1c0ea17282da155b937c8463669b913443c20f45fe2a7e6e024cb2d33a", + "git_blob": "d4026e4cbdf4866d15d16b34b3e6057bf9589a96", + "external_byte_binding": "inputs/complex/source-pins.json compressed SHA256", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/inputs/complex/gcert1-p11-pr233-flow.json.gz" + }, + "code/complex_labels.py": { + "local": "code/complex_labels.py.txt", + "bytes": 9082, + "sha256": "b1f6f3ad7ad5a1f702d472aa129d8d3617e826d9a5ae27828fa7aa2048d9eabd", + "git_blob": "77c4a35a9897a0172fea308a4eb075c22dc30477", + "external_byte_binding": "MANIFEST.json SHA256", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/code/complex_labels.py" + }, + "finite_check.py": { + "local": "finite_check.py.txt", + "bytes": 11658, + "sha256": "8a2c3b1476284bee9d8c86239f9d8ed664e52dd4b806640b1cb8dfbc5a1a20c7", + "git_blob": "f5c55cedd295c5fb685c6309366a3d732cb0f76c", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/finite_check.py" + }, + "bank_template.py": { + "local": "bank_template.py.txt", + "bytes": 11063, + "sha256": "60f4eef1964ed3bae195d729ba1afc2b1b41f5ba8e1c0d28989aa18f4953f07b", + "git_blob": "3f339355c3bc50c1beb24d7360540e0221656a33", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/bank_template.py" + }, + "proof/FINITE_BIT_ACCOUNTING.md": { + "local": "cap_sources/FINITE_BIT_ACCOUNTING.md", + "bytes": 6572, + "git_blob": "42a585d742660f9ed44ebd3ca2a9d1e0832bb0be", + "sha256": "602923520af184670170bf159fde7b4c72e79a72570eddd7746b7c97bc51fc5b", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/proof/FINITE_BIT_ACCOUNTING.md" + }, + "proof/INTEGRATED_PROOF.md": { + "local": "cap_sources/INTEGRATED_PROOF.md", + "bytes": 14080, + "git_blob": "c624da6c5c1f8e44c8ecda24af477d11dfee8e12", + "sha256": "cff22391e71a50bad27a1e832d5c0a2c8b2446df55adb1297c8b1485b3761257", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/proof/INTEGRATED_PROOF.md" + }, + "proof/PARITY-CONTRACT.md": { + "local": "cap_sources/PARITY-CONTRACT.md", + "bytes": 6418, + "git_blob": "fad6150b1f9987280f8e2dc72e3418eb85f3d8e6", + "sha256": "a9246be656e31f1a21d5ec714e002f51be0aa07c36e1528066a25b2c7a02db91", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/proof/PARITY-CONTRACT.md" + }, + "UPSTREAM-PR234-PROOF.md": { + "local": "cap_sources/UPSTREAM-PR234-PROOF.md", + "bytes": 4165, + "git_blob": "dbd880696772b68c63af15336a4fe749550f1146", + "sha256": "c9722b07256758cd3b307dd46689f99984c66e16c3dd934f9c34e551620bfc0f", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/UPSTREAM-PR234-PROOF.md" + }, + "prime_check.py": { + "local": "cap_sources/prime_check.py.txt", + "bytes": 5868, + "git_blob": "373ecbee8a0d4fd03374a0332419fde6345de239", + "sha256": "0c6b95d793e3251aba01346fb844a963a0868016f99cac2eb7dabc573f2c46a8", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/prime_check.py" + }, + "scalar_check.py": { + "local": "cap_sources/scalar_check.py.txt", + "bytes": 8413, + "git_blob": "013059639dcefaafa103ce1154e895f7365383e4", + "sha256": "e3bde38a25e14ccc9d74608d963d38a7702f345d4ff3ddbc7418dc67b00f4414", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/scalar_check.py" + }, + "proof/three-stage-cover-bit.tex": { + "local": "cap_sources/three-stage-cover-bit.tex.txt", + "bytes": 13061, + "git_blob": "f05225d21f92cf8cef21b6e12601d5b4d61991f0", + "sha256": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/proof/three-stage-cover-bit.tex" + }, + "proof/three-stage-cover-rows.tex": { + "local": "cap_sources/three-stage-cover-rows.tex.txt", + "bytes": 4815, + "git_blob": "590da4b892a08b9d5182fb3d8a983c6239dd27db", + "sha256": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "url": "https://raw.githubusercontent.com/lydakis/integer-mult-bounds/10b40041d4ab8a6610083e95bc571aee3468bca2/research/gen5b-weighted-matching/proof/three-stage-cover-rows.tex" + }, + "prior299-word.json.gz": { + "git_blob": "ad318242f00ab47190660dd57f30e0d1d612f6f8", + "sha256": "f2a8b915209c28812c73a6a51a1b30b9cf830d7e0acbf00e7094b976d513cdb8", + "bytes": 727150, + "local": "prior299-word.json.gz", + "url": "https://raw.githubusercontent.com/CrocSwap/integer-mult-bounds/5f6bd3fbc0e6796dd31263cef1f06dc968186f64/research/five-stage-gen5b-kernels-restorations-sinks/gen5bit/selected/bit/word_p12.json.gz", + "commit": "5f6bd3fbc0e6796dd31263cef1f06dc968186f64" + } + } +} diff --git a/research/gen5b-shared-kernels/weighted275/integrate_bounded_candidate.py b/research/gen5b-shared-kernels/weighted275/integrate_bounded_candidate.py new file mode 100644 index 0000000000..b23a4a0f71 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/integrate_bounded_candidate.py @@ -0,0 +1,118 @@ +"""Separate full changed-obligation arithmetic for a bounded PR275 candidate. + +Imports only our newly authored bridge/norm programs and pure arithmetic. +Upstream source remains inert JSON/text. Original104-bit comparison is retained +as false when an explicitly reviewed fixed112-bit candidate bound is used. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from pathlib import Path +import hashlib,importlib.util,json,sys +import reproduce_pr275 as base +from source_data import OUTPUT +import review_payload_cap +from price_candidate import price +from bank_receipt_binding import bind_banks +from check_candidate_charts import run as charts_run + +def digest(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +def ceil(x):return -((-x.numerator)//x.denominator) + +def load(name,path): + spec=importlib.util.spec_from_file_location(name,path);module=importlib.util.module_from_spec(spec) + sys.modules[name]=module;spec.loader.exec_module(module);return module + +def invoice(stock,calls,added): + pins=base.read('expected/kernel-pins.json');m=120;v=1760;R=pins['physical_R'];T=60;N=240;d=m*m + E=T*calls;weighted=T*(5*(pins['scalar_events']+added)+6*v);unit=T*(5*(pins['literal_unit_additions']+added)+6*v) + J=T*(24*v+10*R);good=8*m*m+8;high=16*(d+1)**2;K=600*((stock-1)+R*120*815) + coefficient=unit+J*high+J*(stock+24)+E*good+E*(128*N**3)+16*m**3+120*T+E+K+1 + assert coefficient<2**80 and K<2**40 and stock+24<2**80 and 2*m**3*10**16<2**80 + return dict(literal_stock=stock,literal_children=E,gross_added_scalar_events_per_stage=added, + weighted_additions_upper=weighted,unit_additions_upper=unit,route_families=J, + normalizer_factor_bound=815,selector_calls_bound=K,displayed_finite_coefficient=coefficient, + coefficient_bits=coefficient.bit_length(),coefficient_cap=2**80,coefficient_cap_strict_gap=2**80-coefficient, + no_credit_taken_for_omitted_reads=True,primitive_chart_and_all_size_admission_replayed=False) + +def run(label,candidate_path,bridge_dir,bank_receipt,bank_table): + base.verify_sources();candidate_path=Path(candidate_path);bridge_dir=Path(bridge_dir) + witness=json.loads(candidate_path.read_text());n=len(witness['entries']) + import check_bridge as bridge_module,check_scalar_bounds as norm_module + from cases import CASES + case=next(k for k,v in CASES.items()if v['sha256']==digest(candidate_path)) + bridge_module.configure(case) + assert Path(bridge_module.CAND).resolve()==candidate_path.resolve() + code_hashes={name:digest(base.HERE/name)for name in('check_bridge.py','check_scalar_bounds.py')} + bridge=bridge_module.run();norm=norm_module.run(candidate_path) + assert code_hashes=={name:digest(base.HERE/name)for name in code_hashes} + assert bridge['head']==witness['source_head']==base.HEAD and bridge['selected_pivots']==n + assert bridge['all_column_formal_composition_forward_inverse'] and bridge['omitted_setup_and_restore_rejected'] and bridge['final_full_endpoints_checked'] + H=base.histogram(bridge['local_histogram_delta']);R=base.histogram(bridge['residual_family_delta']) + assert dict(R)=={24:-n,23:n} and base.mass(H)==-n + result=price(H,R,{23:n},label=label+' bound to freshly rerun exact bridge/norm; no final12') + result['status']='PASS_PR275_CHANGED_OBLIGATIONS_UNDER_DECLARED_INTERFACES' + result['source_head']=base.HEAD;result['candidate_sha256']=digest(candidate_path) + result['bridge_code_sha256']=code_hashes;result['bridge_status']=bridge['status'];result['bridge_scope']=bridge['scope'] + result['role_bank_binding']=bind_banks(result,Path(bank_receipt),Path(bank_table),'PASS_PR275_SHARED_KERNEL_ROLE_BANK_ASSIGNMENT') + chart=charts_run(candidate_path,bridge,result['literal_stock']) + assert chart['candidate_sha256']==result['candidate_sha256'] and chart['pivot_residual_demands']==n + assert len(chart['role_chart_uses'])==2*bridge['selected_streams'] + assert chart['max_changed_chart_factors']<=576 and chart['combined_normalizer_factor_bound']==815 + assert chart['max_factor_numerator']<2**80 and chart['max_factor_denominator']<2**80 + from source_data import OUTPUT + chart_path=OUTPUT/(label+'-charts-receipt.json');chart_path.write_text(json.dumps(base.ae.serial(chart),separators=(',',':'))+'\n') + result['changed_charts']={k:v for k,v in chart.items()if k not in('factor_programs','role_chart_uses')} + result['changed_chart_receipt_sha256']=digest(chart_path) + pins=base.read('expected/kernel-pins.json');setup=sum(len(e['donors'])for e in witness['entries']) + assert setup==norm['setup_restore_pairs'] and norm['status']=='PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS' + for direction,key in [('forward','forward_max_row_l1'),('inverse','inverse_max_row_l1')]: + row=norm[direction];assert row['inherited_bound']==pins[key] and row['max_added_source']==0 + assert row['certified_new_bound']==row['inherited_bound']+row['max_added_majorant'] + forward=norm['forward']['certified_new_bound'];inverse=norm['inverse']['certified_new_bound'];payload=64*forward**3*inverse**2 + assert payload==norm['payload_bound'] and payload.bit_length()==norm['payload_bits'] + if case=='166': + assert not payload<2**104 and norm['retained_payload_cap_2_to104'] is False + cap=review_payload_cap.run(forward,inverse,112) + assert cap['payload']==payload and cap['original_cap_satisfied'] is False and cap['explicit_candidate_cap_satisfied'] + result['payload_cap_review']=cap + cap_bits=112 + else: + assert payload<2**104 and norm['retained_payload_cap_2_to104'] is True + cap_bits=104 + assert norm['target_majorant_edges']==681 and norm['target_majorant_acyclic_vertices']==908 and norm['actual_sink_redirects']==14 + result['norm_review']=dict(forward=forward,inverse=inverse,payload=payload,payload_bits=payload.bit_length(), + original_cap_bits=104,original_cap_satisfied=payload<2**104,explicit_candidate_cap_bits=cap_bits, + explicit_candidate_cap_satisfied=True,explicit_candidate_cap_gap=2**cap_bits-payload,fresh_norm_receipt=norm) + baseline=invoice(pins['literal_stock'],pins['priced_five_stage_calls'],0);assert baseline['displayed_finite_coefficient']==90322316339049601 + finite=invoice(result['literal_stock'],result['calls'],2*setup) + assert finite['selector_calls_bound']==chart['selector_calls_bound'] + literal_mass=60*result['rank_mass'];assert 120*result['literal_stock']-literal_mass==264000 + finite.update(literal_rank_mass=literal_mass,max_bank_block_scalar=max(len(row['widths'])for row in result['packing_patterns']), + normalizer_status='All changed chart programs freshly certified below retained576; exact normalizer815 bound retained.', + baseline_displayed_coefficient=baseline['displayed_finite_coefficient']) + assert finite['max_bank_block_scalar']==40 + formula=base.SOURCE/'finite_check.py.txt';assert 'coefficient=unit+J*high+J*(stock+24)+E*good+E*(128*N**3)+16*m**3+120*T+E+K+1'in formula.read_text() + finite['pinned_finite_formula_sha256']=digest(formula) + delta_tau=1-result['bit_root_bracket']['lower_moment'][1] + delta_linear=1-F(literal_mass,120*result['literal_stock'])-F(32*120*finite['literal_children'],10**16*result['literal_stock']) + assert delta_tau>0 and delta_linear>0 + chain=result['assembly']['bootstrap_chain'];coarse=result['bit_root_bracket']['lower'];gaps=[] + for stage,(prior,a)in enumerate(zip(chain,chain[1:]),1): + slacks=dict(atom=coarse-a,borrowing=1-a-coarse,remainder=1-a-coarse*(1-prior),stock=1-coarse);delta=min(slacks.values());assert delta>0 + coefficient=finite['displayed_finite_coefficient'];cutoff=max(1,ceil(36/delta**2),ceil(F(2*(4+(coefficient-1).bit_length()))/delta)) + assert cutoff*delta**2>=36 and cutoff*delta>=2*(4+(coefficient-1).bit_length()) + gaps.append(dict(stage=stage,slacks=slacks,minimum=delta,displayed_coefficient_cutoff_log2=cutoff)) + finite.update(delta_tau_lower=delta_tau,delta_linear=delta_linear,bootstrap_gap_checks=gaps, + cutoff_scope='Displayed fixed bill only. C_full still includes unspecified inherited primitive, wrapper, setup and previous ordinary-level constants; none are set to zero or claimed numerically measured.') + result['finite_arithmetic']=finite + result['scope']='All changed obligations represented here are independently recomputed and bound to the fixed candidate: alias/prefix/frame bridge, charts, role banks, conservative norm, explicit case-specific numeric payload bound, displayed finite formula, moment and47 rational inequalities. Original104 comparison is retained explicitly, and fails for166. Unchanged full physical decoder, compiler and all-size interfaces remain assumptions; no upstream program executed.' + return result + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + label,candidate,bridge,banks,table=sys.argv[1:] + result=run(label,candidate,bridge,banks,table) + (OUTPUT/(label+'-bound-receipt.json')).write_text(json.dumps(base.ae.serial(result),indent=2)+'\n') + print(json.dumps(dict(status=result['status'],kappa=result['assembly']['kappa_decimal'],charts=result['changed_charts']['charts'], + finite_coefficient=result['finite_arithmetic']['displayed_finite_coefficient'],payload_bits=result['norm_review']['payload_bits'], + old104=result['norm_review']['original_cap_satisfied'],new112=result['norm_review']['explicit_candidate_cap_satisfied']),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/map_roles.py b/research/gen5b-shared-kernels/weighted275/map_roles.py new file mode 100644 index 0000000000..86f5f8faa2 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/map_roles.py @@ -0,0 +1,64 @@ +"""Independent logical-to-physical audit; no upstream program is imported.""" +from pathlib import Path +import gzip,json,hashlib +ROOT=Path(__file__).resolve().parent +from source_data import SOURCE,OUTPUT +FROZEN=ROOT.parent + +def word(p):return json.loads(gzip.decompress(p.read_bytes())) +def layout(w): + pairs=w['pairs'];assert all(len(z)==2 for z in pairs) + recipient_to_donor={b:a for a,b in pairs};donors={a for a,b in pairs} + assert len(recipient_to_donor)==len(donors)==len(pairs) + assert not donors&recipient_to_donor.keys() + regs=sorted(set(range(17160))-recipient_to_donor.keys()) + phys={r:3520+i for i,r in enumerate(regs)} + return recipient_to_donor,donors,phys + +def run(): + old=word(SOURCE/'prior299-word.json.gz');new=word(SOURCE/'gen5bit/selected/bit/word_p12.json.gz') + old_alias,old_donors,oldphys=layout(old);alias,donors,phys=layout(new) + assert len(old_alias)==1726 and len(alias)==1728 + assert {k for k in new if new[k]!=old[k]}=={'pairs','reads'} + assert len(phys)==15432 + oldinv={s:r for r,s in oldphys.items()} + kernels=json.loads((SOURCE/'kernel-selection.json').read_text()) + occupied={r for z in kernels['pairs']for r in (z['a'],z['b'])}|{r for z in kernels['families']for r in [z['pivot']]+z['donors']} + def info(r): + return dict(logical_role=r,old_stream=oldphys[old_alias.get(r,r)],new_stream=phys[alias.get(r,r)], + old_recipient=r in old_alias,new_recipient=r in alias, + old_reuse_donor=r in old_donors,new_reuse_donor=r in donors, + new_alias=alias.get(r,r),new_kernel_member=phys[alias.get(r,r)]in occupied) + witness=json.loads((FROZEN/'kernel70-witness.json').read_text())['entries'] + remapped=[] + for z in witness: + p=info(z['virtual_pivot']);ds=[info(r)for r in z['virtual_donors']] + remapped.append(dict(old_pivot=z['pivot'],pivot=p,donors=ds,basis=z['basis'],rank=z['rank'])) + member_ids={z['virtual_pivot']for z in witness}|{r for z in witness for r in z['virtual_donors']} + members=[info(r)for r in sorted(member_ids)] + core=json.loads((FROZEN/'certificates/coretime12/local.json').read_text())['candidates'] + core_rows=[] + for z in core: + row={k:info(z[k])for k in ('helper','donor','blocker')} + row['old_restore_helper']=info(oldinv[z['old_restored_helper_stream']]) + row['old_restore_helper_stream']=z['old_restored_helper_stream'] + row['new_endpoint']=z['new_endpoint'];core_rows.append(row) + reused_members=[m for m in members if m['new_reuse_donor']] + recipient_members=[m for m in members if m['new_recipient']] + occupied_members=[m for m in members if m['new_kernel_member']] + core_recipients=[z['helper']for z in core_rows if z['helper']['new_recipient']] + result=dict(status='PASS_EXACT_ROLE_MAPPING_ONLY',head='10b40041d4ab8a6610083e95bc571aee3468bca2', + changed_word_fields=['pairs','reads'],old_reuse_pairs=1726,new_reuse_pairs=1728, + all_virtual_roles=17160,new_independent_helpers_before_sinks=15432,new_all_columns_before_sinks=18952, + expected_after_seven_sinks=15425,old_kernel_physical_members=len(occupied), + kernel70_relation_count=len(remapped),kernel70_distinct_virtual_members=len(members), + transported_recipient_members=recipient_members,transported_reuse_donor_members=reused_members, + transported_occupied_kernel_members=occupied_members,final12_new_recipient_helpers=core_recipients, + kernel70_relations=remapped,kernel70_members=members,final12_candidates=core_rows, + scope='Exact alias/stream mapping and occupancy only. No response, common-cut, aliased frame, suffix, bank or finite-cost admission is asserted. Physical donor roles remain eligible for later full-path checking; recipient keys are excluded from new kernel pivots/donors.') + (OUTPUT/'role-mapping.json').write_text(json.dumps(result,indent=2)+'\n') + (OUTPUT/'all-role-map.json').write_text(json.dumps({str(r):phys[alias.get(r,r)]for r in range(17160)},separators=(',',':'))+'\n') + print(json.dumps({k:v for k,v in result.items()if k not in ('kernel70_relations','kernel70_members','final12_candidates')},indent=2)) + return result + +if __name__=='__main__':run() diff --git a/research/gen5b-shared-kernels/weighted275/price_candidate.py b/research/gen5b-shared-kernels/weighted275/price_candidate.py new file mode 100644 index 0000000000..a15bbb9136 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/price_candidate.py @@ -0,0 +1,66 @@ +"""Conditional exact repricing on freshly reproduced PR275 arithmetic. + +The caller supplies measured or explicitly provisional histogram and role-width +deltas. No baseline physical admission or candidate admission is asserted. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from collections import Counter +from fractions import Fraction as F +from pathlib import Path +import json +import reproduce_pr275 as base + +def price(histogram_delta,residual_delta,pivot_delta=None,label='provisional'): + base.verify_sources() + H,profile=base.final_profile();inv=base.inventory() + H.update({r:5*n for r,n in histogram_delta.items()}) + assert min(H.values())>=0 + H=Counter(base.clean(H)) + families=Counter(inv['residual_census']);families.update(residual_delta) + assert min(families.values())>=0 + families=Counter(base.clean(families)) + pivots=Counter(inv['pivot_residual_census']);pivots.update(pivot_delta or {}) + patterns=[dict(widths=[7]*12+[4]*9,count=10)] + for width,count in sorted(pivots.items()): + patterns.append(dict(widths=[width]*4+[24]+[4]*(24-width),count=15*count)) + supplied=Counter() + for row in patterns: + assert sum(row['widths'])==120 + supplied.update({r:n*row['count'] for r,n in Counter(row['widths']).items()}) + for width in (3,4,6,24): + remainder=60*families[width]-supplied[width] + assert remainder>=0 and 120%width==0 and remainder%(120//width)==0 + if remainder:patterns.append(dict(widths=[width]*(120//width),count=remainder//(120//width))) + supplied=Counter() + for row in patterns: + supplied.update({r:n*row['count'] for r,n in Counter(row['widths']).items()}) + assert supplied==Counter({r:60*n for r,n in families.items()}) + banks=sum(row['count'] for row in patterns) + assert 120*banks==60*base.mass(families) + stock=422400+5*banks;W=F(stock,60);deficit=120*W-base.mass(H) + assert deficit==4400 + root=base.bracket(H,120,W);assembly=base.assembly(root['lower']) + baseline_kappa=F(base.read('expected/kernel-pins.json')['kappa']) + return dict(status='CONDITIONAL_CANDIDATE_PROFILE_ARITHMETIC',label=label, + physical_admission=False,all_size_theorem=False, + local_histogram_delta=histogram_delta,residual_role_delta=residual_delta, + final_histogram=base.clean(H),calls=sum(H.values()),rank_mass=base.mass(H), + residual_census=base.clean(families),physical_R=sum(families.values()), + banks_per_stage=banks,total_banks=5*banks,literal_stock=stock, + packing_patterns=patterns,packing_unused_coordinates=0, + unreplicated_stock=W,deficit=deficit,bit_root_bracket=root,assembly=assembly, + kappa_improvement_over_pr275=assembly['kappa']-baseline_kappa, + improvement_percent=100*(assembly['kappa']/baseline_kappa-1), + scope='Repriced declared profile only. Supplied deltas require independent exact changed-stage/chronology, geometry, scalar-cost and finite-invoice validation before admission.') + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + result=price({1:87,2:137,3:-137,4:18,5:-16,6:-2},{24:-70,23:70},{23:70}, + label='PROVISIONAL direct70; two newly reused donor aliases awaiting chronological verification; no final12 delta') + path=Path(__file__).with_name('direct70-provisional-receipt.json') + path.write_text(json.dumps(base.ae.serial(result),indent=2)+'\n') + print(json.dumps(base.ae.serial(dict(kappa=result['assembly']['kappa'], + kappa_decimal=result['assembly']['kappa_decimal'],calls=result['calls'],rank_mass=result['rank_mass'], + stock=result['literal_stock'],improvement_percent=base.ex.dec(result['improvement_percent']), + bit_root_bracket=[result['bit_root_bracket'][key] for key in ('lower','upper')], + physical_admission=False)),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/reproduce_complex.py b/research/gen5b-shared-kernels/weighted275/reproduce_complex.py new file mode 100644 index 0000000000..8d0d8f4002 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/reproduce_complex.py @@ -0,0 +1,87 @@ +"""Independently authored complex-certificate dimension path and moment audit. + +Only inert primary JSON is consumed. This is not a scalar map or Lean replay. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from collections import Counter +from fractions import Fraction as F +import hashlib,gzip,json +import reproduce_pr275 as base + +def profile(): + pins=base.read('inputs/complex/source-pins.json')['certificate'] + packed=(base.SOURCE/pins['path']).read_bytes();raw=gzip.decompress(packed) + assert hashlib.sha256(packed).hexdigest()==pins['compressed_sha256'] + assert hashlib.sha256(raw).hexdigest()==pins['uncompressed_sha256'] + c=json.loads(raw) + h,v,R=c['h'],c['v'],c['R'];assert(h,v,R)==(22,1320,9412) + frames=c['frames'];dims=list(map(len,frames));current=c['start'][:] + assert len(current)==len(c['final'])==2*v+R + assert frames[0]==[] and dims[1]==h + for frame in frames: + pivots=[x.bit_length()-1 for x in frame] + assert pivots==sorted(set(pivots),reverse=True) + assert all(type(x)is int and 0dims[before] + pair=(before,after) + if pair not in checked: + for vector in frames[before]: + remainder=vector + for basis in frames[after]: + if remainder&(1<<(basis.bit_length()-1)):remainder^=basis + assert remainder==0 + checked.add(pair) + rank=dims[after]-dims[before] + label='x' if reg0 and n}) + +def mass(h): + return sum(r*n for r,n in h.items()) + +def clean(h): + return {r:n for r,n in sorted(h.items()) if n} + +def verify_sources(): + pins=read('PINS.json') + assert pins['commit']==HEAD + for name,row in pins['files'].items(): + data=(SOURCE/row['local']).read_bytes() + assert len(data)==row['bytes'] + assert hashlib.sha256(data).hexdigest()==row['sha256'] + assert hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest()==row['git_blob'] + return dict(pinned_head=HEAD,verified_files=len(pins['files']),upstream_programs_executed=False) + +def kernel_delta(): + k=read('kernel-selection.json') + ranks=defaultdict(set);first={};pivots={};donors=Counter() + for row in k['pairs']+k['families']: + pivot=row.get('pivot',row.get('a')) + ds=row.get('donors',[row.get('b')]);pivots[pivot]=row['rank'] + dims=row['first_frame_dims'] + dims={pivot:dims[0],ds[0]:dims[1]} if isinstance(dims,list) else {int(r):d for r,d in dims.items()} + assert set(dims)=={pivot,*ds} + for role,dimension in dims.items(): + assert role not in first or first[role]==dimension + first[role]=dimension;ranks[role].add(row['rank']) + donors.update(ds) + assert not set(pivots)&set(donors) + h=Counter() + for role,visits in ranks.items(): + h[first[role]]-=1;previous=pivots.get(role,0) + for dimension in sorted(visits)+[first[role]]: + assert dimension>=previous + if dimension>previous:h[dimension-previous]+=1 + previous=dimension + assert clean(h)==dict(histogram(k['expected_local_delta'])) + assert mass(h)==-sum(pivots.values()) + return h,dict(entries=len(pivots),pairs=len(k['pairs']),families=len(k['families']), + entrance_rank=sum(pivots.values()),distinct_donors=len(donors), + shared_donors=sum(n>1 for n in donors.values()),max_donor_multiplicity=max(donors.values()), + histogram_delta=clean(h),method='One ordered entrance-dimension chain per member, counting shared donors once. Dimension arithmetic only; nesting is an inherited geometry obligation.') + +def inventory(): + w=read('gen5bit/selected/bit/word_p12.json.gz') + k=read('kernel-selection.json');rest=read('restore-selection.json');sink=read('sink-selection.json') + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + bystream={3520+i:r for i,r in enumerate(regs)} + sinks={row['role'] for row in sink['sinks']} + assert all(bystream[row['stream']]==row['role'] for row in sink['sinks']) + roles=set(regs)-sinks;entrance={r:0 for r in roles};endpoint={r:24 for r in roles} + for row in w['gauges']: + if row['role'] in roles:entrance[row['role']]=row['dim'] + pivot_residual=Counter() + for row in k['pairs']+k['families']: + stream=row.get('pivot',row.get('a'));role=bystream[stream] + assert entrance[role]==0 + entrance[role]=row['rank'];pivot_residual[24-row['rank']]+=1 + for row in rest['entries']: + role=bystream[row['helper']] + assert entrance[role]==row['dims'][0] and endpoint[role]==24 + endpoint[role]=row['rank'] + families=Counter(endpoint[r]-entrance[r] for r in roles) + gauges=Counter(x for x in entrance.values() if x) + completion=Counter(entrance[r]+24-endpoint[r] for r in roles if entrance[r]) + assert len(roles)==sum(families.values()) and min(families)>0 + # A primal width-120 packing: retained mixed pivot and rank-7 templates, + # then exact pure-bin fills. y_r=r/120 is the volume lower-bound dual. + patterns=[dict(widths=[7]*12+[4]*9,count=10)] + for width,count in sorted(pivot_residual.items()): + patterns.append(dict(widths=[width]*4+[24]+[4]*(24-width),count=15*count)) + used=Counter() + for row in patterns: + assert sum(row['widths'])==120 + used.update({r:n*row['count'] for r,n in Counter(row['widths']).items()}) + for width in (3,4,6,24): + remaining=60*families[width]-used[width];blocks=120//width + assert 120%width==0 and remaining>=0 and remaining%blocks==0 + if remaining:patterns.append(dict(widths=[width]*blocks,count=remaining//blocks)) + packed=Counter() + for row in patterns:packed.update({r:n*row['count'] for r,n in Counter(row['widths']).items()}) + assert packed==Counter({r:60*n for r,n in families.items()}) + banks=sum(row['count'] for row in patterns) + assert 120*banks==60*mass(families) + p=read('expected/kernel-pins.json') + for field,actual in [('bank_families',families),('pivot_residual_census',pivot_residual),('entrance_rank_histogram',gauges),('completion_rank_histogram',completion)]: + assert dict(actual)==dict(histogram(p[field])),(field,actual,p[field]) + assert len(roles)==p['physical_R'] + assert 5*banks==p['banks_total'] + stock=60*4*1760+5*banks + assert stock==p['literal_stock'] + return dict(physical_R=len(roles),kernel_entries=sum(pivot_residual.values()), + restore_helpers=len(rest['entries']),sink_count=len(sinks),entrance_count=sum(gauges.values()), + entrance_rank_histogram=clean(gauges),completion_rank_histogram=clean(completion), + residual_census=clean(families),pivot_residual_census=clean(pivot_residual), + residual_rank=mass(families),banks_per_stage=banks,banks_total=5*banks, + literal_data_stock=60*4*1760,literal_stock=stock,packing_patterns=patterns, + packing_optimal_for_declared_widths=True,packing_unused_coordinates=0, + scope='Exact declared role inventory and zero-waste width packing; no chronological bank admission claimed.') + +def final_profile(): + h,base=base_profile();kd,kernel=kernel_delta() + target=read('target-selection.json');td=Counter() + for row in target['groups']:td.update(histogram(row['local_histogram_delta'])) + assert clean(td)==dict(histogram(target['expected_total_delta'])) + restore=read('restore-selection.json');rd=Counter() + for row in restore['entries']: + entrance,helper,donor,end=row['dims'];assert entranceFULL by helper->end and split donor->FULL at end. + rd[24-helper]-=1;rd[24-donor]-=1 + for width in (end-helper,end-donor,24-end): + if width:rd[width]+=1 + assert clean(rd)==dict(histogram(restore['expected_local_delta'])) + sink=read('sink-selection.json');sd=Counter() + for row in sink['sinks']: + rank=len(row['root_frame_basis']);sd[rank]-=1;sd[24-rank]-=1 + assert clean(sd)==dict(histogram(sink['expected_local_delta'])) + p=read('expected/kernel-pins.json');stages={} + deltas=[('descent',histogram(read('descent-selection.json')['expected_local_histogram_delta'])), + ('target',td),('kernel',kd),('descent2',histogram(read('descent2-selection.json')['expected_local_histogram_delta'])), + ('restore',rd),('sink',sd)] + for name,delta in deltas: + h.update(delta);assert min(h.values())>=0 + stages[name]=dict(calls=sum(h.values()),rank_mass=mass(h),delta=clean(delta), + delta_calls=sum(delta.values()),delta_rank_mass=mass(delta)) + assert stages['kernel']['rank_mass']==p['kernel_helper_rank_mass'] + assert stages['descent2']['delta_calls']==65 and stages['descent2']['delta_rank_mass']==0 + final=Counter({r:5*n for r,n in h.items() if n});final.update({4:3520,23:3520,46:3520,50:3520}) + assert sum(final.values())==p['priced_five_stage_calls'] and mass(final)==p['priced_five_stage_rank_mass'] + completion=Counter({5*r:n for r,n in histogram(p['completion_rank_histogram']).items()}) + uncompacted=final.copy();uncompacted.update(completion) + assert sum(uncompacted.values())==p['sink_five_stage_calls'] and mass(uncompacted)==p['final_five_stage_rank_mass'] + return final,dict(base=base,kernel=kernel,target_groups=len(target['groups']),stages=stages, + final_local_histogram=clean(h),final_local_calls=sum(h.values()),final_local_rank_mass=mass(h), + priced_five_stage_histogram=clean(final),priced_five_stage_calls=sum(final.values()),priced_five_stage_rank_mass=mass(final), + with_completions_calls=sum(uncompacted.values()),with_completions_rank_mass=mass(uncompacted), + declared_census_inputs=['gen5bit/selected/bit/profile_p12.json: source_data_histogram and target_data_histogram'], + declared_delta_inputs=['descent-selection.json: expected_local_histogram_delta','descent2-selection.json: expected_local_histogram_delta'], + scope='Independent arithmetic from pinned word/frame dimensions and declared selections; does not execute or certify upstream physical admission.') + +def base_profile(): + w = read('gen5bit/selected/bit/word_p12.json.gz') + frames = read('gen5bit/selected/bit/frames_p12.json.gz') + profile = read('gen5bit/selected/bit/profile_p12.json') + dims = {int(k):v['dim'] for k,v in frames['frames'].items()} + assert profile['h'] == frames['h'] == 24 + assert profile['R'] == 17160 and profile['v'] == 1760 + gauges = {row['role']:row for row in w['gauges']} + assert all(row['dim'] == dims[row['frame']] for row in gauges.values()) + source_nodes = {role:int(node) for node,role in w['sources'].items()} + reuse = dict(w['pairs']) + removed = set(reuse.values()) + assert len(reuse) == len(removed) == len(w['pairs']) + assert not set(reuse) & removed + assert all(a not in gauges and b in gauges for a,b in reuse.items()) + phase = set(w['phase1']) + order = list(w['phase1']) + [i for i in range(len(w['ops'])) if i not in phase] + assert len(order) == len(set(order)) == len(w['ops']) + paths = defaultdict(list) + for i in order: + for role in w['ops'][i][:2]: + paths[role].append(w['op_frame'][i]) + for role,frame in zip(w['rootroles'],w['root_frame']): + paths[role].append(frame) + h=Counter() + for role in range(profile['R']): + if role in removed: + continue + start = gauges[role]['frame'] if role in gauges else w['source_frame'][source_nodes[role]] if role in source_nodes else None + dim = 0 if start is None else dims[start] + visits = paths[role][:] + if role in reuse: + recipient = reuse[role] + visits += [gauges[recipient]['frame']] + paths[recipient] + visits += [w['full_frame']] + for frame in visits: + delta = dims[frame]-dim + assert delta>=0,(role,dim,dims[frame]) + if delta: + h[delta]+=1 + dim=dims[frame] + if role in source_nodes: + h[1]+=1 + helper_h = h.copy() + # Declared profile components, separately identified from helper-path replay. + h[22]+=24 + for key in ('source_data_histogram','target_data_histogram'): + h.update(histogram(profile[key])) + return h, dict(reused_pairs=len(reuse),logical_roles=profile['R'], + physical_helpers_before_sinks=profile['R']-len(removed), + helper_path_calls=sum(helper_h.values()),helper_path_rank_mass=mass(helper_h), + calls=sum(h.values()),rank_mass=mass(h),histogram=dict(sorted(h.items()))) + +def moment(h,m,W,a,bad=True): + low, high = ex.moment_interval(m,W,h,a) + if bad: + L,U=ex.log_interval(F(m)) + E,G=ex.exp_interval(a*L,a*U) + weight=F(32*m*sum(h.values()),10**16*W) + low += weight*E + high += weight*G + return low,high + +def bracket(h,m,W,bad=True,scale=10**18): + low,high=0,scale//100 + assert moment(h,m,W,F(low,scale),bad)[1]<1 + assert moment(h,m,W,F(high,scale),bad)[0]>1 + while high-low>1: + mid=(low+high)//2 + a,b=moment(h,m,W,F(mid,scale),bad) + if b<1: + low=mid + elif a>1: + high=mid + else: + raise ArithmeticError('Insufficient moment enclosure precision') + lo,hi=F(low,scale),F(high,scale) + return dict(lower=lo,upper=hi,lower_moment=moment(h,m,W,lo,bad),upper_moment=moment(h,m,W,hi,bad)) + +def assembly(coarse,complex_coarse=None): + b=complex_coarse if complex_coarse is not None else F(754736418878859,10**18) + chain=[F(384599,10**10)] + for _ in range(3): + nxt=(1-coarse)*coarse+coarse*chain[-1] + assert chain[-1]0 + next_point=ae.direct_slacks(a,b,beta,h,k+F(1,10**18),1,row_gap) + rejected=[name for name,value in next_point['slacks'].items() if value<=0] + assert rejected==['g3_above_kappa'] + return dict(bit_coarse=coarse,complex_coarse=b,bootstrap_chain=chain, + backoff=h,beta=beta,strict_constraints=factored,margins=direct['margins'], + kappa=k,kappa_decimal=ex.dec(k),minimum_margin=minimum,absorption_gap=minimum-k, + adjacent_grid_rejected=rejected,strict_constraint_count=len(factored), + scope='All 47 exact displayed inequalities, conditional on literal scalar guard=1, stated positive row gap, and complex coarse bound. This is not an all-size bridge certificate.') + +def run(): + integrity=verify_sources();inv=inventory();h,profile=final_profile() + W=F(inv['literal_stock'],60) + assert 120*W-mass(h)==4400 + root=bracket(h,120,W) + outer=assembly(root['lower']) + assert outer['kappa']==F(read('expected/kernel-pins.json')['kappa']) + return dict(status='PASS_INDEPENDENT_PR275_DECLARED_PROFILE_ARITHMETIC', + physical_admission=False,all_size_theorem=False,integrity=integrity, + inventory=inv,profile=profile,unreplicated_stock=W,deficit=4400, + bit_root_bracket=root,assembly=outer) + +if __name__ == '__main__': + if not __debug__:raise RuntimeError('Assertions must remain enabled') + report=run() + (HERE/'baseline-receipt.json').write_text(json.dumps(ae.serial(report),indent=2)+'\n') + print(json.dumps(ae.serial(dict(status=report['status'],kappa=report['assembly']['kappa'], + kappa_decimal=report['assembly']['kappa_decimal'], + bit_root_bracket=[report['bit_root_bracket'][key] for key in ('lower','upper')], + bit_endpoint_residuals=[ex.dec(report['bit_root_bracket']['lower_moment'][1]-1),ex.dec(report['bit_root_bracket']['upper_moment'][0]-1)], + physical_admission=False)),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/resolve_group_overlaps.py b/research/gen5b-shared-kernels/weighted275/resolve_group_overlaps.py new file mode 100644 index 0000000000..3e932bd192 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/resolve_group_overlaps.py @@ -0,0 +1,49 @@ +"""Exactly two bounded priority orders; no additional line or basis search. + +Regenerate each result in memory and compare its integer construction against +its frozen candidate. Entropy numbers are diagnostic screening quantities. +""" +from pathlib import Path +from collections import Counter +import json +from search_expanded_lines import closure +from compose_screened_groups import members,ledger,dim,phi +from source_data import ROOT,OUTPUT + +def resolve(primary,secondary,extra): + entries=primary['entries']+extra['entries'];assert not members(primary['entries'])&members(extra['entries']) + used=members(entries) + remaining=[dict(pivot=e['virtual_pivot'],donors=e['virtual_donors'])for e in secondary['entries']if not members([e])&used] + dimensions={r:dim(r)for e in remaining for r in[e['pivot']]+e['donors']} + selected,profit=closure(remaining,dimensions,phi);before=len(selected);parity=None + if len(selected)%2: + counts=Counter(d for e in selected for d in e['donors']) + def marginal(e): + benefit=phi(dim(e['pivot']))-phi(dim(e['pivot'])-1) + released=sum(phi(1)+phi(dim(d)-1)-phi(dim(d))for d in e['donors']if counts[d]==1) + return round((benefit-released)*10**9),e['pivot'] + parity=min(selected,key=marginal);selected=[e for e in selected if e is not parity] + keep={e['pivot']for e in selected};entries += [e for e in secondary['entries']if e['virtual_pivot']in keep] + h,donors=ledger(entries) + return dict(entries=entries,pivots=len(entries),distinct_donors=donors, + local_histogram_delta=h,residual_family_delta={24:-len(entries),23:len(entries)}, + scalar_setup_pairs=sum(len(e['donors'])for e in entries), + remaining_relations=len(remaining),selected_before_parity=before, + selected_after_parity=len(selected),parity_omitted_pivot=parity['pivot']if parity else None, + rounded_closure_profit_before_parity=profit) + +def run(): + a=json.loads((ROOT/'candidate-line16-17.json').read_text());b=json.loads((ROOT/'candidate-line6-7.json').read_text());c=json.loads((ROOT/'candidate-line2-3.json').read_text()) + results=[] + for label,primary,secondary,name in [('preserve136',a,b,'candidate-combined166-reclosed.json'),('preserve36',b,a,'candidate-combined48-reclosed-reverse.json')]: + result=resolve(primary,secondary,c);frozen=json.loads((ROOT/name).read_text()) + for key in ('entries','pivots','distinct_donors','scalar_setup_pairs'): + assert result[key]==frozen[key],(label,key) + for key in ('local_histogram_delta','residual_family_delta'): + assert result[key]=={int(k):v for k,v in frozen[key].items()},(label,key) + results.append(dict(order=label,candidate=name,**{k:v for k,v in result.items()if k!='entries'})) + return dict(status='PASS_TWO_FIXED_OVERLAP_RESOLUTIONS',orders=results, + scope='Exactly two priority orders on the three positive groups from the declared276-line pass. Same rounded closure algorithm reused on surviving relations, then one deterministic parity trim. No claim of optimality over all conflict resolutions or bases.') + +if __name__=='__main__': + out=run();(OUTPUT/'overlap-resolution-receipt.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/review_payload_cap.py b/research/gen5b-shared-kernels/weighted275/review_payload_cap.py new file mode 100644 index 0000000000..b71a1ff35c --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/review_payload_cap.py @@ -0,0 +1,81 @@ +"""Independent static review of the proposed candidate-specific payload cap. + +Upstream programs are parsed as inert syntax only, never imported or executed. +This confirms the displayed fixed-recipe interface; unknown primitive constants +stay quantified in C_full. Prepared with substantial OpenAI assistance. +Apache-2.0. +""" +from pathlib import Path +import ast,hashlib,json +import reproduce_pr275 as base + +CAP_DIR=base.SOURCE/'cap_sources' + +def run(forward=432881,inverse=14083738,new_bits=112): + base.verify_sources() + manifest=base.read('MANIFEST.json')['files'] + mapped={};texts={} + for path in sorted(CAP_DIR.iterdir()): + data=path.read_bytes();raw=data + matches=[name for name,sha in manifest.items() if hashlib.sha256(raw).hexdigest()==sha] + extra=0 + if not matches: + assert data.endswith(b'\n') + raw=data[:-1];extra=1 + matches=[name for name,sha in manifest.items() if hashlib.sha256(raw).hexdigest()==sha] + assert len(matches)==1,('Proof source does not match immutable manifest',path) + name=matches[0];texts[name]=raw.decode('utf-8') + mapped[name]=dict(manifest_bound_sha256=hashlib.sha256(raw).hexdigest(), + supplied_copy_sha256=hashlib.sha256(data).hexdigest(),extra_trailing_newlines_in_copy=extra) + assert len(mapped)==8 + finite=base.SOURCE/'finite_check.py.txt';raw=finite.read_bytes();tree=ast.parse(raw) + assert hashlib.sha256(raw).hexdigest()==manifest['finite_check.py'] + parents={child:node for node in ast.walk(tree)for child in ast.iter_child_nodes(node)} + loads={name:[] for name in ('payload','payloadbits')} + contexts=[] + for node in ast.walk(tree): + if isinstance(node,ast.Name) and isinstance(node.ctx,ast.Load) and node.id in loads: + loads[node.id].append(node.lineno) + ancestor=node + while not isinstance(ancestor,(ast.Assign,ast.Assert,ast.Return)): + ancestor=parents[ancestor] + contexts.append((node.id,type(ancestor).__name__,ancestor.lineno)) + if isinstance(ancestor,ast.Assign): + assert len(ancestor.targets)==1 and isinstance(ancestor.targets[0],ast.Name) + assert ancestor.targets[0].id=='payloadbits' + assert ast.unparse(ancestor.value)=='payload.bit_length()' + elif isinstance(ancestor,ast.Assert): + assert ast.unparse(ancestor.test)=='payload < 2 ** 104' + else: + assert isinstance(ancestor,ast.Return) + assert contexts and len(loads['payload'])==3 and len(loads['payloadbits'])==1 + coefficient=next(node for node in ast.walk(tree)if isinstance(node,ast.Assign) and any(isinstance(t,ast.Name) and t.id=='coefficient' for t in node.targets)) + dependencies={n.id for n in ast.walk(coefficient.value)if isinstance(n,ast.Name)} + assert not dependencies&set(loads) + accounting=texts['proof/FINITE_BIT_ACCOUNTING.md'];parity=texts['proof/PARITY-CONTRACT.md'];rows=texts['proof/three-stage-cover-rows.tex'] + assert 'primitive constant C may depend on q, the fixed source recipe' in accounting + assert 'does not depend on n,w' in accounting + assert 'scalar domain need not equal the label field' in parity + assert 'payload scalars are binary' in parity + assert 'total\nlogical-volume increase is below $q^2$' in rows + assert all('104'not in text for text in texts.values()) + payload=64*forward**3*inverse**2 + if (forward,inverse)==(432881,14083738): + assert payload==1029725389598377713081823232358656 and payload.bit_length()==110 + assert payload>=2**104 and payload<2**new_bits + assert new_bits==112 + return dict(status='PASS_INDEPENDENT_EXPLICIT_PAYLOAD_CAP_REVIEW',head=base.HEAD, + finite_source_sha256=hashlib.sha256(raw).hexdigest(),proof_source_bindings=mapped, + payload_load_contexts=contexts,payload=payload,payload_bits=payload.bit_length(), + original_cap_bits=104,original_cap_satisfied=False, + explicit_candidate_cap_bits=new_bits,explicit_candidate_cap_satisfied=True, + explicit_candidate_cap_gap=2**new_bits-payload, + direct_payload_consumers=['bit_length diagnostic','original fixed104 assertion','receipt fields'], + displayed_formula_payload_dependencies=False, + conclusion='The fixed104 ceiling is not a consumed threshold in the displayed finite formula. A separately named fixed112 candidate certificate is compatible with the retained binary-payload and fixed-recipe quantifiers, subject to a fresh exact norm bound and every other changed obligation. The original104 check fails and is not relabeled as passing.', + qualification='Changing the reported numeric ceiling alone adds no scalar operation, recursive child, or displayed coefficient term. Any implementation-dependent finite constant remains inside quantified C_full; this review does not give an exact machine cutoff, replay upstream admission, or discharge all-size hypotheses.') + +if __name__=='__main__': + result=run() + (base.HERE/'payload-cap-review.json').write_text(json.dumps(result,indent=2)+'\n') + print(json.dumps({k:v for k,v in result.items() if k!='proof_source_bindings'},indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/run_checks.py b/research/gen5b-shared-kernels/weighted275/run_checks.py new file mode 100644 index 0000000000..313f029f4c --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/run_checks.py @@ -0,0 +1,69 @@ +"""Portable full replay, with generated banks/charts outside frozen receipts. + +All executed modules are this contribution's authored code. Upstream files are +read-only data, including Python source parsed as syntax for the cap audit. +""" +from pathlib import Path +import argparse,contextlib,io,json,os,sys,time + +def run(case_names=('70','166'),screen=True,check=False): + import source_data as src + import reproduce_pr275 as base,reproduce_complex + import check_shared_banks as banks + import integrate_bounded_candidate as integration + from cases import CASES + src.OUTPUT.mkdir(parents=True,exist_ok=True) + started=time.monotonic();count=src.verify() + def stable(x): + if isinstance(x,dict):return {k:stable(v)for k,v in x.items()if k not in ('seconds','receipt_sha256')} + if isinstance(x,list):return [stable(v)for v in x] + return x + def save(name,result): + serial=base.ae.serial(result) + (src.OUTPUT/(name+'.json')).write_text(json.dumps(serial,indent=2)+'\n') + expected=src.ROOT/'certificates'/(name+'.json') + if check and expected.exists() and (name!='aggregate' or (tuple(case_names)==('70','166') and screen)): + assert stable(json.loads(json.dumps(serial)))==json.loads(expected.read_text()),('Frozen certificate differs',name) + + baseline=base.run();complex_result=reproduce_complex.run() + save('baseline',baseline);save('complex',complex_result) + results={} + for name in case_names: + case=CASES[name];candidate=src.ROOT/case['file'];bank_dir=src.OUTPUT/('banks'+name) + bank=banks.run(candidate,bank_dir);bank_path=src.OUTPUT/('banks'+name+'.json');save('banks'+name,bank) + result=integration.run('case'+name,candidate,src.ROOT,bank_path,bank_dir/'bank-address-table.json') + assert result['literal_stock']==case['stock'] and result['calls']==case['calls'] and result['rank_mass']==case['rank'] + assert result['assembly']['kappa']==base.F(case['kappa']) + assert result['norm_review']['forward']==case['F'] and result['norm_review']['inverse']==case['B'] + assert result['changed_charts']['charts']==case['chart_programs'] + assert result['finite_arithmetic']['displayed_finite_coefficient']==case['finite_coefficient'] + assert result['role_bank_binding']['assignment_sha256']==case['assignment_sha256'] + save('case'+name,result);results[name]=dict(kappa=case['kappa'],stock=case['stock'],calls=case['calls'],rank=case['rank'],chart_programs=case['chart_programs'],payload_bits=result['norm_review']['payload_bits'],original104=result['norm_review']['original_cap_satisfied'],explicit_cap_bits=result['norm_review']['explicit_candidate_cap_bits'],finite_coefficient=case['finite_coefficient']) + search_summary=None + if screen: + import map_roles,build_response_cache + with contextlib.redirect_stdout(io.StringIO()):mapping=map_roles.run();cache=build_response_cache.run() + assert len(mapping['final12_new_recipient_helpers'])==12 + import search_expanded_lines,resolve_group_overlaps + search=search_expanded_lines.run() + assert search['lines_tested']==276 and search['eligible_unused_helpers']==8085 and search['eligible_reused_donors']==1591 + expected={(16,17):(136,170),(6,7):(36,46),(2,3):(12,16)} + assert {tuple(z['line']):(z['selected_pivots'],z['used_donors'])for z in search['best_candidates']}==expected + for row in search['best_candidates']: + file=src.ROOT/('candidate-line%d-%d.json'%tuple(row['line']));candidate=json.loads(file.read_text()) + assert [(e['virtual_pivot'],e['virtual_donors'])for e in candidate['entries']]==[(e['pivot'],e['donors'])for e in row['relations']] + from compose_screened_groups import ledger + assert ledger(candidate['entries'])[0]==row['local_histogram_delta'] + overlap=resolve_group_overlaps.run();save('overlap',overlap) + search_summary={k:v for k,v in search.items()if k not in('best_candidates','all_line_receipts')} + save('line-screen',search) + result=dict(status='PASS_WEIGHTED275_PORTABLE_AGGREGATE',source_files=count,cases=results,screen=search_summary,seconds=time.monotonic()-started,scope='Changed obligations under inherited physical-decoder and compiler interfaces. Exact candidate112 ceiling is separate from the failing legacy104 assertion. Rounded closure is a bounded discovery procedure, not a global optimality proof.') + save('aggregate',result);return result + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + parser=argparse.ArgumentParser();parser.add_argument('--inputs',type=Path);parser.add_argument('--output',type=Path);parser.add_argument('--case',choices=('70','166','both'),default='both');parser.add_argument('--skip-screen',action='store_true');parser.add_argument('--check',action='store_true') + args=parser.parse_args() + if args.inputs:os.environ['PR275_INPUTS']=str(args.inputs.resolve()) + if args.output:os.environ['PR275_OUTPUTS']=str(args.output.resolve()) + print(json.dumps(run(('70','166')if args.case=='both'else(args.case,),not args.skip_screen,args.check),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/search_expanded_lines.py b/research/gen5b-shared-kernels/weighted275/search_expanded_lines.py new file mode 100644 index 0000000000..e83b9576b8 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/search_expanded_lines.py @@ -0,0 +1,147 @@ +"""Bounded 276-line shared-donor screen on the exact weighted word. + +Only unused physical roles are considered; reused donor slots are permitted. +The rounded closure objective is a screen, not the certified exponent or finite +payload admission. Candidate relations still require full aliased path checks. +""" +from pathlib import Path +from collections import defaultdict,Counter,deque +from itertools import combinations +from fractions import Fraction as Q +import json,gzip,math,time +from source_data import ROOT,SOURCE,OUTPUT +def read(name): + raw=(SOURCE/name).read_bytes() + return json.loads(gzip.decompress(raw)if name.endswith('.gz')else raw) +def annihilator(frame): + if 'a'in frame:return frame['a'] + A=[[Q(x)for x in row]for row in frame['b']];piv=[];k=0 + for j in range(24): + p=next((i for i in range(k,len(A))if A[i][j]),None) + if p is None:continue + A[k],A[p]=A[p],A[k];d=A[k][j];A[k]=[x/d for x in A[k]] + for i in range(len(A)): + if i!=k: + d=A[i][j] + if d:A[i]=[x-d*y for x,y in zip(A[i],A[k])] + piv.append(j);k+=1 + out=[] + for j in range(24): + if j in piv:continue + v=[Q(0)]*24;v[j]=1 + for i,p in enumerate(piv):v[p]=-A[i][j] + out.append(v) + assert len(piv)==frame['dim'] + return out +def closure(pivots,dimension,phi,entrance=1): + """Exact max flow for the declared 10^9-rounded integer surrogate weights.""" + ds=sorted({d for z in pivots for d in z['donors']});di={d:i for i,d in enumerate(ds)} + np=len(pivots);nd=len(ds);source=np+nd;sink=source+1;N=sink+1;G=[[]for _ in range(N)] + benefit=[round((phi(dimension[z['pivot']])-phi(dimension[z['pivot']]-entrance))*10**9)for z in pivots] + cost=[round((phi(entrance)+phi(dimension[d]-entrance)-phi(dimension[d]))*10**9)for d in ds] + assert min(benefit,default=0)>=0 and min(cost,default=0)>=0 + infinity=sum(benefit)+sum(cost)+1 + def edge(a,b,c):G[a].append([b,c,len(G[b])]);G[b].append([a,0,len(G[a])-1]) + for i,b in enumerate(benefit): + edge(source,i,b) + for d in pivots[i]['donors']:edge(i,np+di[d],infinity) + for i,c in enumerate(cost):edge(np+i,sink,c) + flow=0 + while True: + levels=[-1]*N;levels[source]=0;q=deque([source]) + while q: + a=q.popleft() + for b,c,rev in G[a]: + if c and levels[b]<0:levels[b]=levels[a]+1;q.append(b) + if levels[sink]<0:break + at=[0]*N + def dfs(a,push): + if a==sink:return push + while at[a]0] + assert len(eligible)==8085 and sum('reuse'in rows[r]for r in eligible)==1591 + byframe=defaultdict(list) + for r in eligible:byframe[first[r]].append(r) + groups={pair:[]for pair in combinations(range(24),2)} + for frame,roles in byframe.items(): + A=annihilator(f[frame]);columns=defaultdict(list) + for j in range(24):columns[tuple(row[j]for row in A)].append(j) + for same in columns.values(): + for pair in combinations(same,2):groups[pair]+=roles + phi=lambda r:0 if not r else r*math.log(120/r) + results=[] + for line,rs in groups.items(): + rs=sorted(rs);basis={};donors=[];pivots=[] + for role in rs: + value=resp[role];co=0 + while value: + k=value.bit_length()-1 + if k not in basis: + j=len(donors);donors.append(role);basis[k]=(value,co^(1<>j&1] + x=resp[role] + for d in ds:x^=resp[d] + assert not x + pivots.append(dict(pivot=role,donors=ds)) + # Globally select dependent pivots while charging each basis donor once. + dimensions={r:f[first[r]]['dim']for r in rs} + pivots,integer_profit=closure(pivots,dimensions,phi) + # Only actually used basis donors pay a new entrance split. + used={d for z in pivots for d in z['donors']} + # Require an even rank drop for integral full-bank retiling. + if len(pivots)%2: + counts=Counter(d for z in pivots for d in z['donors']) + def gain(z): + benefit=phi(dimensions[z['pivot']])-phi(dimensions[z['pivot']]-1) + released=sum(phi(1)+phi(dimensions[d]-1)-phi(dimensions[d])for d in z['donors']if counts[d]==1) + return benefit-released + omitted=min(range(len(pivots)),key=lambda i:gain(pivots[i])) + pivots=pivots[:omitted]+pivots[omitted+1:];used={d for z in pivots for d in z['donors']} + active=[z['pivot']for z in pivots]+sorted(used);H=Counter() + for r in active: + dim=f[first[r]]['dim'];H[dim]-=1 + if dim>1:H[dim-1]+=1 + H[1]+=len(used);H={r:n for r,n in H.items()if n} + score=sum(n*phi(r)for r,n in H.items()) + assert sum(r*n for r,n in H.items())==-len(pivots) + results.append(dict(line=line,helpers=len(rs),response_rank=len(donors),nullity=len(rs)-len(donors), + selected_pivots=len(pivots),used_donors=len(used),local_histogram_delta=H,phi_delta=score,rounded_closure_profit=integer_profit, + relations=pivots if score<0 else [],setup_restore_pairs=sum(len(z['donors'])for z in pivots),reused_donor_slot_members=[r for r in active if'reuse'in rows[r]])) + positive=[z for z in results if z['selected_pivots']and z['phi_delta']<0] + return dict(status='COMPLETE_276_LINE_WEIGHTED_UNUSED_ROLE_SCREEN',source_head='10b40041d4ab8a6610083e95bc571aee3468bca2', + eligible_unused_helpers=len(eligible),eligible_reused_donors=1591,lines_tested=len(results),lines_with_nonzero_nullity=sum(z['nullity']>0 for z in results), + phi_improving_groups=len(positive),best_candidates=sorted(positive,key=lambda z:z['phi_delta'])[:10], + all_line_receipts=[{k:v for k,v in z.items()if k!='relations'}for z in results],seconds=time.monotonic()-start, + scope='Exact F2 rank and first-entrance histogram screen on276 contrast lines for8085 unused physical roles, including1591 reused donor slots. Both descents, old kernel members, early restored endpoints, sources and sinks are excluded. Rounded maxflow optimizes a floating entropy surrogate, not final exponent. Every selected alias requires chronological/frame/scalar/packing/chart/finite-payload admission; cap must not be inferred from entropy score.') +if __name__=='__main__': + r=run();(OUTPUT/'expanded-line-screen.json').write_text(json.dumps(r,indent=2)+'\n') + print(json.dumps({k:v for k,v in r.items()if k not in('best_candidates','all_line_receipts')},indent=2)) + print(json.dumps([{k:v for k,v in x.items()if k!='relations'}for x in r['best_candidates'][:5]],indent=2)) diff --git a/research/gen5b-shared-kernels/weighted275/source_data.py b/research/gen5b-shared-kernels/weighted275/source_data.py new file mode 100644 index 0000000000..743e7277c2 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/source_data.py @@ -0,0 +1,29 @@ +"""Immutable data acquisition contract. No upstream program is imported. + +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from pathlib import Path +import gzip,hashlib,json,os +ROOT=Path(__file__).resolve().parent +SOURCE=Path(os.environ.get('PR275_INPUTS',ROOT/'inputs')).resolve() +OUTPUT=Path(os.environ.get('PR275_OUTPUTS',ROOT/'generated')).resolve() +HEAD='10b40041d4ab8a6610083e95bc571aee3468bca2' +def pins(): + value=json.loads((ROOT/'inputs.json').read_text()) + assert value['commit']==HEAD + return value +def validate(name,raw): + pin=pins()['files'][name] + assert len(raw)==pin['bytes'],('Length mismatch',name) + assert hashlib.sha256(raw).hexdigest()==pin['sha256'],('SHA256 mismatch',name) + assert hashlib.sha1(b'blob '+str(len(raw)).encode()+b'\0'+raw).hexdigest()==pin['git_blob'],('Git blob mismatch',name) + return raw +def read_bytes(name): + return validate(name,(SOURCE/pins()['files'][name]['local']).read_bytes()) +def read(name): + raw=read_bytes(name) + return json.loads(gzip.decompress(raw)if name.endswith('.gz')else raw) +def verify(): + if not __debug__:raise RuntimeError('Assertions are required; do not use python -O') + for name in pins()['files']:read_bytes(name) + return len(pins()['files']) diff --git a/research/gen5b-shared-kernels/weighted275/test_arithmetic.py b/research/gen5b-shared-kernels/weighted275/test_arithmetic.py new file mode 100644 index 0000000000..216f22d432 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/test_arithmetic.py @@ -0,0 +1,79 @@ +"""Original regression tests for the PR275 arithmetic replay.""" +from fractions import Fraction as F +import unittest +import reproduce_pr275 as replay + +class PR275ArithmeticTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.h,cls.profile=replay.final_profile() + cls.inventory=replay.inventory() + + def test_base_role_inventory(self): + b=self.profile['base'] + self.assertEqual((b['reused_pairs'],b['physical_helpers_before_sinks']), (1728,15432)) + self.assertEqual((self.inventory['physical_R'],self.inventory['sink_count']), (15425,7)) + + def test_complete_signed_delta_census(self): + d=self.profile['stages']['descent2'] + self.assertEqual(d['delta_calls'],65) + self.assertEqual(d['delta_rank_mass'],0) + self.assertTrue(any(n<0 for n in d['delta'].values())) + self.assertEqual(self.profile['final_local_calls'],93604) + self.assertEqual(self.profile['final_local_rank_mass'],404422) + + def test_shared_donors_not_counted_per_entry(self): + k=self.profile['kernel'] + self.assertEqual((k['entries'],k['distinct_donors'],k['shared_donors']),(1720,1438,918)) + self.assertEqual(k['histogram_delta'][1],3294) + self.assertEqual(sum(r*n for r,n in k['histogram_delta'].items()),-2192) + + def test_profile_and_normalization(self): + self.assertEqual((sum(self.h.values()),replay.mass(self.h)),(482100,2455070)) + stock=self.inventory['literal_stock'] + self.assertEqual(stock,1229735) + self.assertEqual(120*F(stock,60)-replay.mass(self.h),4400) + self.assertEqual(self.inventory['banks_per_stage'],161467) + + def test_known_adjacent_bit_root_endpoints(self): + W=F(self.inventory['literal_stock'],60) + low=F(751640232848887,10**18);high=low+F(1,10**18) + self.assertLess(replay.moment(self.h,120,W,low)[1],1) + self.assertGreater(replay.moment(self.h,120,W,high)[0],1) + + def test_all47_and_kappa_grid_control(self): + a=replay.assembly(F(751640232848887,10**18)) + self.assertEqual(a['kappa'],F('46942230864663/62500000000000000')) + self.assertEqual(len(a['strict_constraints']),47) + self.assertGreater(min(a['strict_constraints'].values()),0) + self.assertEqual(a['adjacent_grid_rejected'],['g3_above_kappa']) + + def test_bad_numeric_inputs_rejected(self): + for bad in (True,0.001,'0.001'): + with self.assertRaises(ValueError):replay.ae.rational(bad) + with self.assertRaises(ValueError):replay.ex.moment_interval(120,1,{120:1},F(1,1000)) + + def test_exact_changed_line_chart(self): + import chart_construction as charts + for rank in (1,23): + c=charts.line_chart(2,3,rank) + self.assertEqual(c['residual_rank'],rank) + self.assertNotEqual(c['determinant'],0) + self.assertLessEqual(c['count'],576) + + def test_degenerate_changed_chart_rejected(self): + import chart_construction as charts + columns=[[int(i==j) for i in range(24)]for j in range(24)] + columns[-1]=columns[0][:] + with self.assertRaises(AssertionError):charts.checked_chart(columns,1) + + def test_bound_finite_formula_reproduces_baseline(self): + import integrate_bounded_candidate as binding + p=replay.read('expected/kernel-pins.json') + r=binding.invoice(p['literal_stock'],p['priced_five_stage_calls'],0) + self.assertEqual(r['displayed_finite_coefficient'],90322316339049601) + self.assertEqual(r['selector_calls_bound'],905876840400) + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + unittest.main() diff --git a/research/gen5b-shared-kernels/weighted275/test_bounded.py b/research/gen5b-shared-kernels/weighted275/test_bounded.py new file mode 100644 index 0000000000..80d3f13fa9 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/test_bounded.py @@ -0,0 +1,54 @@ +"""Regression checks for explicit payload-bound and bounded-candidate arithmetic.""" +from fractions import Fraction as F +from collections import Counter +import unittest +import reproduce_pr275 as base +import review_payload_cap as cap +from integrate_bounded_candidate import invoice + +class BoundedCandidateTests(unittest.TestCase): + def test_old_cap_failure_is_explicit(self): + r=cap.run() + self.assertFalse(r['original_cap_satisfied']) + self.assertTrue(r['explicit_candidate_cap_satisfied']) + self.assertEqual(r['payload_bits'],110) + self.assertEqual(r['explicit_candidate_cap_bits'],112) + self.assertEqual(len(r['proof_source_bindings']),8) + + def test_too_large_payload_rejected(self): + with self.assertRaises(AssertionError):cap.run(10**20,10**20,112) + + def test_no_silent_legacy_cap_relaxation(self): + with self.assertRaises(AssertionError):cap.run(new_bits=104) + + def test_every_declared_delta_conserves_deficit(self): + for size,h in [(136,{1:170,2:236,3:-236,4:70,5:-70}), + (176,{1:229,2:335,3:-335,4:70,5:-70}), + (164,{1:223,2:324,3:-324,4:63,5:-63}), + (166,{1:210,2:306,3:-306,4:70,5:-70})]: + self.assertEqual(base.mass(h),-size) + self.assertEqual(F(120*(-5*size//2),60),5*base.mass(h)) + + def test_line136_displayed_invoice_charges_all_shears(self): + r=invoice(1229395,482950,2*2477) + self.assertEqual(r['gross_added_scalar_events_per_stage'],4954) + self.assertEqual(r['unit_additions_upper'],219601200) + self.assertEqual(r['selector_calls_bound'],905876636400) + self.assertLess(r['displayed_finite_coefficient'],2**80) + + def test_exact_candidate_comparison_exponent(self): + gap=F('0.000751091445301206')-F('0.000751090249287618') + self.assertEqual(gap,F(299003397,250000000000000000)) + self.assertGreater(gap,F(1,10**9)) + self.assertLess(gap,F(2,10**9)) + + def test_best_bounded_candidate_endpoint_signs(self): + h,_=base.final_profile();h.update({r:5*n for r,n in {1:210,2:306,3:-306,4:70,5:-70}.items()}) + W=F(1229320,60);a=F(751662295432463,10**18) + self.assertLess(base.moment(h,120,W,a)[1],1) + self.assertGreater(base.moment(h,120,W,a+F(1,10**18))[0],1) + self.assertEqual(base.assembly(a)['kappa'],F('0.000751097723288767')) + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + unittest.main() diff --git a/research/gen5b-shared-kernels/weighted275/test_bridge166.py b/research/gen5b-shared-kernels/weighted275/test_bridge166.py new file mode 100644 index 0000000000..36631c2078 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/test_bridge166.py @@ -0,0 +1,52 @@ +"""Independently authored regression checks. Upstream files remain inert data.""" +import copy,json,tempfile,unittest +from pathlib import Path +from unittest.mock import patch +import check_bridge as bridge +from check_scalar_bounds import run as norms +class Bridge166Tests(unittest.TestCase): + @classmethod + def setUpClass(cls): + bridge.configure('166');cls.r=bridge.run() + def test_exact_full_alias_paths(self): + self.assertEqual(len(self.r['selected_reused_donors']),105) + self.assertEqual(len(self.r['selected_paths']),376) + for z in self.r['selected_reused_donors']: + self.assertLess(z['donor_last_order'],z['gauge_read_order']);self.assertLessEqual(z['gauge_read_order'],z['recipient_first_order']);self.assertEqual(z['dimensions'][-1],24) + def test_literal_response_and_inverse(self): + self.assertEqual(self.r['old_kernel_relations_and_cut_triples_reproduced'],1720);self.assertTrue(self.r['all_column_formal_composition_forward_inverse']);self.assertTrue(self.r['omitted_setup_and_restore_rejected']);self.assertEqual(self.r['all_column_dimension'],18952) + def test_paid_demand(self): + self.assertEqual(self.r['local_histogram_delta'],{1:210,2:306,3:-306,4:70,5:-70});self.assertEqual(self.r['residual_family_delta'],{24:-166,23:166}) + def test_scalar_bill_counts(self): + self.assertEqual((self.r['setup_adds'],self.r['restore_adds'],self.r['removed_initial_unit_additions']),(2587,2587,2020)) + def test_explicit_new_payload_ceiling(self): + r=norms();self.assertEqual(r['payload_bits'],110);self.assertFalse(r['retained_payload_cap_2_to104']);self.assertTrue(r['new_payload_cap_2_to112']);self.assertEqual(r['explicit_new_payload_cap_bits'],112) + def test_no_final12_gain(self): + self.assertEqual(len(self.r['direct_final12_endpoint_port_rejected']),12) + def mutate_witness(self,fn): + obj=json.loads(bridge.CAND.read_text());fn(obj) + # Hash verification already passes on the untouched pinned witness in setUpClass. + # These controls bypass only the witness hash to reach structural validation. + with tempfile.TemporaryDirectory() as td: + p=Path(td)/'mutated.json';p.write_text(json.dumps(obj)) + with patch.object(bridge,'CAND',p),patch.object(bridge,'verify_sources',lambda:None): + with self.assertRaises(AssertionError):bridge.run() + def test_wrong_physical_mapping_rejected(self): + self.mutate_witness(lambda x:x['entries'][0]['donors'].__setitem__(0,x['entries'][0]['donors'][0]+1)) + def test_wrong_relation_rejected(self): + def change(x): + e=x['entries'][0];e['donors'].pop();e['virtual_donors'].pop() + self.mutate_witness(change) + def test_invalid_entrance_line_rejected(self): + self.mutate_witness(lambda x:x['entries'][0]['basis'][0].__setitem__(0,2)) + def test_premature_alias_reuse_rejected(self): + recipient=self.r['selected_reused_donors'][0]['recipient_role'];oldread=bridge.read + def changed_read(name): + obj=oldread(name) + if name=='gen5bit/selected/bit/word_p12.json.gz':obj['reads'][str(recipient)]=0 + return obj + with patch.object(bridge,'read',changed_read): + with self.assertRaises(AssertionError):bridge.run() +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + unittest.main() diff --git a/research/gen5b-shared-kernels/weighted275/test_candidate_binding.py b/research/gen5b-shared-kernels/weighted275/test_candidate_binding.py new file mode 100644 index 0000000000..1cd310904b --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/test_candidate_binding.py @@ -0,0 +1,67 @@ +"""Independent binding mutations for the bounded166 candidate. + +Mutations affect temporary copies only; the pinned source, witness and completed +70 checkpoint are untouched. Prepared with substantial OpenAI assistance. +Apache-2.0. +""" +from copy import deepcopy +from fractions import Fraction as F +from pathlib import Path +import json,tempfile,unittest +import reproduce_pr275 as base +from bank_receipt_binding import bind_banks +from check_candidate_charts import run as check_charts + +from source_data import ROOT +CAND=ROOT/'candidate-combined166-reclosed.json' + +class CandidateBindingTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + import hashlib,check_bridge,check_shared_banks + from price_candidate import price + cls.temp=tempfile.TemporaryDirectory();cls.folder=Path(cls.temp.name) + bank=check_shared_banks.run(CAND,cls.folder) + (cls.folder/'receipt.json').write_text(json.dumps(bank)) + r=price({1:210,2:306,3:-306,4:70,5:-70},{24:-166,23:166},{23:166},label='test166') + r['candidate_sha256']=hashlib.sha256(CAND.read_bytes()).hexdigest() + cls.result=r;cls.table=json.loads((cls.folder/'bank-address-table.json').read_text()) + check_bridge.configure('166');cls.bridge=check_bridge.run() + @classmethod + def tearDownClass(cls):cls.temp.cleanup() + + def run_bad_table(self,table): + with tempfile.TemporaryDirectory()as directory: + path=Path(directory)/'table.json';path.write_text(json.dumps(table)) + with self.assertRaises(AssertionError): + bind_banks(self.result,self.folder/'receipt.json',path,'PASS_PR275_SHARED_KERNEL_ROLE_BANK_ASSIGNMENT') + + def test_wrong_literal_stock_rejected(self): + result=deepcopy(self.result);result['literal_stock']+=1 + with self.assertRaises(AssertionError): + bind_banks(result,self.folder/'receipt.json',self.folder/'bank-address-table.json','PASS_PR275_SHARED_KERNEL_ROLE_BANK_ASSIGNMENT') + + def test_wrong_replica_multiplier_rejected(self): + table=deepcopy(self.table);table['replicas']=59;self.run_bad_table(table) + + def test_duplicate_helper_role_rejected(self): + table=deepcopy(self.table);roles=table['families']['23'];roles[1]=roles[0];self.run_bad_table(table) + + def test_missing_bank_width_rejected(self): + table=deepcopy(self.table);table['patterns'][0]['widths'].pop();self.run_bad_table(table) + + def test_missing_path_rejected(self): + bridge=deepcopy(self.bridge);bridge['selected_paths'].pop() + with self.assertRaises(AssertionError):check_charts(CAND,bridge,1229320) + + def test_wrong_first_frame_rejected(self): + bridge=deepcopy(self.bridge);bridge['selected_paths'][0]['first_frame']=0 + with self.assertRaises(AssertionError):check_charts(CAND,bridge,1229320) + + def test_wrong_physical_stream_rejected(self): + bridge=deepcopy(self.bridge);bridge['selected_paths'][0]['stream']+=1 + with self.assertRaises(AssertionError):check_charts(CAND,bridge,1229320) + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + unittest.main() diff --git a/research/gen5b-shared-kernels/weighted275/test_portable_contract.py b/research/gen5b-shared-kernels/weighted275/test_portable_contract.py new file mode 100644 index 0000000000..2e0a2d99ff --- /dev/null +++ b/research/gen5b-shared-kernels/weighted275/test_portable_contract.py @@ -0,0 +1,62 @@ +"""Portable path, pin, case-switch, closure, and bank binding controls.""" +from fractions import Fraction as F +from pathlib import Path +from copy import deepcopy +from unittest.mock import patch +import hashlib,json,tempfile,unittest +import source_data as src +import check_bridge,check_scalar_bounds +import check_shared_banks +from cases import CASES + +class PortableContractTests(unittest.TestCase): + def test_all_input_pins(self):self.assertEqual(src.verify(),39) + def test_modified_bytes_rejected(self): + name='gen5bit/selected/bit/profile_p12.json' + with self.assertRaises(AssertionError):src.validate(name,src.read_bytes(name)+b' ') + def test_immutable_candidate_hashes(self): + for case in CASES.values():self.assertEqual(hashlib.sha256((src.ROOT/case['file']).read_bytes()).hexdigest(),case['sha256']) + def test_dynamic_norm_default_tracks_case(self): + try: + for name in ('70','166'): + check_bridge.configure(name);r=check_scalar_bounds.run() + self.assertEqual(r['setup_restore_pairs'],CASES[name]['pairs']) + self.assertEqual(r['forward']['certified_new_bound'],CASES[name]['F']) + finally:check_bridge.configure('166') + def test_70_full_geometry_fallback(self): + try: + check_bridge.configure('70');r=check_bridge.run() + self.assertEqual(len(r['selected_reused_donors']),2) + self.assertEqual(r['local_histogram_delta'],CASES['70']['delta']) + self.assertEqual(r['selected_streams'],157) + finally:check_bridge.configure('166') + def test_duplicate_bank_role_rejected(self): + with self.assertRaisesRegex(AssertionError,'Missing or duplicated'): + check_shared_banks.run(src.ROOT/CASES['166']['file'],mutation='duplicate_role') + def test_replica_stage_units_both_cases(self): + for case in CASES.values(): + b=check_shared_banks.run(src.ROOT/case['file']) + self.assertEqual(b['literal_stock'],case['stock']) + self.assertEqual(F(b['unreplicated_stock']),F(b['literal_stock'],60)) + self.assertEqual(b['literal_stock'],422400+5*b['banks_per_stage']) + self.assertEqual(b['total_stage_assignments'],5*60*15425) + self.assertEqual(b['assignment_sha256'],case['assignment_sha256']) + def test_no_final12_endpoint_saving_in_inventory(self): + b=check_shared_banks.run(src.ROOT/CASES['166']['file']) + self.assertEqual((b['new_restorations'],b['reverted_old_restorations']),(0,0)) + self.assertEqual(b['retained_old_restorations'],440) + def test_rounded_shared_donor_closure_charges_once(self): + from search_expanded_lines import closure + rows=[{'pivot':1,'donors':[3]},{'pivot':2,'donors':[3]}] + # Two benefits2 versus one shared cost3: each alone loses, together gain1. + dimensions={1:2,2:2,3:3};phi=lambda r:{0:0,1:5,2:7,3:9}[r] + selected,profit=closure(rows,dimensions,phi) + self.assertEqual(selected,rows);self.assertEqual(profit,10**9) + def test_rounded_closure_rejects_losing_activation(self): + from search_expanded_lines import closure + selected,profit=closure([{'pivot':1,'donors':[3]}],{1:2,3:3},lambda r:{0:0,1:5,2:7,3:9}[r]) + self.assertEqual(selected,[]);self.assertEqual(profit,0) + +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + unittest.main() From 54684b31df75e36af7534a5fb482fefec7a0770d Mon Sep 17 00:00:00 2001 From: "Dr. Maksym Kitsera" Date: Sat, 10 Oct 2026 06:02:46 -0700 Subject: [PATCH 3/9] Verify bounded shared-kernel composition on pinned PR305 with 156 pivots --- .../weighted305/.gitignore | 3 + .../weighted305/DEPENDENCIES.json | 41 + .../weighted305/MANIFEST.json | 155 +++ .../weighted305/NOTICE.md | 34 + .../gen5b-shared-kernels/weighted305/PROOF.md | 144 +++ .../weighted305/README.md | 113 +++ .../weighted305/acquire_inputs.py | 9 + .../weighted305/bank_receipt_binding.py | 65 ++ .../weighted305/bind_candidate.py | 72 ++ .../weighted305/build_response_cache.py | 54 ++ .../weighted305/certificates/aggregate.json | 39 + .../weighted305/certificates/banks154.json | 44 + .../weighted305/certificates/banks156.json | 44 + .../weighted305/certificates/baseline.json | 878 +++++++++++++++++ .../certificates/bounded-port.json | 65 ++ .../weighted305/certificates/case154.json | 879 ++++++++++++++++++ .../weighted305/certificates/case156.json | 879 ++++++++++++++++++ .../weighted305/certificates/complex.json | 164 ++++ .../weighted305/check_bridge.py | 187 ++++ .../weighted305/check_candidate_charts.py | 73 ++ .../weighted305/check_scalar_bounds.py | 162 ++++ .../weighted305/check_shared_banks.py | 126 +++ .../weighted305/finite_bill.py | 46 + .../weighted305/inputs.json | 280 ++++++ .../weighted305/port_and_reclose.py | 70 ++ .../weighted305/price_candidate.py | 66 ++ .../weighted305/price_witness.py | 57 ++ .../weighted305/reproduce_complex.py | 87 ++ .../weighted305/reproduce_pr305.py | 293 ++++++ .../weighted305/review_payload_cap.py | 81 ++ .../weighted305/run_checks.py | 52 ++ .../weighted305/selection.json | 368 ++++++++ .../weighted305/source_data.py | 32 + .../weighted305/test_arithmetic.py | 51 + .../weighted305/test_bridge156.py | 74 ++ .../weighted305/test_candidate_binding.py | 81 ++ .../weighted305/test_portable_contract.py | 57 ++ .../weighted305/witness.py | 27 + 38 files changed, 5952 insertions(+) create mode 100644 research/gen5b-shared-kernels/weighted305/.gitignore create mode 100644 research/gen5b-shared-kernels/weighted305/DEPENDENCIES.json create mode 100644 research/gen5b-shared-kernels/weighted305/MANIFEST.json create mode 100644 research/gen5b-shared-kernels/weighted305/NOTICE.md create mode 100644 research/gen5b-shared-kernels/weighted305/PROOF.md create mode 100644 research/gen5b-shared-kernels/weighted305/README.md create mode 100644 research/gen5b-shared-kernels/weighted305/acquire_inputs.py create mode 100644 research/gen5b-shared-kernels/weighted305/bank_receipt_binding.py create mode 100644 research/gen5b-shared-kernels/weighted305/bind_candidate.py create mode 100644 research/gen5b-shared-kernels/weighted305/build_response_cache.py create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/aggregate.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/banks154.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/banks156.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/baseline.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/bounded-port.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/case154.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/case156.json create mode 100644 research/gen5b-shared-kernels/weighted305/certificates/complex.json create mode 100644 research/gen5b-shared-kernels/weighted305/check_bridge.py create mode 100644 research/gen5b-shared-kernels/weighted305/check_candidate_charts.py create mode 100644 research/gen5b-shared-kernels/weighted305/check_scalar_bounds.py create mode 100644 research/gen5b-shared-kernels/weighted305/check_shared_banks.py create mode 100644 research/gen5b-shared-kernels/weighted305/finite_bill.py create mode 100644 research/gen5b-shared-kernels/weighted305/inputs.json create mode 100644 research/gen5b-shared-kernels/weighted305/port_and_reclose.py create mode 100644 research/gen5b-shared-kernels/weighted305/price_candidate.py create mode 100644 research/gen5b-shared-kernels/weighted305/price_witness.py create mode 100644 research/gen5b-shared-kernels/weighted305/reproduce_complex.py create mode 100644 research/gen5b-shared-kernels/weighted305/reproduce_pr305.py create mode 100644 research/gen5b-shared-kernels/weighted305/review_payload_cap.py create mode 100644 research/gen5b-shared-kernels/weighted305/run_checks.py create mode 100644 research/gen5b-shared-kernels/weighted305/selection.json create mode 100644 research/gen5b-shared-kernels/weighted305/source_data.py create mode 100644 research/gen5b-shared-kernels/weighted305/test_arithmetic.py create mode 100644 research/gen5b-shared-kernels/weighted305/test_bridge156.py create mode 100644 research/gen5b-shared-kernels/weighted305/test_candidate_binding.py create mode 100644 research/gen5b-shared-kernels/weighted305/test_portable_contract.py create mode 100644 research/gen5b-shared-kernels/weighted305/witness.py diff --git a/research/gen5b-shared-kernels/weighted305/.gitignore b/research/gen5b-shared-kernels/weighted305/.gitignore new file mode 100644 index 0000000000..f360d73424 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +inputs/ +generated/ diff --git a/research/gen5b-shared-kernels/weighted305/DEPENDENCIES.json b/research/gen5b-shared-kernels/weighted305/DEPENDENCIES.json new file mode 100644 index 0000000000..d3cb551f40 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/DEPENDENCIES.json @@ -0,0 +1,41 @@ +{ + "parent_commit": "67985f88c3440edd399f01bf39f51852f94cd176", + "files": { + "exact_intervals.py": { + "bytes": 2242, + "sha256": "c261dd44838d4e36c68768a1023ac859677089464ab121cdb46b30c918679333" + }, + "assembly_arithmetic.py": { + "bytes": 5223, + "sha256": "f2f6293c31deb579ebbea19eeaa732c07304ce9c2cacd431685e2dd18d4b0d58" + }, + "certificates/coretime12/local.json": { + "bytes": 7577, + "sha256": "773519b2e5511a1f18a2d3d3f2798a432d97a6b3ceca1a7d5febd119f457ce5f" + }, + "weighted275/candidate-combined166-reclosed.json": { + "bytes": 159502, + "sha256": "f2932216a90298b62e2895bad0c5402faf6ce79e40aabc62e8e0c601067f4006" + }, + "weighted275/candidate-line2-3.json": { + "bytes": 7564, + "sha256": "dd000858f9c5639c580b4e3754991f430750f92436f45838da12efd469434aef" + }, + "weighted275/chart_construction.py": { + "bytes": 2584, + "sha256": "d8ef92102d2ae7dccd85fd6f0565b3c5050878db4f6e580e9033a93090bd900f" + }, + "weighted275/chart_rational.py": { + "bytes": 2337, + "sha256": "e95042aa1e8311cc3575663eeb0b50468044be68460bbdcac094cd5c76c3d07c" + }, + "weighted275/search_expanded_lines.py": { + "bytes": 7693, + "sha256": "00063d58382bbad694c98d052a21899aa9ddb2a3941a395f836e700b03314bac" + }, + "weighted275/fetch_inputs.py": { + "bytes": 1351, + "sha256": "13f47ddb3b718c4deeeabd70169009ae4ea0a416d4c38f5b48964ed91a17798d" + } + } +} diff --git a/research/gen5b-shared-kernels/weighted305/MANIFEST.json b/research/gen5b-shared-kernels/weighted305/MANIFEST.json new file mode 100644 index 0000000000..d853483ded --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/MANIFEST.json @@ -0,0 +1,155 @@ +{ + "schema": "weighted305-additive-files/1", + "source_head": "a17c42903bbe8d9d26c4bc712d7216a7176237e9", + "parent_pr302_commit": "67985f88c3440edd399f01bf39f51852f94cd176", + "files": { + ".gitignore": { + "bytes": 32, + "sha256": "5730cb3eb4b2a2d6afa49a9a41ea2aeba9da921fdec0024ce1013275350044f2" + }, + "DEPENDENCIES.json": { + "bytes": 1454, + "sha256": "d2e8394bdbc9fca1df65a37bcc782a516e2ca8611c3a4842401b4346979d245c" + }, + "NOTICE.md": { + "bytes": 2442, + "sha256": "bdc87a4aa893d0b86b19cd81488778ac1f45909c872a1395084e61cc78ba1dd1" + }, + "PROOF.md": { + "bytes": 8411, + "sha256": "6e3b3bd755831bf443a8892189111f95c58e1d1c9d09f3eb51bc4b4ea1a72459" + }, + "README.md": { + "bytes": 5983, + "sha256": "c4274a3cb92f2e5c1b9155330d5114a2924608e8247eb8415ae07725a2393025" + }, + "acquire_inputs.py": { + "bytes": 426, + "sha256": "a41f88448096aa0f14ba21a2b956d96def5a50808bc7ade701abf912bdf783e7" + }, + "bank_receipt_binding.py": { + "bytes": 4261, + "sha256": "6e88ed87f0f09d7f78f75462fc946e3523a8597fbfc346490c224d8303703f84" + }, + "bind_candidate.py": { + "bytes": 6419, + "sha256": "3b0c55b3f9f4ecc9be7c06d473dea94436c16962bc9b1f29682fdaac308846f1" + }, + "build_response_cache.py": { + "bytes": 4314, + "sha256": "a12e399c6daf9934664869c3e715006eafea583ca6842b0c7bc65c0de7faa1f5" + }, + "certificates/aggregate.json": { + "bytes": 1192, + "sha256": "362b8f15408f1813a085424ccc72e7402e047b94d709a6f2455312ce73d0691d" + }, + "certificates/banks154.json": { + "bytes": 1419, + "sha256": "5c1490c9fda103f54cfc51156ca2a72fdddf98fcf26f4e75a6aa410e1028b793" + }, + "certificates/banks156.json": { + "bytes": 1423, + "sha256": "013c54184caeab7518dc3944f1c7a442ea34161287679d7e508c1ad30457273e" + }, + "certificates/baseline.json": { + "bytes": 24473, + "sha256": "24cbd078d0be776f5fa89f7accdf9e3d648608d20a176ffb8e2c18c73b5eced6" + }, + "certificates/bounded-port.json": { + "bytes": 2221, + "sha256": "ef9814539da6638280ca2cfb0236c1ec879f6011a7c54e33165aa79fd0ff46c4" + }, + "certificates/case154.json": { + "bytes": 31625, + "sha256": "2dc5325076d6fe8e22c4213db79f2aa581a24ab0f2a82f67b6623648383190a6" + }, + "certificates/case156.json": { + "bytes": 31330, + "sha256": "09af30b955dedc18f9478d58012e2235ccfb31bd22de9e8834c64a32646e5215" + }, + "certificates/complex.json": { + "bytes": 3546, + "sha256": "26aaeff711d1fc3cfe1d98fb21593d00680705f14c05049db73ee3532f589d99" + }, + "check_bridge.py": { + "bytes": 12106, + "sha256": "b17b38d2eb7646f39f7ec69459a04d6040d75fb36aa1447530b45b09368b3dae" + }, + "check_candidate_charts.py": { + "bytes": 5378, + "sha256": "d2ef210a353e5323c1617a67fc52b84b87103db3d68a1876f6fdcf990879e23e" + }, + "check_scalar_bounds.py": { + "bytes": 10686, + "sha256": "d31339f8744b76c4db766fdf99d7089a2a5b3f7c2098b3f4e7d40ab1727a009b" + }, + "check_shared_banks.py": { + "bytes": 7526, + "sha256": "31f254baf9ac555b12665f1c002228f3134d05edb3542ea2d2101ebe1926f75e" + }, + "finite_bill.py": { + "bytes": 3555, + "sha256": "a61586f43c1e9cec613faeef77057200c64c7bc6a79ab9d94595c2ff15ec760f" + }, + "inputs.json": { + "bytes": 16787, + "sha256": "c4931368de485d9bb3bddd4b027d140b187fad28d1fbd41e5d91fcefb7f97626" + }, + "port_and_reclose.py": { + "bytes": 5587, + "sha256": "75242b59d9647521d3abc4e272c3bd11995909327d87d3680d2c4b0b5b3828a6" + }, + "price_candidate.py": { + "bytes": 3864, + "sha256": "d16542aef47cd1e41d4f1d3198b8fd62639b1704992e30abd52c6143ac113330" + }, + "price_witness.py": { + "bytes": 3386, + "sha256": "d7920f8ff07f828910d2f22c1d8f62a1c9dd48fa08e11e4e2a23ed650600ce39" + }, + "reproduce_complex.py": { + "bytes": 4589, + "sha256": "143ac72b4323b4fa569b85ba4e23d9eb975e6b3ae38126cf169fc251d348a7de" + }, + "reproduce_pr305.py": { + "bytes": 15602, + "sha256": "e77b87462a45e7edf3794625bc441fddf1c13e0a33dab22cfdbe1bfdb0ee4110" + }, + "review_payload_cap.py": { + "bytes": 5232, + "sha256": "e162d5bf6bb488c1c4257b8cbe5fe385c72010a407ba8fb2327eb02146b36b03" + }, + "run_checks.py": { + "bytes": 4081, + "sha256": "8b682fd425084aeedd21dd257878c98b1b40694c473c9e7aea221103d649d276" + }, + "selection.json": { + "bytes": 5906, + "sha256": "524ea9954652eb6deffffa386077f4b186b8a74d6e109a9bb1d5c365fa04ba32" + }, + "source_data.py": { + "bytes": 1358, + "sha256": "74356d89ee44059b92397ad0ccf1d2de3a84da35bfa093e4ca607348d5190568" + }, + "test_arithmetic.py": { + "bytes": 3342, + "sha256": "45eb5baf43c3873b97fe835a0867d08549fa30b5da175fb7799d1ced40c51524" + }, + "test_bridge156.py": { + "bytes": 4298, + "sha256": "ddc5c2b1ab2edf0aac2c0cf4615892c0cd426eeebea34e2eff71c34a8bbe345e" + }, + "test_candidate_binding.py": { + "bytes": 4845, + "sha256": "cdd1a6704fac05d3017a116d0a1e4d11e5c9fdef1914438acecae0936cc9e268" + }, + "test_portable_contract.py": { + "bytes": 3033, + "sha256": "3dc7e33212279f66f900055960f2adfeb06c72fd031b8dd16ce58887cf2e6a92" + }, + "witness.py": { + "bytes": 1187, + "sha256": "d3638df3c15e13ec1d7df4e99d28911dd2fabb25969d627027634c3ddfeeed67" + } + } +} diff --git a/research/gen5b-shared-kernels/weighted305/NOTICE.md b/research/gen5b-shared-kernels/weighted305/NOTICE.md new file mode 100644 index 0000000000..e477c02c85 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/NOTICE.md @@ -0,0 +1,34 @@ +# Attribution and scope + +New material is Apache-2.0 and was prepared with substantial OpenAI assistance. +Separate AI-assisted implementations and replays are not human peer review, +proof-assistant verification or an OpenAI endorsement. + +This update builds on the PR305 composition in `eumemic/integer-mult-bounds`, +pinned at `a17c42903bbe8d9d26c4bc712d7216a7176237e9`. It preserves the original +[PR305 notice](https://github.com/eumemic/integer-mult-bounds/blob/a17c42903bbe8d9d26c4bc712d7216a7176237e9/research/gen5b-weighted-repacked/NOTICE.md) +and its contribution and licensing boundaries by reference. + +PR275 / George Lydakis and OpenAI Codex supplied the weighted compensated +matching and predecessor integration, including Ody's matching research. +PR300 / Rohan Arun and Anthropic Claude supplied restart packing and the second +descent. PR299/296 / Chafik Boukhalfa supplied the underlying kernel pipeline +and modules, following DreamingOfClouds and the retained source527, five-stage, +paired-cube, bank, sink, restoration and complex-supplier chain. The immutable +[PR275 notice](https://github.com/eumemic/integer-mult-bounds/blob/a17c42903bbe8d9d26c4bc712d7216a7176237e9/research/gen5b-weighted-repacked/NOTICE-PR275.md), +[PR300 notice](https://github.com/eumemic/integer-mult-bounds/blob/a17c42903bbe8d9d26c4bc712d7216a7176237e9/research/gen5b-weighted-repacked/NOTICE-PR300.md) +and [PR299 notice](https://github.com/eumemic/integer-mult-bounds/blob/a17c42903bbe8d9d26c4bc712d7216a7176237e9/research/gen5b-weighted-repacked/NOTICE-PR299.md) +retain the full source lineage and assistance disclosures. Source-specific +licenses remain applicable, including inherited CC0 sources where identified. + +The new contribution is the bounded 154/156 shared-donor port, one restricted +third-line reclosure, fresh eight-sink-aware scalar majorant, full alias/chart/ +bank binding, displayed finite invoice and exact conditional repricing. It +claims no authorship of the inherited weighted matching, restart packing or +descents, and no exclusive priority or global optimum. + +The earlier PR302 files, weighted275 evidence and source manifests are +unchanged. Their authored pure helpers and prior witness are reused explicitly. +No upstream program is imported or executed. The unchanged physical decoder, +compiler, primitive constants and all-size interfaces remain hypotheses; +finite success is not verification of the full multiplication theorem. diff --git a/research/gen5b-shared-kernels/weighted305/PROOF.md b/research/gen5b-shared-kernels/weighted305/PROOF.md new file mode 100644 index 0000000000..c9a1f30f7d --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/PROOF.md @@ -0,0 +1,144 @@ +# Shared-donor kernels composed with PR305 + +## Scope and results + +Base commit: `a17c42903bbe8d9d26c4bc712d7216a7176237e9`, package +`research/gen5b-weighted-repacked`. All 39 cached inputs are verified by both +SHA-256 and Git blob identity. Upstream programs are read as inert text only. + +Two fixed candidates are checked. The 154 checkpoint preserves complete groups +on lines 16/17 and 6/7. The 156 candidate adds the single bounded, reclosed 2/3 +selection after excluding new occupied roles. There is no additional search +and no co-retiming 12 saving in these receipts. + +- 154: 154 pivots, 194 distinct donors, 348 physical slots; 2,541 setup ADDs and + 2,541 final inverse ADDs; 1,920 initial unit reads removed. +- 156: 156 pivots, 197 distinct donors, 353 physical slots; 2,545 setup ADDs and + 2,545 final inverse ADDs; 1,928 initial unit reads removed. + +Both contain 102 reused physical donor slots. The 154 checker verifies 2,453 +unique rational containments; 156 verifies 2,468. Every selected physical path +includes its complete aliased recipient lifetime and ends at FULL. All 1,734 +inherited kernel relations and cut-read triples are independently reproduced. +All 134 inherited reused-donor examples have nested base alias paths. + +The local paid histogram changes are respectively +`{1:+194,2:+278,3:-278,4:+70,5:-70}` and +`{1:+197,2:+283,3:-283,4:+70,5:-70}`. +Their residual-family changes are rank 24 to 23 for 154 or 156 pivot slots. +Literal role-bank assignment, chart factorization, exact moment pricing and the +finite invoice are separately bound companion certificates. + +## Composition proof + +The literal initial physical response of a reused donor is its own virtual +response. Its matched recipient is gauged and has no ZERO-frame initial read. +The later recipient read remains in the suffix. We check the strict ordering +of the donor's last use, recipient gauge read, and recipient's first use. + +At a common cut after initial ZERO reads and the old kernel setups, but before +source injection, place one shear `d += p` for every listed incidence. Distinct +pivot and donor sets ensure these factors commute, including shared donors. +Each group has one common entrance line `span(e_i-e_j)`. It lies in every +member's first required frame. Each distinct donor pays only one entrance +call; every scalar incidence is nevertheless charged. + +Let Q be the old initial compensation operator, and Q' omit new pivot reads. +The verified F2 response relations give `A Q' = Q A`, with A the new shear +layer. For the inherited full dirty-restoring decoder U=SQ, +`A^-1 S A Q' = A^-1 U A = U`. The last equality uses that U fixes every dirty +helper coordinate. Therefore all dirty inputs remain arbitrary and restored. +Append the inverse shear layer after the entire old word, at FULL. + +Both the forward and inverse composition are checked on every one of 18,952 +pre-compaction formal coordinate columns. The eight compacted sink coordinates +are inert spectators in this comparison. Missing setup or inverse factors are +rejected. This verifies the stated composition theorem and its physical frame +obligations; it is not a claim to have executed or regenerated the entire +inherited producer. + +## Fresh scalar-size proof with the eighth sink + +The PR305 inherited norm pins are F=86453 and B=2766560. No previous candidate +norm bound is carried over. The emitter replays the actual 1,734 kernel setups, +all compensation and alias timing,440 restoration entries, and all eight +terminal sinks. For each sink we additionally verify its exact two writes, +absence of helper-source uses, physical slot, and side-root target set. The +new sink has logical role 13115 and target pivot 2536. + +All 16 actual sink redirects are included. The union of target-prefix and sink +setup/restore edges is an exact acyclic majorant with 684 weighted edges and 912 +vertices. Topological propagation bounds every chronological placement of +those target-only batches, in both directions. Sources and helpers never read +target coordinates. + +For both 154 and 156, fresh conservative bounds are +F=438151 and B=14104135. The common payload bound is +`64 F^3 B^2 = 1070888631470889114458162912766400`, which has 110 bits. +It fails the original 104-bit reporting ceiling and passes the explicit 112-bit +fixed-recipe ceiling. The finite checker and all eight reviewed proof sources +are byte-identical to PR275; see the identical hashes in the two source manifests and the independently replayed `review_payload_cap.py`. +This does not identify the F2 payload bound with the separate odd-prime address +budget, nor assign a concrete numerical value to unspecified inherited +all-size primitive constants. + +## Explicit fixed-recipe cap and finite cost + +The pinned finite source is parsed as inert syntax. Its payload bound is used +only for a bit-length diagnostic, the old `payload < 2**104` assertion and +receipt fields. Neither payload variable enters its displayed coefficient. +The eight reviewed proof texts separate binary payload from address geometry +and permit a primitive constant depending on the fixed recipe, independent of +input width. The q-squared statement in the row proof concerns volume padding. + +Thus the present certificate explicitly proves and names a 112-bit bound for +the changed fixed recipe. The original 104-bit assertion still fails. Changing +only this reporting ceiling adds no operation or displayed coefficient term; +it does not instantiate the unknown recipe-dependent primitive constant C_full. +The actual changed scalar word, charts, selectors, banks and children are +charged independently. No exact universal-machine cutoff is inferred. + +The 156 bill charges all 5,090 added setup/inverse events per stage, without +credit for removed reads. Its displayed coefficient is 90,417,469,526,202,901, +strictly below 2^80. The selector count is 905,817,884,400. Its 281 distinct +chart programs are bound to 706 role uses and retain the combined normalizer +bound 815. Inverting every exact rational factor program recovers its chart. + +The role census is rebuilt from the current physical alias map, 1,734 existing +kernel entries, 440 restores, eight sinks and 156 new entrances. There are +15,424 helper roles. The deterministic full-bank table assigns each role in +all 60 replicas to a unique block; a second implementation re-enumerates all +925,440 addresses per stage. Five disjoint stage namespaces and literal data +stock 422,400 give final stock 1,229,275. Normalized/literal stock, replica and +stage factors are independently cross-bound to the exact priced histogram. + +## Bounded discovery and portable representation + +Both constructions are exact subsets of the earlier 166 witness. The 154 case +preserves its entire 136-pivot line16/17 and 18-pivot line6/7 groups. The only +additional search is a single shared-donor maximum closure on the five original +line2/3 relations remaining after excluding six occupied roles. It retains +three, then the fixed parity rule omits pivot9355, leaving two. The surrogate +uses declared 10^9-rounded capacities; all final numerical claims use exact +rational moment and assembly checks instead of that discovery score. + +The small selection index records reconstruct the exact full JSON witnesses, +including their original metadata and SHA-256 values. The independent role, +response and closure replay produces the same bytes. This storage reduction +adds no mathematical assumption and does not mutate the predecessor witness. + +## Remaining hypotheses and reproduction + +The inherited complete physical decoder, chronological/source-span admission, +unchanged chart/cover/compiler and primitive interfaces, row conversion, +eligible prime supply, precision/recovery where applicable, complex semantic +correctness and analytic all-size framework remain hypotheses. Complex profile +arithmetic is replayed, but its physical correctness is not reproved here. +The displayed finite bill is not the unknown full primitive constant C_full. +These are conditional changed-obligation certificates, not human peer review, +proof-assistant verification or a full unconditional multiplication theorem. + +README.md gives the portable aggregate and regression commands. Both cases are +freshly executed by the aggregate before their receipt hashes, path demands, +bank census and finite arithmetic are bound. Existing PR302 results remain +unchanged. NOTICE.md records attribution and assistance disclosures. diff --git a/research/gen5b-shared-kernels/weighted305/README.md b/research/gen5b-shared-kernels/weighted305/README.md new file mode 100644 index 0000000000..3b5ff93523 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/README.md @@ -0,0 +1,113 @@ +# Bounded shared-donor port to the pinned restart-packed word + +This additive PR302 verifier builds on PR305 at +`a17c42903bbe8d9d26c4bc712d7216a7176237e9`, package +`research/gen5b-weighted-repacked` in `eumemic/integer-mult-bounds`. +The parent directory and earlier `weighted275/` evidence remain unchanged. +All comparisons here are historical pinned comparisons, with no current-best, +exclusive-priority or global-optimality claim. + +## Conditional results + +| Fixed case | κ | Literal stock | Calls | Rank mass | +|---|---:|---:|---:|---:| +| Independently reproduced PR305 | 0.000751140529238897 | 1,229,665 | 482,030 | 2,454,930 | +| Complete 154-group port | 0.000751160050810041 | 1,229,280 | 483,000 | 2,454,160 | +| Single reclosure, 156 pivots | **0.000751160060489770** | **1,229,275** | **483,015** | **2,454,150** | + +The 156 result is approximately 0.00260021% above the pinned baseline. The +advantage over 154 is only 9.679729×10^-12 in κ. Both cases are fully checked +for the represented changed obligations under the inherited interfaces. +Finite certificate success does not establish an unconditional multiplication +theorem or practical performance improvement. + +## Exactly what was searched + +The new base occupies six logical roles used by the previous line2/3 group: +7955, 8998, 8999, 9146, 9147 and 9263. The complete 136-pivot line16/17 group +and retained 18-pivot line6/7 group are disjoint from the new occupied support. +They form the first fixed candidate, with 154 pivots. + +Exactly one additional maximum-closure computation is run on the five +surviving relations of the **existing** line2/3 group. It selects three; the +declared even-parity trim removes pivot9355, leaving two. Thus the second +candidate has 156 pivots. No new lines, donor bases, matching exchanges or +other search domain is introduced. + +`selection.json` stores exact indices into the already published 166 witness. +`witness.py` reconstructs the two complete JSON witnesses and checks their +immutable SHA-256 values. This avoids duplicating their large entry lists. +The discovery replay independently regenerates the same selections and hashes. + +## Fresh integration, not an additive headline estimate + +The baseline already contains 1,734 inherited kernel entries, 87 second-descent +retimings, 440 early restorations and **eight** sinks. These are not added again. +The old final12 endpoint saving is not transferred. + +For 156, the measured local histogram change is +`{1:+197, 2:+283, 3:-283, 4:+70, 5:-70}`; residual widths change by +`{24:-156, 23:+156}`. The construction has 197 distinct donors, 353 active +physical slots and 2,545 setup ADDs, followed by 2,545 inverse ADDs. It removes +1,928 initial unit ADDs; the finite bill takes no credit for them. + +Both candidates use the actual eight sink entries. Literal sink incidence and +target sets are independently checked. The scalar majorant contains 16 actual +sink redirects, 684 acyclic target edges and 912 vertices. Fresh bounds are +F=438151 and B=14104135, giving +`64 F^3 B^2 = 1070888631470889114458162912766400` (110 bits). +The original 104-bit ceiling **fails**; the explicitly reviewed 112-bit +fixed-recipe certificate passes. No unchanged upstream checker is relabeled +as passing after that change. + +The 156 chart certificate has 281 exact rational programs and 706 role uses, +with at most 508 factors and factor numerators/denominators at most 615/810. +The retained combined normalizer bound is 815. Concrete full-bank allocation +checks all 15,424 helpers in 60 replicas: 925,440 addresses per stage and +4,627,200 across five disjoint stages. Every width-120 bank is full. + +The displayed finite coefficient is 90,417,469,526,202,901 (<2^80); the selector +bound is 905,817,884,400. The bit root is rigorously bracketed by +`[751724726385730, 751724726385731] / 10^18`. All three bootstrap steps and 47 +exact rational inequalities pass, and the next κ grid tick is rejected. + +## Reproduction + +Python 3.11+ standard library only, with assertions enabled. From this directory: + +```sh +python3 -B acquire_inputs.py --output /tmp/weighted305-inputs +export PR305_INPUTS=/tmp/weighted305-inputs +export PR305_OUTPUTS=/tmp/weighted305-results +python3 -B -m unittest discover -s . -p 'test_*.py' -v +python3 -B run_checks.py --check --inputs "$PR305_INPUTS" --output "$PR305_OUTPUTS" +``` + +Absolute invocation from another working directory is supported. `--case 154` +or `--case 156` narrows the aggregate to one construction; both are the default. +Run the earlier directories' suites as separate Python processes with their +own documented source variables. Their original files and source pins are +unchanged. + +`inputs.json` pins 39 external files by immutable URL, exact byte count, +SHA-256 and Git blob hash. Upstream Python is stored as inert `.py.txt` and +never imported or executed. We reuse the parent exact-interval/assembly code +and sibling pure chart, closure and acquisition helpers. `DEPENDENCIES.json` +records their hashes. Downloaded source bundles and large generated bank/chart +outputs are excluded from the diff. + +## Verification boundary + +The checker proves changed physical prefix relations and forward/inverse +compositional F2 identities on all 18,952 pre-compaction physical columns. +It checks complete aliased paths and FULL endpoints, not a literal regeneration +of the entire inherited scalar stream. Its complete physical decoder and +source-span/chronological admission remain hypotheses. + +Unchanged compiler, primitive chart/cover, routing, row conversion, eligible +prime supply, precision/recovery, complex semantic and analytic all-size +interfaces remain inherited. Exact complex profile arithmetic is replayed; +that is not a proof of its physical construction. The displayed finite invoice +does not instantiate the unspecified full primitive constant C_full or an +exact universal-machine cutoff. PROOF.md explains the composition and the +explicit payload-ceiling change. NOTICE.md preserves attribution and disclosure. diff --git a/research/gen5b-shared-kernels/weighted305/acquire_inputs.py b/research/gen5b-shared-kernels/weighted305/acquire_inputs.py new file mode 100644 index 0000000000..b5356996e0 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/acquire_inputs.py @@ -0,0 +1,9 @@ +"""Reuse the authored immutable-data downloader with the PR305 input contract.""" +import argparse,json +from pathlib import Path +import source_data +from fetch_inputs import run +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + p=argparse.ArgumentParser();p.add_argument('--output',type=Path,default=source_data.ROOT/'inputs') + print(json.dumps(run(p.parse_args().output),indent=2)) diff --git a/research/gen5b-shared-kernels/weighted305/bank_receipt_binding.py b/research/gen5b-shared-kernels/weighted305/bank_receipt_binding.py new file mode 100644 index 0000000000..a349d2a921 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/bank_receipt_binding.py @@ -0,0 +1,65 @@ +"""Our standalone exact role-bank receipt binding, independent of candidate size. +Prepared with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +from pathlib import Path +import hashlib,json +import reproduce_pr305 as base +def digest(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def bind_banks(result, receipt_path, table_path, expected_status): + banks=json.loads(receipt_path.read_text());table=json.loads(table_path.read_text()) + physical_R=base.read('expected/kernel-pins.json')['physical_R'] + assert banks['status']==expected_status + assert banks['source_head']==base.HEAD and banks['candidate_sha256']==result['candidate_sha256'] + counts={int(r):n for r,n in banks['family_counts'].items()} + assert counts==result['residual_census'] + assert sum(counts.values())==banks['helper_roles']==result['physical_R']==physical_R + assert base.mass(counts)==banks['residual_rank_per_replica'] + assert table['stages']==5 and table['replicas']==60 and table['width']==120 + assert table['stage_banks']==banks['banks_per_stage']==result['banks_per_stage'] + assert 120*banks['banks_per_stage']==60*base.mass(counts) + assert banks['total_banks']==5*banks['banks_per_stage'] + assert banks['literal_data_stock']==60*4*1760==422400 + assert banks['literal_stock']==422400+banks['total_banks']==result['literal_stock'] + assert F(banks['unreplicated_stock'])==result['unreplicated_stock']==F(banks['literal_stock'],60) + assert 120*banks['literal_stock']-60*result['rank_mass']==60*result['deficit']==264000 + assert banks['checked_role_replica_assignments_per_stage']==60*physical_R + assert banks['total_stage_assignments']==5*60*physical_R + families={int(r):roles for r,roles in table['families'].items()} + assert {r:len(roles)for r,roles in families.items()}==counts + allroles=[role for roles in families.values()for role in roles] + assert len(allroles)==len(set(allroles))==physical_R + patterns=table['patterns'];expected_masks=[] + for row in patterns: + assert sum(row['widths'])==120 + expected_masks.extend([(1<1:H[d-1]+=1 + if r in donors:H[1]+=1 + pathrows.append(dict(role=r,stream=sid(r),kernel_kind='pivot'if r in pivots else'donor',entrance_basis=[lines[r]],first_frame=first,first_dimension=d,frames=path,dimensions=[f[x]['dim']for x in path],endpoint='FULL',aliased_recipient=recipient.get(r))) + if r in recipient: + b=recipient[r];receipts.append(dict(donor_role=r,recipient_role=b,physical_stream=sid(r),gauge_read_order=w['reads'][str(b)], + donor_last_order=max(pos[i]for i in uses[r]),recipient_first_order=min(pos[i]for i in uses[b]),frames=path,dimensions=[f[x]['dim']for x in path],endpoint='FULL', + first_dimension=d,literal_zero_prefix_response_bitcount=prefix[sid(r)].bit_count())) + H={r:c for r,c in sorted(H.items())if c};assert H==EXPECTED['delta'] + # Concrete obstruction to importing the original final12 endpoint invoice: + # each former helper now shares a slot with an earlier independent lifetime. + core=json.loads((HERE.parent/'certificates/coretime12/local.json').read_text())['candidates'];blocked=[] + for z in core: + a=z['helper'];assert a in alias;d=alias[a];assert uses[d] + assert max(pos[i]for i in uses[d])1:H[d-1]+=1 + if role in donors:H[1]+=1 + assert base.clean(H)==dict(base.histogram(bridge['local_histogram_delta'])) + assert Counter(u['kind']for u in uses)==dict(first_frame_quotient=len(active),pivot_residual=len(pivots),donor_line_entrance=len(donors)) + assert all(programs[u['program_id']]['residual_rank']==u['rank']for u in uses) + pins=base.read('expected/kernel-pins.json');largest=max(p['count']for p in programs);bound=max(pins['max_chart_factors'],largest)+119+120 + assert pins['max_chart_factors']==576 and bound==815 + assert literal_stock==pins['literal_stock']-5*len(pivots)//2 and len(pivots)%2==0 + selector=600*((literal_stock-1)+pins['physical_R']*120*bound);assert selector<2**40 + return dict(status='PASS_PR305_BOUNDED_CANDIDATE_CHANGED_CHARTS',source_head=base.HEAD, + candidate_sha256=hashlib.sha256(raw).hexdigest(),charts=len(programs),final12_charts=0, + first_frame_quotient_demands=len(active),pivot_residual_demands=len(pivots),donor_line_entrance_demands=len(donors), + role_chart_uses=uses,max_changed_chart_factors=largest,max_factor_numerator=max(p['max_numerator']for p in programs), + max_factor_denominator=max(p['max_denominator']for p in programs),combined_normalizer_factor_bound=bound, + literal_stock=literal_stock,selector_calls_bound=selector,local_histogram_delta=base.clean(H),factor_programs=programs, + scope='All changed first-frame, rank23 pivot residual and rank1 donor entrance charts are exactly constructed, factored, inverse-replayed and bound to fresh selected_paths. No final12 charts; unchanged chart/compiler contracts remain inherited.') diff --git a/research/gen5b-shared-kernels/weighted305/check_scalar_bounds.py b/research/gen5b-shared-kernels/weighted305/check_scalar_bounds.py new file mode 100644 index 0000000000..ec404d3e6b --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/check_scalar_bounds.py @@ -0,0 +1,162 @@ +"""Original nonnegative norm transport, with conservative target-prefix bound. + +Helper updates are replayed exactly. Every target prefix ADD is majorized by +applying every target-prefix and sink batch along an exact acyclic majorant. +Deleted compression reads are restored for this upper bound. No source code +from the upstream repository is executed. +""" +from pathlib import Path +from collections import defaultdict,Counter +import json,sys,time,hashlib +import check_bridge +from check_bridge import read,HERE,verify_sources +from source_data import OUTPUT +def verify_inputs():verify_sources() +sys.dont_write_bytecode=True + +def suffix_build(): + w=read('gen5bit/selected/bit/word_p12.json.gz');g=read('graph.json');partner=read('kchron.json')['entries'] + oldrestore=read('restore-selection.json')['entries'];ks=read('kernel-selection.json');sinks=read('sink-selection.json')['sinks'] + alias={b:a for a,b in w['pairs']};regs=sorted(set(range(17160))-set(alias));physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[alias.get(r,r)] + phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase];sunk={z['role']for z in sinks} + byroot=defaultdict(list) + for z in partner:byroot[z['deliver_after_root']].append(z) + out=[] + for i,(r,s)in enumerate(zip(g['roots'],w['rootroles'])): + if r['kind']=='side'and s not in sunk: + for t in r['targets']:out.append((1760+t,sid(s),1,'root')) + for e in byroot[i]: + out.append((e['carrier'],e['passive'],1,'partner_setup')) + for t in e['receivers']:out.append((1760+t,e['carrier'],1,'partner_delivery')) + for e in partner:out.append((e['carrier'],e['passive'],-1,'partner_cleanup')) + moved={(z['helper'],z['donor']):0 for z in oldrestore} + for z in sorted(oldrestore,key=lambda z:z['helper']):out.append((z['helper'],z['donor'],z['coefficient'],'old_restore')) + for index in reversed(order): + a,b,_=w['ops'][index] + if a in sunk:continue + pair=(sid(a),sid(b)) + if pair in moved:moved[pair]+=1;continue + out.append((*pair,-1,'cleanup')) + assert all(x==1 for x in moved.values()) + for source,role in w['sources'].items():out.append((sid(role),int(source),-1,'uninject')) + entries=[dict(pivot=z['a'],donors=[z['b']])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'])for z in ks['families']] + for z in entries: + for donor in z['donors']:out.append((donor,z['pivot'],-1,'kernel_restore')) + return 3520+len(regs),[],out,{} + +def run(candidate_path=None): + verify_inputs();start=time.monotonic();w=read('gen5bit/selected/bit/word_p12.json.gz');g=read('graph.json');ks=read('kernel-selection.json');target=read('target-selection.json');sinks=read('sink-selection.json')['sinks'];sink_byrole={z['role']:z for z in sinks} + candidate_path=Path(candidate_path)if candidate_path else check_bridge.CAND + witness=json.loads(candidate_path.read_text())['entries'] + oldentries=[dict(pivot=z['a'],donors=[z['b']],cut_read=z['cut_read'])for z in ks['pairs']]+[dict(pivot=z['pivot'],donors=z['donors'],cut_read=z['cut_read'])for z in ks['families']] + alias={b:a for a,b in w['pairs']};regs=sorted(set(range(17160))-set(alias));physical={r:3520+i for i,r in enumerate(regs)};sid=lambda r:physical[alias.get(r,r)] + n=3520+len(regs);phase=set(w['phase1']);order=w['phase1']+[i for i in range(len(w['ops']))if i not in phase] + # Every inherited sink is independently tied to the literal old word. + # This is especially material for the eighth sink newly present in PR305. + for z in sinks: + r=z['role'];writes=[i for i,op in enumerate(w['ops'])if op[0]==r] + assert len(writes)==z['forward_writes']==z['cleanups'] + assert not any(op[1]==r for op in w['ops']) + assert not set(writes)&phase and sid(r)==z['stream'] + roots=[i for i,q in enumerate(w['rootroles'])if q==r];assert len(roots)==1 + root=g['roots'][roots[0]];assert root['kind']=='side' + assert [1760+t for t in root['targets']]==z['targets'] + assert r not in {q['role']for q in w['gauges']} and r not in w['sources'].values() + adj=[{}for _ in range(17160)] + for root,r in zip(g['roots'],w['rootroles']): + for t in root['targets']:adj[r][t]=adj[r].get(t,0)+1 + for index in reversed(order): + a,b,_=w['ops'][index] + for t,c in adj[a].items():adj[b][t]=adj[b].get(t,0)+c + gauge={x['role']:x for x in w['gauges']};oldp={x['pivot']for x in oldentries};newp={x['pivot']for x in witness} + setup=defaultdict(list) + for z in oldentries:setup[tuple(z['cut_read'])].append(z) + prefix=[];hits=set() + for r in range(17160): + if r in gauge or r in sink_byrole:continue + for t,c in adj[r].items(): + if c%2: + event=(1760+t,sid(r),-c) + if sid(r)not in oldp:prefix.append(event) + for z in sorted(setup.get(event,[]),key=lambda z:z['pivot']): + hits.add(z['pivot']);prefix.extend((d,z['pivot'],1)for d in z['donors']) + assert len(hits)==len(oldentries) + # Setup rank is irrelevant to scalar ordering here; the source sorts by rank + # and pivot. All factors commute because old pivot/donor sets are disjoint. + assert not oldp&{d for z in oldentries for d in z['donors']} + middle=[] + for source,r in w['sources'].items():middle.append((sid(r),int(source),1)) + for i in w['phase1']: + a,b,_=w['ops'][i];assert a not in sink_byrole;middle.append((sid(a),sid(b),1)) + for root,r in zip(g['roots'],w['rootroles']): + if root['kind']=='center':middle.extend((1760+t,sid(r),1)for t in root['targets']) + at=defaultdict(list) + # The source's gauge order is reversed JSON gauge list; explicit read times + # are numbered in phase1+rest chronology. + for z in reversed(w['gauges']): + r=z['role'];at[int(w['reads'].get(str(r),len(w['phase1'])))-len(w['phase1'])].append(r) + rest=[i for i in range(len(w['ops']))if i not in phase] + for j,i in enumerate(rest): + for r in at[j]:middle.extend((1760+t,sid(r),-c)for t,c in adj[r].items()if c%2) + a,b,_=w['ops'][i];middle.append((sink_byrole[a]['pivot']if a in sink_byrole else sid(a),sid(b),1)) + for r in at[len(rest)]:middle.extend((1760+t,sid(r),-c)for t,c in adj[r].items()if c%2) + _,_,suffix,_=suffix_build();tail=middle+[(a,b,c)for a,b,c,tag in suffix] + newsetup=[(d,z['pivot'],1)for z in witness for d in z['donors']] + # Baseline upper word contains all uncompressed target reads. We transport + # only nonnegative increases from added new shears, ignoring new deleted reads. + allgroups=target['groups'];dependency={1760+int(t):[1760+p for p in ps]for z in allgroups for t,ps in z['dependent'].items()} + assert not set(dependency)&{p for ps in dependency.values()for p in ps} + # Include both setup/restore batches of every terminal sink. Acyclicity + # is checked directly rather than assuming sink and prefix supports disjoint. + edges=Counter((p,t)for t,ps in dependency.items()for p in ps) + for z in sinks: + for t in z['targets']: + if t!=z['pivot']:edges[z['pivot'],t]+=1 + target_nodes=set(x for edge in edges for x in edge);incoming=Counter(t for p,t in edges);successors=defaultdict(list) + for(p,t),multiplicity in edges.items():successors[p].append((t,2*multiplicity)) + ready=sorted(target_nodes-set(incoming));topology=[] + while ready: + p=ready.pop();topology.append(p) + for t,c in successors[p]: + incoming[t]-=1 + if not incoming[t]:ready.append(t) + assert len(topology)==len(target_nodes),'target majorant dependency cycle' + def close_target_majorant(values): + out=values[:] + for p in topology: + for t,c in successors[p]:out[t]+=c*out[p] + return out + def add(v,event): + a,b,c=event;v[a]+=abs(c)*v[b] + def bound(reverse): + # exact helper majorants for old versus sheared word, and a nonnegative + # difference; target reads are deliberately not omitted. + old=[1]*n;new=[1]*n + if not reverse: + for e in prefix:add(old,e);add(new,e) + for e in newsetup:add(new,e) + for e in tail:add(old,e);add(new,e) + for e in reversed(newsetup):add(new,e) + else: + for e in newsetup:add(new,e) + for e in reversed(tail):add(old,e);add(new,e) + for e in reversed(newsetup):add(new,e) + for e in reversed(prefix):add(old,e);add(new,e) + delta=[a-b for a,b in zip(new,old)];assert min(delta)>=0 + delta=close_target_majorant(delta) + # The old full compressed decoder bounds all its own prefixes. The helper + # paths above are exact; the full target-only acyclic graph is majorized. + pins=read('expected/kernel-pins.json');inherited=pins['inverse_max_row_l1']if reverse else pins['forward_max_row_l1'] + out=inherited+max(delta) + return dict(reverse=reverse,inherited_bound=inherited,max_added_majorant=max(delta),certified_new_bound=out, + max_added_helper=max(delta[3520:]),max_added_target=max(delta[1760:3520]),max_added_source=max(delta[:1760])) + F,B=bound(False),bound(True);payload=64*F['certified_new_bound']**3*B['certified_new_bound']**2 + return dict(status='PASS_CONSERVATIVE_SCALAR_PREFIX_BOUNDS',head='a17c42903bbe8d9d26c4bc712d7216a7176237e9',selection=candidate_path.name,candidate_sha256=hashlib.sha256(candidate_path.read_bytes()).hexdigest(),checker_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(),bridge_checker_sha256=hashlib.sha256((HERE/'check_bridge.py').read_bytes()).hexdigest(),forward=F,inverse=B, + payload_bound=payload,payload_bits=payload.bit_length(),retained_payload_cap_2_to104=payload<2**104,explicit_new_payload_cap_bits=112,new_payload_cap_2_to112=payload<2**112, + cap_change='The old104-bit report is explicitly replaced by112 for this fixed recipe; see independently reviewed PAYLOAD_CAP.md. No prime, row, moment or inherited width-uniformity hypothesis is changed.', + setup_restore_pairs=len(newsetup),max_target_prefix_degree=max(map(len,dependency.values())),target_majorant_acyclic_vertices=len(topology),target_majorant_edges=len(edges),actual_sink_redirects=sum(z['forward_writes']for z in sinks),sink_literal_words_verified=len(sinks),sink_roles=[z['role']for z in sinks], + target_majorant_proof='Targets are never read by helper/source operations. We include every target-prefix and terminal-sink setup/restore edge with its exact total multiplicity2. Their union is checked acyclic; propagating all uncompressed nonnegative increments in topological order through these weighted edges dominates every chronological placement of those ADDs. Actual sink writes are redirected, and removed sink reads/cleanup/root deliveries are absent.', + scope='Conditional on inherited old F/B and unchanged compiler; complete exact helper majorant paths are replayed, while target compression is conservatively bounded rather than reproducing record-index cut sites.',seconds=time.monotonic()-start) +if __name__=='__main__': + if not __debug__:raise RuntimeError('Assertions required') + check_bridge.configure('156');r=run();(OUTPUT/'scalar-bounds-result.json').write_text(json.dumps(r,indent=2)+'\n');print(json.dumps(r,indent=2)) diff --git a/research/gen5b-shared-kernels/weighted305/check_shared_banks.py b/research/gen5b-shared-kernels/weighted305/check_shared_banks.py new file mode 100644 index 0000000000..4b2cef5720 --- /dev/null +++ b/research/gen5b-shared-kernels/weighted305/check_shared_banks.py @@ -0,0 +1,126 @@ +"""Explicit role-resolved bank assignment for the bounded shared-kernel rewrite on the weighted PR305 word.""" +from collections import Counter,defaultdict +from fractions import Fraction +import hashlib,json,time +from source_data import read,verify,ROOT,HEAD + +def run(candidate_path, output_dir=None, mutation=None): + started=time.monotonic();verify() + w=read('gen5bit/selected/bit/word_p12.json.gz') + kernel=read('kernel-selection.json') + restore=read('restore-selection.json')['entries'];sinks=read('sink-selection.json')['sinks'] + removed={b for a,b in w['pairs']};regs=sorted(set(range(17160))-removed) + original_from_stream={3520+i:r for i,r in enumerate(regs)} + sinkroles={r['role']for r in sinks};roles=sorted(set(regs)-sinkroles) + pins=read('expected/kernel-pins.json');R=pins['physical_R'];assert R==15424 + assert len(roles)==R + entrances={r:0 for r in roles};entrance_type={r:'ZERO'for r in roles} + for z in w['gauges']: + if z['role']in entrances: + entrances[z['role']]=z['dim'];entrance_type[z['role']]=f'frame:{z["frame"]}' + pivots=[(z['a'],z['rank'])for z in kernel['pairs']]+[(z['pivot'],z['rank'])for z in kernel['families']] + pivot_residuals=Counter() + for stream,rank in pivots: + role=original_from_stream[stream];assert entrances[role]==0 + entrances[role]=rank;entrance_type[role]=f'kernel:{stream}' + pivot_residuals[24-rank]+=1 + from pathlib import Path + raw_candidate=Path(candidate_path).read_bytes() + candidate=json.loads(raw_candidate);assert candidate['source_head']==HEAD + new_kernel=candidate['entries'] + new_count=len(new_kernel) + assert new_count>0 and new_count%2==0 and len({z['pivot']for z in new_kernel})==new_count + for z in new_kernel: + role=original_from_stream[z['pivot']] + assert role==z['virtual_pivot'] and entrances[role]==0 + assert z['rank']==1 and len(z['basis'])==1 + entrances[role]=1 + entrance_type[role]=f'shared_kernel:{z["pivot"]}' + pivot_residuals[23]+=1 + endpoints={r:24 for r in roles};endpoint_type={r:'FULL'for r in roles} + assert len(restore)==440 + for z in restore: + r=original_from_stream[z['helper']];assert entrances[r]==z['dims'][0] + endpoints[r]=z['rank'];endpoint_type[r]=f'old_restore:{z["helper"]}' + families=defaultdict(list) + for r in roles: + width=endpoints[r]-entrances[r];assert 0=0 and 120%width==0 and leftover%blocks==0 + patterns.append(([width]*blocks,leftover//blocks)) + total=Counter();segments=defaultdict(list);bank_start=0 + for pattern,(widths,n) in enumerate(patterns): + assert sum(widths)==120 and n>0 + offsets=[];x=0 + for r in widths:offsets.append(x);x+=r + for r in set(widths): + blocks=[(i,offsets[i])for i,v in enumerate(widths)if v==r] + lo=total[r];hi=lo+n*len(blocks) + segments[r].append(dict(lo=lo,hi=hi,pattern=pattern,bank_start=bank_start,blocks=blocks)) + total[r]=hi + bank_start+=n + assert total=={r:60*n for r,n in counts.items()} + assert bank_start==pins['banks_total']//5-new_count//2 + def assignment(role_index,replica,width): + q=60*role_index+replica + for s in segments[width]: + if s['lo']<=q