diff --git a/research/p104-block-bridge-carriers/COROLLARY-SOURCES.json b/research/p104-block-bridge-carriers/COROLLARY-SOURCES.json new file mode 100644 index 0000000000..0338babd37 --- /dev/null +++ b/research/p104-block-bridge-carriers/COROLLARY-SOURCES.json @@ -0,0 +1,36 @@ +{ + "schema_version": 1, + "canonical_base": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "sources": [ + { + "role": "scalar_support_proof", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "b269b953f1e06583551470b088d4632a282e149c", + "path": "research/noidle-root-defect/PROOF.md", + "git_blob": "941747dba198bcd8147832518213027fe600a784", + "sha256": "b08c686440c5b5fe17231942cafa0c5237652381369857e951005932beceb01e", + "url": "https://github.com/CubeJerry/integer-mult-bounds/blob/b269b953f1e06583551470b088d4632a282e149c/research/noidle-root-defect/PROOF.md" + }, + { + "role": "quotient_proof", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "cda67c44abe75022a3048714b7e7270097564bdf", + "path": "research/p104-block-bridge-carriers/PROOF.md", + "git_blob": "de21cfc1867cc826ba7bc532ec441b9b91a9a3e8", + "sha256": "b475b600b4892037e7f40165b6ed48334d5269f26df28e861f3e071ce6ae61bf", + "url": "https://github.com/CubeJerry/integer-mult-bounds/blob/cda67c44abe75022a3048714b7e7270097564bdf/research/p104-block-bridge-carriers/PROOF.md" + }, + { + "role": "known_cap_two_proof", + "repository": "CrocSwap/integer-mult-bounds", + "pull_request": 6398, + "commit": "dee2663ba0918be86993fd9d63c8d64b020f4c83", + "path": "research/mixed-projector-root-headroom/PROOF.md", + "git_blob": "f910b5fbf9a9d519fa7d7c7503de51df5a796368", + "sha256": "68be52ab098ff9dd6edfe938e5bf36d14d5f49aa1cac94a3d0784566c05363e9", + "usage": "Known Section2 theorem, independently rederived here; no code import." + } + ], + "external_code_imported": false, + "claim": "Applies the known at-most-two rank-two support theorem for shortest roots in even dimension at least four to the exact eighteen-full-query quotient." +} diff --git a/research/p104-block-bridge-carriers/EXPECTED.json b/research/p104-block-bridge-carriers/EXPECTED.json new file mode 100644 index 0000000000..5339fb45be --- /dev/null +++ b/research/p104-block-bridge-carriers/EXPECTED.json @@ -0,0 +1,140 @@ +{ + "status": "PASS", + "claim": "No new kappa", + "source_head": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "kappa": "16859/5000000", + "odd_odd_shapes": [ + [ + 1, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 1, + 9 + ], + [ + 3, + 1 + ], + [ + 3, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 7 + ], + [ + 3, + 9 + ], + [ + 5, + 1 + ], + [ + 5, + 3 + ], + [ + 5, + 5 + ], + [ + 5, + 7 + ], + [ + 5, + 9 + ], + [ + 7, + 1 + ], + [ + 7, + 3 + ], + [ + 7, + 5 + ], + [ + 7, + 7 + ], + [ + 7, + 9 + ], + [ + 9, + 1 + ], + [ + 9, + 3 + ], + [ + 9, + 5 + ], + [ + 9, + 7 + ], + [ + 9, + 9 + ] + ], + "source_complete_margin": [ + "53223698408019/500000000000000000", + "53223698425787/500000000000000000" + ], + "full_span_per_port_loss_lower": "417979705566714323/1000000000000000000", + "quotient": { + "stage_idempotence_defect_rank": 1, + "stages": 18, + "pair_commutator_rank": 2, + "pairs": 153 + }, + "dense_masks": { + "cases": 81, + "dual_column_inequalities": 13851, + "best": { + "a": 8, + "b": 9, + "complete_gain_upper": "-21065220134325490533/500000000000000000" + }, + "old_central_capacity": 14, + "block_central_capacity": 15 + }, + "controls": [ + "reversed bridge order rejected", + "whole-block carrier separates new and old contracts", + "minus-leg-only transport rejected by neutral specialization", + "image-only transport rejected by full projector test", + "unpaired nullspace dimension rejected", + "native-only annihilation rejected by bridge closure", + "positive inequality multiplier rejected", + "overstated dual price rejected" + ] +} diff --git a/research/p104-block-bridge-carriers/NOTICE b/research/p104-block-bridge-carriers/NOTICE new file mode 100644 index 0000000000..a7d1bdbc27 --- /dev/null +++ b/research/p104-block-bridge-carriers/NOTICE @@ -0,0 +1,21 @@ +Whole-bridge carriers and complete invoice obstruction +Jerry Chen / @CubeJerry, with substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. + +The independent eigenspace/capacity and quotient-interface review was carried +out by a separate concurrent OpenAI GPT-6 Astra Pro reasoning agent. It used a +nullspace/pairing construction rather than the author's cyclic-closure code. + +The retained chain root is by DreamingOfClouds with Claude Opus 5.5 (Anthropic) +via Claude Code, from CrocSwap/integer-mult-bounds#6833 at +51f54e3c31f2f3a3e056a483b3ed66ae916ad06a. Its own NOTICE and LICENSE are retained +unchanged. The source notice credits thu-nmrc's common idle fusion (#6716), +zxv's two-pair root (#6726), the native word of #6824, Ali Romman's helper-basis +mechanism, and Jerry Chen's native helper retirement work. Only the source +formulas, profile, proof and notices needed here are retained; this package +neither reproduces nor re-admits the complete predecessor supplier. + +Background structural precedents are CrocSwap/integer-mult-bounds#6840, +CrocSwap/integer-mult-bounds#6841, CrocSwap/integer-mult-bounds#6844, and +CrocSwap/integer-mult-bounds#6845. This package changes the pointwise bridge +annihilation premise and does not claim ownership of those prior obstructions. diff --git a/research/p104-block-bridge-carriers/PROOF.md b/research/p104-block-bridge-carriers/PROOF.md new file mode 100644 index 0000000000..202b07737c --- /dev/null +++ b/research/p104-block-bridge-carriers/PROOF.md @@ -0,0 +1,472 @@ +# Whole-bridge carriers in the fixed odd/odd p104 root + +Jerry Chen / @CubeJerry, with substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. The root and native invoice are inherited from +CrocSwap/integer-mult-bounds#6833 at +`51f54e3c31f2f3a3e056a483b3ed66ae916ad06a`. +See `retained/SOURCE-PINS.json` for exact retained bytes and `NOTICE` for credit. + +**No new κ.** This note changes a carrier *commutation premise*, establishes +its algebraic consequences, and prices a declared relaxation. It does not +construct an admitted supplier, prove the framework assumptions, or establish a +universal obstruction to changing the root or recursive interface. + +## 1. Source and the interface under study + +Work over a characteristic-zero field. The algebraic identities below also hold +over any field of characteristic other than two. Let the two arm lengths +`a,b` be positive odd integers, put `m=a+b`, and use `n=m+2` field coordinates + +\[ + A,f_0,\ldots,f_{a-1},h_0,\ldots,h_{b-1},E. +\] + +A coordinate symbol denotes a column, and a superscript `*` denotes its dual +row. Let `F=Σf_j`, `H=Σh_j`, `F_alt*=Σ(-1)^j f_j*`, and +`H_alt*=Σ(-1)^j h_j*`. The `m` full native queries have normalized form + +\[ + T_i(S)=I+(S-1)x_i y_i^*,\qquad S^2=I. +\] + +Their chronological columns, rows, and productive coordinate masks are + +\[ +\begin{array}{lll} +L_j:&x=A+f_j+2\sum_{kj}h_k,&y^*=A^*+h_j^*,\quad M=\{A,h_j,\ldots,h_{b-1}\}. +\end{array} +\] + +Between the arms are three thin queries, in this order: + +\[ +\begin{array}{ll} +x_0=F+H+E,&y_0^*=A^*;\\ +x_1=-A+2H,&y_1^*=2A^*-F_{\rm alt}^*+H_{\rm alt}^*+E^*;\\ +x_2=-A+2H-E,&y_2^*=3A^*-2F_{\rm alt}^*+2H_{\rm alt}^*+E^*. +\end{array} +\] + +Every query has `y_i*x_i=0`. Write `U_i=I-2x_i y_i*` for its `S=-1` +specialization. The complete chronological word has endpoint `-I_n`. +The formulas are checked against the retained constructor for all 25 odd/odd +pairs `a,b∈{1,3,5,7,9}`. These finite checks supplement the source proof and the +symbolic derivation below; they do not prove all arm lengths by enumeration. + +The concrete priced instance is `a=b=9`: 18 native calls, 104 ports, one central +rank-one address, and eight fresh address dimensions at each full site. Neither +the root word nor any native helper is changed by the carrier experiment. + +### Declared ordinary-carrier contract + +A carrier packet consists of a sector-independent field idempotent `J` and one +contiguous interval of full sites. Its support is contained in every productive +coordinate mask in its interval, on **both** the column and row sides. It obeys +`Jx_i=0` and `y_i*J=0` at each covered full native query. Across the central +bridge it must commute with the **entire bridge**, rather than separately +annihilate its three thin queries. Packets whose intervals overlap are mutually +annihilating idempotents in both orders. Packets with disjoint intervals need not +be mutually annihilating. Thus the model does not impose one globally +orthogonal decomposition of all packets throughout the computation. + +At site `i` the packets partition the idle part of the productive mask, whose +rank is `|M_i|-2`. An `r`-dimensional field packet covering `l` fresh full sites +incurs `r` paid recursive copies of address rank `8l`. It is **not** priced as +one recursive call of rank `8rl`. The latter interpretation would be a changed +recursive interface and is outside this theorem. Targets are the coordinate +outputs of the source accounting: field `f` has target rank +`1+8#{i:f∈M_i}`. The three thin rank-one jobs and all 18 native signed profiles +remain charged. This also retains source access, helpers, and restoration +already present in those native profiles. + +We price any additional ordinary adapters as free. This is an optimistic +relaxation for an obstruction: a real nonnegative adapter invoice cannot improve +its result. It is not a license to make recursive Gaussian maps, fresh source +windows, new helpers, or independent outputs free. Non-idempotent cancellation, +sector-dependent recursive adapters, revised native interfaces, alternative +output representations, and changed roots are not covered. + +## 2. Why an ordinary moving frame does not create a moving carrier + +For an independent fresh-address operator `W`, define + +\[ + D_J(W)=I+J\otimes(W-I). +\] + +Suppose a normalized block `K(S)` with `K(1)=I` transparently relocates this +same address job: + +\[ + K(S)D_J(W)=D_{J'}(W)K(S). +\] + +Assume `J,J'` are field idempotents independent of `S,W`, and that the identity +is an operator identity including the `S=1` sector. Specializing there gives +`(J-J')⊗(W-I)=0`; for nontrivial `W-I` this forces `J'=J`. The remaining condition +is commutation with `K(S)`. For a block polynomial in a common involution `S`, +it is enough to check its two specializations, so only `[J,K(-1)]=0` remains. + +If the neutral specialization is an ordinary invertible field adapter `B_0` +instead of `I`, the same equation gives `J'=B_0 J B_0^-1`. Removing this known +ordinary adapter and expressing both endpoints in a common chart returns the +previous statement. A sequence of such ordinary chart changes provides no extra +transparent carrier directions. Adapters depending on the fresh address job or +on the recursive sector are explicitly excluded from this reduction. + +This is a statement about **full projectors**, not only their images. A shear +can preserve an image line while altering its dual row. Conversely, a swap can +satisfy a minus-sector relocation identity with distinct endpoint projectors +while failing the neutral sector. Both mistakes have executable controls. + +## 3. Exact central-bridge decomposition + +Define + +\[ +\begin{split} +v&=A+F-H,\qquad z^*=-A^*+F_{\rm alt}^*-H_{\rm alt}^*,\\ +u&=F+H,\qquad w^*=2A^*-F_{\rm alt}^*+H_{\rm alt}^*,\\ +P_E&=EE^*,\qquad P_v=vz^*,\qquad N=uw^*. +\end{split} +\] + +Oddness of both arms gives + +\[ +z^*v=1,\qquad z^*u=w^*v=w^*u=0. +\] + +`P_E,P_v` are mutually annihilating rank-one idempotents, `N²=0`, `rank N=1`, +and each product of `N` with either projector is zero. Multiplying the three +thin transvections in their chronological order gives + +\[ + \boxed{B:=U_2U_1U_0=I-2(P_E+P_v)-2N.} +\] + +This can be derived without a large matrix multiplication. In terms of the +three columns `u,v,E` and rows `w*,z*,E*`, the thin data are + +\[ +x_0=u+E,\quad x_1=u-v,\quad x_2=u-v-E, +\] + +\[ +y_0^*=w^*+z^*,\quad y_1^*=w^*+E^*,\quad y_2^*=2w^*+z^*+E^*. +\] + +The only nonzero pairings among these aggregate vectors are `z*v=E*E=1`. +Expanding the three rank-one factors yields the boxed identity. It implies + +\[ + B^2=I-4N,\qquad (B-I)^2(B+I)=0. +\] + +On `im(P_E+P_v)` the bridge is `-I`; on its complementary invariant subspace it +is `I-2N`. Consequently its minus-one column eigenspace is exactly +`span(E,v)`, and its minus-one row eigenspace is exactly `span(E*,z*)`. + +Every full native query annihilates these two planes: `y_i*E=y_i*v=0` and +`E*x_i=z*x_i=0`. They are the complete common native idle planes. Indeed, the +native `m×m` Gram matrix is `G_ij=sgn(i-j)` in chronological order. For even +`m`, a vector in its kernel must alternate in sign by subtracting successive +rows; the first row then forces its first entry to vanish. Hence `G` is +invertible, so the native columns and rows each have rank `m`, leaving precisely +two-dimensional annihilators. + +It follows that **every idempotent with column image in `span(E,v)` and row +image in `span(E*,z*)` is native-idle and commutes with the whole bridge**. +This includes `P_E`, which does not annihilate the individual thin queries. +Thus the whole-block contract strictly expands the previous pointwise-thin +annihilation contract. It does not imply that such a carrier is supported by a +particular productive mask. + +### Independent eigenspace interpretation + +The independent review observed a useful strengthening. For every full site, +`w*x_i=1` on the left arm and `-1` on the right, while `y_i*u=-1` on the left +and `1` on the right. If `J` commutes with `B`, then it commutes with +`N=(I-B²)/4`. The full-site annihilation conditions therefore imply + +\[ + Ju=0,\qquad w^*J=0. +\] + +For example, `JNx_i=NJx_i=0` and `Nx_i=±u`. Thus a crossing carrier uses actual +bridge eigenspaces, not the nontrivial generalized plus-one direction. This +supplies a separate eigenspace calculation of the finite capacities in Section +6. The cyclic-closure proof below only needs an upper bound and does not assume +that arbitrary nonsemisimple commutants attain it. + +## 4. Original masks and activating the empty field + +Any original left mask intersects any original right mask in `{A}`. A projector +supported there has form `c AA*`; its required native annihilation makes `c=0`. +Thus the original productive masks support **no nonzero crossing packet**, +even under whole-bridge commutation and ordinary chart changes. + +The projector `P_E` is a new whole-bridge carrier, but `E` is originally inactive +at all fresh sites. Activating it at `w≥1` sites changes its target rank from `1` +to `8w+1`. Even if all new idle work can be pooled into one job of rank `8w`, +its signed change at `f(r)=r^t`, `00. +\end{split} +\] + +The second inequality follows from `x+y=L+2`, `x,y≥1` and the fact that a +concave sum at fixed total is minimized at an endpoint. This proof works for +**every pair of positive odd arms** and every `0j}h_k)A^*+h_jh_j^*. +\end{split} +\] + +They are idempotent and retain `N_i=x_i y_i*` in both orders. Put +`H_i=R\Pi_iR`. On the declared `9|9` instance the independent exact check gives + +\[ +H_i^2-H_i=c_iN_i,\quad H_iN_i=N_iH_i=N_i,\quad N_i^2=0, +\] + +where `c_{L_j}=(-1)^j` and `c_{R_j}=-(-1)^j` for `j=0,...,8`. +Consequently + +\[ +\widetilde\Pi_i=H_i-c_iN_i +\] + +is idempotent: its square minus itself is +`c_iN_i-2c_iN_i+c_iN_i=0`. All eighteen repaired projectors have rank two and +retain the native query. This is a constructive local stage identity, with +finite exact evidence retained in `review/EXPECTED-GEOMETRY.json`. +The first repaired pair still has a rank-two commutator, so these particular +repairs do not form one common coordinate system of targets. + +Joint target geometry and the complete paid invoice remain required. There is +no claim that an arbitrary 18-dimensional root cannot have legal stages. The +mathematical remaining question is a common or otherwise rigorously priced +target representation for the shortened word, including all induced idle work +and any recursive change of representation. See [the independent review](review/REVIEW.md) +for the separate derivation and replay. + +### The minimal common-stage question is now closed + +The independently reproduced [quotient support corollary](QUOTIENT-SUPPORT-COROLLARY.md) +strengthens the explicit noncommutation example: no commuting rank-two family +can support all eighteen full queries of this quotient. The known #6398 theorem allows at most two such supports in dimension +at least four. The +proof uses only root closure, nonzero square-zero queries, characteristic other +than two, and commuting rank-two supporting idempotents. It requires no pricing, +no-idle, ordinary-control or actual-prefix-commutation premise. The local repairs +remain valid. A larger or noncommuting representation and its full invoice are +the remaining possibilities, rather than another choice of rank-two projectors. +The [prefix applicability audit](QUOTIENT-PREFIX-FLOOR.md) also transfers known +even-interior floors to all eight affected source positions and rejects uniform +rank three and balanced total incidence 54; no new general prefix theorem is +claimed. + +## 8. Verification scope and inherited assumptions + +`verify.py` is a standard-library exact checker, not a proof assistant. It +verifies retained byte hashes and Git blobs; independent root formulas for 25 +finite shapes; the bridge decomposition, closure polynomial and quotient word; +all concrete compressed-stage defects; the fixed complete native invoice; +all 81 dual certificates; and eight failure/contract controls. It compares its +exact report with `EXPECTED.json` and retains checks under `python -O`. + +The universal claims in Sections 2–5 are established by the arguments above. +The 81-case certificate establishes the explicitly bounded claim in Section 6. +Neither layer checks or removes `native_all_columns`, `owned_erasure`, +`compiler`, `precision_tape`, or `analytic_recovery`, the framework assumptions +inherited by the multiplication project. Pending source status and selected +frontier status are separate: this package changes neither admission nor the +selected result. diff --git a/research/p104-block-bridge-carriers/QUOTIENT-PREFIX-FLOOR.md b/research/p104-block-bridge-carriers/QUOTIENT-PREFIX-FLOOR.md new file mode 100644 index 0000000000..fe86c1ad91 --- /dev/null +++ b/research/p104-block-bridge-carriers/QUOTIENT-PREFIX-FLOOR.md @@ -0,0 +1,186 @@ +# Known prefix floors exclude the 54-incidence quotient census + +**Verification consequence; no new κ.** Consider the exact eighteen-dimensional, +nineteen-query quotient in [the quotient support corollary](QUOTIENT-SUPPORT-COROLLARY.md). +Its eighteen full positions are 0,…,8 and 10,…,18; its sole thin position is 9. +Let P_i be an idempotent supporting full query R_i=x_i y_i on both sides. +Suppose the full-stage projectors commute pairwise and each P_i commutes with +its **actual chronological prefix** M_i=(I−2R_i)⋯(I−2R_0). +Work over any field of characteristic different from two. + +Then the eight full positions + +\[ +\{2,4,6,8,10,12,14,16\} +\] + +each require rank at least four, and + +\[ +\boxed{\sum_{\text{18 full positions }i}\operatorname{rank}P_i\ge60.} +\] + +Consequently both eighteen rank-three stages and eighteen outputs each with +incidence degree three are impossible in this interface. The latter census +has total incidence54, below60 even if the individual stage ranks vary. +Rank60 is a necessary bound, not an attaining construction or a paid invoice. + +## Relationship to known prefix bounds + +The even-interior floor is inherited geometry, already stated in +CrocSwap/integer-mult-bounds#6717 at +`3c9072b8738323dda9f9c7dfb421d578ed3fc17a`, with credit to Ali Romman's +CrocSwap/integer-mult-bounds#6398. No new general prefix theorem or sharp total +rank bound is claimed here. The contribution of this appendix is an exact +source-bound transfer to this package's shortened quotient, together with +hypothesis controls and exclusion of the proposed 54-incidence census. + +The at-most-two rank-two support theorem is already proved in Section 2 of +Ali Romman's #6398, without prefix commutation. The adjoining support corollary +reproduces it self-contained and identifies its exact source pins. Combining +it with the eight inherited rank-four floors gives the necessary total of 60. +No attainability or optimality at 60 is claimed. + +## 1. Canonical coordinates preserve the required hypotheses + +The source is DreamingOfClouds's CrocSwap/integer-mult-bounds#6833 at +`51f54e3c31f2f3a3e056a483b3ed66ae916ad06a`; the retained `chain_root.py` has +Git blob `ca1e0244f1329c153c1224b05bf0c0c5d5e2367b` and SHA256 +`6f4046c804f27071d88ce05820c75baebe9cbf32533c4ba89285c413bfc8edaa`. +The adjoining corollary proves the exact quotient premise: nineteen nonzero +rank-one square-zero queries on eighteen independent coordinates, with +chronological product −I and thin query at position9. + +For completeness, the scalar defect normalization is as follows. Stack query +columns X and rows Y, put G=YX and A=I+2 lower(G). Expansion of the product +gives XA⁻¹Y=I. Thus A−G has rank one and unit diagonal. Factoring it as uv +and gauging x_i↦u_i x_i, y_i↦u_i⁻¹y_i yields + +\[ +y_i x_j=\operatorname{sign}(i-j),\qquad y_i x_i=0. +\] + +The first eighteen columns are a basis because their sign Gram is invertible. +In that basis, + +\[ +x_i=e_i\ (i<18),\quad +x_{18}=\sum_{j=0}^{17}(-1)^{j+1}e_j,\quad +y_i[j]=\operatorname{sign}(i-j). +\] + +The factor gauges leave every R_i unchanged. An ambient basis change +simultaneously conjugates the queries, actual prefixes and supporting +projectors. It preserves rank, support equations and every commutator. +Therefore no coordinate or channel-mixing assumption is added by this normal +form. The exact source quotient already has the indicated Gram without +additional scalar gauges; the checker verifies all361 entries and the explicit +twenty-by-eighteen basis map for every query and prefix. + +## 2. Eight actual prefixes force rank four + +For even i with 2≤i≤16, put + +\[ +u_i=\sum_{j=4` and `N=n+1` +nonzero rank-one square-zero queries `R_i=x_i y_i` satisfy + +\[ +(I-2R_{N-1})\cdots(I-2R_0)=-I_n. +\] + +If `F` selected queries admit pairwise-commuting rank-two idempotents `J_i` +with `J_iR_i=R_iJ_i=R_i`, then **`F≤2`**. + +### Normalize the Gram without changing the queries + +Write `X=[x_0 ... x_{N-1}]`, let `Y` have rows `y_i`, and put +`G=YX`, `A=I+2 lower(G)`. Ordered-product expansion gives +`XA^{-1}Y=I_n`. Hence `Q=A^{-1}YX` is a rank-`n` idempotent and + +\[ +H=A-G=A(I-Q),\qquad \operatorname{rank}H=N-n=1. +\] + +Its diagonal entries are one and its off-diagonal entries are +`H_ij=sign(i−j)G_ij`. Factor `H=uv`. Every `u_i v_i=1`, so all these scalar +factors are nonzero. The gauges `x_i→u_i x_i`, `y_i→u_i^{-1}y_i` leave `R_i` +and its supporting idempotent unchanged, and yield + +\[ +y_ix_j=\operatorname{sign}(i-j)\quad(i\ne j),\qquad y_ix_i=0.\tag{1} +\] + +### Intersecting support edges occupy at most three coordinates + +Commuting idempotents simultaneously diagonalize over the original field by +successive image/kernel splittings. Each selected `J_i` then has a two-element +coordinate support `C_i`. Since `R_i` has rank one, its support equations imply +`J_ix_i=x_i` and `y_iJ_i=y_i`. By (1), every two selected supports intersect. + +A pairwise-intersecting family of two-element sets, allowing repeats, is either +a star or is contained in a triangle. Indeed, take two distinct edges `{a,b}`, +`{a,c}`. If another edge misses `a`, it must be `{b,c}`; any further edge +meeting all three belongs to that same triangle. If there are no two distinct +edges, the family is already a star. + +A star cannot have three distinct leaves. Choose chronological indices +`i=4. The four-site sign Gram is invertible, so both the +selected three columns and the selected three rows are independent. The +integer inverse of S4 has entries `(-1)^(i+j)sign(i−j)`. + +Their supporting union has dimension at most three. Independence forces its +dimension to equal three, and both restricted three-by-three factor matrices +are invertible. Their product would make the selected Gram invertible. But +that Gram is S3, whose rank is two. This contradiction proves the known F<=2 +bound. It uses both column and row independence, not the column-only dimension +argument that would yield the weaker universal F<=3 statement. + +### The dimension exception and an attaining two-support control + +In dimension two use + +\[ +(x_0,y_0)=((1,0),(0,-1)),\quad +(x_1,y_1)=((0,1),(1,0)),\quad +(x_2,y_2)=((-1,1),(1,1)). +\] + +All three queries are nonzero rank one and square zero, and their chronological +product is `−I_2`. Taking every supporting projector to be `I_2` attains `F=3`. +This is a boundary control showing why n>=4 is needed; it is not a new theorem +or a profitable supplier. In the canonical n=4, N=5 root, the first and last +queries share the rank-two projector `x_0 y_4 - x_4 y_0`, attaining two +commuting supports. Both controls are checked exactly. + +## 3. Apply the lemma to the exact 18-dimensional quotient + +Use this package's notation `P=P_E+P_v`, `R=I−P`, and `W=im R`. The source has +twenty coordinates and `rank P=2`, so `dim W=18`. Every full query +`N_i=x_i y_i` obeys `PN_i=N_iP=0`. Its nonzero column lies in `W`; its nonzero +row vanishes on `im P`, so its restriction to `W` is still nonzero rank one. +It remains square zero. The middle query `uw*` has the same properties: +`Pu=0`, `w*P=0`, `w*u=0`, with both factors nonzero. + +The bridge decomposition is `B=I−2P−2uw*`. Replace the three thin factors by +`I−2uw*=B+2P`. Every surrounding full query fixes `P` on both sides, so the +complete source endpoint changes from `−I_20` to `−I_20+2P`. Its restriction +to `W` is `−I_W`. There are precisely eighteen full factors and one thin factor: + +\[ +n=18,\quad N=19=n+1,\quad F=18. +\] + +A commuting rank-two supporting family for those eighteen full factors would +contradict the known lemma's `F≤2`. The conclusion covers every such family, +not only compression, local repairs, or a particular quotient basis. + +## 4. What remains open + +The common-coordinate rank-two branch of the shortened word's productive +interface problem is closed. Individual rank-two projector repairs remain +valid, but no alternative rank-two supporting family can make all eighteen +commute. Global ordinary similarity cannot change this obstruction. + +The lemma does **not** require no idle work, productive-target pricing, +stage variables, actual-prefix commutation, or the ordinary-control hypotheses +used elsewhere to interpret a full caller. It uses only the stated root, +rank, characteristic, and supporting-projector assumptions. A proposed escape +must change at least one of those assumptions; relabeling the same supports +or choosing different local rank-two projectors cannot suffice. + +Noncommuting target representations, larger stages and their paid idle work, +changed query counts or ranks, non-square-zero aggregates, additional restored +state, and different native suppliers remain separate possibilities. Each +still needs a complete arbitrary-input identity, restoration and a favorable +recursive invoice. The corollary changes neither the finite-mask price result, +the selected frontier nor its five inherited framework assumptions. + +The source and quotient identities are already checked by this package's +primary and independent geometry replays. `verify_quotient_support.py` supplies +small exact controls for the sign inverse, the n=2 exception, the attaining +two-support example, and +a four-query support family that fails exactly the commutation premise. A +corrupted inverse is detected. The universal conclusion is the proof above, +not a finite-search inference. After placing the checker beside this note: + +```bash +python -B research/p104-block-bridge-carriers/verify_quotient_support.py +python -O -B research/p104-block-bridge-carriers/verify_quotient_support.py +``` + +Both commands print `PASS_KNOWN_QUOTIENT_SUPPORT_CAP`, with dimension-exception +example `n=2, N=3, F=3`, the known cap two for n>=4, and four noncommuting projector +pairs in the omitted-commutation boundary control. Both modes were executed. + +Prepared for @CubeJerry with substantial OpenAI GPT-6 Astra Pro assistance and +independent mathematical review. Credit Ali Romman (#6398), the retained source and query-defect +lineage named above. Apache-2.0. diff --git a/research/p104-block-bridge-carriers/README.md b/research/p104-block-bridge-carriers/README.md new file mode 100644 index 0000000000..3b73a68663 --- /dev/null +++ b/research/p104-block-bridge-carriers/README.md @@ -0,0 +1,180 @@ +# Whole-bridge carriers and their complete invoice + +**No new κ.** The three thin queries in the pending chain root preserve a larger +idle carrier space collectively than they preserve one at a time. We determine +that space exactly, prove why ordinary moving frames do not enlarge it, and show +that two specified target-mask families repay the apparent saving under +complete accounting. + +This extends the structural question behind +CrocSwap/integer-mult-bounds#6833, +CrocSwap/integer-mult-bounds#6841, and +CrocSwap/integer-mult-bounds#6845 by replacing pointwise thin-query annihilation +with commutation through the entire three-query bridge. The target masks and +complete native invoice are retained and charged. Disjoint-time packets need +not be globally orthogonal; simultaneous packets must represent independent +field directions. It is a changed carrier contract, rather than another seed +for the previous two-mask static search. + +## Results + +1. **Exact bridge decomposition.** For every positive odd arm pair, the bridge + is `B=I-2(EE*+vz*)-2uw*`, where the two projector summands are orthogonal, + `uw*` is rank-one square-zero, and all cross-products vanish. The entire + common native idle plane is the bridge's minus-one eigenspace. A packet may + commute with this block while failing individual thin-query annihilation. +2. **Precise ordinary-frame limitation.** Transparent relocation of the same + fresh-address job through a normalized source block has identical endpoint + projectors in a common ordinary chart. Both neutral and minus sectors, and + both column and row data, matter. Sector-dependent recursive adapters remain + outside this result. +3. **Uniform full-span accounting obstruction.** Activating the empty field + alone loses for power tariffs r^(1−κ), with 0<κ<1. Making all nonempty fields productive + at every full site has a worse complete invoice than the source, even with + unrestricted favorable idle pooling, for + every positive odd arm pair and every `0<κ<1`. The per-port source advantage + is at least `1-((8m+1)^(1-κ)-(8m)^(1-κ))>0`. +4. **Exact finite partial-span certificate.** All 81 central dense-mask choices + on the fixed `9|9` root have negative complete optimistic signed gain at the + pending benchmark `κ=.00337180`. The best certified complete upper bound is + `-42.130440268650981066`. This is a fixed-benchmark statement, without an + assumed monotonicity theorem in κ. +5. **A useful quotient and a concrete unresolved obligation.** The common idle + plane can be removed algebraically, turning the three-query bridge into one + query on 18 dimensions. The original productive masks do not descend: + all 18 direct compressions have a rank-one idempotence defect and all 153 + pairs have rank-two commutators. Local rank-two repairs exist, but an independently reproduced known support cap + excludes **every** commuting rank-two supporting family for this quotient. + Larger or noncommuting productive interfaces remain open. + +The complete proofs, model assumptions, quotient limitation, and exact LP-dual +argument are in [PROOF.md](PROOF.md). The [independent review](review/REVIEW.md) +derives capacities from eigenspace nullspaces and agrees with all 13,851 +interval-capacity entries. Its separate rational arithmetic also verifies all +81 complete dual prices; neither checker imports the author's model. + +The [quotient support corollary](QUOTIENT-SUPPORT-COROLLARY.md) proves that +Ali Romman's known theorem permits at most two commuting rank-two supports +for a defect-one rank-one root in dimension at least four. The quotient needs eighteen. +This closes the minimal common-stage branch, independently of pricing or +actual-prefix commutation, and makes the remaining interface question precise. + +The [source-bound prefix audit](QUOTIENT-PREFIX-FLOOR.md) transfers the known +even-interior stage floors from CrocSwap/integer-mult-bounds#6717 to this exact +quotient. It checks all eight affected full positions and excludes both +uniform rank-three stages and the proposed balanced 54-incidence census. +This is an applicability check of predecessor geometry, not a new general +prefix theorem or a claim that the displayed necessary floor is sharp. + +## Source pins and relationship to the selected result + +The upstream base is `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +The selected record at that base has κ `.003125804`; it is not edited here. +The experiment uses the pending source in +CrocSwap/integer-mult-bounds#6833 at exact head +`51f54e3c31f2f3a3e056a483b3ed66ae916ad06a`, whose stated benchmark is `.00337180`. +The retained source formulas, complete local profiles, proof and licenses have +SHA-256 and Git-blob pins in `retained/SOURCE-PINS.json`. + +The comparison with CrocSwap/integer-mult-bounds#6845 uses its scoped research +result at `1b3f081debf631b690f56a2f67645984a5c70fe4` as background; no unmerged +code from that package is a replay dependency. Earlier whole-idle and pure-hub +limitations in CrocSwap/integer-mult-bounds#6841 and +CrocSwap/integer-mult-bounds#6840 motivate the changed block premise. This +package does not repeat the fixed-native-word hub-gauge pairing result in +CrocSwap/integer-mult-bounds#6844. + +The outer comparison retains all 18 native signed profiles and all 104 ports. +It does not prove or remove the inherited `native_all_columns`, `owned_erasure`, +`compiler`, `precision_tape`, or `analytic_recovery` assumptions. It makes no +source admission, selected-frontier, or unconditional multiplication claim. + +## Reproduction + +From the repository root, Python 3.12 and its standard library suffice: + +```sh +python3 -B research/p104-block-bridge-carriers/verify.py +``` + +Expected: JSON with `"status": "PASS"`, `"claim": "No new kappa"`, 25 odd/odd +source shapes, 81 dense-mask cases, 13,851 checked dual columns, the exact +negative complete upper bound above, and eight contract/failure controls. +The full deterministic report is [EXPECTED.json](EXPECTED.json). +The same checks survive `python3 -O -B`. To run both these checks and the +independent geometry and pricing replays through the registered package runner: + +```sh +python3 scripts/research_package.py --package research/p104-block-bridge-carriers +``` + +Expected final line: `PASS_REGISTERED_RESEARCH_PACKAGE` with outcome +`negative-result`. The independent replays report +`PASS_INDEPENDENT_EIGENSPACE_CAPACITY_REVIEW` and +`PASS_INDEPENDENT_81_DUAL_COMPLETE_PRICES`. + +The replay verifies the actual retained source bytes, independently constructed +query formulas, all finite algebraic and quotient identities, every capacity +and rational dual inequality, the complete fixed native profile, and report +consistency. Rational logarithm and alternating-exponential enclosures are used +for all proof-relevant powers. There is no floating feasibility decision. + +The optional discovery command regenerates candidate duals using +`numpy==2.3.5`, `scipy==1.17.0` and HiGHS: + +```sh +python3 -B research/p104-block-bridge-carriers/discover.py --output /tmp/p104-block-bridge-duals.json +``` + +Solver output is a candidate only; the standard-library replay is decisive. +Alternative valid duals need not have identical floating solver provenance. +The scientific search domain was exactly all `p=0..8,q=9..17` central dense +masks, every contiguous packet interval, and the declared real-rank LP +relaxation. There was no randomized search and no early stop; all 81 cases were +completed. Other mask patterns, noncontiguous packets, changed native words, +and new recursive representations were not searched. + +## Negative controls and proof boundaries + +The verifier distinguishes block commutation from pointwise annihilation by a +legal positive fixture. It also checks reversed bridge order, a false +minus-sector-only relocation, image-only preservation with a changed dual row, +misleading separate nullspace dimensions, a native-idle projector that fails +bridge covariance, and corrupted dual multipliers/overstated prices. + +The packet tariff counts one paid address copy for each field direction. It +does not silently combine field rank and Gaussian address rank into one call. +Ordinary adapter prices are relaxed to zero only for an upper bound on possible +gain. A different recursive interface or a different productive target basis +needs a new complete invoice and is not excluded by this package. + +## Open next questions + +- **Can the 18-dimensional quotient support a useful larger or noncommuting + productive interface?** Root closure and local rank-two projector repairs are explicit + in Section 7 of [PROOF.md](PROOF.md). The corollary excludes every commuting rank-two supporting family, + beyond the first repaired pair's rank-two commutator. The known prefix floors + also block uniform rank three and balanced total incidence 54. A larger-stage + candidate must satisfy all these geometry constraints and have a favorable + complete target/paid profile; a noncommuting representation needs an explicit + recursive boundary with all induced source, adapter and restoration costs. +- **Can a recursive, sector-dependent carrier adapter beat the ordinary-frame + limitation?** Such an adapter is not covered by neutral-sector rigidity. A + first step is a single explicit two-site intertwiner with its own Gaussian + recurrence and all inherited costs. The blocker is a favorable complete + invoice, not merely an algebraic change of basis. +- **Can other mask patterns use the extra bridge eigendirection economically?** + The 81 central dense cases and full-span theorem leave other patterns and + packet organizations open. Begin with a new target geometry whose optimistic + complete price is positive; do not repeat the certified finite family. + +## Attribution + +Contribution by Jerry Chen / **@CubeJerry**, with substantial assistance from +**OpenAI GPT-6 Astra Pro** for derivations, code, bounded experiments, and +independent cross-review. The exact source root is by DreamingOfClouds with +Claude Opus 5.5 via Claude Code; the retained notice preserves its lineage to +thu-nmrc, zxv, Ali Romman, and the native/helper work. The independent eigenspace +review was performed by a separate concurrent reasoning agent without importing +this model's capacity implementation. All new material is Apache-2.0; retained +source notices and licenses are unchanged. diff --git a/research/p104-block-bridge-carriers/SOURCES.json b/research/p104-block-bridge-carriers/SOURCES.json new file mode 100644 index 0000000000..0d4cac94b8 --- /dev/null +++ b/research/p104-block-bridge-carriers/SOURCES.json @@ -0,0 +1,45 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + } + ], + "external_sources": [ + { + "repository": "CrocSwap/integer-mult-bounds", + "pull_request": 6833, + "commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "retained_manifest": "retained/SOURCE-PINS.json", + "usage": "Exact retained source formulas and native pricing inputs; checked by verify.py, not inferred from upstream base." + }, + { + "repository": "CrocSwap/integer-mult-bounds", + "pull_request": 6845, + "commit": "1b3f081debf631b690f56a2f67645984a5c70fe4", + "usage": "Background and changed-hypothesis comparison only; no executable dependency." + }, + { + "repository": "CrocSwap/integer-mult-bounds", + "pull_request": 6717, + "commit": "3c9072b8738323dda9f9c7dfb421d578ed3fc17a", + "usage": "Predecessor prefix geometry and stronger three-stage theorem; background only. Exact source applicability is proved and replayed self-contained in QUOTIENT-PREFIX-FLOOR.md." + }, + { + "repository": "CrocSwap/integer-mult-bounds", + "pull_request": 6398, + "commit": "dee2663ba0918be86993fd9d63c8d64b020f4c83", + "usage": "Ali Romman scalar all-even prefix-geometry lineage, credited by #6717; no executable dependency." + } + ] +} diff --git a/research/p104-block-bridge-carriers/TASK.json b/research/p104-block-bridge-carriers/TASK.json new file mode 100644 index 0000000000..a314f6a1f9 --- /dev/null +++ b/research/p104-block-bridge-carriers/TASK.json @@ -0,0 +1,119 @@ +{ + "schema_version": 1, + "task_id": "scalar-to-moment", + "priority_revision": 8, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "scalar-to-moment", + "question": "Can a scalar/frame rewrite improve the complete signed moment through paid jobs, productive targets, or both?", + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "docs/research/recursive-invoice-preflight.md" + ], + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "acceptance_gate": "Require a legal chronological rewrite and favorable complete signed target-minus-paid moment with all extra charges. Unchanged ADD counts or unchanged paid-call counts alone decide neither success nor failure. Compiler, native and outer admission remain separate obligations.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "first_experiment": "Construct one legal source-bound rewrite and compare complete before/after P and T. Charge restoration, source windows and owned helpers. A paid call need not disappear: a legal target split or rank redistribution may win. Stop if the signed moment is unchanged or the consumer repays the gain. Do not extend a scalar-only census on ADD counts.", + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "overlap_terms": [ + "signed moment", + "target split", + "rank exchange", + "scalar rewrite" + ], + "existing_checks": [ + { + "scope": "PR #3998: consecutive A2 scalar contraction", + "evidence": "research/staged544-a2-graph-rewrite/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "status": "author-checked", + "source_commit": "389268a6b5e0373a3125d5c6fcd6995f4ea324f5", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #4019: separated A2 sites with unchanged recursive histogram", + "evidence": "research/staged544-separated-a2/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "status": "author-checked", + "source_commit": "f408e09df300b575235f7f77f81948071397e16d", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #4112: composition audit", + "evidence": "research/staged544-a2-composition-audit/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "status": "author-checked", + "source_commit": "205b7380656ba4b6316a8a493b1a3c679b8f7a0e", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #4152: A1858 contraction audit", + "evidence": "research/staged544-a1858-contraction-audit/README.md", + "remaining": "A genuinely changed paid itinerary or a distinct independent audit; no default scalar-only expansion.", + "status": "author-checked", + "source_commit": "caaa14cde5962adc372fdca71f63d0f29e73c8b2", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "status": "reviewed", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5" + } + ] + }, + "scope_status": "changed", + "actual_scope": "Fixed p104 odd/odd root: whole-three-query bridge covariance for sector-independent idempotent idle packets, uniform full-span target/copy invoice obstruction, and exact dual certificates for all 81 central dense masks on the 9|9 instance. Source-bound quotient corollary: the known #6398 theorem permits at most two commuting rank-two supports in dimension at least four, excluding every minimal common-stage system for the eighteen-full-query quotient.", + "scope_change_reason": "Assigned structural track43. Replace pointwise thin-query annihilation and globally fixed orthogonality with whole-block commutation and orthogonality only for simultaneous packets; retain the source root, native profile and coordinate target invoice.", + "bottleneck_link": "The pending complex supplier is near the admitted bit threshold. Removing paid idle work could help, but dense support changes productive targets and idle demand. The package prices the complete changed outer bill together with all fixed native terms.", + "budget_minutes": 90, + "stop_rule": "Derive the whole-block algebra and optimistic complete invoice first. Exhaust exactly the 81 central dense masks and all 171 contiguous packet intervals per mask. Stop this family when exact dual bounds are negative at the source benchmark. No random seeds or post hoc coverage expansion.", + "outcome": "negative-result", + "evidence": "PROOF.md gives universal algebra and concavity arguments. verify.py and EXPECTED.json retain exact finite checks for 25 source shapes, 18 compressed stages, 153 pairs, 81 masks and 13851 dual inequalities; the source headline stays unchanged. QUOTIENT-SUPPORT-COROLLARY.md retains a self-contained reproduction of the known #6398 support proof with exact attaining and omitted-commutation controls. QUOTIENT-PREFIX-FLOOR.md and verify_quotient_prefix.py independently bind the known #6717 prefix geometry to all eight exact quotient positions, rejecting uniform rank three and balanced incidence54; the source-specific60 consequence is not claimed new or sharp.", + "author": "Jerry Chen / @CubeJerry", + "ai_assistance": "Substantial OpenAI GPT-6 Astra Pro assistance for mathematical derivations, code, bounded LP discovery, exact verification and separate concurrent eigenspace review.", + "open_questions": [ + { + "question": "Can the 18-dimensional shortened root support a profitable larger or noncommuting productive interface?", + "why_it_matters": "It removes two algebraic thin queries, but root closure does not transport the productive target invoice.", + "first_step": "Specify a larger stage system or a noncommuting target representation, then derive its complete source, idle and restoration invoice.", + "blocked_by": "The reproduced #6398 support theorem excludes every commuting rank-two family. The #6717 prefix floors, bound to the exact quotient, exclude uniform rank three and balanced total incidence54. Total rank60 is necessary, not claimed attainable or optimal; larger or noncommuting geometry remains unproved." + }, + { + "question": "Can a sector-dependent recursive adapter enable economical carrier transport?", + "why_it_matters": "Such adapters are outside the ordinary neutral-sector rigidity theorem.", + "first_step": "Give one exact two-site intertwiner and derive its complete recurrence with source, restoration and new helper costs.", + "blocked_by": "A favorable complete invoice and valid recursive implementation are unproved." + }, + { + "question": "Can a different productive mask family exploit the whole-bridge idle direction?", + "why_it_matters": "The finite 81-mask result and full-span theorem exclude precise models rather than every representation.", + "first_step": "Specify a genuinely different mask or packet family and test its optimistic full signed moment before searching.", + "blocked_by": "All 81 central dense cases lose at the benchmark and full-span dense activation loses uniformly." + } + ] +} diff --git a/research/p104-block-bridge-carriers/VERIFY.json b/research/p104-block-bridge-carriers/VERIFY.json new file mode 100644 index 0000000000..67616b8d13 --- /dev/null +++ b/research/p104-block-bridge-carriers/VERIFY.json @@ -0,0 +1,88 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "Retained source hashes, independent exact root formulas for 25 odd/odd shapes, bridge and quotient identities, 18 stage defects and 153 commutators, complete native invoice, all 81 rational dual certificates (13851 columns), expected report and eight failure/contract controls." + }, + { + "argv": [ + "{python}", + "-O", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 120, + "checks": "The same mathematical and failure checks remain active with Python assertions disabled." + }, + { + "argv": [ + "{python}", + "-B", + "{package}/review/geometry.py" + ], + "timeout_seconds": 240, + "checks": "Independent exact eigenspace/nullspace capacities for all 13851 intervals, with no author model import; complete comparison fixture, 18 compressed active-projector defects and their local rank-two repairs, and noncommuting corrected first pair." + }, + { + "argv": [ + "{python}", + "-B", + "{package}/review/prices.py" + ], + "timeout_seconds": 120, + "checks": "Independent alternating-series rational enclosures and separately extracted native profile verify all 13851 dual columns and all 81 complete signed prices; deterministic expected independent report." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify_quotient_support.py" + ], + "timeout_seconds": 30, + "checks": "Known #6398 support-cap controls: S3/S4 ranks, independent query triples, n2 exception, attaining two supports, noncommutation and inverse corruption." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "-O", + "{package}/verify_quotient_support.py" + ], + "timeout_seconds": 30, + "checks": "Known #6398 support-cap controls: S3/S4 ranks, independent query triples, n2 exception, attaining two supports, noncommutation and inverse corruption." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify_quotient_prefix.py" + ], + "timeout_seconds": 60, + "checks": "Authenticated source quotient, all361 Gram entries, every actual prefix transferred through the20-to18 basis, eight known rank-four floors, omitted-prefix and infeasible54-incidence controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "-O", + "{package}/verify_quotient_prefix.py" + ], + "timeout_seconds": 60, + "checks": "Authenticated source quotient, all361 Gram entries, every actual prefix transferred through the20-to18 basis, eight known rank-four floors, omitted-prefix and infeasible54-incidence controls." + } + ] +} diff --git a/research/p104-block-bridge-carriers/discover.py b/research/p104-block-bridge-carriers/discover.py new file mode 100644 index 0000000000..545af48f1d --- /dev/null +++ b/research/p104-block-bridge-carriers/discover.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +"""Optional numerical dual discovery. The exact verifier decides validity. + +Jerry Chen / @CubeJerry, substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. Tested with numpy==2.3.5, scipy==1.17.0; no network calls. +""" +import argparse +import json +import math +from pathlib import Path + +from model import CapacityModel, INTERVALS, need + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output', required=True, type=Path) + args = parser.parse_args() + need(args.output.resolve() != Path(__file__).with_name('dual-certificate.json').resolve(), + 'write a candidate elsewhere; do not overwrite the frozen certificate') + import numpy as np + from scipy.optimize import linprog + scale = 10**8 + discovery_kappa = '.0033718004755' + costs = np.array([(8*(b-a+1))**(1-float(discovery_kappa)) for a,b in INTERVALS]) + matrix = np.array([[int(c<=a and b<=d) for c,d in INTERVALS] + for a,b in INTERVALS], dtype=float) + diagonal = [k for k,(a,b) in enumerate(INTERVALS) if a==b] + engine = CapacityModel(); cases = [] + for a in range(9): + for b in range(9,18): + caps, demands, _ = engine.case(a,b) + result = linprog(costs, A_ub=matrix, b_ub=caps, + A_eq=matrix[diagonal], b_eq=demands, + bounds=(0,None), method='highs') + need(result.success, 'numerical discovery failed: '+result.message) + cases.append({'a':a,'b':b, + 'alpha':[math.floor(float(x)*scale) for x in result.ineqlin.marginals], + 'beta':[math.floor(float(x)*scale)-4 for x in result.eqlin.marginals]}) + candidate = {'schema_version':1,'scale':scale,'discovery_kappa':discovery_kappa, + 'verification_kappa':'.00337180','cases':cases} + args.output.write_text(json.dumps(candidate, separators=(',',':'))+'\n') + print(json.dumps({'status':'CANDIDATE_ONLY','cases':len(cases), + 'numpy':np.__version__,'output':str(args.output)})) + + +if __name__ == '__main__': + main() diff --git a/research/p104-block-bridge-carriers/dual-certificate.json b/research/p104-block-bridge-carriers/dual-certificate.json new file mode 100644 index 0000000000..f9bab40979 --- /dev/null +++ b/research/p104-block-bridge-carriers/dual-certificate.json @@ -0,0 +1 @@ +{"schema_version":1,"scale":100000000,"discovery_kappa":".0033718004755","verification_kappa":".00337180","cases":[{"a":0,"b":9,"alpha":[0,0,-2261006,0,0,0,0,0,-1447978,-4955592,0,0,0,0,0,-1462098,0,0,0,0,0,0,-534640,0,-1284025,0,0,0,0,0,-1335490,0,-79761,-176485,0,0,0,0,0,-1650381,0,-6386918,0,0,0,0,0,0,-1558332,-189156,0,0,0,0,0,-1650381,0,0,0,0,0,0,0,-1734725,-203785,0,0,0,0,0,-534640,0,0,0,0,0,0,-1451783,-727270,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5416000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3266642,-295041,0,0,-3708984,0,-3754981,0,0,0,-573335,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,787859573,794410444,788403705,787732291,787732291,788403705,789307551,794410444,794410444,785480532,794410444,785018600,786150305,784625659,794410444,786373146,-4]},{"a":0,"b":10,"alpha":[0,0,-5102894,0,0,0,0,0,0,-3827019,0,0,0,-665718,0,-531044,0,0,0,0,0,0,0,0,0,0,0,-4955592,0,0,-551737,0,-568474,-176485,0,0,0,0,0,0,0,-8369535,0,0,0,0,0,0,-1226095,-189156,0,0,0,0,0,-2030559,0,0,0,0,0,0,0,-1354547,-203785,0,0,0,-978968,0,0,0,0,0,0,0,0,-1513860,-220865,0,0,0,0,0,0,0,0,0,0,0,-1210716,-506405,0,0,0,0,0,0,-2492827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2362795,-295041,0,0,-5102894,0,-1575260,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,790701461,794410444,788403705,787732291,787197652,787732291,788403705,794410444,794410444,790701461,789307551,785018600,786032269,784625659,794410444,786373146,-4]},{"a":0,"b":11,"alpha":[0,0,-2445058,0,0,0,0,0,0,0,0,-6725922,0,-424650,0,-531044,0,0,0,0,0,0,0,0,0,0,0,-3772952,0,0,-792805,0,-392941,-176485,0,0,0,0,0,0,0,-7454718,0,0,0,0,0,0,-600183,-189156,0,0,0,0,0,-914818,0,0,-1447978,0,0,0,0,-1022310,-203785,0,0,0,-444329,0,-914818,0,0,0,0,0,0,-1133682,-220865,0,0,0,-444329,0,0,0,0,0,0,0,-1272792,-241068,0,0,0,0,0,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-1691382,-295041,0,0,-6006740,0,0,0,0,0,-2030559,-332237,0,0,0,-2445058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,789584355,792869715,788403705,787732291,787197652,787197652,787732291,794410444,791752609,790701461,794410444,785018600,786032269,784625659,794410444,786373146,-4]},{"a":0,"b":12,"alpha":[0,0,-522198,0,0,0,0,0,0,0,0,-8648782,-220865,0,0,-734829,0,0,0,0,0,0,0,0,0,0,0,0,0,-5461997,0,0,-613806,-176485,0,0,0,0,0,0,0,-4349217,0,0,0,0,0,0,-665718,-189156,0,0,0,-1311132,0,-824506,0,0,0,0,-522198,0,0,-727270,-203785,0,0,0,0,0,0,0,0,0,0,0,0,-801446,-220865,0,0,0,0,0,0,-3827019,0,0,0,0,-892615,-241068,0,0,0,0,0,0,0,0,0,0,-1007455,-265338,0,0,0,0,0,0,0,0,0,-1156743,-295041,0,0,-1007455,0,0,0,0,0,-3009526,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,790701461,789829749,788403705,786040910,790200165,786753324,787197652,790390127,786753324,789307551,793888246,791223659,784814815,784625659,793893174,786373146,-4]},{"a":0,"b":13,"alpha":[0,0,-380178,0,0,0,0,0,0,0,0,0,0,-9215452,0,-531044,0,0,0,0,0,0,0,0,0,0,0,0,0,-4906297,0,0,-392941,-176485,0,0,0,0,0,0,0,0,-1156743,0,-4068087,0,0,0,-424650,-189156,0,0,0,-2542995,0,-380178,0,0,0,0,0,0,0,-461933,-203785,0,0,0,0,0,-1156743,-829680,0,0,0,0,0,-506405,-220865,0,0,0,0,0,0,-2923173,0,-776565,0,0,-560378,-241068,0,0,0,0,0,0,0,0,-380178,0,-627277,-265338,0,0,0,0,0,0,0,0,0,-712415,-295041,0,0,0,0,0,0,0,0,-824506,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,789924896,790464294,788403705,787732291,789740647,786753324,786753324,787197652,787732291,788403705,789307551,790701461,794410444,784625659,789325317,786373146,-4]},{"a":0,"b":14,"alpha":[0,0,-5102894,0,0,0,0,0,-585409,-1451783,0,0,0,0,-2644700,-341889,0,0,0,0,0,0,0,0,0,0,0,-2251760,0,0,0,-3634887,-189156,-176485,0,0,0,0,0,0,0,0,0,0,-3164240,0,-6227605,0,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-3164240,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,0,0,0,0,0,0,0,0,-3703543,0,0,-265338,-241068,0,0,0,-127006,0,0,0,-585409,0,0,-295041,-265338,0,0,0,0,0,0,0,0,0,-332237,-295041,0,0,0,0,0,0,0,0,-380178,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,790701461,794410444,788403705,785480532,789449412,786753324,786373146,786753324,787197652,787732291,788403705,789307551,790701461,794410444,786753324,786373146,-4]},{"a":0,"b":15,"alpha":[0,0,0,0,-2185417,0,0,0,0,0,0,0,0,-4492737,0,-3283117,-165404,0,0,0,0,0,0,0,0,0,0,-118705,0,-3385105,0,-2571993,0,-176485,0,0,0,-4160500,0,0,0,0,0,0,-332237,0,0,0,0,-189156,0,0,0,0,0,-3052869,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,-1007455,0,-8163525,0,0,0,0,-220865,0,0,0,0,0,0,-1717121,0,0,0,0,0,-241068,0,0,0,-332237,0,0,-675219,0,0,0,0,-265338,0,0,0,0,-3385105,0,0,0,0,0,-295041,0,0,0,0,0,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3503809,0,0,0,0,0,0,0,-6678153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,790701461,789307551,788071468,794410444,787197652,786753324,789426014,786373146,786753324,790701461,794410444,788403705,789307551,790701461,794410444,786373146,-4]},{"a":0,"b":16,"alpha":[0,0,0,0,-6006740,0,0,0,0,0,0,0,0,-3588890,0,-365641,-165404,0,0,0,0,0,0,0,0,0,0,-141444,0,-4288952,0,0,0,-1821892,0,0,0,-671414,0,0,0,0,-1627642,0,0,0,0,0,-2382838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3588890,0,0,0,0,0,0,-3929848,0,-5461997,0,0,0,0,0,0,0,0,0,0,0,-1958188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1900069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4681892,0,-2975229,0,0,0,0,0,-3503809,0,0,0,0,0,0,-1575260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[794410444,790701461,789307551,788403705,794410444,787197652,785480532,787645938,786040910,786373146,794410444,790701461,789307551,788403705,789307551,790701461,794410444,-4]},{"a":0,"b":17,"alpha":[0,0,0,0,-2727936,0,0,0,0,-1919660,0,-4523386,0,-220865,0,-569426,0,-321034,0,0,-2297757,0,0,0,-2090309,0,0,0,0,-727270,0,-960468,0,-341889,0,0,0,-3950218,0,-444329,0,0,0,0,0,0,-98191,0,0,0,-365641,0,0,0,0,-4660552,0,0,0,0,0,0,0,0,-1415251,0,0,0,0,0,-4660552,-1642023,0,0,0,-2246732,0,0,0,-1046325,0,0,-1286439,0,0,-892615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1958188,0,0,0,0,0,-1451783,0,-5115335,0,-2362795,0,0,0,0,0,0,0,0,-4955592,0,0,0,0,0,0,0,0,-3266642,0,0,0,0,0,0,0,0,0,0,0,0,-351691,0,-1169612,0,-1488225,0,0,0,0,0,0,0,0,0,0,0,0,0,-2297757,0,0,0,-5102894,0,0,0],"beta":[794410444,790701461,789307551,790701461,794410444,787197652,787197652,794410444,790701461,789307551,786373146,789762850,787197652,787732291,790701461,794410444,790701461,794410444]},{"a":1,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1154757,-6882542,0,0,0,-386210,0,-968337,0,-392941,-176485,0,0,0,0,0,0,0,0,-4660552,0,-801446,0,0,0,-424650,-189156,0,0,0,-51297,0,0,0,0,0,0,0,-2724575,0,-968337,-424650,0,0,0,0,0,0,-3708984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1742678,0,0,0,-560378,-241068,0,0,0,0,0,0,-1979263,0,0,0,-627277,-265338,0,0,0,0,0,-783753,0,0,0,-2482889,-295041,0,0,0,0,0,0,0,0,-4328315,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,789307551,788403705,787783588,788352408,789307551,790701461,794410444,785745869,791173880,785239465,788711512,784814815,794410444,786373146,-4]},{"a":1,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,-3561682,0,0,-727270,0,-392941,-176485,0,0,0,0,0,0,0,-1284025,-3376527,0,-560378,0,-241068,0,-424650,-189156,0,0,0,0,0,-1650381,0,-1284025,-5102894,-332237,0,-560378,0,-461933,-203785,0,0,0,0,0,-1650381,0,0,-380178,0,0,0,-1133682,-220865,0,0,0,0,0,0,0,-978968,0,0,0,-1272792,-241068,0,0,0,0,0,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-2362795,-295041,0,0,0,0,-650194,0,0,0,-2284212,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,794410444,788403705,787732291,787197652,788403705,789307551,790701461,794410444,788382485,785239465,786547314,784814815,794410444,786373146,-4]},{"a":1,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,-3827019,0,0,-461933,0,-392941,-176485,0,0,0,0,0,0,0,0,0,0,-4955592,0,-141717,0,-789338,-189156,0,0,0,0,0,0,0,-3266642,-5102894,0,0,0,0,-1022310,-203785,0,0,0,0,0,-2030559,0,0,0,0,0,0,-1133682,-220865,0,0,0,-978968,0,0,0,0,0,0,0,-1272792,-241068,0,0,0,0,0,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-1691382,-295041,0,0,0,0,0,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,794410444,788403705,787732291,787197652,787732291,788403705,789307551,794410444,790701461,785239465,785622248,784814815,794410444,786373146,-4]},{"a":1,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,-4068087,0,0,-613806,-176485,0,0,0,0,0,0,0,-1359146,0,0,-3861784,0,0,0,-665718,-189156,0,0,0,0,0,0,0,0,-8664575,0,0,0,0,-727270,-203785,0,0,0,0,0,0,-2362795,0,0,0,0,0,-801446,-220865,0,0,0,-444329,0,0,0,0,-914818,0,0,-892615,-241068,0,0,0,0,0,0,-444329,0,0,0,-1007455,-265338,0,0,0,0,0,0,0,0,0,-1156743,-295041,0,0,0,0,0,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,-4188077,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,794410444,788403705,787732291,787197652,787197652,787732291,788403705,794410444,789786644,794410444,785018600,784814815,791849853,786373146,-4]},{"a":1,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4837557,0,0,0,0,0,0,0,0,-4333424,-220865,0,-392941,-176485,0,0,0,0,0,0,0,0,-845974,0,-2657836,0,-1958188,0,-424650,-189156,0,0,0,0,0,0,0,0,-8664575,0,0,0,0,-461933,-203785,0,0,0,0,0,-1812428,-845409,0,0,0,0,0,-506405,-220865,0,0,0,-1691382,0,0,0,0,0,0,0,-560378,-241068,0,0,0,-824506,0,0,0,0,0,0,-627277,-265338,0,0,0,0,0,0,0,0,0,-712415,-295041,0,0,0,0,0,0,-3503809,0,-824506,-332237,0,0,0,0,0,0,0,0,0,0,0,0,-4837557,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,794145107,788403705,787732291,787197652,786753324,790701461,787732291,794410444,788138367,794410444,790701461,784814815,789136161,786373146,-4]},{"a":1,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,0,0,-4492737,-189156,-176485,0,0,0,0,0,0,0,0,-1156743,0,-2923173,0,-1602947,0,-203785,-189156,0,0,0,0,0,0,0,0,-8664575,0,0,0,-506405,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-2923173,0,-241068,-220865,0,0,0,0,0,0,0,0,-1986423,0,0,-265338,-241068,0,0,0,0,0,0,0,0,-1156743,0,-295041,-265338,0,0,0,0,0,0,0,0,0,-332237,-295041,0,0,0,0,0,0,0,0,-380178,-332237,0,0,0,0,0,0,0,0,0,0,0,0,-6678153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4596489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,794410444,788403705,787732291,787197652,786373146,786753324,787197652,794410444,788403705,793904040,790701461,794410444,786753324,786373146,-4]},{"a":1,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3164240,0,-885281,-5735265,-176485,0,0,0,0,0,0,0,0,0,0,0,0,-1837126,0,-4049521,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-4288952,0,-203785,0,0,0,0,0,0,-3164240,0,0,0,0,0,0,-220865,0,0,0,0,0,0,-739369,0,0,0,-712415,0,-241068,0,0,0,0,0,0,-2251760,0,0,0,0,-265338,0,0,0,0,-712415,0,0,0,0,0,-295041,0,0,0,0,0,0,0,0,0,-332237,0,0,0,0,0,-2451826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,789307551,788403705,786932315,787997629,786753324,786373146,789205150,787197652,787732291,788403705,789307551,790701461,794410444,786373146,-4]},{"a":1,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4171839,0,0,0,0,0,0,-4492737,0,-1296695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-6075802,0,0,0,0,0,0,0,0,0,0,0,-4492737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3385105,0,0,0,0,0,0,0,0,0,-2492827,0,0,0,0,0,0,0,0,0,0,-332237,0,-1384884,0,0,0,0,0,0,0,0,0,0,0,-3192872,0,0,0,-1986423,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1485372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-6678153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,789307551,788403705,787732291,787197652,790925163,786373146,786373146,788238696,787197652,794410444,788403705,789307551,790701461,794410444,-4]},{"a":1,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-6006740,0,0,0,0,0,0,0,0,-3588890,0,-365641,-165404,0,0,0,0,0,0,0,0,0,-141444,0,-4288952,0,0,0,-1821892,0,0,-671414,0,0,0,0,-1627642,0,0,0,0,0,-2382838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3588890,0,0,0,0,0,-3929848,0,-5461997,0,0,0,0,0,0,0,0,0,0,-1958188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1900069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4681892,0,-2975229,0,0,0,0,-3503809,0,0,0,0,0,-1575260,0,0,0,0,0,0,0,0,0,0],"beta":[-4,794410444,790701461,789307551,788403705,794410444,787197652,785480532,787645938,786040910,786373146,794410444,790701461,789307551,788403705,789307551,790701461,794410444]},{"a":2,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,-3708984,-4328315,0,0,0,0,0,-1558332,-189156,0,0,0,0,0,-3948137,0,0,0,0,0,0,0,-1734725,-203785,0,0,0,0,0,-2109899,0,0,0,0,0,0,0,-1022310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-963444,0,0,0,0,0,0,0,0,0,0,0,0,-9170980,0,0,0,0,0,-1734725,0,0,0,0,0,-6302574,-332237,0,0,0,0,0,0,-579969,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,787732291,788403705,789307551,794410444,792436185,786040910,786709313,785480532,794410444,785598568,794410444,786373146,-4]},{"a":2,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,-5102894,-2934405,0,0,0,-1133682,0,-424650,-189156,0,0,0,0,0,0,0,0,-4660552,0,0,0,0,-1022310,-203785,0,0,0,0,0,-2554228,0,0,0,0,0,0,-1513860,-220865,0,0,0,-1206053,0,0,0,0,0,0,0,-1717121,-241068,0,0,0,0,0,0,-1986423,0,0,0,0,-265338,0,0,0,0,0,-671414,0,0,0,-1691382,-295041,0,0,-4810990,0,0,0,0,0,-3226309,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,788403705,787732291,788403705,794410444,794118541,790701461,788403705,785480532,786373146,785018600,794410444,786373146,-4]},{"a":2,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,0,-5730171,0,0,0,-931055,-189156,0,0,0,0,0,0,0,0,-4660552,0,0,0,0,-1022310,-203785,0,0,0,0,0,-2934405,0,0,0,0,0,0,-1133682,-220865,0,0,0,-534640,0,0,0,0,0,0,0,-1272792,-241068,0,0,0,-1650381,0,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-1691382,-295041,0,0,0,0,-2934405,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,787287963,788848033,787732291,791338109,789307551,790701461,794410444,785480532,785239465,785018600,794348376,786373146,-4]},{"a":2,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,0,-506405,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,-5220929,0,0,0,-665718,-189156,0,0,0,0,0,0,0,0,0,0,-8664575,0,0,-727270,-203785,0,0,0,0,0,0,-3266642,0,0,0,0,0,-801446,-220865,0,0,0,0,0,0,-2030559,0,0,0,0,-892615,-241068,0,0,0,-978968,0,0,0,0,0,0,-1007455,-265338,0,0,0,0,0,0,0,0,0,-1156743,-295041,0,0,0,0,0,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,790701461,794410444,789307551,788403705,787732291,787197652,787732291,789639788,788071468,790701461,794410444,785239465,785018600,791425203,786373146,-4]},{"a":2,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,0,0,-9170980,0,-424650,-189156,0,0,0,0,0,0,0,0,0,0,-5220929,0,0,-461933,-203785,0,0,0,-2582715,0,-978968,0,0,0,0,0,0,-506405,-220865,0,0,0,0,0,0,-2362795,0,0,0,0,-560378,-241068,0,0,0,0,-380178,0,-3561682,0,0,0,-627277,-265338,0,0,0,0,0,0,0,0,0,-712415,-295041,0,0,0,0,0,0,0,0,-1803474,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1206053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,788403705,790315006,786753324,788176620,786753324,788403705,789307551,790701461,794410444,785018600,791117396,786373146,-4]},{"a":2,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,-2969170,0,-978968,0,0,-1007455,0,-161727,-565543,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-3827019,0,-5343961,-220865,-203785,0,0,0,0,0,-2290099,-1536921,0,0,0,0,0,-241068,-220865,0,0,0,0,0,0,0,0,0,0,-2657836,-265338,-241068,0,0,0,-3010171,0,0,-1650381,0,0,0,-295041,-265338,0,0,0,0,0,0,0,0,-824506,-332237,-295041,0,0,0,0,0,0,-5300270,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,790701461,794410444,789307551,788403705,790701461,787197652,793032561,787910067,786040910,788403705,789307551,790701461,794410444,787732291,786373146,-4]},{"a":2,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,-4492737,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-5682862,0,-203785,0,0,0,0,0,0,0,0,0,0,-4068087,0,0,-220865,0,0,0,0,0,0,0,0,-2923173,0,0,0,-241068,0,0,0,0,0,0,-1986423,0,0,0,0,-265338,0,0,0,0,-1156743,0,0,0,0,0,-295041,0,0,-380178,0,0,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,788403705,787732291,787197652,786753324,786753324,787197652,787732291,788403705,794410444,790701461,794410444,786373146,-4]},{"a":2,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,-2389202,0,0,0,0,0,0,0,0,-6781779,-613806,0,0,0,0,0,0,0,0,-3208769,0,0,0,-2677878,0,0,0,0,0,-4288952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3164240,0,0,0,0,0,0,-8664575,0,-265338,0,0,0,0,0,0,0,-1451783,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-712415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3948137,0,0,0,-4509977,0,-451057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,789307551,788403705,794410444,787197652,786753324,786373146,790701461,794410444,785480532,790014778,787696478,792760064,792351841,-4]},{"a":2,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,0,0,-671558,0,-4068087,0,-2917477,0,-2304150,0,0,-2690698,0,0,0,0,0,0,0,0,-3385105,0,0,0,0,0,0,0,0,0,0,-4160500,0,0,0,0,0,0,0,0,0,0,0,0,0,-4660552,0,0,0,-1747487,0,0,0,0,0,0,-2492827,0,0,0,0,0,0,0,0,0,-1156743,0,-560378,0,0,0,0,0,0,0,0,-1007455,0,0,0,0,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,-824506,0,0,0,0,0,0,0,-7657121,0,0,0,0,-3503809,0,0,0,-1575260,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,790701461,788975315,791426638,787732291,787197652,786753324,786373146,787197652,794410444,790701461,789307551,788403705,789307551,790701461,794410444]},{"a":3,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,-3503809,0,0,0,0,0,-2724575,0,-968337,-424650,0,0,0,0,0,0,-7657121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3827019,-241068,0,0,0,-1575260,0,0,0,0,0,0,-1082576,-265338,0,0,0,0,0,0,0,0,0,-3266642,-295041,0,0,0,0,-4081044,0,0,0,-247272,-332237,0,0,0,0,0,0,-5461997,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,789307551,790701461,794410444,786373146,790121953,785745869,788205107,790701461,794410444,786373146,-4]},{"a":3,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-8037298,0,0,0,0,-968337,-424650,0,0,0,0,0,0,-3948137,0,0,0,-1900069,0,0,0,0,0,0,-2109899,0,0,0,0,0,0,0,-1717121,-241068,0,0,0,-671414,0,0,0,0,0,0,-1986423,-265338,0,0,0,0,0,0,0,0,0,-2362795,-295041,0,0,0,0,-577235,0,0,0,-2357171,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,788403705,789307551,790701461,794410444,786618144,785745869,787380601,785239465,794410444,786373146,-4]},{"a":3,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,0,-560378,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,0,-627277,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,-1678425,-6691110,0,0,0,0,-1022310,-203785,0,0,0,0,0,0,-4328315,0,0,0,0,0,-1133682,-220865,0,0,0,-2554228,0,0,0,0,0,0,0,-1272792,-241068,0,0,0,-1206053,0,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-1691382,-295041,0,0,0,0,-2554228,0,0,0,-2030559,-332237,0,0,0,-3452513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,787732291,790957932,792760064,790701461,794410444,785745869,785480532,785239465,793621106,786373146,-4]},{"a":3,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-2934405,0,-5730171,0,0,-727270,-203785,0,0,0,0,0,0,-4660552,0,0,0,0,0,-801446,-220865,0,0,0,0,0,0,0,0,-2934405,0,0,-892615,-241068,0,0,0,-1650381,0,0,0,0,0,0,-1007455,-265338,0,0,0,0,0,0,0,0,0,-1156743,-295041,0,0,0,0,-1650381,0,0,0,-1359146,-332237,0,0,0,-3010171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,787197652,789382672,791413875,789307551,790701461,794410444,785480532,785239465,790963271,786373146,-4]},{"a":3,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,0,-506405,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-2030559,0,-5220929,0,0,-461933,-203785,0,0,0,0,0,0,-4647595,0,0,0,-1986423,0,-506405,-220865,0,0,0,-3266642,0,0,0,0,0,0,0,-560378,-241068,0,0,0,-2030559,0,0,0,0,0,0,-627277,-265338,0,0,0,0,0,0,0,0,0,-712415,-295041,0,0,0,0,-6276167,0,0,0,-824506,-332237,0,0,0,-2093368,0,-1575260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,792732019,792379886,789307551,788403705,786753324,793473819,791400919,788403705,794410444,790701461,794410444,785239465,788711512,786373146,-4]},{"a":3,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-1359146,0,-7811835,-220865,-203785,0,0,0,0,0,0,0,0,-5220929,0,0,0,-241068,-220865,0,0,0,0,0,0,-1359146,0,-2202537,0,0,-265338,-241068,0,0,0,0,0,0,-2362795,0,0,0,-295041,-265338,0,0,0,0,0,0,0,0,-1359146,-332237,-295041,0,0,0,0,0,0,0,0,-824506,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5220929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,787732291,787197652,786753324,787732291,793624633,789307551,790701461,794410444,787197652,786373146,-4]},{"a":3,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-824506,0,-4837557,0,0,-3729783,-203785,0,0,0,0,0,0,0,0,0,0,-3282276,0,-2179721,-220865,0,0,0,0,0,0,0,0,-3827019,0,0,0,-241068,0,0,0,0,0,0,0,0,0,0,-2657836,-265338,0,0,0,0,0,0,0,0,0,0,-295041,0,0,0,0,-1691382,0,0,0,-824506,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5461997,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,786040910,788889034,786753324,787197652,787732291,794410444,788762808,790701461,794410444,786373146,-4]},{"a":3,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-2366601,0,-7229030,0,0,0,0,0,0,0,0,-1156743,0,0,0,-4526119,0,0,0,0,0,0,0,-4068087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2923173,0,0,0,0,0,0,0,0,0,0,0,0,0,-1986423,0,0,0,0,0,0,0,0,-1156743,0,0,0,0,0,0,0,0,-380178,0,0,0,0,-1986423,0,-1701487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,789307551,788403705,787732291,787197652,786753324,790441233,787197652,787732291,788403705,789307551,791081639,794030266,-4]},{"a":3,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,0,-2364264,0,-5886646,-1533876,0,0,-1717789,0,0,0,0,0,0,0,0,-2472624,0,-1696234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2251760,0,-6919221,0,0,0,0,0,0,0,-1451783,0,-799977,0,0,0,0,0,0,-1451783,0,0,0,0,0,0,0,0,-712415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1451783,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0],"beta":[-4,786373146,786753324,794410444,790701461,785018600,794410444,787732291,787197652,786753324,786373146,788205107,787197652,787732291,788403705,794410444,790701461,794410444]},{"a":4,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,-7212792,0,0,0,-1451783,0,-506405,-220865,0,0,0,-2969170,0,0,0,0,0,0,0,-1187655,-506405,0,0,0,-903847,0,0,0,0,-3721940,0,0,0,0,0,0,0,0,0,0,0,0,-5331965,-295041,0,0,0,0,-118036,0,0,0,-2144957,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,787197652,786753324,794410444,790701461,789307551,791372874,788636138,794410444,786753324,786491182,786040910,790919592,785480532,794410444,786373146,-4]},{"a":4,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,-2133724,0,-1575260,-3503809,0,0,0,0,0,-1958188,-220865,0,0,0,-2297757,0,0,-1650381,0,0,0,0,-1272792,-241068,0,0,0,0,0,0,0,0,0,0,-1986423,-265338,0,0,0,0,-6006740,0,0,0,0,-2362795,-295041,0,0,0,0,-1343622,0,0,0,-1590784,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,787577830,786373146,794410444,790701461,787732291,794410444,789307551,790701461,794410444,787716768,786040910,785745869,785480532,794410444,786373146,-4]},{"a":4,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-627277,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-8037298,0,0,0,-1133682,-220865,0,0,0,0,0,0,-3948137,0,0,0,0,-1272792,-241068,0,0,0,0,-2109899,0,0,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-2362795,-295041,0,0,0,0,0,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,787910067,786040910,794410444,790701461,789307551,788403705,787732291,789307551,790701461,794410444,786040910,785745869,785480532,792819661,786373146,-4]},{"a":4,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-627277,-560378,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,-203785,0,0,0,-4658565,0,0,0,0,-3378734,0,0,0,-1133682,-220865,0,0,0,0,0,0,0,0,-4660552,0,0,-560378,-241068,0,0,0,0,-7212792,0,0,0,0,0,-1007455,-265338,0,0,0,0,0,0,-1206053,0,0,-1156743,-295041,0,0,0,0,0,0,0,0,-1359146,-332237,0,0,0,-3452513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788205107,785745869,794410444,790701461,793966116,788403705,787732291,794410444,786753324,793204392,791907513,785745869,785480532,790456866,786373146,-4]},{"a":4,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-627277,-560378,-506405,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-8664575,0,-506405,-220865,0,0,0,0,0,0,-4660552,0,0,0,0,-560378,-241068,0,0,0,-444329,-2490077,0,0,0,0,0,-627277,-265338,0,0,0,0,-1650381,0,0,0,0,-712415,-295041,0,0,0,0,0,0,0,0,-1803474,-332237,0,0,0,-2934405,0,0,0,0,0,0,0,0,-4660552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788470444,785480532,794410444,790701461,789307551,788403705,788176620,789687729,793064256,789307551,790701461,794410444,785480532,789449412,786373146,-4]},{"a":4,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-627277,-560378,-506405,-461933,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,-203785,0,0,0,0,0,0,0,0,-3791690,0,-4872886,0,-506405,-220865,0,0,0,0,0,0,0,0,0,0,-5220929,0,-241068,0,0,0,0,0,0,-3266642,0,0,0,-295041,-265338,0,0,0,0,-978968,0,-1051591,0,0,-332237,-295041,0,0,0,0,-978968,0,0,0,-380178,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3791690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788711512,785239465,794410444,790701461,789307551,788403705,787732291,787197652,787732291,794410444,787092501,794410444,790701461,786753324,786373146,-4]},{"a":4,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-824506,-712415,-627277,-560378,-506405,-461933,-424650,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,0,0,0,0,0,0,-9170980,-220865,0,0,0,0,0,0,0,0,-5220929,0,0,0,-241068,0,0,0,0,0,0,-3561682,0,0,0,0,-265338,0,0,0,0,0,0,-2362795,0,0,0,-295041,0,0,0,0,-1359146,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3561682,0,0,0,0,0,0,-5220929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788932376,785018600,794410444,790701461,789307551,788403705,787732291,787197652,786753324,791293973,793624633,789307551,790701461,794410444,786373146,-4]},{"a":4,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,-1536921,-627277,-560378,-506405,-461933,-424650,-392941,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-8369535,-1022310,0,0,0,0,0,0,-5461997,0,0,0,0,0,0,0,0,0,-3827019,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1691382,0,-966454,0,0,0,0,0,0,-824506,0,-2657836,0,-801446,-1234615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2860566,0,-3425938,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,789136161,784814815,794410444,790701461,789307551,788403705,791559310,786373146,793039827,787197652,787732291,788403705,789307551,794410444,790701461,-4]},{"a":4,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,-824506,-712415,-627277,-560378,-506405,-461933,-424650,-392941,-365641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,0,0,-4492737,0,0,0,0,0,0,0,0,0,0,0,-5682862,0,0,0,0,0,0,0,0,0,0,-9170980,0,0,0,0,0,0,0,0,0,-2923173,0,0,0,0,0,0,0,0,-1986423,0,0,0,0,0,0,-1156743,0,0,0,0,0,0,0,0,-380178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0],"beta":[-4,786373146,789325317,784625659,794410444,790701461,794410444,788403705,787732291,787197652,786753324,787529889,786421088,787732291,788403705,794410444,790701461,794410444]},{"a":5,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,-4647595,0,0,-1206053,0,-2515888,0,-560378,-241068,0,0,0,-1359146,-2969170,0,0,0,0,0,-627277,-265338,0,0,0,0,0,-2554228,0,0,0,-712415,-295041,0,0,-1007455,0,0,0,0,0,-7029844,-332237,0,0,0,0,0,0,-4955592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,787732291,786753324,787197652,794410444,790701461,789307551,794410444,791708916,787197652,790513603,786373146,788556797,790701461,794410444,786373146,-4]},{"a":5,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-1156743,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,-7212792,0,0,0,0,-1717121,-241068,0,0,0,0,-2969170,0,0,0,0,0,-1986423,-265338,0,0,0,0,0,0,0,0,0,-3266642,-295041,0,0,0,0,-70830,0,0,0,-1959729,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788556797,786373146,786753324,794410444,790701461,789307551,788403705,790701461,794410444,786824154,786373146,786040910,785745869,794410444,786373146,-4]},{"a":5,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,0,-560378,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,0,-2164198,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,-7657121,0,0,0,0,-1272792,-241068,0,0,0,0,0,0,-3503809,0,0,0,-1451783,-265338,0,0,0,0,0,0,0,0,0,-3266642,-295041,0,0,0,0,0,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,789269212,786040910,786373146,794410444,790701461,789307551,788403705,787732291,790701461,794410444,786373146,786040910,785745869,793502307,786373146,-4]},{"a":5,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-1156743,-1007455,-892615,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,0,0,0,-3452513,0,0,0,0,-4584786,0,0,-892615,-241068,0,0,0,-3948137,0,0,0,0,0,0,-1007455,-265338,0,0,0,0,-2109899,0,-3452513,0,0,-1156743,-295041,0,0,0,0,-3948137,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,789896489,785745869,786040910,794410444,790701461,792760064,792351841,787732291,789307551,790701461,794410444,786040910,785745869,790567902,786373146,-4]},{"a":5,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,0,-560378,0,-461933,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-3009526,0,-2164198,0,-1694060,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,0,0,0,0,0,0,-774579,0,-7594957,0,0,-560378,-241068,0,0,0,0,0,0,-4328315,0,0,0,-627277,-265338,0,0,0,0,-2109899,0,0,0,0,-1156743,-295041,0,0,0,0,0,0,0,0,-380178,-332237,0,0,0,-1650381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,792107247,785480532,785745869,794410444,790701461,789307551,786753324,789382672,788403705,794410444,790701461,794410444,785745869,788205107,786373146,-4]},{"a":5,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-1156743,-1007455,-892615,-801446,-727270,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,0,0,0,0,0,0,0,0,-2934405,0,-5730171,-265338,-241068,0,0,0,-4660552,0,0,0,0,0,0,-295041,-265338,0,0,0,0,0,0,0,0,-2934405,-332237,-295041,0,0,0,0,-1650381,0,-4660552,0,-380178,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,790963271,785239465,785480532,794410444,790701461,789307551,793064256,787732291,787197652,788403705,789307551,790701461,794410444,786753324,786373146,-4]},{"a":5,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-1156743,-1007455,-892615,-801446,-461933,-931055,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,0,0,0,0,0,0,0,0,-3708984,0,-5220929,0,-241068,0,0,0,-2740099,0,0,0,0,0,0,-2215494,-265338,0,0,0,0,0,0,0,0,0,0,-295041,0,0,0,0,0,0,-1588217,0,-6449082,-332237,0,0,0,-978968,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,791425203,785018600,785239465,794410444,790701461,786040910,794410444,787732291,787197652,787732291,790082129,787629126,790701461,794410444,786373146,-4]},{"a":5,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-444329,-2071560,-1007455,-892615,-801446,-727270,-665718,-613806,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9170980,0,0,0,0,0,0,0,0,-5220929,0,0,0,0,0,0,0,0,0,0,0,-3561682,0,0,0,0,0,0,0,0,0,0,-2362795,0,0,0,0,-444329,0,0,0,0,0,0,0,0,-1359146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2858135,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,791849853,784814815,785018600,794410444,790701461,789307551,788403705,786817474,788112469,787197652,787732291,791261839,789307551,790701461,794410444,-4]},{"a":5,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,-3009526,-1156743,-1007455,-892615,-801446,-727270,-665718,-613806,-569426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5461997,-3929848,0,0,0,0,0,0,0,0,0,-5102894,0,-359104,0,0,0,0,0,-1169184,0,-2657836,0,0,0,0,0,0,0,0,-1007455,0,0,0,0,0,0,0,0,0,0,-3341763,0,0,0,0,0,0,0,-485257,0,0,0,0,-339250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0],"beta":[-4,786373146,793893174,784625659,784814815,794410444,790701461,789307551,786753324,789382672,787197652,786753324,787542330,787387614,788403705,794410444,790701461,794410444]},{"a":6,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2030559,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,-442342,-5564398,0,-1206053,0,-824506,0,-627277,-265338,0,0,0,0,0,0,0,0,0,-3266642,-295041,0,0,0,0,0,0,0,0,-4770657,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4660552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,788403705,786753324,787197652,787732291,794410444,789307551,791143803,793968102,787732291,788403705,786753324,787197652,790701461,794410444,786373146,-4]},{"a":6,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1359146,-2362795,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,-5102894,-1575260,0,0,0,-1359146,0,-627277,-265338,0,0,0,0,-2297757,0,0,0,0,-2362795,-295041,0,0,0,-2362795,0,0,0,0,-5674504,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,789762850,786373146,786753324,787197652,794410444,790701461,794410444,789307551,793064256,787197652,786753324,787732291,786040910,794410444,786373146,-4]},{"a":6,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-712415,-627277,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,-978968,-824506,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,0,-7212792,0,0,0,-1451783,-265338,0,0,0,0,-2969170,0,0,0,0,-1691382,-295041,0,0,0,0,0,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,790019966,786040910,788176620,786753324,794410444,790701461,788403705,789307551,790701461,794410444,786753324,786373146,786040910,790919592,786373146,-4]},{"a":6,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2030559,-1691382,-1451783,-1272792,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,0,0,0,0,0,0,-7212792,0,0,0,-1451783,-265338,0,0,0,0,0,0,-3948137,0,0,-712415,-295041,0,0,0,0,0,0,0,0,-2934405,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,791927047,785745869,786040910,786373146,794410444,790701461,789307551,788403705,787732291,794410444,790701461,786373146,786040910,790844472,786373146,-4]},{"a":6,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2030559,-1691382,-1451783,-1272792,-1133682,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,0,0,0,0,0,0,0,0,-8037298,0,-627277,-265338,0,0,0,0,0,0,-3948137,0,0,-712415,-295041,0,0,0,0,-2109899,0,0,0,-824506,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,792819661,785480532,785745869,786040910,794410444,790701461,789307551,788403705,787732291,789307551,790701461,794410444,786040910,787910067,786373146,-4]},{"a":6,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2030559,-1691382,-1451783,-1272792,-801446,-1354547,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,0,0,0,-5102894,0,0,0,0,-3266642,0,-295041,-265338,0,0,0,0,0,0,0,0,-4328315,-332237,-295041,0,0,0,0,-2554228,0,-5102894,0,-380178,-332237,0,0,0,-1206053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,793621106,785239465,785480532,785745869,794410444,790701461,794410444,788403705,787732291,790957932,786753324,794410444,790701461,786753324,786373146,-4]},{"a":6,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2030559,-1691382,-1451783,-1272792,-1133682,-1022310,-931055,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,0,0,0,0,0,0,0,0,0,0,0,0,-241068,0,0,0,-5102894,0,0,0,0,0,0,-3561682,-265338,0,0,0,0,0,0,-1115742,0,-3544811,0,-295041,0,0,0,0,0,0,-4050147,0,-3987152,-332237,0,0,0,-1650381,0,0,0,0,0,0,0,0,-534640,0,0,0,0,0,0,0,0,0,-1115742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794348376,785018600,785239465,785480532,794410444,790701461,794410444,788403705,787732291,788848033,788403705,790423292,789585720,794410444,786373146,-4]},{"a":6,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,-365641,0,0,0,0,0,0,0,0,0,-3721940,-1451783,-1272792,-1133682,-1022310,0,-817591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-968337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-4328315,0,0,0,0,0,0,-4601598,0,0,0,0,0,-4647595,0,-307998,0,0,0,0,0,0,0,0,0,0,-2030559,0,-5564398,0,0,0,0,0,0,0,0,0,0,0,0,0,-670971,0,-3266642,0,-3719509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794045756,784814815,785986937,785239465,794410444,790701461,793635866,786373146,794410444,787197652,787732291,788403705,789307551,794410444,790701461,-4]},{"a":6,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,-813105,-1691382,-1451783,-1272792,-1133682,-1022310,-931055,-854873,-790290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1217454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,-4068087,0,0,0,0,0,0,0,0,0,-5220929,0,0,-1198888,0,0,0,-2362795,0,0,0,0,0,0,0,0,0,0,-3561682,0,0,0,0,0,0,-1359146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0],"beta":[-4,786373146,794410444,784625659,786032269,785018600,794410444,790701461,789307551,789602592,787732291,787197652,786753324,788735941,787400055,794410444,790701461,794410444]},{"a":7,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,-671414,-534640,-444329,-380178,-332237,-295041,-265338,0,0,0,0,0,0,0,0,0,-8369535,-295041,0,0,-4328315,0,0,0,0,0,0,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,789307551,786753324,787197652,787732291,788403705,794410444,790701461,793635866,788403705,787732291,787197652,786753324,786373146,794410444,786373146,-4]},{"a":7,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-2362795,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,-265338,0,0,0,0,-6006740,0,0,0,0,-2362795,-295041,0,0,0,0,0,0,0,0,-4328315,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,791338109,786373146,786753324,787197652,787732291,794410444,790701461,789307551,794410444,787732291,787197652,786753324,786373146,792732019,786373146,-4]},{"a":7,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-2362795,-1986423,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,0,0,0,0,-2297757,0,0,0,0,-2362795,-295041,0,0,0,0,-6678153,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,793029491,786040910,786373146,786753324,787197652,790701461,794410444,789307551,790701461,794410444,787197652,786753324,786373146,789762850,786373146,-4]},{"a":7,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-2362795,-1986423,-1646291,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,0,0,0,0,0,0,0,-70830,-380178,-332237,-295041,-265338,0,0,0,0,0,0,-7212792,0,0,-1156743,-295041,0,0,0,0,-2969170,0,0,0,-1359146,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785745869,786040910,786373146,786824154,794410444,790701461,789307551,788403705,790701461,794410444,786753324,786373146,788556797,786373146,-4]},{"a":7,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-2362795,-1467307,-892615,-1513860,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,0,0,0,0,0,0,-519116,-824506,0,-332237,-295041,-265338,0,0,0,0,0,0,-7212792,0,0,-1156743,-295041,0,0,0,0,0,0,-3948137,0,-380178,-332237,0,0,0,-1575260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785480532,785745869,786040910,787716768,794410444,790701461,789307551,788403705,789307551,794410444,790701461,786373146,787577830,786373146,-4]},{"a":7,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-1169516,-2362795,-1986423,-1717121,-801446,-1354547,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,-203785,0,0,0,0,0,0,-1764890,0,0,0,0,0,-241068,-220865,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,0,0,0,0,0,0,0,0,-712415,0,-295041,-265338,0,0,0,0,0,0,0,0,-8037298,-332237,-295041,0,0,0,0,0,0,-3948137,0,-380178,-332237,0,0,0,-2109899,0,0,0,0,0,0,0,0,-671414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785239465,787245421,785745869,786753324,794410444,790701461,789307551,788403705,789842190,787869065,790701461,794410444,786753324,786373146,-4]},{"a":7,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-2934405,-2362795,-1632652,-1272792,-506405,-461933,-424650,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,0,0,0,0,0,-892615,-801446,-220865,0,0,0,0,0,0,0,0,0,0,0,0,-241068,0,0,0,0,0,0,-353772,-444329,-1007455,0,0,-265338,0,0,0,0,0,0,0,0,-4328315,0,-627277,0,0,0,0,0,0,0,0,-8369535,0,0,0,0,0,0,-2554228,0,0,0,0,0,0,-1206053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785018600,786933524,785480532,787551423,790701461,794410444,789307551,788403705,787732291,788403705,789307551,790701461,794410444,786373146,-4]},{"a":7,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-627277,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,-1593802,-1986423,-1717121,-1513860,-1354547,-1226095,-392941,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3703399,0,0,0,0,0,0,-461933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-265338,0,0,0,0,0,0,0,0,-2934405,0,-5730171,0,0,0,0,0,0,0,0,-4660552,0,0,0,0,0,0,-1115742,0,-1818664,0,0,0,0,-1650381,0,0,0,0,0,0,0,-534640,0,0,0,0,0,0,0,0,-1115742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,784814815,789183930,785239465,785745869,794410444,790701461,789307551,788403705,787732291,788848033,788403705,789307551,792520125,792591781,-4]},{"a":7,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,0,-560378,-241068,-220865,-203785,-189156,-176485,-165404,0,0,0,0,0,0,0,-2934405,0,-1464119,-1717121,-1133682,-1022310,-931055,-348469,-410113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2885099,0,0,0,0,0,0,-886582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-506405,0,0,0,0,0,0,0,0,0,0,-8929913,0,0,0,0,0,0,-978968,0,0,0,-3976625,0,0,0,0,0,0,-3266642,0,0,0,0,0,0,-2030559,0,0,0,0,0,0,0,0,0,-978968,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,784625659,788586496,785018600,786753324,794410444,790701461,789307551,788403705,787732291,787197652,787732291,788403705,789307551,794410444,790701461]},{"a":8,"b":9,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-4328315,-332237,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,-671414,-534640,-444329,-380178,-332237,-295041,-265338,0,0,0,0,-903847,-671414,-534640,-444329,-380178,-332237,-295041,0,0,0,0,0,0,0,0,-8037298,-332237,0,0,0,0,0,0,-3948137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,790701461,786753324,787197652,787732291,788403705,789307551,794410444,790701461,789307551,788403705,787732291,787197652,790701461,794410444,786373146,-4]},{"a":8,"b":10,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-4328315,-3266642,-295041,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,-265338,0,0,0,0,0,-671414,-534640,-444329,-380178,-332237,-295041,0,0,0,0,0,0,0,0,-8037298,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,793635866,786373146,786753324,787197652,787732291,788403705,794410444,790701461,789307551,788403705,787732291,787197652,786753324,794410444,786373146,-4]},{"a":8,"b":11,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-4328315,-2884478,-1451783,-265338,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,-380178,-332237,-295041,-265338,-241068,0,0,0,0,0,-382165,-1206053,-444329,-380178,-332237,-295041,-265338,0,0,0,0,0,0,-534640,-444329,-380178,-332237,-295041,0,0,0,0,-6006740,0,0,0,-2030559,-332237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,786040910,786373146,786753324,788785869,787732291,794410444,790701461,789307551,794410444,787732291,787197652,786753324,788403705,786373146,-4]},{"a":8,"b":12,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,0,-506405,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-4328315,-1877023,0,-2724575,-241068,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,-220865,-203785,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,0,0,0,0,0,-1389620,0,-2185020,-380178,-332237,-295041,-265338,0,0,0,0,0,0,0,-444329,-380178,-332237,-295041,0,0,0,0,-6678153,0,0,0,-1359146,-332237,0,0,0,-2297757,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785745869,786040910,786373146,790327963,787197652,794410444,790701461,789307551,794410444,790701461,787197652,786753324,787732291,786373146,-4]},{"a":8,"b":13,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,0,-506405,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,-4328315,-3148606,0,-1187655,-506405,-220865,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,-241068,-220865,-203785,0,0,0,0,0,0,0,0,-3721940,0,-627277,-265338,-241068,-220865,0,0,0,0,0,0,0,0,0,0,-295041,-265338,-241068,0,0,0,0,0,-118036,0,0,-824506,-332237,-295041,-265338,0,0,0,0,0,0,0,0,-380178,-332237,-295041,0,0,0,0,0,0,-7212792,0,-824506,-332237,0,0,0,-2969170,0,0,0,0,0,0,0,0,-903847,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785480532,790095086,786040910,787315688,786753324,794410444,790701461,789307551,791372874,788636138,794410444,786753324,787197652,786373146,-4]},{"a":8,"b":14,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-627277,-265338,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,-2062130,-2657836,-2251760,-1958188,-461933,-203785,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,-220865,-203785,0,0,0,0,0,0,-5532827,0,0,0,0,-1272792,-241068,-220865,0,0,0,0,0,0,0,0,0,0,0,-265338,-241068,0,0,0,0,0,0,0,0,0,0,-295041,-265338,0,0,0,0,0,0,0,0,0,-332237,-295041,0,0,0,0,-1575260,0,-3708984,-2372878,-380178,-332237,0,0,0,0,0,-3503809,0,0,0,0,0,0,0,0,-1575260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785239465,792286150,785745869,786040910,786373146,794410444,790701461,789307551,789978964,787732291,794410444,790701461,786753324,786373146,-4]},{"a":8,"b":15,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-62069,-830546,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,-2092627,-2251760,-1958188,-1734725,-1558332,-189156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-203785,0,0,0,0,0,0,-8160165,0,0,0,0,0,0,-220865,0,0,0,0,0,0,0,0,0,0,0,0,-241068,0,0,0,0,0,0,0,0,0,0,0,-265338,0,0,0,0,0,0,0,0,0,0,-295041,0,0,0,0,0,0,0,0,-8037298,-332237,0,0,0,0,0,-3948137,0,0,0,0,0,0,0,0,-2109899,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,785018600,793399629,785480532,785745869,786040910,794410444,790701461,789307551,788403705,787732291,791145789,788863223,794410444,786373146,-4]},{"a":8,"b":16,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-190521,-702094,-241068,-220865,-203785,-189156,-176485,0,0,0,0,0,0,0,0,0,0,-1015027,-3457812,-1958188,-1734725,-1226095,-392941,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1354547,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-8031713,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-8369535,0,0,0,0,0,0,-2554228,0,0,0,0,0,0,0,0,0,0,-4328315,0,0,0,0,0,0,0,0,0,0,-1206053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"beta":[-4,786373146,794410444,784814815,786373146,785239465,793512245,785745869,794410444,790701461,789307551,787197652,788938344,789751879,787959376,794410444,790701461,-4]},{"a":8,"b":17,"alpha":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-332237,-295041,-265338,-241068,-220865,-203785,-21341,-344300,-165404,0,0,0,0,0,0,0,-1744159,-1691382,-1451783,-1272792,-1133682,-1022310,0,-1279523,-365641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-404436,0,0,0,0,0,0,0,-931055,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2179721,-1575260,-1206053,-978968,-824506,-712415,0,-1694060,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,-3561682,0,0,0,0,0,0,-4660552,0,0,0,0,0,0,0,0,-2934405,0,0,0,-534640,-1115742,0,0,0,0,0,-534640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-5102894,0,0,0],"beta":[-4,786373146,794410444,784625659,786150305,785018600,794410444,785480532,794410444,790701461,789307551,788403705,787732291,787732291,788403705,794410444,790701461,794410444]}]} diff --git a/research/p104-block-bridge-carriers/model.py b/research/p104-block-bridge-carriers/model.py new file mode 100644 index 0000000000..4102894ce7 --- /dev/null +++ b/research/p104-block-bridge-carriers/model.py @@ -0,0 +1,224 @@ +"""Exact fixed-root bridge and ordinary carrier model. + +Jerry Chen / @CubeJerry, substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. Source root: DreamingOfClouds, CrocSwap/integer-mult-bounds#6833. +No numerical library is needed by the verification path. +""" +from collections import Counter +from fractions import Fraction as Q +from functools import lru_cache + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def eye(n): + return [[int(i == j) for j in range(n)] for i in range(n)] + + +def zero(n): + return [[0] * n for _ in range(n)] + + +def add(a, b, scale=1): + return [[u + scale*v for u, v in zip(x, y)] for x, y in zip(a, b)] + + +def outer(x, y): + return [[u*v for v in y] for u in x] + + +def dot(x, y): + return sum(u*v for u, v in zip(x, y)) + + +def transpose(a): + return list(map(list, zip(*a))) + + +def mm(a, b): + bt = transpose(b) + return [[sum(u*v for u, v in zip(ar, bc) if u and v) for bc in bt] for ar in a] + + +def basis(rows): + out, pivots = [], [] + for raw in rows: + row = list(map(Q, raw)) + for p, earlier in zip(pivots, out): + factor = row[p] + if factor: + row = [u-factor*v for u, v in zip(row, earlier)] + p = next((i for i, value in enumerate(row) if value), None) + if p is not None: + factor = row[p] + out.append([v/factor for v in row]) + pivots.append(p) + return out + + +def rank(rows): + return len(basis(rows)) + + +def build(a=9, b=9): + """Independent closed formulas for the odd/odd unit-child family.""" + need(a > 0 and b > 0 and a % 2 == b % 2 == 1, 'positive odd arm lengths') + m, n = a+b, a+b+2 + A, E = 0, n-1 + fi, hi = list(range(1, a+1)), list(range(a+1, m+1)) + def vector(values): + ans = [0]*n + for i, value in values: + ans[i] += value + return ans + left, right = [], [] + for j, f in enumerate(fi): + x = vector([(A, 1), (f, 1)] + [(k, 2) for k in fi[:j]]) + y = vector([(A, 1), (f, -1)]) + left.append((x, y, {A, *fi[:j+1]})) + for j, h in enumerate(hi): + x = vector([(A, -1), (h, 1)] + [(k, 2) for k in hi[j+1:]]) + y = vector([(A, 1), (h, 1)]) + right.append((x, y, {A, *hi[j:]})) + F, H = vector([(i, 1) for i in fi]), vector([(i, 1) for i in hi]) + ee = vector([(E, 1)]) + v = vector([(A, 1)]+[(i, 1) for i in fi]+[(i, -1) for i in hi]) + z = vector([(A, -1)]+[(i, (-1)**j) for j, i in enumerate(fi)] + +[(i, -(-1)**j) for j, i in enumerate(hi)]) + u = [f+h for f, h in zip(F, H)] + w = vector([(A, 2)]+[(i, -(-1)**j) for j, i in enumerate(fi)] + +[(i, (-1)**j) for j, i in enumerate(hi)]) + q0 = ([f+h+e for f, h, e in zip(F, H, ee)], vector([(A, 1)]), None) + q1 = (vector([(A, -1)]+[(i, 2) for i in hi]), + vector([(A, 2), (E, 1)]+[(i, -(-1)**j) for j, i in enumerate(fi)] + +[(i, (-1)**j) for j, i in enumerate(hi)]), None) + q2 = (vector([(A, -1), (E, -1)]+[(i, 2) for i in hi]), + vector([(A, 3), (E, 1)]+[(i, -2*(-1)**j) for j, i in enumerate(fi)] + +[(i, 2*(-1)**j) for j, i in enumerate(hi)]), None) + thin = [q0, q1, q2] + B = eye(n) + for x, y, _ in thin: + B = mm(add(eye(n), outer(x, y), -2), B) + return {'a':a, 'b':b, 'n':n, 'm':m, 'left':left, 'right':right, + 'full':left+right, 'thin':thin, 'sites':left+thin+right, + 'E':ee, 'v':v, 'z':z, 'u':u, 'w':w, 'B':B} + + +def source_outer(a=9, b=9): + m = a+b + targets = Counter({1:1, 8*m+1:1}) + paid = Counter({1:3}) + for g in (a, b): + targets.update(8*j+1 for j in range(1, g+1)) + paid.update(8*j for j in range(1, g)) + return targets, paid + + +INTERVALS = [(a, b) for a in range(18) for b in range(a, 18)] + + +class CapacityModel: + def __init__(self): + self.root = build() + self.full = self.root['full'] + self.powers = [eye(20), self.root['B'], mm(self.root['B'], self.root['B'])] + self.cache = {} + + def capacity(self, a, b, mask, closure=True): + key = (a, b, tuple(sorted(mask)), closure) + if key in self.cache: + return self.cache[key] + xs = [self.full[j][0] for j in range(a, b+1)] + ys = [self.full[j][1] for j in range(a, b+1)] + for p in range(20): + if p not in mask: + e = [int(i == p) for i in range(20)] + xs.append(e); ys.append(e) + if a < 9 <= b and closure: + # Columns and rows close under B because B has polynomial degree three. + xs = [col for power in self.powers for col in transpose(mm(power, transpose(xs)))] + ys = [row for power in self.powers for row in mm(ys, power)] + xb, yb = basis(xs), basis(ys) + pair = [[dot(y, x) for x in xb] for y in yb] + result = 20-len(xb)-len(yb)+rank(pair) + need(0 <= result <= len(mask), 'pairing capacity bounds') + self.cache[key] = result + return result + + def case(self, a, b): + need(0 <= a <= 8 and 9 <= b <= 17, 'central dense-mask domain') + masks = [set(s[2]) for s in self.full] + for j in range(a, b+1): + masks[j] = set(range(19)) + caps = [self.capacity(c, d, set.intersection(*masks[c:d+1])) for c, d in INTERVALS] + demands = [len(m)-2 for m in masks] + targets = Counter(1+8*sum(f in mask for mask in masks) for f in range(20)) + return caps, demands, targets + + +@lru_cache(None) +def log_bounds(integer, terms=32): + need(integer >= 1, 'positive logarithm input') + if integer == 1: + return Q(0), Q(0) + power = integer.bit_length()-1 + a = Q(integer, 2**power) + def series(value): + z = (value-1)/(value+1) + total = 2*sum(z**(2*j+1)/Q(2*j+1) for j in range(terms)) + tail = 2*z**(2*terms+1)/Q(2*terms+1)/(1-z*z) + return total, total+tail + lo, hi = series(a) + l2, h2 = series(Q(2)) + return lo+power*l2, hi+power*h2 + + +def floor_q(value): + return value.numerator//value.denominator + + +def ceil_q(value): + return -floor_q(-value) + + +@lru_cache(None) +def power_bounds(integer, kappa): + """Outward rational bounds for integer**(1-kappa); no floating arithmetic.""" + kappa = Q(kappa) + need(0 <= kappa <= Q(1, 10), 'tariff exponent range') + lo, hi = log_bounds(integer) + xl, xh = kappa*lo, kappa*hi + need(0 <= xl <= xh <= 1, 'alternating exponential range') + def exponential(x, last): + term, total = Q(1), Q(1) + for j in range(1, last+1): + term *= -x/Q(j) + total += term + return total + low = integer*exponential(xh, 13) + high = integer*exponential(xl, 14) + scale = 10**18 + return Q(floor_q(low*scale), scale), Q(ceil_q(high*scale), scale) + + +def moment(hist, kappa): + lo = hi = Q(0) + for r, count in hist.items(): + a, b = power_bounds(int(r), str(kappa)) + lo += count*a; hi += count*b + return lo, hi + + +def source_complete(kappa, helpers, paid): + targets, outer_paid = source_outer() + target_hist = Counter({int(r):18*n for r, n in helpers.items()}) + paid_hist = Counter({int(r):18*n for r, n in paid.items()}) + target_hist.update({r:104*n for r, n in targets.items()}) + paid_hist.update({r:104*n for r, n in outer_paid.items()}) + need(sum(r*n for r, n in target_hist.items())-sum(r*n for r, n in paid_hist.items()) == 760, + 'complete signed rank surplus is 760') + t, p = moment(target_hist, kappa), moment(paid_hist, kappa) + return t[0]-p[1], t[1]-p[0] diff --git a/research/p104-block-bridge-carriers/retained/LICENSE b/research/p104-block-bridge-carriers/retained/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/p104-block-bridge-carriers/retained/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/p104-block-bridge-carriers/retained/NOTICE b/research/p104-block-bridge-carriers/retained/NOTICE new file mode 100644 index 0000000000..d03cab1fcb --- /dev/null +++ b/research/p104-block-bridge-carriers/retained/NOTICE @@ -0,0 +1,5 @@ +Native main-retiming/helper retirement extension by Jerry Chen / @CubeJerry, with substantial OpenAI Codex assistance and separate source-bound review. Apache-2.0. + +Original retained headers, licenses and notices remain unchanged. See retained/caller/NOTICE for the full native/caller/compiler/interval lineage; Ali Romman supplies the helper-basis mechanism, DreamingOfClouds the #6702 native source, and zxv the #6726 caller. + +The chain-nested root caller (chain_root.py, CALLER.json) is by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code; it follows thu-nmrc's common idle fusion (#6716) and zxv's two-pair root (#6726), and uses the native word of #6824. diff --git a/research/p104-block-bridge-carriers/retained/PROOF.md b/research/p104-block-bridge-carriers/retained/PROOF.md new file mode 100644 index 0000000000..d0bfd74266 --- /dev/null +++ b/research/p104-block-bridge-carriers/retained/PROOF.md @@ -0,0 +1,182 @@ +# Chain-nested root: identity, chain merge, invoice + +Tags: **[P]** proved below by hand, **[C]** checked by exact replay on the literal +data, **[A]** inherited assumption. `chain_root.py` and `independent/check_root.py` +do the exact checks. The native word is #6824's, and its proof is `PROOF-6824.md` +and `PROOF-6805.md`. + +## 1. The family + +Take child sizes `sL`, `sR`, with `gL`, `gR` entries. The fields are `A, f_0..f_{gL-1}, +h_0..h_{gR-1}`, plus one empty field `E` when the count would be odd, so `n` is even. +The priced shape is `(9|9)`, with `n = 20`. + +Each query is `T_k = I + (S-1) R_k`, `R_k = x_k y_k^T`, `y_k x_k = 0`. Here +`S = λ Q^-1` with `λ = (1+i)/2 + ((1-i)/2) Q^2`, so `S^2 = 1` on `Q^4 = 1`: `S = 1` at +`Q = 1, i` and `S = -1` at `Q = -1, -i`. The time order is L sites, thin queries, R sites. + +| Site | `x` | `y` | Support `M` | +|---|---|---|---| +| L, `i` | `A + f_i + 2Σ_{jm} h_l` | `A* + h_m*` | `{A, h_l : l >= m}` | + +For `gL, gR` odd the three thin queries have parameters +`(a,u,p,q) = (0,1,0,1), (-1,2,1,0), (-1,3,1,-1)`: + +```text +x = aA + (a+1)Σ f_i + (1-a)Σ h_l + qE +y = uA* + (1-u)Σ (-1)^i f_i* + (u-1)Σ (-1)^(gR-1-l) h_l* + pE* +``` + +Other parities have their own closed forms in `chain_root.thin_vectors`. They are not +priced here and this proof does not cover them. + +## 2. The root endpoint [P] + +**Lemma 1 (sign Gram).** Let `(x_k, y_k)`, `k = 0..n`, with `n` even, satisfy +`y_i x_j = sgn(i-j)`, let the `x_k` span the `n`-dimensional space, and let +`Σ (-1)^k x_k = 0`. Then `(I-2R_n)...(I-2R_0) = -I`. + +*Proof.* With `L` the strictly lower part of `G = Y^T X`, the product expands to +`I - 2X(I+2L)^{-1}Y^T`. All entries of `L` below the diagonal are 1, so +`I + 2L = G + J`, where `J` is the all-ones matrix. Let `c_k = (-1)^k`. Then `Gc = 0`, +because an odd alternating sum of signs vanishes, and `Jc = e` because `n+1` is odd. +So `(G+J)^{-1} e = c`. Put `B = X(G+J)^{-1}Y^T`. Then +`BX = X(G+J)^{-1}(G+J-J) = X - X(G+J)^{-1}e e^T = X - (Xc)e^T = X`. +The `x_k` span, so `B = I`, and the product is `I - 2I = -I`. QED. + +**The family satisfies it for `gL, gR` odd.** + +- Within L, `y_i x_l = 1 - [l=i] - 2[l>i]`, which is `sgn(i-l)`. Within R the same + computation gives the same sign. Across, `y_R x_L = 1`, `y_L x_R = -1`. +- For thin `(u,p)` against `(a',q')`, `y x = a'(2-u) + pq'`, because both alternating sums + equal 1. The three parameter rows give exactly the sign pattern. +- `y_{L,i} x_thin = a' - (a'+1) = -1`. `y_thin x_{L,i} = u + (1-u)[(-1)^i + 2Σ_{j all D`, +`f_i -> D` over L sites `>= i`, `h_m -> D` over R sites `<= m`, `E -> 1`. + +## 4. Chain-merge lemma [P] + +**Lemma 3 (chain merge).** Fix one group (L or R) with sites in time order, and for each +site a decomposition `P_k = Π_k + Σ_{ℓ ∋ k} E_ℓ`, where `E_ℓ = φ_ℓ γ_ℓ^T` and `C(ℓ)` is a +set of consecutive sites. Assume: + +1. `γ_ℓ φ_ℓ = 1`, and `γ_ℓ φ_ℓ' = 0` for `ℓ != ℓ'`; +2. `φ_ℓ, γ_ℓ` are supported in `M_k`, and `y_k φ_ℓ = 0`, `γ_ℓ x_k = 0`, for all `k` in `C(ℓ)`; +3. `Π_k` is idempotent with `Π_k x_k = x_k` and `y_k^T Π_k = y_k^T`. + +Set `G_k = (I + (D_k-1)Π_k) T_k` and `W_ℓ = Π_{k in C(ℓ)} D_k`. Then the ordered product of +`Δ_k T_k` equals the ordered product of `G_k` with one factor `I + (W_ℓ-1)E_ℓ` inserted +anywhere within or right after `C(ℓ)` such that only sites of `C(ℓ)` are crossed. + +*Proof.* The `E_ℓ` are orthogonal idempotents inside `P_k` by (1) and (2), so +`E_ℓ Π_k = Π_k E_ℓ = 0`, and +`Δ_k = (I + (D_k-1)Π_k) Π_{ℓ∋k}(I + (D_k-1)E_ℓ)`. By (2), `E_ℓ T_k = E_ℓ = T_k E_ℓ`, so +`E_ℓ` commutes with `G_k` for each `k` in `C(ℓ)`. Factors for different lines commute by (1). +So each factor `I + (D_k-1)E_ℓ` slides to the chosen time, and they multiply to +`I + (W_ℓ-1)E_ℓ`, since `E_ℓ^2 = E_ℓ`. QED. + +**Instance.** L line `j >= 1`: `φ = f_{j-1}`, `γ = f*_{j-1} - 2A*`, `C = {sites j..gL-1}`, +paid at site `j`. R line `j <= gR-2`: `φ = h_{j+1}`, `γ = h*_{j+1} + 2A*`, `C = {sites 0..j}`, +paid at site 0. Then `γ x_i = 2 - 2 = 0` and `y_i φ = 0` for `i` in `C`. +The lines fill each support outside a rank-two plane, because `|M_k| - 2` lines cover site `k`. +`verify_root` checks each hypothesis exactly, including that `Π_k` has rank two [C]. + +**Scope.** The lemma needs nothing about the fields beyond these hypotheses, and no statement +is made about other merge structures. + +## 5. The literal caller [C, with P for the gadget] + +At a full site, the gates `LAMBDA(x,-1); LOCAL(s,y,x); LAMBDA(x,1); ADD(x,y,-1)` act on +registers `(x,y)` as `D_s (x + (S-1) y, y)`. That is `G_k` in the site's basis, whose first +two columns are `x_k` and a vector `w_k` with `y_k w_k = 1` [P]. A thin query is the same +without `D`. A final `LAMBDA(r,-1)` turns `S·Π Δ` into the target `Q^-1 · Π D`. + +**Theorem.** For the priced word and all 20 arbitrary caller inputs, the output of role `r` +is `Q^-1 Π_{s in W_r} D_s` times input `r`, exactly, with no other coefficient. + +Sections 2 to 4 prove this for the root at `(9|9)`. These literal checks bind the word to it: + +- `caller.replay` (forward) and `rows.transpose` (reverse), all 400 coefficients over + `Q(i)[q, D_s]`; +- `independent/check_invoice.caller_columns`, a separately written adjoint; +- `independent/check_root.family`: the symbolic matrix product from the formula; the + literal word at `Q = ±1`, `D = 1`, giving `±I`; and at each of the 16 `IDLE_ONE` events, + the register's line and dual read from the word itself, compared with the formula, with + each covered native call shown to miss that line. + +Tree children in the gate use the retained binary supplier, whose proof is in the retained +caller lineage; there the identity is checked by replay and is not re-proved here. + +## 6. Whole-job contract, and what is not proved here + +Every credited target is a whole transform of one independent arbitrary input, and every +paid idle is one whole transform of one field per port. The word has 2,080 main fields and +10,152 native helper fields, all distinct, with no copied input. + +A whole idle on stage set `W` has rank `8|W|`, on disjoint fresh axes. The physical replay +checks its phase, and the two-coordinate exchanges on both boundaries are charged. + +**Caveat.** Ranks 48 to 64 and spans of up to 8 sites extend the rule that #6726 used at +rank 40; this package gives no new compiler proof. Also, the merged line crosses sites with +different ordinary bases, while #6716's coordinates sit in one shared basis: see +`ADAPTERS.md`. The job is applied once, to one register, so the accepted identity is +the theorem of section 5. Reviewers should confirm that the `compiler` assumption covers it. + +## 7. Invoice and gate + +Per port, the outer histogram at `(9|9)` is `T = {1:1, 9:2, 17:2, ..., 73:2, 145:1}` and +`P = {1:3, 8s:2 for s = 1..8}`, for an outer rank margin of 305. Over 18 native calls the +total is `T - P` rank mass 760, unchanged from #6824. `pricing.py` compares this formula with +the literal histogram and the physical checks. + +**Gate [C].** The same constructor at `(4,4,1|1,4,4)` gives a word with 32 roles and 518 +events that passes both replays. On the same native word, its target and paid histograms +equal those of the retained #6726 caller minus one cancelling pair `T_32 = P_32 = 208`. +Both interval engines then place its crossing in `(0.00330823456614, 0.00330823456615)`, +which is #6824's interval. So the family reproduces #6824 exactly at that shape. + +**Crossing [C].** Both interval engines place the crossing of the priced word in +`(0.0033718004754, 0.0033718004755)`. The Decimal value `.00337180047549672` is a diagnostic +in the independent audit, not a certificate. The retained derivative bound through `.0034` +gives uniqueness. + +## 8. Theorem context + +This is a finite construction plus a complete invoice. The conditional statement is the +retained chain's: given `native_all_columns`, `owned_erasure`, `compiler`, `precision_tape`, +`analytic_recovery` [A], the outer theorem admits `κ = 0.00337180`. The claim is below the +retained BIT saving `.0034`, so #6805's pin is unchanged. The selected `κ` is unchanged. + +| Item | Status | +|---|---| +| Root endpoint and sign Gram, odd/odd | P, and C at both shapes | +| Stage factors and chain merge | P, hypotheses C at both shapes | +| Whole-word identity at `(9|9)` | P + C | +| Whole-word identity at the gate | C (binary supplier retained) | +| Native word | C here; proof in `PROOF-6824.md`, `PROOF-6805.md` | +| Physical contacts, adapters, allocation, invoice | C, two implementations | +| Crossing, strictification, compiler arithmetic, 54+4 outer inequalities | C | +| Five framework assumptions | A, not discharged | +| Compiler acceptance of whole idles at ranks 48 to 64 across several sites | Not proved here | diff --git a/research/p104-block-bridge-carriers/retained/SOURCE-PINS.json b/research/p104-block-bridge-carriers/retained/SOURCE-PINS.json new file mode 100644 index 0000000000..9e14148da7 --- /dev/null +++ b/research/p104-block-bridge-carriers/retained/SOURCE-PINS.json @@ -0,0 +1,50 @@ +{ + "schema_version": 1, + "files": [ + { + "path": "chain_root.py", + "source_repository": "CrocSwap/integer-mult-bounds", + "source_path": "research/p104-chain-nested-root/chain_root.py", + "source_pr": 6833, + "source_commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "git_blob": "ca1e0244f1329c153c1224b05bf0c0c5d5e2367b", + "sha256": "6f4046c804f27071d88ce05820c75baebe9cbf32533c4ba89285c413bfc8edaa" + }, + { + "path": "pricing.py", + "source_repository": "CrocSwap/integer-mult-bounds", + "source_path": "research/p104-chain-nested-root/pricing.py", + "source_pr": 6833, + "source_commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "git_blob": "7d9ff06de9dfbba31c06a141e6cacd9806852a41", + "sha256": "3c23e7112b7b822c5d4ba71b412873a8572225001986cb76aa882c6f91226582" + }, + { + "path": "PROOF.md", + "source_repository": "CrocSwap/integer-mult-bounds", + "source_path": "research/p104-chain-nested-root/PROOF.md", + "source_pr": 6833, + "source_commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "git_blob": "d0bfd74266b48fe47e630cef28853c3c444cd433", + "sha256": "ef26968138b7b9dfeebc9beea9d81b4026bd493df0223011ae6967ea5e5e1910" + }, + { + "path": "NOTICE", + "source_repository": "CrocSwap/integer-mult-bounds", + "source_path": "research/p104-chain-nested-root/NOTICE", + "source_pr": 6833, + "source_commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "git_blob": "d03cab1fcb0e91731a5b82b072496997ccb986da", + "sha256": "039f5005bbe42d76d27a8a4318ac1ae6777afe1cd4417519ea23337994fc137e" + }, + { + "path": "LICENSE", + "source_repository": "CrocSwap/integer-mult-bounds", + "source_path": "research/p104-chain-nested-root/LICENSE", + "source_pr": 6833, + "source_commit": "51f54e3c31f2f3a3e056a483b3ed66ae916ad06a", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + } + ] +} diff --git a/research/p104-block-bridge-carriers/retained/chain_root.py b/research/p104-block-bridge-carriers/retained/chain_root.py new file mode 100644 index 0000000000..ca1e0244f1 --- /dev/null +++ b/research/p104-block-bridge-carriers/retained/chain_root.py @@ -0,0 +1,239 @@ +"""Chain-nested shortest root and its literal caller; deterministic, no search at replay. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Apache-2.0. +The binary query supplier and the ordinary-basis elimination follow the retained +caller by Cinna Davis, Ali Romman, thu-nmrc and zxv (retained/caller/caller.py); +whole common idles follow thu-nmrc (#6716). + +Shape: child sizes sL (outer to centre) and sR (centre to outer). Fields are A, +f_0..f_{gL-1}, h_0..h_{gR-1} and, when the count is odd, one empty field E. +""" +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +from algebra import add,eye,inverse,multiply,need + +SHAPE=([1]*9,[1]*9) +GATE=([4,4,1],[1,4,4]) + +def unit(q): + # Integral form: pivots are +-1 only, so the ordinary caller has integer scalars. + return Q(q) in (1,-1) + +def fields(sL,sR): + gL,gR=len(sL),len(sR) + nf=1+gL+gR;e=nf%2 + return {'n':nf+e,'A':0,'f':list(range(1,1+gL)),'h':list(range(1+gL,1+gL+gR)),'E':nf if e else None} + +def vector(n,*pairs): + v=[Q(0)]*n + for i,c in pairs:v[i]+=Q(c) + return v + +def thin_vectors(sL,sR): + """Closed-form thin queries, ordered; see PROOF.md section 2.""" + F=fields(sL,sR);n,A,f,h,E=F['n'],F['A'],F['f'],F['h'],F['E'] + def vec(a,u,p=0,q=0): + x=[Q(0)]*n;y=[Q(0)]*n + x[A]=Q(a);y[A]=Q(u) + for i,j in enumerate(f):x[j]=Q(a+1);y[j]=Q((1-u)*(-1)**i) + for r,j in enumerate(reversed(h)):x[j]=Q(1-a);y[j]=Q((u-1)*(-1)**r) + if E is not None:x[E]=Q(q);y[E]=Q(p) + return x,y + a,b=len(f)%2,len(h)%2 + if a and b:return [vec(0,1,0,1),vec(-1,2,1,0),vec(-1,3,1,-1)] + if not a and not b:return [vec(0,1,0,1),vec(-1,0,1,0),vec(-1,-1,1,-1)] + if a:return [vec(0,1),vec(-1,0)] + return [vec(0,1),vec(1,2)] + +def sites(sL,sR): + """Ordered root: (x,y,mask or None,kind,index).""" + F=fields(sL,sR);n,A,f,h=F['n'],F['A'],F['f'],F['h'] + out=[] + for i in range(len(f)): + x=vector(n,(A,1),(f[i],1),*[(f[j],2) for j in range(i)]) + y=vector(n,(A,1),(f[i],-1)) + out.append((x,y,{A,*f[:i+1]},'L',i)) + for j,(x,y) in enumerate(thin_vectors(sL,sR)):out.append((x,y,None,'Q',j)) + for m in range(len(h)): + x=vector(n,(A,-1),(h[m],1),*[(h[l],2) for l in range(m+1,len(h))]) + y=vector(n,(A,1),(h[m],1)) + out.append((x,y,{A,*h[m:]},'R',m)) + return out + +def lines(sL,sR): + """Idle lines: (phi,gamma,sites-of-group covered,side).""" + F=fields(sL,sR);n,A,f,h=F['n'],F['A'],F['f'],F['h'] + out=[] + for j in range(1,len(f)): + out.append((vector(n,(f[j-1],1)),vector(n,(f[j-1],1),(A,-2)),list(range(j,len(f))),'L')) + for j in range(len(h)-1): + out.append((vector(n,(h[j+1],1)),vector(n,(h[j+1],1),(A,2)),list(range(0,j+1)),'R')) + return out + +def dot(a,b):return sum(u*v for u,v in zip(a,b)) + +def verify_root(sL,sR): + """Exact algebra of the root: sign Gram, alternating sum, endpoint, commutants, chain merge.""" + F=fields(sL,sR);n=F['n'];S=sites(sL,sR);I=eye(n) + need(n%2==0 and len(S)==n+1,'Shortest root: n even and n+1 queries') + for i,(xi,yi,*_) in enumerate(S): + for j,(xj,*_) in enumerate(S): + need(dot(yi,xj)==(i>j)-(i=1: + emit('IDLE_ONE',2+i-1,[t for tr in treesL[i:] for t in tr['stages']]) + mix(c) + for x,y in thin_vectors(sL,sR): + c=complete(x,y,n);mix(inverse(c));query(0,1);emit('ADD',0,1,'-1');mix(c) + for m in range(gR): + x=vector(n,(A,-1),(fR[m],1),*[(fR[l],2) for l in range(m+1,gR)]) + w=vector(n,(A,1),*[(fR[l],-2) for l in range(m+1,gR)]) + used={A,fR[m]}|set(fR[m+1:]) + c=basis(x,w,[ev(fR[l]) for l in range(m+1,gR)],[ev(f) for f in range(n) if f not in used]);mix(inverse(c)) + supplier(treesR[m],0,1);emit('ADD',0,1,'-1') + if m==0: + for j in range(gR-1): + emit('IDLE_ONE',2+j,[t for tr in treesR[:j+1] for t in tr['stages']]) + mix(c) + targets[A]=[-1,[t for tr in treesL+treesR for t in tr['stages']]] + for i,f in enumerate(fL):targets[f]=[-1,[t for tr in treesL[i:] for t in tr['stages']]] + for m,h in enumerate(fR):targets[h]=[-1,[t for tr in treesR[:m+1] for t in tr['stages']]] + if E is not None:targets[E]=[-1,[]] + for r in range(next_role):emit('LAMBDA',r,-1) + diagonal=[[targets[r][0],0]+[int(j in targets[r][1]) for j in range(1,stage+1)] for r in range(next_role)] + return {'schema':'chain-nested-root/1','roles':next_role,'stages':stage,'ambient_rank':9+8*stage, + 'events':events,'diagonal':diagonal,'nodes':nodes,'n':n,'sL':list(sL),'sR':list(sR)} + +def outer_formula(sL,sR): + """Per-port outer histograms from the shape alone; compared with the literal word by pricing.py.""" + T,P=Counter(),Counter() + def nodes(m): + if m==1:return + T[8*m+1]+=2;P[8*m]+=2 + nodes(m//2);nodes(m-m//2) + for m in list(sL)+list(sR):nodes(m) + N=sum(sL)+sum(sR) + T[8*N+1]+=1 + for i in range(len(sL)): + T[8*sum(sL[i:])+1]+=1 + if i>=1:P[8*sum(sL[i:])]+=1 + for m in range(len(sR)): + T[8*sum(sR[:m+1])+1]+=1 + if m=k*(-g'(1))-k^2*M/2. + """ + def total(terms,s): + out=(Q(0),Q(0)) + for x,c in terms: + out=(out[0]+c*E.power(x,s)[0],out[1]+c*E.power(x,s)[1]) + return out + plus=[(7,1),(3,1),(5,1)];minus=[(9,1),(4,1),(1,2)] + need(sum(x*c for x,c in plus)==sum(x*c for x,c in minus),'Equal local rank mass') + cap=Q('.0034') + def dlog(terms): + lo=hi=Q(0) + for x,c in terms: + a=E.mul((Q(x),Q(x)),E.log_bounds(x));lo+=c*a[0];hi+=c*a[1] + return lo,hi + def d2log(terms): + hi=Q(0) + for x,c in terms: + a=E.mul(E.mul((Q(x),Q(x)),E.log_bounds(x)),E.log_bounds(x));hi+=c*a[1] + return hi + dp,dm=dlog(plus),dlog(minus) + derivative_one=(dp[0]-dm[1],dp[1]-dm[0]) # g'(1) + M=d2log(plus)+d2log(minus) + need(derivative_one[1]+cap*M<0,'g prime is negative on the whole interval 1-.0034..1') + out={'g_prime_at_1':E.display(derivative_one),'second_derivative_majorant':float(M)} + for name,k in [('claim',KAPPA),('tested',TESTED)]: + t=1-k;gain=(total(plus,t)[0]-total(minus,t)[1],total(plus,t)[1]-total(minus,t)[0]) + need(gain[0]>0,'Exact interval engine: positive local saving at '+name) + derived=k*(-derivative_one[1])-k*k*M/2 + need(derived>0 and derived<=gain[1],'Derivative lower bound is positive and consistent') + out[name]={'interval':E.display(gain),'derivative_lower_bound':float(derived)} + return out + +def run(local,native,word,physical,L,adapters,gate=None): + T,P,counts=assemble(local,native,word,physical) + work=ordinary(local,native,word,adapters) + E=L.load(L.ROOT/'research/higher-moment-strictification/verify.py','root8_first_intervals') + other=L.load(L.ROOT/'research/kappa-rebuild/architecture/mixed_target_probe.py','root8_second_intervals') + def margin(k): + t,p=E.moment(T,1-k),E.moment(P,1-k) + return t[0]-p[1],t[1]-p[0] + lower,upper=RAW_LOWER,RAW_UPPER + need(PREVIOUS0 and second[0]>0, + 'Both engines prove the raw endpoint/tested signs') + endpoints[name]={'first':E.display(first),'second':E.display(second)} + lift_gain=local_lift_gain(E) + # Gate: the same family at the shape (4,4,1|1,4,4) prices exactly at the #6824 crossing. + gate_margins={} + if gate is not None: + gT,gP,_,_=literal_invoice(local,gate) + need((gT,gP)==formula_invoice(local,(gate['sL'],gate['sR'])),'Gate shape formula and literal word agree') + for name,k,sign in (('lower',GATE_LOWER,1),('upper',GATE_UPPER,-1)): + a,b=E.moment(gT,1-k),E.moment(gP,1-k);first=(a[0]-b[1],a[1]-b[0]) + tl,th=other.moment(gT,k);pl,ph=other.moment(gP,k);second=(tl-ph,th-pl) + need(first[0]>0 and second[0]>0 if sign>0 else first[1]<0 and second[1]<0,'Gate crossing equals the #6824 crossing') + gate_margins[name]={'first':E.display(first),'second':E.display(second)} + # The priced word must not reach the retained BIT cap: the outer BIT pin stays. + need(TESTED=0 else r*log[1]) + need(derivative<0,'Unique raw crossing through the retained BIT cap') + t,offset,power,cutoff,floor=1-TESTED,Q(1,7),1920,11,12 + target,paid=E.moment(T,t),E.moment(P,t) + alpha=E.divide(paid,target) + gamma=E.divide(E.moment(P,t+offset),E.mul(E.power(cutoff,offset),target)) + delta=E.divide((Q(sum(T.values())*floor),)*2,E.mul(E.power(cutoff,TESTED),target)) + reserve,decay=Q(1,10**27),Q(31,32) + need(alpha[1]<1-reserve and gamma[1]theta**logarithm_power,'Compiler shifted exits and complement capacity') + need(factor[1]<2**logarithm_power,'Compiler initial range') + gap=(TESTED-KAPPA)/7;need(gap.numerator==1,'Exact positive compiler grid') + step=gap.denominator + def wins(j):return(step*j+1)**logarithm_power<2**j + left,right=1,2 + while not wins(right):left,right=right,2*right + while right-left>1: + middle=(left+right)//2 + if wins(middle):right=middle + else:left=middle + H=step*right + need(H>8*power and wins(right)and not wins(right-1),'Explicit uniform threshold and adjacent-grid control') + bit=L.read(L.ROOT/'research/query-thinned-controllers/RESULT.json')['ordinary_BIT'] + atom=Q(bit['atom']);ordinary_bit=(1-atom)*Q(bit['after_cover'])+atom*Q('.0000384599');admitted=Q(bit['admitted']) + need(atom>ordinary_bit>admitted>TESTED and atom<1-ordinary_bit,'Retained ordinary/admitted BIT stock and savings') + outer_module=L.load(L.ROOT/'research/pr4359-p7-padding/dependencies/compiler-refill/endpoint.py','root8_outer') + params={'kappa':KAPPA,'tested_saving':TESTED,'complex_uniform_saving':KAPPA+6*gap, + 'b':KAPPA+5*gap,'a':KAPPA+4*gap,'q':KAPPA+3*gap,'bit_saving':admitted, + 'epsilon':1-gap,'beta':1-3*gap,'r0':gap/10,'stop':gap,'layout':gap,'d':gap} + outer=outer_module.ledger(params) + outer['functional_checks']['actual_new_BIT_stock_sublinear']=params['beta']*(1-atom) + need(len(outer['strict_checks'])==54 and len(outer['functional_checks'])==4,'Complete54+4 outer inventory') + need(all(v>0 for k in('strict_checks','functional_checks')for v in outer[k].values()),'Every outer inequality is strict') + bad=outer_module.ledger(dict(params,bit_saving=Q('.0027'))) + need(any(v<=0 for v in bad['strict_checks'].values()),'Insufficient BIT budget rejected') + work['paid_rank_mass']=sum(r*n for r,n in P.items()) + return encode({'status':'PASS_CHAIN_ROOT_COMPLETE_PRICE','kappa':KAPPA,'tested':TESTED, + 'targets':T,'paid':P,'productive_fields':sum(T.values()),'paid_calls':sum(P.values()),'rank_mass_surplus':760, + 'full_calls':18,'thin_queries':word_queries(word),'whole_idle_jobs':sum(n for r,n in literal_invoice(local,word)[3].items()),'counts':counts,'raw_root_interval':[lower,upper], + 'raw_endpoint_margins':endpoints,'local_lift_gain':lift_gain,'gate_margins':gate_margins,'derivative_upper':derivative,'nonrecursive':work, + 'strictification':{'power':power,'cutoff':cutoff,'floor':floor,'offset':offset,'reserve':reserve,'decay':decay, + 'alpha':E.display(alpha),'gamma':E.display(gamma),'delta':E.display(delta), + 'alternative_12_13_delta':E.display(alternative_delta),'normalized_upper':normalized}, + 'compiler':{'H':H,'N':'2^'+str(H),'integer_test_exponent':right,'theta':theta,'logarithm_power':logarithm_power, + 'eta':E.display(eta),'gap':gap,'uniform_saving':params['complex_uniform_saving'],'word_materialized':False}, + 'ordinary_BIT':bit,'outer':outer,'source_assumptions':['native_all_columns','owned_erasure','compiler','precision_tape','analytic_recovery'], + 'scope':'Complete conditional price, requiring the supplied caller/native/physical inputs to be independently verified by the package. Does not itself verify those scientific inputs, discharge inherited assumptions, establish scientific admission, or change selected kappa.'}) diff --git a/research/p104-block-bridge-carriers/review/EXPECTED-GEOMETRY.json b/research/p104-block-bridge-carriers/review/EXPECTED-GEOMETRY.json new file mode 100644 index 0000000000..8c1b07befa --- /dev/null +++ b/research/p104-block-bridge-carriers/review/EXPECTED-GEOMETRY.json @@ -0,0 +1 @@ +{"verdict":"PASS_INDEPENDENT_EIGENSPACE_CAPACITY_REVIEW","bridge":{"right_minus_eigenspace_dimension":2,"right_plus_eigenspace_dimension":17,"generalized_plus_dimension":18,"nilpotent_remainder_rank":1,"source_root_checked":true,"quotient_root_checked":true,"minus_carrier_commutes_block_but_not_first_thin":true},"capacity_review":{"cases":81,"intervals_per_case":171,"capacities_checked":13851,"cached_unique_queries":468,"author_report_sha256":"b8835f5a4fb4ddafc7357cf3692fd2692a9c83d2ba4fbf2942322f066eb840a2","author_block_vs_pointwise_differences":2025,"dense_two_site_raw_capacity":17,"dense_two_site_bridge_capacity":15,"dense_full_span_bridge_capacity":1},"active_quotient_projector_defects":{"projectors":[{"site":0,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":1,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":2,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":3,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":4,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":5,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":6,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":7,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":8,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":9,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":10,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":11,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":12,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":13,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":14,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":15,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true},{"site":16,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"1","rank_two_projector_repair_verified":true},{"site":17,"compression_rank":2,"idempotence_defect_rank":1,"defect_coefficient_times_Ri":"-1","rank_two_projector_repair_verified":true}],"corrected_first_pair_commutator_rank":2,"limitation":"Raw compression fails, but a rank-one correction repairs each projector locally; a common productive target interface remains unresolved."},"capacities":[{"a":0,"b":9,"caps":[17,17,15,15,13,13,11,11,9,7,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":0,"b":10,"caps":[17,17,15,15,13,13,11,11,9,7,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":0,"b":11,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":0,"b":12,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":0,"b":13,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":0,"b":14,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":0,"b":15,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":0,"b":16,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":0,"b":17,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,1,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":1,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":1,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":1,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":1,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":1,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":1,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":1,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":1,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":1,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":2,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":2,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":2,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":2,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":2,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":2,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":2,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":2,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":2,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":3,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":3,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":3,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":3,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":3,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":3,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":3,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":3,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":3,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":4,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":4,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":4,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":4,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":4,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":4,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":4,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":4,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":4,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":5,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":5,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":5,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":5,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":5,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":5,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":5,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":5,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":5,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":6,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":6,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":6,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":6,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":6,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":6,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":6,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":6,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":6,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":7,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,6,6,6,4,0,0,0,0,0,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":7,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,6,6,6,4,4,0,0,0,0,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":7,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,6,6,6,4,4,4,0,0,0,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":7,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,6,6,6,4,4,4,4,0,0,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":7,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,6,6,6,4,4,4,4,4,0,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":7,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,6,6,6,4,4,4,4,4,4,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":7,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,6,6,6,4,4,4,4,4,4,4,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":7,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,6,6,6,4,4,4,4,4,4,4,4,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":7,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,6,6,6,4,4,4,4,4,4,4,4,4,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]},{"a":8,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,6,6,6,4,0,0,0,0,0,0,0,0,7,7,6,0,0,0,0,0,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":8,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,6,6,6,4,4,0,0,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":8,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,6,6,6,4,4,4,0,0,0,0,0,0,7,7,6,6,6,0,0,0,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":8,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,6,6,6,4,4,4,4,0,0,0,0,0,7,7,6,6,6,6,0,0,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":8,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,6,6,6,4,4,4,4,4,0,0,0,0,7,7,6,6,6,6,6,0,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0]},{"a":8,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,6,6,6,4,4,4,4,4,4,0,0,0,7,7,6,6,6,6,6,6,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0]},{"a":8,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,6,6,6,4,4,4,4,4,4,4,0,0,7,7,6,6,6,6,6,6,6,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0]},{"a":8,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,6,6,6,4,4,4,4,4,4,4,4,0,7,7,6,6,6,6,6,6,6,6,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0]},{"a":8,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,6,6,6,4,4,4,4,4,4,4,4,4,7,7,6,6,6,6,6,6,6,6,6,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17]}],"scope":"Fixed source, sector-independent idempotent carriers commuting the central bridge and annihilating each full query in their interval."} diff --git a/research/p104-block-bridge-carriers/review/EXPECTED-PRICES.json b/research/p104-block-bridge-carriers/review/EXPECTED-PRICES.json new file mode 100644 index 0000000000..265b137667 --- /dev/null +++ b/research/p104-block-bridge-carriers/review/EXPECTED-PRICES.json @@ -0,0 +1 @@ +{"verdict":"PASS_INDEPENDENT_81_DUAL_COMPLETE_PRICES","verification_kappa":"16859/5000000","dual_constraints_checked":13851,"cases":81,"worst_certified_case":{"a":8,"b":9,"upper_margin":["-42.13044026865100","-42.13044026865099"]},"results":[{"a":0,"b":9,"upper_margin":["-227.62326779860325","-227.62326779860324"]},{"a":0,"b":10,"upper_margin":["-250.31741088068248","-250.31741088068247"]},{"a":0,"b":11,"upper_margin":["-280.77483560852230","-280.77483560852229"]},{"a":0,"b":12,"upper_margin":["-308.27576994472459","-308.27576994472458"]},{"a":0,"b":13,"upper_margin":["-347.31157716228209","-347.31157716228208"]},{"a":0,"b":14,"upper_margin":["-379.71822676719844","-379.71822676719843"]},{"a":0,"b":15,"upper_margin":["-426.11561388271481","-426.11561388271480"]},{"a":0,"b":16,"upper_margin":["-465.67453648142886","-465.67453648142885"]},{"a":0,"b":17,"upper_margin":["-522.20769668092714","-522.20769668092713"]},{"a":1,"b":9,"upper_margin":["-190.27458133907907","-190.27458133907906"]},{"a":1,"b":10,"upper_margin":["-218.78257567333640","-218.78257567333639"]},{"a":1,"b":11,"upper_margin":["-238.74539373067379","-238.74539373067378"]},{"a":1,"b":12,"upper_margin":["-274.35171052653047","-274.35171052653046"]},{"a":1,"b":13,"upper_margin":["-300.47460374408334","-300.47460374408333"]},{"a":1,"b":14,"upper_margin":["-342.45812523056344","-342.45812523056343"]},{"a":1,"b":15,"upper_margin":["-374.37938466451420","-374.37938466451419"]},{"a":1,"b":16,"upper_margin":["-424.45232616745021","-424.45232616745020"]},{"a":1,"b":17,"upper_margin":["-465.67453648142886","-465.67453648142885"]},{"a":2,"b":9,"upper_margin":["-167.41988846858282","-167.41988846858281"]},{"a":2,"b":10,"upper_margin":["-185.71498588907682","-185.71498588907681"]},{"a":2,"b":11,"upper_margin":["-212.45868775859232","-212.45868775859231"]},{"a":2,"b":12,"upper_margin":["-235.25007572394656","-235.25007572394655"]},{"a":2,"b":13,"upper_margin":["-270.39924540115382","-270.39924540115381"]},{"a":2,"b":14,"upper_margin":["-297.87860816762929","-297.87860816762928"]},{"a":2,"b":15,"upper_margin":["-340.26441588314381","-340.26441588314380"]},{"a":2,"b":16,"upper_margin":["-374.37934722451420","-374.37934722451419"]},{"a":2,"b":17,"upper_margin":["-426.11561804271481","-426.11561804271480"]},{"a":3,"b":9,"upper_margin":["-135.77608618757227","-135.77608618757226"]},{"a":3,"b":10,"upper_margin":["-160.78683660600020","-160.78683660600019"]},{"a":3,"b":11,"upper_margin":["-177.62444572175236","-177.62444572175235"]},{"a":3,"b":12,"upper_margin":["-209.35266453928472","-209.35266453928471"]},{"a":3,"b":13,"upper_margin":["-231.93752874598954","-231.93752874598953"]},{"a":3,"b":14,"upper_margin":["-269.78489797211939","-269.78489797211938"]},{"a":3,"b":15,"upper_margin":["-297.87860400762929","-297.87860400762928"]},{"a":3,"b":16,"upper_margin":["-342.45812523056344","-342.45812523056343"]},{"a":3,"b":17,"upper_margin":["-379.71818620719844","-379.71818620719843"]},{"a":4,"b":9,"upper_margin":["-117.52162163416250","-117.52162163416249"]},{"a":4,"b":10,"upper_margin":["-132.74932655402407","-132.74932655402406"]},{"a":4,"b":11,"upper_margin":["-157.22685122771017","-157.22685122771016"]},{"a":4,"b":12,"upper_margin":["-176.24475769147919","-176.24475769147918"]},{"a":4,"b":13,"upper_margin":["-208.69069659036212","-208.69069659036211"]},{"a":4,"b":14,"upper_margin":["-231.93752458598954","-231.93752458598953"]},{"a":4,"b":15,"upper_margin":["-270.39921004115382","-270.39921004115381"]},{"a":4,"b":16,"upper_margin":["-300.47464326408334","-300.47464326408333"]},{"a":4,"b":17,"upper_margin":["-347.31156364228209","-347.31156364228208"]},{"a":5,"b":9,"upper_margin":["-90.74877694164371","-90.74877694164370"]},{"a":5,"b":10,"upper_margin":["-113.27688122953690","-113.27688122953689"]},{"a":5,"b":11,"upper_margin":["-127.97134792465664","-127.97134792465663"]},{"a":5,"b":12,"upper_margin":["-156.50910930635959","-156.50910930635958"]},{"a":5,"b":13,"upper_margin":["-176.24475561147919","-176.24475561147918"]},{"a":5,"b":14,"upper_margin":["-209.35266453928472","-209.35266453928471"]},{"a":5,"b":15,"upper_margin":["-235.25003516394656","-235.25003516394655"]},{"a":5,"b":16,"upper_margin":["-274.35174276653047","-274.35174276653046"]},{"a":5,"b":17,"upper_margin":["-308.27572626472459","-308.27572626472458"]},{"a":6,"b":9,"upper_margin":["-76.18580758854040","-76.18580758854039"]},{"a":6,"b":10,"upper_margin":["-89.10174797836869","-89.10174797836868"]},{"a":6,"b":11,"upper_margin":["-112.49312708152004","-112.49312708152003"]},{"a":6,"b":12,"upper_margin":["-127.97135936465664","-127.97135936465663"]},{"a":6,"b":13,"upper_margin":["-157.22685122771017","-157.22685122771016"]},{"a":6,"b":14,"upper_margin":["-177.62443428175236","-177.62443428175235"]},{"a":6,"b":15,"upper_margin":["-212.45867839859232","-212.45867839859231"]},{"a":6,"b":16,"upper_margin":["-238.74538853067379","-238.74538853067378"]},{"a":6,"b":17,"upper_margin":["-280.77486888852230","-280.77486888852229"]},{"a":7,"b":9,"upper_margin":["-53.92861793650489","-53.92861793650488"]},{"a":7,"b":10,"upper_margin":["-75.32252341328223","-75.32252341328222"]},{"a":7,"b":11,"upper_margin":["-89.10176565836869","-89.10176565836868"]},{"a":7,"b":12,"upper_margin":["-113.27688122953690","-113.27688122953689"]},{"a":7,"b":13,"upper_margin":["-132.74937127402407","-132.74937127402406"]},{"a":7,"b":14,"upper_margin":["-160.78681684600020","-160.78681684600019"]},{"a":7,"b":15,"upper_margin":["-185.71498900907682","-185.71498900907681"]},{"a":7,"b":16,"upper_margin":["-218.78260167333640","-218.78260167333639"]},{"a":7,"b":17,"upper_margin":["-250.31742544068248","-250.31742544068247"]},{"a":8,"b":9,"upper_margin":["-42.13044026865100","-42.13044026865099"]},{"a":8,"b":10,"upper_margin":["-53.92861793650489","-53.92861793650488"]},{"a":8,"b":11,"upper_margin":["-76.18580654854040","-76.18580654854039"]},{"a":8,"b":12,"upper_margin":["-90.74880086164371","-90.74880086164370"]},{"a":8,"b":13,"upper_margin":["-117.52162163416250","-117.52162163416249"]},{"a":8,"b":14,"upper_margin":["-135.77606226757227","-135.77606226757226"]},{"a":8,"b":15,"upper_margin":["-167.41991862858282","-167.41991862858281"]},{"a":8,"b":16,"upper_margin":["-190.27457925907907","-190.27457925907906"]},{"a":8,"b":17,"upper_margin":["-227.62327091860325","-227.62327091860324"]}]} diff --git a/research/p104-block-bridge-carriers/review/PROVENANCE.json b/research/p104-block-bridge-carriers/review/PROVENANCE.json new file mode 100644 index 0000000000..2732d071f3 --- /dev/null +++ b/research/p104-block-bridge-carriers/review/PROVENANCE.json @@ -0,0 +1,7 @@ +{ + "original_geometry_sha256": "8ea87eb2329fb5cf5d5ae493bae884b9d7dfc1896a4b4d791c0ad701c76090f9", + "original_pricing_sha256": "974a0bb7be9f8abc5ad472548c780e6db63d60214372fb32967fdf69d7b96758", + "original_arithmetic_source_sha256": "cfc8e605ed2ee12ff640a377a4dc951ef2032aab0b48556da38a770ecf3ca7cb", + "original_discovery_report_sha256": "9ef342039e29463ed1ef9afca70043d1e408b201c7325ad8769ad5c9f5e7ac58", + "adaptation": "Only import/input paths, fixture projection, native profile access, and deterministic output handling were adapted. Independent geometry and rational arithmetic formulas retained. The frozen review assertions and all81 complete prices were replayed in the packaged form." +} diff --git a/research/p104-block-bridge-carriers/review/REVIEW.md b/research/p104-block-bridge-carriers/review/REVIEW.md new file mode 100644 index 0000000000..8c6cdf33e9 --- /dev/null +++ b/research/p104-block-bridge-carriers/review/REVIEW.md @@ -0,0 +1,218 @@ +# Independent review of the fixed-root block-carrier model + +Reviewer: OpenAI GPT-6 Astra Pro research subagent A, working for @CubeJerry. +Review date: 2026-11-07. The author's implementation was read to establish its +claim but was neither imported nor executed by the independent geometry replay. +This review does not change the frozen `research/noidle-root-defect` contribution. + +## Verdict + +**PASS for the stated fixed-root, sector-independent projector-carrier model.** +The independent eigenspace computation agrees with all **13,851** capacities +(171 intervals in each of 81 dense central mask cases). A separate exact audit +of all 13,851 dual inequalities, using those independently computed capacities +and the reviewer's previously written rational power bounds, proves every case +has negative complete moment at the actual headline `κ=0.00337180`. The weakest +certified upper bound is the central two-site mask `(8,9)`, strictly below +`−42.13044026865099`. + +This eighty-one-case result is a **fixed-benchmark** obstruction. These dual +certificates alone do not rule out a hypothetical later positive moment interval +at a larger κ; such a global ceiling needs its own monotonicity argument. +The separate full-span concavity result may have a wider exponent domain. + +The eighteen-dimensional quotient is an algebraic lead, not an admitted +productive caller. Raw compression of every native active rank-two projector +fails idempotence. A rank-one correction repairs each projector locally, so +this failure must not be presented as general quotient impossibility. The +repaired first two projectors have a rank-two commutator; a simultaneous +whole-target interface and its complete invoice remain unproved. + +## 1. Bridge covariance + +Write the coordinates as `A,f_0,...,f_8,h_0,...,h_8,E`. Define + +\[ +F=\sum f_j,\quad H=\sum h_j,\quad u=F+H,\quad v=A+F-H, +\] + +\[ +z=-A^*+\sum(-1)^j f_j^*-\sum(-1)^j h_j^*,\qquad +w=2A^*-\sum(-1)^j f_j^*+\sum(-1)^j h_j^*. +\] + +Thus `zv=1`, `wu=0`, `zu=wv=0`, and `w+z=A*`. Multiplying the three thin +factors directly gives + +\[ +B=I-2P-2N,\qquad P=EE^*+vz,\quad N=uw. +\] + +Here `P²=P`, `rank(P)=2`, `N²=0`, `rank(N)=1`, and `PN=NP=0`. Consequently + +\[ +(B-I)^2=4P,\quad B^2=I-4N,\quad(B+I)(B-I)^2=0. +\] + +The minus eigenspace is `im(P)=span(E,v)`, of dimension two. The actual plus +eigenspace is `ker(P)∩ker(w)`, of dimension seventeen; its generalized eigenspace +has dimension eighteen. This distinguishes the Jordan direction from an +ordinary invariant carrier. + +In the normalized fixed-root frame, the central bridge in the `S=+1` sector is +`I`, and in the `S=−1` sector is `B`. A sector-independent carrier projector +transported across it must satisfy + +\[ +J_{\rm after}=J_{\rm before},\qquad BJ_{\rm before}=J_{\rm before}B. +\] + +The first identity follows from the plus sector, and the second follows from +the minus sector. This permits arbitrary changes of basis *inside* a carrier +plane but does not permit free movement of its projector between different +ordinary planes. A construction that changes the effective root, uses +sector-dependent carriers, or performs other restored work needs a separate +model and invoice. + +## 2. Why actual eigenspaces suffice + +For every full site, + +\[ +wx_i=\begin{cases}1&\text{left}\\-1&\text{right},\end{cases} +\qquad + y_i u=\begin{cases}-1&\text{left}\\1&\text{right}.\end{cases} +\] + +Every full query annihilates `span(E,v)` on both sides. An idle projector obeys +`Jx_i=0` and `y_iJ=0`. If it crosses the bridge, it commutes with `B`, hence with +its polynomial `N=(I−B²)/4`. Applying `JN=NJ` to any crossed full-query column +forces `Ju=0`, because `wx_i` is nonzero. Commutation then forces `wJ=0` as well. +Thus `JN=NJ=0`. Since `J` also commutes with `P=(B−I)²/4`, it splits into its +plus and minus parts, whose image and row spaces lie in the actual eigenspaces. +The generalized plus direction is not admissible merely because it is invariant. + +For common mask `M` and interval of full sites `I`, define + +\[ +U_\lambda=\{f:(B-\lambda I)f=0,\ y_i f=0\ (i\in I),\ f_{M^c}=0\}, +\] + +\[ +V_\lambda=\{g:g(B-\lambda I)=0,\ gx_i=0\ (i\in I),\ g_{M^c}=0\}. +\] + +The maximum number of dual carrier directions in the interval is + +\[ +\operatorname{rank}(V_+U_+)+\operatorname{rank}(V_-U_-). +\] + +The two eigenspaces pair orthogonally. Within each, a rank-`c` bilinear pairing +allows `c` biorthogonal row/column pairs and hence a commuting rank-`c` +idempotent. This proves the isolated interval capacity. Simultaneous carriers +on overlapping intervals may have extra compatibility restrictions; ignoring +those restrictions only makes the author's cost relaxation more favorable. +For a one-sided interval, omit the eigenvalue constraints and use the rank of +the unconstrained row/column pairing. + +This is the method implemented in `geometry.py`: direct nullspaces of explicit +plus and minus eigenvector equations, followed by pairing rank. It is different +from the author's cyclic-span rank formula. + +## 3. Why the cyclic closure is a valid upper bound + +Let `X` span the crossed full-query columns and all off-mask coordinate columns; +let `Y` span the corresponding full-query rows and off-mask coordinate rows. +From `JX=0`, `YJ=0`, and `JB=BJ`, necessarily + +\[ +J\,\operatorname{span}(X,BX,B^2X)=0, +\] + +\[ +\operatorname{span}(Y,YB,YB^2)J=0. +\] + +Powers through two suffice by the bridge's degree-three polynomial. For these +closed spaces `X_c,Y_c`, the rank of a dual pairing between their annihilators is + +\[ +20-\dim X_c-\dim Y_c+\operatorname{rank}(Y_cX_c). +\] + +This is an upper bound on any admissible carrier rank, irrespective of whether +a general nonsemisimple commutant would attain it. In the present source, the +separate eigenspace calculation above attains and verifies exactly the same +capacity for all 13,851 declared cases. + +There is also a symbolic explanation of the difference from pointwise thin +annihilation. Every declared mask excludes `E`. The minus eigenspace can then +contribute only `vz`, whose image and row have support on all nineteen non-E +coordinates. Thus a crossing interval gains exactly one carrier when its +common mask is all nineteen coordinates, and no carrier otherwise. A plus +carrier has `Ju=Jv=JE=0` and `wJ=zJ=E*J=0`, and consequently kills all three +individual thin factors, +using `w+z=A*`. This accounts for the 2,025 changed interval capacities across +the eighty-one cases. In particular, the full dense interval has capacity one. + +## 4. Quotient audit and its precise limitation + +Let `R=I−P` project onto the eighteen-dimensional common active complement. +The bridge restricts there to `I−2uw`, a single rank-one query factor. This is +why eighteen full queries plus one thin query can close the quotient root. +It says nothing yet about productive stage targets. + +For each original native active rank-two projector `Π_i`, put `Q_i=RΠ_iR`. +Direct algebra, independently replayed for all eighteen sites, gives + +\[ +Q_i^2-Q_i=c_iR_i,\qquad R_i=x_i y_i, +\] + +where `c_i=(-1)^j` at left site `j` and `c_i=−(-1)^j` at right site `j`, with +`j=0,...,8` on each arm. Each `Q_i` has rank two, but each defect has rank one. +Therefore the raw compressed stage is not a projector. + +This is **not a general impossibility result**: since `Q_iR_i=R_iQ_i=R_i` and +`R_i²=0`, + +\[ +\widetilde\Pi_i=Q_i-c_iR_i +\] + +is a rank-two idempotent retaining the same query operator. All eighteen local +repairs were checked exactly. Their first pair has a rank-two commutator, so +these particular repairs do not form one common coordinate stage system. +A noncommuting productive output representation remains an open mechanism +requiring its own recursion and full cost accounting. No separate no-idle +theorem is needed for this package's claims. + +## 5. Reproduction and exact coverage + +The original independent review ran from a separate worktree. The packaged +equivalent commands are: + +```sh +python3 -B research/p104-block-bridge-carriers/review/geometry.py +python3 -B research/p104-block-bridge-carriers/review/prices.py +``` + +The geometry checker contains its own exact matrix elimination and explicit +bridge formulas. It reads the author's frozen capacity report only as comparison +data, without importing author code. The comparison data are retained as `capacity-reference.json`. The original +full discovery report had SHA256 +`9ef342039e29463ed1ef9afca70043d1e408b201c7325ad8769ad5c9f5e7ac58`; +the packaged fixture drops unrelated floating solver output. Source paths and +report handling were adapted by the author for standalone reproduction, while +the reviewer's geometry and arithmetic algorithms were retained. +`EXPECTED-GEOMETRY.json` records the full independently computed capacity table, all +projector defects and repairs, and the declared scope. `EXPECTED-PRICES.json` +records all eighty-one complete dual upper margins. + +The dual audit uses the reviewer's previously completed source-authenticated +native profile and alternating-exponential rational arithmetic. It verifies +nonpositive inequality duals, every column dual constraint, all target degrees, +all eighteen native calls, three thin queries, 104 ports, and the complete dual +paid bound. It does not infer global infeasibility from a floating-point solver +or claim that the relaxed optimal schedules can all be physically realized. diff --git a/research/p104-block-bridge-carriers/review/arithmetic.py b/research/p104-block-bridge-carriers/review/arithmetic.py new file mode 100644 index 0000000000..be9be617ce --- /dev/null +++ b/research/p104-block-bridge-carriers/review/arithmetic.py @@ -0,0 +1,67 @@ +"""Rational arithmetic retained from concurrent independent reviewer A. +Jerry Chen / @CubeJerry; substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. This predates and is independent of the carrier author arithmetic. +""" +from fractions import Fraction as Q +from functools import lru_cache + +def need(ok, message): + if not ok: + raise ValueError(message) + +def log_unit(u): + need(Q(1)<=u<=Q(2), 'Logarithm range reduction') + z = (u-1)/(u+1) + total, power, m = Q(0), z, 48 + for j in range(m): + total += power/(2*j+1) + power *= z*z + lo = 2*total + return lo, lo+2*power/((2*m+1)*(1-z*z)) + +@lru_cache(maxsize=None) +def log_bounds(r): + need(type(r) is int and r>=1, 'Positive integer logarithm') + k = r.bit_length()-1 + a,b = log_unit(Q(2)) + c,d = log_unit(Q(r,2**k)) + return k*a+c,k*b+d + +def exp_polynomial(a, degree): + need(Q(0)<=a<=Q(1), 'Alternating exponential range') + total = term = Q(1) + for j in range(1,degree+1): + term *= -a/j + total += term + return total + +@lru_cache(maxsize=None) +def power_bounds(r,kappa): + need(Q(0)<=kappa<=Q(1), 'Exponent domain') + if r==1 or kappa==0: + return Q(r),Q(r) + lo,hi = log_bounds(r) + # exp(-a) decreases: odd-degree Taylor at the upper a is a lower bound; + # even-degree Taylor at the lower a is an upper bound, by alternating terms. + lower = r*exp_polynomial(kappa*hi,11) + upper = r*exp_polynomial(kappa*lo,12) + need(0=0 else b) + hi += c*(b if c>=0 else a) + return lo,hi + +def enclosure(bounds, places=14): + scale = 10**places + low = bounds[0].numerator*scale//bounds[0].denominator + high = -((-bounds[1].numerator*scale)//bounds[1].denominator) + def text(value): + sign = '-' if value<0 else '' + value=abs(value) + return sign+str(value//scale)+'.'+str(value%scale).zfill(places) + return [text(low),text(high)] diff --git a/research/p104-block-bridge-carriers/review/capacity-reference.json b/research/p104-block-bridge-carriers/review/capacity-reference.json new file mode 100644 index 0000000000..f4800117a1 --- /dev/null +++ b/research/p104-block-bridge-carriers/review/capacity-reference.json @@ -0,0 +1 @@ +[{"a":0,"b":9,"caps":[17,17,15,15,13,13,11,11,9,7,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":9},{"a":0,"b":10,"caps":[17,17,15,15,13,13,11,11,9,7,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":18},{"a":0,"b":11,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,4,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":27},{"a":0,"b":12,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,2,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":36},{"a":0,"b":13,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,2,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":45},{"a":0,"b":14,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":54},{"a":0,"b":15,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":63},{"a":0,"b":16,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":72},{"a":0,"b":17,"caps":[17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,1,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":81},{"a":1,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":8},{"a":1,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":16},{"a":1,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":24},{"a":1,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":32},{"a":1,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":40},{"a":1,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":48},{"a":1,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":56},{"a":1,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":64},{"a":1,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,11,9,7,7,5,5,3,3,1,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":72},{"a":2,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,6,4,4,2,2,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":7},{"a":2,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,4,4,2,2,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":14},{"a":2,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,4,2,2,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":21},{"a":2,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,2,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":28},{"a":2,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,2,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":35},{"a":2,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":42},{"a":2,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":49},{"a":2,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":56},{"a":2,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,1,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":63},{"a":3,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":6},{"a":3,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,4,4,2,2,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":12},{"a":3,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,4,2,2,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":18},{"a":3,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,2,2,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":24},{"a":3,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,2,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":30},{"a":3,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":36},{"a":3,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":42},{"a":3,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":48},{"a":3,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,17,17,15,15,13,13,11,9,9,7,7,5,5,3,3,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":54},{"a":4,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,17,17,15,15,13,11,6,4,4,2,2,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":5},{"a":4,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,17,17,15,15,13,11,11,4,4,2,2,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":10},{"a":4,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,17,17,15,15,13,11,11,9,4,2,2,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":15},{"a":4,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,17,17,15,15,13,11,11,9,9,2,2,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":20},{"a":4,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,17,17,15,15,13,11,11,9,9,7,2,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":25},{"a":4,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":30},{"a":4,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,17,17,15,15,13,11,11,9,9,7,7,5,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":35},{"a":4,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,17,17,15,15,13,11,11,9,9,7,7,5,5,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":40},{"a":4,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,17,17,15,15,13,11,11,9,9,7,7,5,5,3,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":45},{"a":5,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,17,17,15,15,13,6,4,4,2,2,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":4},{"a":5,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,17,17,15,15,13,11,4,4,2,2,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":8},{"a":5,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,17,17,15,15,13,11,11,4,2,2,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":12},{"a":5,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,17,17,15,15,13,11,11,9,2,2,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":16},{"a":5,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,17,17,15,15,13,11,11,9,9,2,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":20},{"a":5,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,17,17,15,15,13,11,11,9,9,7,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":24},{"a":5,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,17,17,15,15,13,11,11,9,9,7,7,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":28},{"a":5,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,17,17,15,15,13,11,11,9,9,7,7,5,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":32},{"a":5,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,17,17,15,15,13,11,11,9,9,7,7,5,5,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":36},{"a":6,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,17,17,15,13,6,4,4,2,2,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":3},{"a":6,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,17,17,15,13,13,4,4,2,2,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":6},{"a":6,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,17,17,15,13,13,11,4,2,2,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":9},{"a":6,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,17,17,15,13,13,11,11,2,2,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":12},{"a":6,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,17,17,15,13,13,11,11,9,2,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":15},{"a":6,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,17,17,15,13,13,11,11,9,9,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":18},{"a":6,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,17,17,15,13,13,11,11,9,9,7,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":21},{"a":6,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,17,17,15,13,13,11,11,9,9,7,7,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":24},{"a":6,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,17,17,15,13,13,11,11,9,9,7,7,5,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":27},{"a":7,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,6,6,6,4,0,0,0,0,0,0,0,0,17,17,15,6,4,4,2,2,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":2},{"a":7,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,6,6,6,4,4,0,0,0,0,0,0,0,17,17,15,13,4,4,2,2,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":4},{"a":7,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,6,6,6,4,4,4,0,0,0,0,0,0,17,17,15,13,13,4,2,2,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":6},{"a":7,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,6,6,6,4,4,4,4,0,0,0,0,0,17,17,15,13,13,11,2,2,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":8},{"a":7,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,6,6,6,4,4,4,4,4,0,0,0,0,17,17,15,13,13,11,11,2,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":10},{"a":7,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,6,6,6,4,4,4,4,4,4,0,0,0,17,17,15,13,13,11,11,9,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":12},{"a":7,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,6,6,6,4,4,4,4,4,4,4,0,0,17,17,15,13,13,11,11,9,9,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":14},{"a":7,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,6,6,6,4,4,4,4,4,4,4,4,0,17,17,15,13,13,11,11,9,9,7,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":16},{"a":7,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,6,6,6,4,4,4,4,4,4,4,4,4,17,17,15,13,13,11,11,9,9,7,7,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":18},{"a":8,"b":9,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,0,0,0,0,0,0,0,0,4,4,4,4,4,2,0,0,0,0,0,0,0,0,5,5,5,5,4,0,0,0,0,0,0,0,0,6,6,6,4,0,0,0,0,0,0,0,0,7,7,6,0,0,0,0,0,0,0,0,17,15,6,4,4,2,2,0,0,0,17,7,6,5,4,3,2,1,0,7,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":1},{"a":8,"b":10,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,0,0,0,0,0,0,0,4,4,4,4,4,2,2,0,0,0,0,0,0,0,5,5,5,5,4,4,0,0,0,0,0,0,0,6,6,6,4,4,0,0,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,17,15,15,4,4,2,2,0,0,0,17,17,6,5,4,3,2,1,0,17,6,5,4,3,2,1,0,6,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":2},{"a":8,"b":11,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,0,0,0,0,0,0,4,4,4,4,4,2,2,2,0,0,0,0,0,0,5,5,5,5,4,4,4,0,0,0,0,0,0,6,6,6,4,4,4,0,0,0,0,0,0,7,7,6,6,6,0,0,0,0,0,0,17,15,15,13,4,2,2,0,0,0,17,17,15,5,4,3,2,1,0,17,17,5,4,3,2,1,0,17,5,4,3,2,1,0,5,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":3},{"a":8,"b":12,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,0,0,0,0,0,4,4,4,4,4,2,2,2,2,0,0,0,0,0,5,5,5,5,4,4,4,4,0,0,0,0,0,6,6,6,4,4,4,4,0,0,0,0,0,7,7,6,6,6,6,0,0,0,0,0,17,15,15,13,13,2,2,0,0,0,17,17,15,15,4,3,2,1,0,17,17,15,4,3,2,1,0,17,17,4,3,2,1,0,17,4,3,2,1,0,4,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":4},{"a":8,"b":13,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,0,0,0,0,4,4,4,4,4,2,2,2,2,2,0,0,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,6,6,6,4,4,4,4,4,0,0,0,0,7,7,6,6,6,6,6,0,0,0,0,17,15,15,13,13,11,2,0,0,0,17,17,15,15,13,3,2,1,0,17,17,15,15,3,2,1,0,17,17,15,3,2,1,0,17,17,3,2,1,0,17,3,2,1,0,3,2,1,0,2,1,0,1,0,0],"changed_count":5},{"a":8,"b":14,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,0,0,0,4,4,4,4,4,2,2,2,2,2,2,0,0,0,5,5,5,5,4,4,4,4,4,4,0,0,0,6,6,6,4,4,4,4,4,4,0,0,0,7,7,6,6,6,6,6,6,0,0,0,17,15,15,13,13,11,11,0,0,0,17,17,15,15,13,13,2,1,0,17,17,15,15,13,2,1,0,17,17,15,15,2,1,0,17,17,15,2,1,0,17,17,2,1,0,17,2,1,0,2,1,0,1,0,0],"changed_count":6},{"a":8,"b":15,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,0,0,4,4,4,4,4,2,2,2,2,2,2,2,0,0,5,5,5,5,4,4,4,4,4,4,4,0,0,6,6,6,4,4,4,4,4,4,4,0,0,7,7,6,6,6,6,6,6,6,0,0,17,15,15,13,13,11,11,9,0,0,17,17,15,15,13,13,11,1,0,17,17,15,15,13,13,1,0,17,17,15,15,13,1,0,17,17,15,15,1,0,17,17,15,1,0,17,17,1,0,17,1,0,1,0,0],"changed_count":7},{"a":8,"b":16,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,0,4,4,4,4,4,2,2,2,2,2,2,2,2,0,5,5,5,5,4,4,4,4,4,4,4,4,0,6,6,6,4,4,4,4,4,4,4,4,0,7,7,6,6,6,6,6,6,6,6,0,17,15,15,13,13,11,11,9,9,0,17,17,15,15,13,13,11,11,0,17,17,15,15,13,13,11,0,17,17,15,15,13,13,0,17,17,15,15,13,0,17,17,15,15,0,17,17,15,0,17,17,0,17,0,0],"changed_count":8},{"a":8,"b":17,"caps":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,4,4,4,4,4,2,2,2,2,2,2,2,2,2,5,5,5,5,4,4,4,4,4,4,4,4,4,6,6,6,4,4,4,4,4,4,4,4,4,7,7,6,6,6,6,6,6,6,6,6,17,15,15,13,13,11,11,9,9,7,17,17,15,15,13,13,11,11,9,17,17,15,15,13,13,11,11,17,17,15,15,13,13,11,17,17,15,15,13,13,17,17,15,15,13,17,17,15,15,17,17,15,17,17,17],"changed_count":9}] diff --git a/research/p104-block-bridge-carriers/review/geometry.py b/research/p104-block-bridge-carriers/review/geometry.py new file mode 100644 index 0000000000..465dd2cc0f --- /dev/null +++ b/research/p104-block-bridge-carriers/review/geometry.py @@ -0,0 +1,211 @@ +"""Independent eigenspace review by concurrent research agent A for @CubeJerry. +Substantial OpenAI GPT-6 Astra Pro assistance. Apache-2.0. +No author-model imports. Packaged from the completed independent review with +only relative input paths and output/report handling adapted by agent B. +""" +from fractions import Fraction as Q +from functools import lru_cache +from pathlib import Path +import hashlib,json + +HERE=Path(__file__).resolve().parent +AUTHOR=HERE.parent +N=20 + +def need(ok,msg): + if not ok:raise ValueError(msg) + +def identity(n):return [[Q(i==j) for j in range(n)] for i in range(n)] +def transpose(a):return [list(x) for x in zip(*a)] +def mm(a,b):return [[sum(x*y for x,y in zip(r,c)) for c in zip(*b)] for r in a] +def outer(x,y):return [[a*b for b in y] for a in x] +def add(a,b,c=1):return [[u+c*v for u,v in zip(r,s)] for r,s in zip(a,b)] +def dot(x,y):return sum(a*b for a,b in zip(x,y)) +def e(j):return [Q(i==j) for i in range(N)] + +def rref(a,width=None): + width=len(a[0]) if a else width + a=[[Q(x) for x in row] for row in a] + piv=[]; row=0 + for col in range(width): + pivot=next((i for i in range(row,len(a)) if a[i][col]),None) + if pivot is None:continue + a[row],a[pivot]=a[pivot],a[row] + divisor=a[row][col];a[row]=[x/divisor for x in a[row]] + for i in range(len(a)): + if i!=row and a[i][col]: + c=a[i][col];a[i]=[x-c*y for x,y in zip(a[i],a[row])] + piv.append(col);row+=1 + if row==len(a):break + return a[:row],piv + +def nullspace(a): + reduced,piv=rref(a,N) + ans=[] + for j in range(N): + if j in piv:continue + v=e(j) + for row,p in zip(reduced,piv):v[p]=-row[j] + ans.append(v) + return ans + +def rank(a):return len(rref(a,len(a[0]) if a else 0)[1]) +def pairing(left,right):return rank([[dot(l,r) for r in right] for l in left]) + +I=identity(N) +A,E=e(0),e(19) +F=[Q(1<=i<=9) for i in range(N)] +H=[Q(10<=i<=18) for i in range(N)] +p=[Q((-1)**(i-1) if 1<=i<=9 else 0) for i in range(N)] +q=[Q((-1)**(i-10) if 10<=i<=18 else 0) for i in range(N)] +u=[f+h for f,h in zip(F,H)] +v=[a+f-h for a,f,h in zip(A,F,H)] +z=[-a+b-c for a,b,c in zip(A,p,q)] +w=[2*a-b+c for a,b,c in zip(A,p,q)] +P=add(outer(E,E),outer(v,z)) +J=outer(u,w) +B=add(add(I,P,-2),J,-2) +R=add(I,P,-1) +full=[] +for j in range(9): + x=[a+Q(i==1+j)+2*Q(1<=i<1+j) for i,a in enumerate(A)] + y=[a-Q(i==1+j) for i,a in enumerate(A)] + full.append((x,y)) +for j in range(9): + x=[-a+Q(i==10+j)+2*Q(10+j>i&1)] + image_constraints=[y for x,y in full[a:b+1]]+outside + row_constraints=[x for x,y in full[a:b+1]]+outside + if not(a<9<=b and eigen): + return pairing(nullspace(row_constraints),nullspace(image_constraints)) + result=0 + for lam in (-1,1): + eig=add(B,I,-lam) + image=nullspace(image_constraints+eig) + rows=nullspace(row_constraints+transpose(eig)) + result+=pairing(rows,image) + return result + + +def masks(a,b): + ms=[] + for k in range(18): + base={0,*range(1,k+2)} if k<9 else {0,*range(k+1,19)} + if a<=k<=b:base=set(range(19)) + ms.append(sum(1<0,'local projector repairs are not simultaneously coordinate') + return {'projectors':records,'corrected_first_pair_commutator_rank':rank(comm), + 'limitation':'Raw compression fails, but a rank-one correction repairs each projector locally; a common productive target interface remains unresolved.'} + + +def main(): + a=algebra();c,details=capacities();q=quotient() + result={'verdict':'PASS_INDEPENDENT_EIGENSPACE_CAPACITY_REVIEW','bridge':a,'capacity_review':c, + 'active_quotient_projector_defects':q,'capacities':details, + 'scope':'Fixed source, sector-independent idempotent carriers commuting the central bridge and annihilating each full query in their interval.'} + expected=json.loads((HERE/'EXPECTED-GEOMETRY.json').read_text()) + need(result==expected,'independent geometry expected report') + print(json.dumps({'verdict':result['verdict'],'bridge':a,'capacity_review':c, + 'quotient_active_projectors_checked':len(q['projectors']), + 'corrected_first_pair_commutator_rank':q['corrected_first_pair_commutator_rank']},indent=2)) + +if __name__=='__main__':main() diff --git a/research/p104-block-bridge-carriers/review/prices.py b/research/p104-block-bridge-carriers/review/prices.py new file mode 100644 index 0000000000..c076ecf444 --- /dev/null +++ b/research/p104-block-bridge-carriers/review/prices.py @@ -0,0 +1,55 @@ +"""Independent dual audit using eigenspace capacities and prior author-independent arithmetic. +Uses arithmetic retained from the reviewer's earlier no-idle verifier, never +the carrier author's code. Relative paths/report handling adapted for this +package; the independent matrix and pricing algorithms are unchanged. +Jerry Chen / @CubeJerry, substantial OpenAI GPT-6 Astra Pro assistance. Apache-2.0. +""" +from fractions import Fraction as Q +import ast,json +import arithmetic as v +from pathlib import Path +H=Path(__file__).resolve().parent +A=H.parent +r=json.loads((H/'EXPECTED-GEOMETRY.json').read_text()) +d=json.loads((A/'dual-certificate.json').read_text()) +scale=d['scale'];C=Q(d['verification_kappa']) +intervals=[(a,b) for a in range(18) for b in range(a,18)] +capdata={(z['a'],z['b']):z['caps'] for z in r['capacities']} +v.need(len(d['cases'])==81 and {(z['a'],z['b']) for z in d['cases']}==set(capdata),'complete unique eighty-one-case dual domain') +values={} +for node in ast.parse((A/'retained/pricing.py').read_text()).body: + if isinstance(node,ast.Assign): + for target in node.targets: + if isinstance(target,ast.Name) and target.id in ('HELPERS','LOCAL_PAID'): + values[target.id]=ast.literal_eval(node.value) +v.need(set(values)=={'HELPERS','LOCAL_PAID'},'both source profile tables') +native={k:values['HELPERS'].get(k,0)-values['LOCAL_PAID'].get(k,0) for k in set(values['HELPERS'])|set(values['LOCAL_PAID'])} +v.need(native=={1:-2220,2:-446,3:-485,4:-1,5:-135,6:-4,7:1,8:39,9:359},'independently recounted native profile') +N=v.interval_sum({k:18*x for k,x in native.items()},C) +out=[];failing=[] +for case in d['cases']: + a,b=case['a'],case['b'];alpha,beta=case['alpha'],case['beta'] + v.need(len(alpha)==171 and len(beta)==18 and all(x<=0 for x in alpha),'dual dimensions and signs') + masks=[] + for k in range(18): + mask={0,*range(1,k+2)} if k<9 else {0,*range(k+1,19)} + if a<=k<=b:mask=set(range(19)) + masks.append(mask) + demands=[len(mask)-2 for mask in masks] + targets={} + for c in range(20): + rank=1+8*sum(c in mask for mask in masks);targets[rank]=targets.get(rank,0)+1 + for j,(l,u) in enumerate(intervals): + lhs=sum(alpha[i] for i,(c,e) in enumerate(intervals) if l<=c<=e<=u)+sum(beta[l:u+1]) + cost=v.power_bounds(8*(u-l+1),C)[0] + v.need(Q(lhs,scale)<=cost,'independent dual inequality '+str((a,b,l,u))) + objective=Q(sum(x*y for x,y in zip(alpha,capdata[(a,b)]))+sum(x*y for x,y in zip(beta,demands)),scale) + target=v.interval_sum(targets,C) + margin=N[1]+104*(target[1]-3-objective) + v.need(margin<0,'complete favorable invoice loses '+str((a,b))) + out.append({'a':a,'b':b,'upper_margin':v.enclosure((margin,margin))}) +worst=max(out,key=lambda x:Q(x['upper_margin'][1])) +result={'verdict':'PASS_INDEPENDENT_81_DUAL_COMPLETE_PRICES','verification_kappa':str(C), + 'dual_constraints_checked':81*171,'cases':81,'worst_certified_case':worst,'results':out} +v.need(result==json.loads((H/'EXPECTED-PRICES.json').read_text()),'independent price expected report') +print(json.dumps({k:x for k,x in result.items() if k!='results'},indent=2)) diff --git a/research/p104-block-bridge-carriers/verify.py b/research/p104-block-bridge-carriers/verify.py new file mode 100644 index 0000000000..a8b414d8f9 --- /dev/null +++ b/research/p104-block-bridge-carriers/verify.py @@ -0,0 +1,227 @@ +#!/usr/bin/env python3 +"""Bounded exact verification of the bridge-carrier package, including controls. + +Jerry Chen / @CubeJerry, with substantial OpenAI GPT-6 Astra Pro assistance. +Apache-2.0. Mathematical universality is established in PROOF.md; replay is finite. +""" +import ast +from collections import Counter +from copy import deepcopy +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path + +from model import (CapacityModel, INTERVALS, add, basis, build, dot, eye, mm, + moment, need, outer, power_bounds, rank, source_complete, + source_outer, transpose, zero) + +ROOT = Path(__file__).resolve().parent +KAPPA = Q('.00337180') + + +def digest(data): + return hashlib.sha256(data).hexdigest() + + +def pins(): + obj = json.loads((ROOT/'retained/SOURCE-PINS.json').read_text()) + for row in obj['files']: + payload = (ROOT/'retained'/row['path']).read_bytes() + need(digest(payload) == row['sha256'], 'retained source SHA256') + blob = hashlib.sha1(b'blob '+str(len(payload)).encode()+b'\0'+payload).hexdigest() + need(blob == row['git_blob'], 'retained source Git blob') + need(row['source_commit'] == '51f54e3c31f2f3a3e056a483b3ed66ae916ad06a', 'source head') + tree = ast.parse((ROOT/'retained/chain_root.py').read_text()) + names = {'fields', 'vector', 'thin_vectors', 'sites', 'outer_formula'} + functions = [node for node in tree.body if isinstance(node, ast.FunctionDef) and node.name in names] + need({node.name for node in functions} == names, 'all retained formula dependencies selected') + env = {'Q':Q, 'Counter':Counter} + exec(compile(ast.Module(body=functions, type_ignores=[]), '', 'exec'), env) + price_tree = ast.parse((ROOT/'retained/pricing.py').read_text()) + data = {} + for node in price_tree.body: + if isinstance(node, ast.Assign): + for target in node.targets: + if isinstance(target, ast.Name) and target.id in {'HELPERS', 'LOCAL_PAID'}: + data[target.id] = ast.literal_eval(node.value) + need(set(data) == {'HELPERS','LOCAL_PAID'}, 'complete fixed native profile') + return env, data + + +def algebra(root): + n, m = root['n'], root['m'] + I, Z = eye(n), zero(n) + E, v, z, u, w = (root[key] for key in ('E','v','z','u','w')) + PE, PV, J = outer(E,E), outer(v,z), outer(u,w) + need(dot(z,v) == 1 and dot(w,u) == dot(z,u) == dot(w,v) == 0, 'bridge pairings') + need(mm(PE,PV) == mm(PV,PE) == Z, 'orthogonal common-idle projectors') + for P in (PE,PV): + need(mm(P,P) == P and mm(P,J) == mm(J,P) == Z, 'projector/nilpotent splitting') + need(mm(J,J) == Z and rank(J) == 1, 'nonzero square-zero residual') + expected = add(add(add(I,PE,-2),PV,-2),J,-2) + need(root['B'] == expected, 'literal three-query bridge decomposition') + need(mm(root['B'],root['B']) == add(I,J,-4), 'bridge square') + need(mm(mm(add(root['B'],I,-1),add(root['B'],I,-1)),add(root['B'],I)) == Z, + 'degree-three closure polynomial') + need(n-rank(add(root['B'],I)) == 2, 'bridge minus-one eigenspace dimension') + need(mm(root['B'],transpose([E,v])) == transpose([[-x for x in E],[-x for x in v]]), 'minus-one columns') + need(mm([E,z],root['B']) == [[-x for x in E],[-x for x in z]], 'minus-one rows') + xs = [s[0] for s in root['full']] + ys = [s[1] for s in root['full']] + need(rank(xs) == rank(ys) == m and rank([[dot(y,x) for x in xs] for y in ys]) == m, + 'native primal, dual and even sign-Gram ranks') + for x,y,_ in root['full']: + need(dot(y,E) == dot(y,v) == dot(E,x) == dot(z,x) == 0, 'native common-idle plane') + R = add(add(I,PE,-1),PV,-1) + need(mm(R,R) == R and rank(R) == m, 'native invariant complement') + need(mm(root['B'],R) == mm(add(I,J,-2),R), 'bridge becomes one query on quotient') + K = I + for x,y,_ in root['sites']: + need(dot(y,x) == 0, 'each source query square-zero') + K = mm(add(I,outer(x,y),-2),K) + need(K == add(Z,I,-1), 'complete source root endpoint') + short = root['left']+[(u,w,None)]+root['right'] + K = I + for x,y,_ in short: + K = mm(add(I,outer(x,y),-2),K) + need(K == add(I,R,-2), 'quotient word is minus identity on W and identity on idle plane') + return R + + +def quotient(root, R): + n = root['n']; Qs = [] + idempotence_defects, quotient_defects = [], [] + for x,y,mask in root['full']: + P = [[int(i == j and i in mask) for j in range(n)] for i in range(n)] + comp = mm(mm(R,P),R); Qs.append(comp) + N = outer(x,y) + need(mm(comp,N) == mm(N,comp) == N, 'compressed query containment survives') + idempotence_defects.append(rank(add(mm(comp,comp),comp,-1))) + quotient_defects.append(rank(add(mm(P,R),mm(R,P),-1))) + need(idempotence_defects == [1]*18, 'all compressed stages fail idempotence') + need(quotient_defects == [2]*18, 'all source stages fail to preserve the splitting') + commutators = Counter(rank(add(mm(a,b),mm(b,a),-1)) for j,a in enumerate(Qs) for b in Qs[j+1:]) + need(commutators == Counter({2:153}), 'all compressed stage pairs fail to commute') + return {'stage_idempotence_defect_rank':1, 'stages':18, 'pair_commutator_rank':2, 'pairs':153} + + +def expect_failure(callback, label): + try: + callback() + except (ValueError, AssertionError): + return label + raise ValueError('negative control unexpectedly accepted: '+label) + + +def dual_check(row, scale, caps, demands, kappa): + alpha, beta = row['alpha'], row['beta'] + need(len(alpha) == len(INTERVALS) and len(beta) == 18, 'dual dimensions') + need(all(type(x) is int and x <= 0 for x in alpha) and all(type(x) is int for x in beta), 'dual sign and exact integers') + for a,b in INTERVALS: + column = sum(alpha[k] for k,(c,d) in enumerate(INTERVALS) if a <= c and d <= b)+sum(beta[a:b+1]) + lo,_ = power_bounds(8*(b-a+1),str(kappa)) + need(Q(column,scale) <= lo, 'dual column inequality') + return Q(sum(x*y for x,y in zip(alpha,caps))+sum(x*y for x,y in zip(beta,demands)),scale) + + +def dense_cases(profile): + cert = json.loads((ROOT/'dual-certificate.json').read_text()) + scale = cert['scale']; rows = cert['cases'] + need(scale == 10**8 and len(rows) == 81, 'full finite domain') + need([(r['a'],r['b']) for r in rows] == [(a,b) for a in range(9) for b in range(9,18)], 'domain order, no duplicate or omitted mask') + engine = CapacityModel() + fixed_t, fixed_p = moment(profile['HELPERS'],KAPPA), moment(profile['LOCAL_PAID'],KAPPA) + native_upper = 18*(fixed_t[1]-fixed_p[0]) + result = [] + for row in rows: + caps, demands, targets = engine.case(row['a'],row['b']) + lower_paid = dual_check(row,scale,caps,demands,KAPPA) + target_upper = moment(targets,KAPPA)[1] + complete_upper = native_upper+104*(target_upper-3-lower_paid) + need(complete_upper < 0, 'dense-mask complete upper bound loses at the pending source benchmark') + result.append({'a':row['a'],'b':row['b'],'complete_gain_upper':str(complete_upper)}) + best = max(result,key=lambda x:Q(x['complete_gain_upper'])) + row = rows[0]; caps, demands, _ = engine.case(row['a'],row['b']) + wrong = deepcopy(row); wrong['alpha'][0] = 1 + sign_control = expect_failure(lambda:dual_check(wrong,scale,caps,demands,KAPPA), 'positive inequality multiplier rejected') + wrong = deepcopy(row); wrong['beta'][0] += 1000*scale + col_control = expect_failure(lambda:dual_check(wrong,scale,caps,demands,KAPPA), 'overstated dual price rejected') + need(engine.capacity(8,9,set(range(19))) == 15, 'whole-block central capacity is 15') + # Requiring annihilation of all three thin queries gives the older stricter class. + x = [s[0] for s in engine.full[8:10]]+[s[0] for s in engine.root['thin']]+[[int(i==19) for i in range(20)]] + y = [s[1] for s in engine.full[8:10]]+[s[1] for s in engine.root['thin']]+[[int(i==19) for i in range(20)]] + xb,yb = basis(x),basis(y) + old_cap = 20-len(xb)-len(yb)+rank([[dot(yr,xr) for xr in xb] for yr in yb]) + need(old_cap == 14, 'strictly larger new block-preserved capacity') + return {'cases':81,'dual_column_inequalities':81*len(INTERVALS),'best':best, + 'old_central_capacity':14,'block_central_capacity':15}, [sign_control,col_control] + + +def controls(root): + result = [] + I = eye(20) + wrong = deepcopy(root) + wrong['B'] = I + for x,y,_ in reversed(root['thin']): + wrong['B'] = mm(add(I,outer(x,y),-2),wrong['B']) + result.append(expect_failure(lambda:algebra(wrong),'reversed bridge order rejected')) + PE = outer(root['E'],root['E']) + need(any(mm(PE,outer(x,y)) != zero(20) or mm(outer(x,y),PE) != zero(20) for x,y,_ in root['thin']), + 'whole-block positive fixture fails per-query annihilation') + need(mm(PE,root['B']) == mm(root['B'],PE), 'whole-block positive fixture passes') + result.append('whole-block carrier separates new and old contracts') + e = [[1,0],[0,0]]; f = [[0,0],[0,1]]; swap = [[0,1],[1,0]] + need(mm(swap,e) == mm(f,swap) and e != f, 'minus-leg-only relocation passes but neutral leg fails') + result.append('minus-leg-only transport rejected by neutral specialization') + shear = [[1,1],[0,1]] + need(mm(shear,[[1],[0]]) == [[1],[0]] and mm(shear,e) != mm(e,shear), 'image-only carrier check misses dual change') + result.append('image-only transport rejected by full projector test') + x,y = [[1,0]], [[0,1]] + cap = 2-rank(x)-rank(y)+rank([[dot(y[0],x[0])]]) + need(cap == 0, 'primal and dual nullities do not imply a paired line') + result.append('unpaired nullspace dimension rejected') + # Native-common for the two central full queries, but not bridge-invariant. + phi = [0]*20; phi[1],phi[2] = 1,-1 + gamma = [Q(v,2) for v in phi] + E = outer(phi,gamma) + need(all(dot(y,phi) == dot(gamma,x) == 0 for x,y,_ in root['full'][8:10]), 'closure control has native annihilation') + need(mm(root['B'],E) != mm(E,root['B']), 'omitting whole-block closure admits an illegal carrier') + result.append('native-only annihilation rejected by bridge closure') + return result + + +def run(): + source, profile = pins() + shapes = [] + for a in (1,3,5,7,9): + for b in (1,3,5,7,9): + root = build(a,b) + expected = [(x,y,m) for x,y,m,*_ in source['sites']([1]*a,[1]*b)] + need(root['sites'] == expected,'independent formulas match exact retained source') + need(source_outer(a,b) == source['outer_formula']([1]*a,[1]*b),'complete source outer invoice') + algebra(root); shapes.append([a,b]) + root = build(); R = algebra(root) + qdiag = quotient(root,R) + source_margin = source_complete(KAPPA,profile['HELPERS'],profile['LOCAL_PAID']) + need(source_margin[0] > 0, 'pending source is positive at its stated kappa') + t,p = source_outer() + source_gain = (moment(t,KAPPA)[0]-moment(p,KAPPA)[1],moment(t,KAPPA)[1]-moment(p,KAPPA)[0]) + f145,p144 = power_bounds(145,str(KAPPA)),power_bounds(144,str(KAPPA)) + ideal_upper = 19*f145[1]-17*p144[0]-2 + need(source_gain[0]-ideal_upper > 0, 'full-span ideal is strictly inferior') + dense, dual_controls = dense_cases(profile) + report = {'status':'PASS','claim':'No new kappa','source_head':'51f54e3c31f2f3a3e056a483b3ed66ae916ad06a', + 'kappa':str(KAPPA),'odd_odd_shapes':shapes, + 'source_complete_margin':[str(x) for x in source_margin], + 'full_span_per_port_loss_lower':str(source_gain[0]-ideal_upper), + 'quotient':qdiag,'dense_masks':dense,'controls':controls(root)+dual_controls} + expected_path = ROOT/'EXPECTED.json' + if expected_path.exists(): + need(json.loads(expected_path.read_text()) == report, 'deterministic exact expected report') + print(json.dumps(report,indent=2)) + return report + + +if __name__ == '__main__': + run() diff --git a/research/p104-block-bridge-carriers/verify_quotient_prefix.py b/research/p104-block-bridge-carriers/verify_quotient_prefix.py new file mode 100644 index 0000000000..8ccdc2032d --- /dev/null +++ b/research/p104-block-bridge-carriers/verify_quotient_prefix.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python3 +"""Exact source-bound controls for the quotient prefix-rank consequence. +@CubeJerry; substantial OpenAI GPT-6 Astra Pro assistance. Apache-2.0. +The universal rank inequalities are proved in QUOTIENT-PREFIX-FLOOR.md. +""" +import argparse +import ast +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def eye(n): + return [[Q(i == j) for j in range(n)] for i in range(n)] + + +def mm(a, b): + return [[sum(x*y for x, y in zip(r, c)) for c in zip(*b)] for r in a] + + +def outer(x, y): + return [[a*b for b in y] for a in x] + + +def add(a, b, c=1): + return [[x+c*y for x, y in zip(r, s)] for r, s in zip(a, b)] + + +def rank(matrix): + a = [[Q(x) for x in row] for row in matrix] + r = 0 + for c in range(len(a[0]) if a else 0): + p = next((i for i in range(r, len(a)) if a[i][c]), None) + if p is None: + continue + a[r], a[p] = a[p], a[r] + d = a[r][c] + a[r] = [x/d for x in a[r]] + for i in range(r+1, len(a)): + d = a[i][c] + if d: + a[i] = [x-d*y for x, y in zip(a[i], a[r])] + r += 1 + if r == len(a): + break + return r + + +def rejected(fn, message): + try: + fn() + except ValueError: + return + raise ValueError('Negative control accepted: '+message) + + +def source_word(package): + path = package/'retained'/'chain_root.py' + data = path.read_bytes() + need(hashlib.sha256(data).hexdigest() == '6f4046c804f27071d88ce05820c75baebe9cbf32533c4ba89285c413bfc8edaa', 'source SHA256') + need(hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() == 'ca1e0244f1329c153c1224b05bf0c0c5d5e2367b', 'source Git blob') + names = {'fields', 'vector', 'thin_vectors', 'sites'} + functions = [node for node in ast.parse(data).body if isinstance(node, ast.FunctionDef) and node.name in names] + need({node.name for node in functions} == names, 'four pinned constructor functions') + scope = {'Q': Q} + exec(compile(ast.Module(body=functions, type_ignores=[]), str(path), 'exec'), scope) + source = scope['sites']([1]*9, [1]*9) + need(len(source) == 21, 'source has eighteen full plus three thin factors') + e = [Q(j == 19) for j in range(20)] + u = [x-y for x, y in zip(source[9][0], e)] + w = [x-y for x, y in zip(source[10][1], e)] + v = [x-y for x, y in zip(u, source[10][0])] + z = [x-y for x, y in zip(source[9][1], w)] + p = add(outer(e, e), outer(v, z)) + need(mm(p, p) == p and rank(p) == 2, 'common idle projector') + word = [(x, y) for x, y, *_ in source[:9]] + [(u, w)] + [(x, y) for x, y, *_ in source[12:]] + need(len(word) == 19, 'shortened query count') + return word, p + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--package', type=Path, default=Path(__file__).resolve().parent) + args = parser.parse_args() + word, p = source_word(args.package) + n = 18 + gram = [[sum(a*b for a, b in zip(y, x)) for x, _ in word] for _, y in word] + need(gram == [[Q((i > j)-(i < j)) for j in range(19)] for i in range(19)], 'all 361 quotient Gram entries') + basis = [list(row) for row in zip(*(x for x, _ in word[:18]))] + need(rank(basis) == 18 and mm(p, basis) == [[0]*18 for _ in range(20)], 'basis spans the invariant complement') + full = set(range(19)) - {9} + even = list(range(2, 18, 2)) + need(len(full) == 18 and len(even) == 8 and set(even) <= full, 'eight even interior full sites') + prefix, source_prefix = eye(18), eye(20) + records, saved = [], {} + for i, (sx, sy) in enumerate(word): + x = [Q(i == j) for j in range(n)] if i < n else [Q((-1)**(j+1)) for j in range(n)] + y = [Q((i > j)-(i < j)) for j in range(n)] + need(mm(basis, [[a] for a in x]) == [[a] for a in sx], 'canonical column equals exact source quotient column') + need(mm([sy], basis) == [y], 'canonical row equals exact restricted source row') + need(any(sx) and any(sy) and sum(a*b for a, b in zip(sx, sy)) == 0, 'nonzero square-zero source query') + prefix = add(prefix, outer(x, mm([y], prefix)[0]), -2) + source_prefix = add(source_prefix, outer(sx, mm([sy], source_prefix)[0]), -2) + need(mm(source_prefix, basis) == mm(basis, prefix), 'actual prefix transfers through quotient basis') + if i in even: + u = [Q((-1)**j if j < i else 0) for j in range(n)] + v = [Q(j < i) for j in range(n)] + px, yp = mm(prefix, [[a] for a in x]), mm([y], prefix)[0] + need(px == [[a+2*b] for a, b in zip(x, u)], 'even prefix column formula') + need(yp == [a-2*b for a, b in zip(y, v)], 'even prefix row formula') + columns = [[a, b[0]] for a, b in zip(x, px)] + rows = [y, yp] + need(rank(columns) == rank(rows) == 2 and mm(rows, columns) == [[0, 0], [0, 0]], 'two zero-paired prefix closures') + records.append({'position': i, 'source_site': ('L'+str(i)) if i < 9 else ('R'+str(i-10)), + 'column_rank': 2, 'row_rank': 2, 'pairing_rank': 0, 'stage_rank_floor': 4}) + saved[i] = (x, y, [r[:] for r in prefix]) + need(prefix == [[-v for v in row] for row in eye(18)], 'quotient endpoint -I18') + need(source_prefix == add([[ -v for v in row] for row in eye(20)], p, 2), 'ambient shortened endpoint -I20+2P') + x, y, b = saved[2] + w = [Q(j == 0) for j in range(n)] + local = add(outer(x, x), outer(w, y)) + query = outer(x, y) + need(rank(local) == 2 and mm(local, local) == local, 'rank-two omitted-prefix control') + need(mm(local, query) == query and mm(query, local) == query, 'control supports query on both sides') + commutator = add(mm(local, b), mm(b, local), -1) + need(rank(commutator) > 0, 'support alone does not imply prefix compatibility') + rejected(lambda: need(mm(local, b) == mm(b, local), 'prefix commutation'), 'omitted prefix') + bound = 8*4 + 8*3 + 2*2 + need(bound == 60, 'rank60 arithmetic from eight even floors and known at-most-two rank-two supports') + rejected(lambda: need(all(3 >= r['stage_rank_floor'] for r in records), 'uniform rank three'), 'uniform rank-three census') + rejected(lambda: need(18*3 >= bound, 'balanced degree-three census'), '54-incidence census') + result = {'status': 'PASS_QUOTIENT_PREFIX_RANK60', 'source_head': '51f54e3c31f2f3a3e056a483b3ed66ae916ad06a', + 'quotient': {'n': 18, 'queries': 19, 'full': 18, 'thin_position': 9}, + 'even_full_positions': records, 'total_stage_rank_lower_bound': bound, + 'rank_two_stage_cap': {'value': 2, 'proof': 'QUOTIENT-SUPPORT-COROLLARY.md; not inferred from this finite replay'}, + 'omitted_prefix_control': {'position': 2, 'supporting_idempotent_rank': 2, 'prefix_commutator_rank': rank(commutator)}, + 'blocked_censuses': ['all eighteen stages rank three', 'eighteen outputs each of incidence degree three; total54'], + 'scope': 'Commuting supporting idempotents that commute with their actual prefixes; rank60 is necessary, not attained.', + 'new_kappa': False} + print(json.dumps(result, indent=2)) + print(result['status']) + + +if __name__ == '__main__': + main() diff --git a/research/p104-block-bridge-carriers/verify_quotient_support.py b/research/p104-block-bridge-carriers/verify_quotient_support.py new file mode 100644 index 0000000000..0e6ff9b64f --- /dev/null +++ b/research/p104-block-bridge-carriers/verify_quotient_support.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +"""Exact controls for the known defect-one support cap and source corollary; no external imports. +@CubeJerry, with substantial OpenAI GPT-6 Astra Pro assistance. Apache-2.0. +The universal result and exact quotient application are in the written proof. +""" +from fractions import Fraction as Q +from itertools import combinations +import json + + +def need(ok,message): + if not ok:raise ValueError(message) +def eye(n):return [[Q(i==j) for j in range(n)] for i in range(n)] +def mm(a,b):return [[sum(x*y for x,y in zip(r,c)) for c in zip(*b)] for r in a] +def outer(x,y):return [[a*b for b in y] for a in x] +def add(a,b,c=1):return [[x+c*y for x,y in zip(r,s)] for r,s in zip(a,b)] +def rank(matrix): + a=[[Q(x) for x in row] for row in matrix];r=0 + for c in range(len(a[0]) if a else 0): + p=next((i for i in range(r,len(a)) if a[i][c]),None) + if p is None:continue + a[r],a[p]=a[p],a[r];d=a[r][c];a[r]=[x/d for x in a[r]] + for i in range(r+1,len(a)): + d=a[i][c] + if d:a[i]=[x-d*y for x,y in zip(a[i],a[r])] + r+=1 + if r==len(a):break + return r + +def canonical(n): + out=[] + for i in range(n+1): + x=[Q(i==j) for j in range(n)] if ij)-(ij)-(ij)-(i0,'commutation premise distinguishes the four-support boundary') + result={'status':'PASS_KNOWN_QUOTIENT_SUPPORT_CAP','dimension_exception':{'n':2,'N':3,'F':3,'defect':1},'known_cap_n_ge4':2,'attaining_n4_supports':2,'independent_query_triples_checked':10, + 'omitted_commutation_boundary':{'n':4,'N':5,'selected_supports':4,'noncommuting_pairs':bad_pairs}, + 'sign_gram_rank':4,'no_new_kappa':True, + 'scope':'Finite controls corroborate the proof; exact source quotient census is verified by the existing geometry replay.'} + print(json.dumps(result,indent=2));print(result['status']) + +if __name__=='__main__':main()