diff --git a/research/center-helper-normal-form/CONSUMER.md b/research/center-helper-normal-form/CONSUMER.md new file mode 100644 index 0000000000..70ecd4bc23 --- /dev/null +++ b/research/center-helper-normal-form/CONSUMER.md @@ -0,0 +1,94 @@ +# An exact two-call controller for a homogeneous three-step query chain + +**Conditional controller identity; no physical native realization or higher K.** +This is an exact consumer for a specified three-field offer. The normalized +PR4694 scalar chains alone do not prove that offer's physical hypothesis. + +Let Q be a symmetric invertible operator with Q^4=I and let P=Q^2 be an +available monomial involution. A tensor Gaussian C^tensor(f) has these +properties under the retained phase convention. On three arbitrary independent +fields assume an oracle + + U = [[I,Q,0],[0,I,Q],[0,0,I]]. + +Its actual raw inverse transpose is + + U^-T = [[I,0,0],[-Q,I,0],[P,-Q,I]]. + +The bottom-left term is required. Define free matrices with only ordinary +scalar and Pauli entries: + + D = diag(P,I,P), E = I - P E_31, + L = [[I,0,0],[0,-P,0],[I,0,P]], + R = [[0,I,I],[I,0,0],[0,0,P]]. + +Then the exact identity is + + L U E D U^-T D R = diag(Q,Q,I). + +The chronological program is R, D, the raw-dual call, D, E, the forward +call, L. Every boundary is invertible and uses only scalar ADDs, signs, +field exchanges and P. For example an ADD with coefficient P can conjugate +its source by P, perform the ordinary ADD, then restore the source by P; +no Gaussian query or zero-only input is hidden in the notation. + +To prove the identity, use + + E D U^-T D = I - Q^-1 (E_21+E_32). + +Indeed the D conjugation changes -Q on the two adjacent lower edges to +-Q^-1 and leaves the P long-root term. E removes that term exactly. Multiplying +by U gives + + [[0,Q,0],[-Q^-1,0,Q],[0,-Q^-1,I]]. + +Direct multiplication by R and L gives diag(Q,Q,I), using P^2=I and +P Q^-1=Q. These are block-operator identities at every width, not numerical +specializations or tensor powers of a sum. Symmetry Q^T=Q is needed to identify +the raw dual as written. + +consumer.py verifies every coefficient in the exact cyclic group ring +Z[q]/(q^4-1), checks the actual raw inverse transpose, and includes separate +dense rational specializations. It rejects a wrong long-root sign, an omitted +correction, an omitted raw-dual quadratic term, missing Pauli conjugation, +and dropping the order-four hypothesis. + +## Conditional transverse and price ledger + +Suppose the actual forward provider also multiplies all three fields by the +same fresh rank-b Gaussian D_s, commuting with Q and these boundaries. Suppose +the actual raw-dual provider has the corresponding identical inverse Gaussian +on all three fields, converted to a positive one by its true Pauli normalizer. +Two disjoint transverse stages then give targets + + two rank-(2b+1) jobs and one rank-2b job. + +The third field has its central query restored; it still receives the +transverse Gaussian. If each full invocation has autonomous helper profile H +and complete paid profile P_local, the complete moment for this gadget is + + 2 H_t + 2 (2b+1)^t + (2b)^t - 2 P_local,t, t=1-C. + +Writing the local rank deficit relative to three rank-b main jobs as +E=P_local,1-H_1-3b, its rank surplus at C=0 is 2-2E. This is a conditional +bookkeeping formula, not an invoice assigned to PR4694 or a new exponent. + +## The actual missing interface + +The real retained-center word has different charts on its helper, center +and Y directions. Its source helper has rank nine, its retained center moves +from an eight-dimensional chart to the empty chart, and the terminal Y +combination spans different eight-dimensional charts. A scalar Jordan chain +therefore does not supply U(Q) with a common commuting transverse multiplier. + +The next concrete test is a costed embedding of one of the eight recorded +chains into this homogeneous offer, with every chart conversion and the +remaining R_X data terms retained. Only after that succeeds may the formula +above be used with actual paid and target profiles. The package does not +claim a free full Jordan basis, independent center credit, a profitable native +consumer or a higher K. + +Prepared for Cinna Davis with substantial OpenAI Codex assistance; Apache-2.0. +Credit the PR4694 coupled interface, Cinna Davis's controller lineage, Cao Yifan, +zxv, Jacob Alan Sussman and retained native/phase/precision authors. No priority +claim is made for elementary block elimination identities. diff --git a/research/center-helper-normal-form/PROOF.md b/research/center-helper-normal-form/PROOF.md new file mode 100644 index 0000000000..f7af6ae622 --- /dev/null +++ b/research/center-helper-normal-form/PROOF.md @@ -0,0 +1,97 @@ +# A legal helper basis and exact three-step chains + +Prepared for Cinna Davis with substantial OpenAI Codex assistance. Apache-2.0. + +## Source interface and real common charts + +Assume the exact PR4694 interface M on 640 arbitrary inputs. Let x=(X,Y,h), +with 408 original helpers, and let z contain the eight retained centers: + + x_out = A x + B z, z_out = R_X X + R_H h + z, + A(X,Y,h)=(X,Y+X,h). + +B has rank eight and is supported only on Y. All 106 helper columns used by +R_H have birth chart 0 and complete output chart 1. The complete cold pool +contains 326 helpers. The frozen source has no endpoint adapter on these +helpers, so the charts used by the boundary circuit are actual common charts. +The source supplies their identical exact operator F=C^tensor(9f), for each +positive column width f, under its retained native/all-width hypotheses. + +## Exact sparse basis + +Let J be the eight pivot roles in RESULT.json and let N be the other cold +roles. Set L=R_H[:,J]. Exact rational elimination gives det(L)=64 and pivots +2,2,1,4,1,2,1,2. In particular every division used in the emitted algorithm +is a dyadic unit. Define h=P u by + + h_N = u_N, + h_J = L^-1 (u_J - R_H[:,N] u_N). + +Then R_H P u=u_J. This is an invertible change, not a restriction or a clean +input promise: all 408 original helper inputs remain arbitrary. The verifier +emits the gathering subtractions and the eight-row elimination as 379 actual +ADD/SCALE gates. Row exchanges use three ADDs and a sign scale. All operands +are cold helpers at chart 0. Reverse the gates and invert each to emit P^-1 +in 379 gates at output chart 1. Their coefficients and both inverse identities +are checked exactly. + +Because P acts on field labels and F is the same operator on each cold field, + + P^-1 diag(F,...,F) P = diag(F,...,F) + +at every width f. This is ordinary commutation of a scalar matrix with an +identical direct-sum operator, not tensoring a sum or assuming equal ranks +imply equal physical jobs. Other helper jobs are untouched. All monomial +normalizers and source physical phase conventions remain the source's. +The entry and exit circuits add no recursive Gaussian request. Fixed scalar, +route and storage work is real finite work and is not claimed to cost zero. + +Conjugating M only on these helper coordinates therefore preserves A, B and +all helper targets, while replacing R_H by the coordinate selector E_J. +Data observations R_X and all center input columns are exactly retained. +The native replay checks this full identity on all 640 columns and also on +the true gatewise raw inverse transpose. It retains every paid source call. + +## Eight actual chains and the scalar Jordan type + +Put K=M_new-I. On the three sectors (old fields, centers), + + K = [[S,B],[R_new,0]], S=A-I, + K^2 = [[B R_new,0],[0,0]], K^3=0. + +S maps the 112 X coordinates bijectively to Y. B is supported on Y, and +R_new reads only X and the eight distinct pivot helper inputs. Thus the image +of K contains all 112 Y directions (choose X and cancel R_X X with the pivot +helpers) and all eight center directions (choose pivot helpers). It is +contained in their sum. Hence rank(K)=120. + +R_new is surjective because of its helper selector. B is injective, so +rank(K^2)=rank(B R_new)=8. For a nilpotent operator of index at most three, +the number of size-three blocks is rank(K^2), and the number of size-two +blocks is rank(K)-2 rank(K^2). The remaining dimension gives 408 size-one +blocks. This proves the stated Jordan type over Q, not only numerically. + +More concretely, for each pivot helper e_hj, + + K e_hj = e_zj, K e_zj = B e_j, K B e_j = 0. + +Their 24 vectors are independent: the first eight lie in the helper sector, +the next eight in the center sector, and the last eight are the independent +Y columns of B. The verifier checks those exact sparse columns. It does not +claim that converting all Y/data fields to a full Jordan basis is physically +free; those output charts differ. + +## Verification and remaining bottleneck + +The frozen source engine is reused unchanged for actual native replay; it is +not relabeled an independently written evaluator. Separate sparse matrix +composition checks the basis inverses, conjugation and both operator inverses. +Every native scalar chart and paid rank is checked. Complete positive scalar +envelopes for primal and raw dual remain below 2^192, without a new rounded +recursive induction claim. Controls reject a changed header sign, an omitted +output inverse and an output circuit moved to the wrong chart. + +The eight center outputs still contain R_X X, and incoming z still enters Y. +Thus eight normalized observations are not eight independent Gaussian jobs. +No contraction, complete controller, uniform compiler, new BIT endpoint, +outer saving or multiplication theorem is established by this basis change. diff --git a/research/center-helper-normal-form/README.md b/research/center-helper-normal-form/README.md new file mode 100644 index 0000000000..a1ab98dd6c --- /dev/null +++ b/research/center-helper-normal-form/README.md @@ -0,0 +1,96 @@ +# Concentrate the retained center observations into eight real helpers + +**Constructive physical boundary reduction; no higher K.** The new PR4694 +640-field interface observes 106 different helper inputs in its eight center +outputs. This package changes the basis of actual cold helpers, with all +operand charts checked, so each center observes **exactly one helper**. +There are 379 scalar gates at entry and 379 at exit, with **no new Gaussian +request**. All original helper Gaussian jobs and the complete paid profile +remain unchanged. + +The eight pivot roles are 224, 225, 227, 229, 240, 241, 256 and 257. Their +actual observation minor has determinant 64; the emitted inverse uses only +dyadic ADDs and unit dyadic scales. The 106 observed helpers all belong to the +326-field pool with common empty birth chart and complete nine-axis output +chart. Therefore the boundary change is physically legal, rather than an +arbitrary Jordan basis assumed free across different charts. + +For each center j the normalized endpoint is now + + z_j_out = z_j_in + h_j_in + (R_X X)_j. + +Every data observation is retained: each row of R_X still has 56 terms. +Incoming centers still contaminate all 112 Y outputs. The centers are coupled +outputs, not eight independently productive Gaussian jobs. + +Writing K=M-I, exact rank(K)=120 and rank(K^2)=8, with K^3=0. Thus the scalar +Jordan type is eight blocks of size 3, 104 of size 2 and 408 of size 1. +Eight chains are explicit: pivot helper -> its center -> the actual Y scatter +column. A full physical change to a Jordan basis is not supplied or priced. +These chains give a smaller concrete target for a changed controller; they do +not establish a positive recursive moment or a new K. + +## Conditional two-call consumer + +CONSUMER.md and consumer.py give the exact identity +`L U E D U^(-T) D R = diag(Q,Q,I)` for a homogeneous three-field query +chain with symmetric Q, Q^4=I and monomial P=Q^2. It uses two oracle calls +and actual scalar/Pauli boundary gates; the raw dual's quadratic term is +retained and corrected. A conditional complete moment is derived there. + +This makes the chain a specific consumer target rather than only a Jordan +classification. The real source charts do not yet realize that homogeneous +offer. The physical embedding, its full cost and all R_X terms remain open; +this conditional identity is not applied to the native invoice. + +## Reproduce + +```sh +python3.12 -B scripts/research_package.py --package research/center-helper-normal-form +``` + +The standard-library replay reconstructs the PR4694 source word and the new +word from the original PR4610 round-three payload. It checks all 640 arbitrary +columns in the primal and actual raw inverse transpose, every common chart, +all paid ranks, both basis inverses, both operator inverses and the explicit +chains. Both full positive scalar envelopes remain below the retained +192-bit allowance. Wrong coefficients, an omitted inverse and a wrong physical +footer chart are rejected. Normal replay leaves files unchanged; --write is +an authoring command for RESULT.json. + +## Sources and scope + +PR4694's cache continuation at head 2add42d1edf14a263abe90a3bcde67fc1ba30768 +already records that all 106 observed helpers are cold. That observation is +credited prior work. The new contribution here is the physically emitted +basis and inverse, preservation of all helper jobs, and the explicit chains. +Its direct cache acquisition and scalar-span failures remain in force; this +normalization does not claim to overcome them. ABI.json and the native payload +are byte-identical between that head and the frozen source below. + +Frozen input bytes are identical to PR4694 head +039a3e4f8906400cd05908ed86b8f9c6866e6113; inputs/ORIGINS.json records the +original paths, Git blobs and hashes. That exact history is retained by a +local tree-preserving provenance merge. Only this package changes relative +to canonical main. The upstream PR is not merged or modified. + +The PR4694 emitter and native checker are copied unchanged as actual replay +inputs, with their source credit. Its source all-width/native/phase contracts +remain premises; there is no new physical phase audit or independent theorem +verification. The new basis commutes with the identical exact nine-axis +Gaussian on the cold helper pool at every positive column multiplicity. +PROOF.md states why this preserves all existing helper target jobs. + +Prepared for Cinna Davis with substantial OpenAI Codex assistance; Apache-2.0. +Credit Cinna Davis's PR4694/4440/4441/4447/4470 lineage, Cao Yifan's PR4610, +zxv, Jacob Alan Sussman and the retained scalar, E8, Clifford, precision, +compiler and outer contributors. No subagents or independent human review. + +## Open next questions + +Construct a physical controller using the eight explicit length-three chains. +The first useful test must retain R_X X, every incoming-center-to-Y term and +all actual boundary charts. The remaining obstacle is independent Gaussian +output recovery at a complete paid profit, followed by compiler, BIT and outer +integration. This normalization does not authorize center target credit or a +larger exponent. diff --git a/research/center-helper-normal-form/RESULT.json b/research/center-helper-normal-form/RESULT.json new file mode 100644 index 0000000000..d91de1d73a --- /dev/null +++ b/research/center-helper-normal-form/RESULT.json @@ -0,0 +1,1915 @@ +{ + "cold_complete_helper_pool": 326, + "conditional_three_field_controller": { + "coefficient_ring": "Z[q]/(q^4-1)", + "controls": 5, + "free_boundary_entries": [ + "0", + "1", + "-P", + "P" + ], + "homogeneous_progress_required": true, + "native_provider_realized": false, + "new_kappa": null, + "oracle_calls": [ + "U(Q)^(-T)", + "U(Q)" + ], + "query_outputs": 2, + "restored_outputs": 1, + "status": "PASS_CONDITIONAL_TWO_CALL_THREE_FIELD_CONTROLLER" + }, + "elimination_pivots": [ + "2", + "2", + "1", + "4", + "1", + "2", + "1", + "2" + ], + "footer_gates": 379, + "header_gates": 379, + "independent_center_credit": false, + "jordan_blocks": { + "1": 408, + "2": 104, + "3": 8 + }, + "minor_determinant": "64", + "new_kappa": null, + "new_recursive_calls": 0, + "nilpotent_rank": 120, + "normalized_R": [ + [ + [ + 0, + "1" + ], + [ + 2, + "1" + ], + [ + 7, + "1" + ], + [ + 9, + "1" + ], + [ + 10, + "1" + ], + [ + 11, + "1" + ], + [ + 12, + "1" + ], + [ + 17, + "1" + ], + [ + 18, + "1" + ], + [ + 19, + "1" + ], + [ + 22, + "1" + ], + [ + 23, + "1" + ], + [ + 24, + "1" + ], + [ + 25, + "1" + ], + [ + 27, + "1" + ], + [ + 31, + "1" + ], + [ + 32, + "1" + ], + [ + 33, + "1" + ], + [ + 34, + "1" + ], + [ + 35, + "1" + ], + [ + 38, + "1" + ], + [ + 39, + "1" + ], + [ + 40, + "1" + ], + [ + 45, + "1" + ], + [ + 48, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 54, + "1" + ], + [ + 55, + "1" + ], + [ + 56, + "1" + ], + [ + 57, + "1" + ], + [ + 61, + "1" + ], + [ + 62, + "1" + ], + [ + 63, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 72, + "1" + ], + [ + 76, + "1" + ], + [ + 77, + "1" + ], + [ + 79, + "1" + ], + [ + 81, + "1" + ], + [ + 85, + "1" + ], + [ + 87, + "1" + ], + [ + 89, + "1" + ], + [ + 90, + "1" + ], + [ + 91, + "1" + ], + [ + 92, + "1" + ], + [ + 94, + "1" + ], + [ + 98, + "1" + ], + [ + 100, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 103, + "1" + ], + [ + 107, + "1" + ], + [ + 108, + "1" + ], + [ + 109, + "1" + ], + [ + 224, + "1" + ] + ], + [ + [ + 0, + "1" + ], + [ + 1, + "1" + ], + [ + 2, + "1" + ], + [ + 3, + "1" + ], + [ + 4, + "1" + ], + [ + 5, + "1" + ], + [ + 6, + "1" + ], + [ + 7, + "-1" + ], + [ + 8, + "1" + ], + [ + 9, + "-1" + ], + [ + 10, + "-1" + ], + [ + 11, + "-1" + ], + [ + 25, + "1" + ], + [ + 26, + "1" + ], + [ + 27, + "1" + ], + [ + 28, + "1" + ], + [ + 29, + "1" + ], + [ + 30, + "1" + ], + [ + 57, + "-1" + ], + [ + 58, + "1" + ], + [ + 59, + "1" + ], + [ + 60, + "1" + ], + [ + 61, + "-1" + ], + [ + 62, + "-1" + ], + [ + 63, + "-1" + ], + [ + 64, + "1" + ], + [ + 65, + "1" + ], + [ + 66, + "1" + ], + [ + 67, + "1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 72, + "1" + ], + [ + 73, + "1" + ], + [ + 74, + "1" + ], + [ + 75, + "1" + ], + [ + 76, + "1" + ], + [ + 79, + "-1" + ], + [ + 80, + "1" + ], + [ + 81, + "-1" + ], + [ + 82, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 86, + "1" + ], + [ + 87, + "1" + ], + [ + 88, + "1" + ], + [ + 89, + "1" + ], + [ + 90, + "1" + ], + [ + 91, + "1" + ], + [ + 92, + "-1" + ], + [ + 93, + "1" + ], + [ + 94, + "-1" + ], + [ + 95, + "1" + ], + [ + 96, + "1" + ], + [ + 97, + "1" + ], + [ + 225, + "1" + ] + ], + [ + [ + 0, + "1" + ], + [ + 1, + "1" + ], + [ + 6, + "1" + ], + [ + 7, + "-1" + ], + [ + 12, + "1" + ], + [ + 13, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 16, + "1" + ], + [ + 17, + "-1" + ], + [ + 18, + "-1" + ], + [ + 19, + "-1" + ], + [ + 27, + "-1" + ], + [ + 28, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "-1" + ], + [ + 31, + "1" + ], + [ + 38, + "-1" + ], + [ + 39, + "-1" + ], + [ + 40, + "-1" + ], + [ + 41, + "1" + ], + [ + 42, + "1" + ], + [ + 43, + "1" + ], + [ + 44, + "1" + ], + [ + 51, + "1" + ], + [ + 52, + "1" + ], + [ + 53, + "1" + ], + [ + 54, + "1" + ], + [ + 55, + "1" + ], + [ + 56, + "1" + ], + [ + 57, + "1" + ], + [ + 58, + "-1" + ], + [ + 59, + "-1" + ], + [ + 60, + "-1" + ], + [ + 73, + "1" + ], + [ + 74, + "1" + ], + [ + 75, + "1" + ], + [ + 76, + "1" + ], + [ + 77, + "-1" + ], + [ + 78, + "1" + ], + [ + 81, + "-1" + ], + [ + 82, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 86, + "-1" + ], + [ + 87, + "-1" + ], + [ + 92, + "1" + ], + [ + 93, + "-1" + ], + [ + 99, + "1" + ], + [ + 100, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 103, + "-1" + ], + [ + 104, + "1" + ], + [ + 105, + "1" + ], + [ + 106, + "1" + ], + [ + 227, + "1" + ] + ], + [ + [ + 0, + "1" + ], + [ + 3, + "1" + ], + [ + 4, + "1" + ], + [ + 5, + "1" + ], + [ + 7, + "1" + ], + [ + 8, + "-1" + ], + [ + 13, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 16, + "-1" + ], + [ + 22, + "-1" + ], + [ + 23, + "-1" + ], + [ + 24, + "-1" + ], + [ + 26, + "-1" + ], + [ + 27, + "-1" + ], + [ + 32, + "1" + ], + [ + 33, + "1" + ], + [ + 34, + "1" + ], + [ + 35, + "-1" + ], + [ + 41, + "-1" + ], + [ + 42, + "-1" + ], + [ + 43, + "-1" + ], + [ + 44, + "-1" + ], + [ + 45, + "-1" + ], + [ + 48, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 51, + "1" + ], + [ + 52, + "1" + ], + [ + 53, + "1" + ], + [ + 57, + "-1" + ], + [ + 64, + "-1" + ], + [ + 65, + "-1" + ], + [ + 66, + "-1" + ], + [ + 67, + "1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 76, + "-1" + ], + [ + 78, + "1" + ], + [ + 80, + "1" + ], + [ + 81, + "-1" + ], + [ + 85, + "1" + ], + [ + 87, + "1" + ], + [ + 88, + "1" + ], + [ + 92, + "1" + ], + [ + 95, + "-1" + ], + [ + 96, + "-1" + ], + [ + 97, + "-1" + ], + [ + 98, + "1" + ], + [ + 99, + "1" + ], + [ + 104, + "-1" + ], + [ + 105, + "-1" + ], + [ + 106, + "-1" + ], + [ + 107, + "-1" + ], + [ + 108, + "-1" + ], + [ + 109, + "-1" + ], + [ + 229, + "1" + ] + ], + [ + [ + 1, + "-1" + ], + [ + 3, + "-1" + ], + [ + 6, + "1" + ], + [ + 8, + "1" + ], + [ + 10, + "-1" + ], + [ + 11, + "-1" + ], + [ + 12, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 17, + "1" + ], + [ + 20, + "1" + ], + [ + 21, + "1" + ], + [ + 24, + "-1" + ], + [ + 26, + "-1" + ], + [ + 28, + "-1" + ], + [ + 31, + "-1" + ], + [ + 32, + "-1" + ], + [ + 35, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 38, + "-1" + ], + [ + 41, + "1" + ], + [ + 42, + "1" + ], + [ + 45, + "1" + ], + [ + 46, + "1" + ], + [ + 47, + "1" + ], + [ + 48, + "1" + ], + [ + 52, + "-1" + ], + [ + 53, + "-1" + ], + [ + 56, + "-1" + ], + [ + 58, + "1" + ], + [ + 62, + "1" + ], + [ + 63, + "1" + ], + [ + 66, + "-1" + ], + [ + 67, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 75, + "-1" + ], + [ + 77, + "-1" + ], + [ + 80, + "1" + ], + [ + 82, + "1" + ], + [ + 85, + "-1" + ], + [ + 86, + "-1" + ], + [ + 88, + "-1" + ], + [ + 90, + "-1" + ], + [ + 91, + "-1" + ], + [ + 93, + "1" + ], + [ + 95, + "1" + ], + [ + 98, + "1" + ], + [ + 100, + "1" + ], + [ + 103, + "1" + ], + [ + 105, + "-1" + ], + [ + 106, + "-1" + ], + [ + 107, + "1" + ], + [ + 110, + "1" + ], + [ + 111, + "1" + ], + [ + 240, + "1" + ] + ], + [ + [ + 4, + "-1" + ], + [ + 5, + "1" + ], + [ + 10, + "1" + ], + [ + 11, + "-1" + ], + [ + 14, + "-1" + ], + [ + 15, + "1" + ], + [ + 18, + "1" + ], + [ + 19, + "-1" + ], + [ + 20, + "-1" + ], + [ + 21, + "1" + ], + [ + 22, + "1" + ], + [ + 23, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "1" + ], + [ + 33, + "-1" + ], + [ + 34, + "1" + ], + [ + 36, + "1" + ], + [ + 37, + "-1" + ], + [ + 39, + "-1" + ], + [ + 40, + "1" + ], + [ + 41, + "1" + ], + [ + 42, + "-1" + ], + [ + 46, + "-1" + ], + [ + 47, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "-1" + ], + [ + 52, + "1" + ], + [ + 53, + "-1" + ], + [ + 54, + "1" + ], + [ + 55, + "-1" + ], + [ + 59, + "1" + ], + [ + 60, + "-1" + ], + [ + 62, + "-1" + ], + [ + 63, + "1" + ], + [ + 64, + "1" + ], + [ + 65, + "-1" + ], + [ + 68, + "1" + ], + [ + 69, + "-1" + ], + [ + 70, + "1" + ], + [ + 71, + "-1" + ], + [ + 73, + "1" + ], + [ + 74, + "-1" + ], + [ + 83, + "1" + ], + [ + 84, + "-1" + ], + [ + 90, + "1" + ], + [ + 91, + "-1" + ], + [ + 96, + "1" + ], + [ + 97, + "-1" + ], + [ + 101, + "1" + ], + [ + 102, + "-1" + ], + [ + 105, + "1" + ], + [ + 106, + "-1" + ], + [ + 108, + "1" + ], + [ + 109, + "-1" + ], + [ + 110, + "-1" + ], + [ + 111, + "1" + ], + [ + 241, + "1" + ] + ], + [ + [ + 2, + "1" + ], + [ + 3, + "1" + ], + [ + 8, + "1" + ], + [ + 9, + "-1" + ], + [ + 12, + "1" + ], + [ + 13, + "1" + ], + [ + 16, + "1" + ], + [ + 17, + "-1" + ], + [ + 20, + "1" + ], + [ + 21, + "1" + ], + [ + 22, + "-1" + ], + [ + 23, + "-1" + ], + [ + 25, + "-1" + ], + [ + 26, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "-1" + ], + [ + 31, + "-1" + ], + [ + 33, + "-1" + ], + [ + 34, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 38, + "1" + ], + [ + 43, + "1" + ], + [ + 44, + "-1" + ], + [ + 46, + "-1" + ], + [ + 47, + "-1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 51, + "-1" + ], + [ + 56, + "1" + ], + [ + 59, + "1" + ], + [ + 60, + "1" + ], + [ + 61, + "1" + ], + [ + 66, + "1" + ], + [ + 67, + "-1" + ], + [ + 72, + "1" + ], + [ + 73, + "-1" + ], + [ + 74, + "-1" + ], + [ + 77, + "-1" + ], + [ + 78, + "1" + ], + [ + 79, + "-1" + ], + [ + 80, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 88, + "-1" + ], + [ + 89, + "-1" + ], + [ + 94, + "1" + ], + [ + 95, + "-1" + ], + [ + 99, + "-1" + ], + [ + 100, + "-1" + ], + [ + 103, + "1" + ], + [ + 104, + "-1" + ], + [ + 108, + "1" + ], + [ + 109, + "1" + ], + [ + 110, + "-1" + ], + [ + 111, + "-1" + ], + [ + 256, + "1" + ] + ], + [ + [ + 1, + "-1" + ], + [ + 2, + "-1" + ], + [ + 4, + "-1" + ], + [ + 5, + "-1" + ], + [ + 6, + "1" + ], + [ + 9, + "-1" + ], + [ + 13, + "1" + ], + [ + 16, + "-1" + ], + [ + 18, + "1" + ], + [ + 19, + "1" + ], + [ + 20, + "-1" + ], + [ + 21, + "-1" + ], + [ + 24, + "1" + ], + [ + 25, + "1" + ], + [ + 28, + "1" + ], + [ + 32, + "1" + ], + [ + 35, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 39, + "-1" + ], + [ + 40, + "-1" + ], + [ + 43, + "1" + ], + [ + 44, + "1" + ], + [ + 45, + "1" + ], + [ + 46, + "1" + ], + [ + 47, + "1" + ], + [ + 48, + "-1" + ], + [ + 51, + "-1" + ], + [ + 54, + "-1" + ], + [ + 55, + "-1" + ], + [ + 58, + "-1" + ], + [ + 61, + "1" + ], + [ + 64, + "-1" + ], + [ + 65, + "-1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 72, + "1" + ], + [ + 75, + "1" + ], + [ + 78, + "-1" + ], + [ + 79, + "1" + ], + [ + 82, + "-1" + ], + [ + 85, + "-1" + ], + [ + 86, + "-1" + ], + [ + 89, + "-1" + ], + [ + 93, + "1" + ], + [ + 94, + "-1" + ], + [ + 96, + "1" + ], + [ + 97, + "1" + ], + [ + 98, + "1" + ], + [ + 99, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 104, + "-1" + ], + [ + 107, + "-1" + ], + [ + 110, + "-1" + ], + [ + 111, + "-1" + ], + [ + 257, + "1" + ] + ] + ], + "observed_helpers_after": 8, + "observed_helpers_before": 106, + "paid": { + "1": 2201, + "2": 412, + "3": 510, + "4": 127, + "5": 40, + "8": 8 + }, + "pivots": [ + 224, + 225, + 227, + 229, + 240, + 241, + 256, + 257 + ], + "positive_prefix_envelope": "2120166638362287683285711494834737/64", + "primal_and_raw_dual_640_columns": true, + "program_sha256": "2c65689de61a8ca336d4e34e08ad345ff871ea5839689965cb47fa0c7f92fcb9", + "raw_dual_positive_prefix_envelope": "2614758328527745939886380919672815153136473851/256", + "source_commit": "039a3e4f8906400cd05908ed86b8f9c6866e6113", + "source_pr": 4694, + "square_rank": 8, + "status": "PASS_CENTER_HELPER_NORMAL_FORM" +} diff --git a/research/center-helper-normal-form/SOURCES.json b/research/center-helper-normal-form/SOURCES.json new file mode 100644 index 0000000000..00c87080c2 --- /dev/null +++ b/research/center-helper-normal-form/SOURCES.json @@ -0,0 +1,42 @@ +{ + "schema_version": 1, + "base_commit": "e09b86ddb17a5f78e9a379acaee820a01f52997f", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "c35482cd9035843b15a634cc8276a7e1e40e8395", + "sha256": "6fe0a099b89aa2aed796a13c3a21dafc63f3388ebf397464e44e0451893b9375" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + }, + { + "path": "research/center-helper-normal-form/inputs/ABI.json", + "usage": "input", + "git_blob": "ec16f7eea7d4ad1164da89b19e2021ca5f7551a6", + "sha256": "704ae450c795ed9e5eb477f924eadc209a2418f5ee4e475a4607910afdc2fdc1" + }, + { + "path": "research/center-helper-normal-form/inputs/ORIGINS.json", + "usage": "input", + "git_blob": "56f8d178b4ce77f590a52024c242f98aebd38227", + "sha256": "adacfbbae905d9c1e7bd8a8e9444637ee8dfd8cccd15aaf433f969757308a24b" + }, + { + "path": "research/center-helper-normal-form/inputs/retained_verify.py", + "usage": "input", + "git_blob": "357cbff9874ce920c5b5ad839fd47d3f9c728bcb", + "sha256": "f5a67954f19dddc688460b91e5c1729d7820755c53313159ed136e4447021214" + }, + { + "path": "research/center-helper-normal-form/inputs/round3-native.json.gz", + "usage": "input", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + } + ] +} diff --git a/research/center-helper-normal-form/TASK.json b/research/center-helper-normal-form/TASK.json new file mode 100644 index 0000000000..6dd23604a7 --- /dev/null +++ b/research/center-helper-normal-form/TASK.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "task_id": "complex-new-helper-inventory", + "priority_revision": 7, + "base_commit": "e09b86ddb17a5f78e9a379acaee820a01f52997f", + "original_card": { + "id": "complex-new-helper-inventory", + "question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?", + "starting_points": [ + "docs/research/research-family-status.md", + "research/complex-local-word-ceiling/README.md", + "research/heterogeneous-owner-assembly/README.md", + "certificates/selected-result.json", + "research/selected-k8-unrestricted-ends/README.md" + ], + "methods": [ + "Propose a changed helper inventory and derive an optimistic exact moment.", + "Design a small completed instance and independently verify its endpoint and rank bill." + ], + "acceptance_gate": "A new physically realizable contract outside the frozen catalogue whose per-call profile, screened with ceiling.ceiling(), beats the selected word's packing ceiling; a lower cap does not establish identical circuitry or order attainable optima, and is insufficient to pass the stronger-budget target under this model. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin.", + "bottleneck_link": "Packing of the selected word is capped at +0.87% (ceiling model); only a lower local excess spend or a changed coverage law raises the cap.", + "allowed_variations": [ + "Narrow to one changed boundary or helper type with explicit counts.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Mixing only providers already inside the pinned catalogue.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013.", + "Continuing a partial cost improvement while leaving the same unpriced consumer, restoration or central-readout obligation unresolved; refresh the family expansion decision first. Local product-retiming evidence has a narrow scope and is not a ban on changed graphs or contracts." + ], + "overlap_terms": [ + "helper inventory", + "heterogeneous-owner", + "mutable leaver" + ] + }, + "scope_status": "changed", + "actual_scope": "Normalize the newly retained center observations to eight real cold helper fields and expose explicit nilpotent length-three chains at unchanged recursive cost. Derive an exact conditional two-call consumer for a homogeneous three-field query chain, with its missing physical embedding explicit.", + "scope_change_reason": "The user requested a structural K breakthrough; fresh PR4694 supplies a coupled reversible interface outside the frozen path family. This constructs a costed boundary reduction of that interface.", + "bottleneck_link": "Replace a 106-helper observation by eight single-helper observations while preserving all physical endpoint jobs, as a smaller exact controller target.", + "budget_minutes": 60, + "stop_rule": "Do not assign independent center target credit or a higher K without a complete physical consumer and paid moment.", + "outcome": "completed", + "evidence": "PROOF.md; CONSUMER.md; RESULT.json; 640-column native primal/raw-dual replay and exact group-ring controller identity", + "author": "Cinna Davis, with substantial OpenAI Codex assistance", + "ai_assistance": "Substantial OpenAI Codex assistance for research, proof, code and checks. No subagents or independent human verification.", + "open_questions": [ + { + "question": "Can the eight explicit length-three chains support an affordable physical controller?", + "why_it_matters": "The exact basis reduces center/helper coupling without adding Gaussian requests, but does not decouple the centers.", + "first_step": "Realize one recorded chain as the homogeneous three-field offer of CONSUMER.md, paying every chart conversion and retaining R_X X, then use the tested two-call controller only if its complete moment is positive.", + "blocked_by": "A full physical controller with independent Gaussian targets is still missing." + } + ] +} diff --git a/research/center-helper-normal-form/VALIDATION.md b/research/center-helper-normal-form/VALIDATION.md new file mode 100644 index 0000000000..9b0a6dbead --- /dev/null +++ b/research/center-helper-normal-form/VALIDATION.md @@ -0,0 +1,42 @@ +# Executed validation + +Scientific implementation commit: 5c2c40c8f8fcbcb8cdb7bc501670f46505ced07d. +Linux x86_64, CPython 3.12.15, standard library only. + +- Registered metadata/source-pin check and full registered replay: PASS. +- Direct isolated optimized replay: PASS. +- All 640 native primal and raw inverse-transpose columns: PASS. +- Both basis inverses and both operator inverses: PASS. +- All native scalar charts, paid ranks and the 758 boundary gates: PASS. +- Both complete positive scalar envelopes remain below 2^192. +- Wrong boundary sign, omitted footer and wrong footer chart: rejected. +- Committed-byte/source-history preflight: PASS, 11 scientific files. +- Committed export and archive integrity: PASS, 11 files. +- Fresh extracted Git-free export replay, PATH=/nonexistent and isolated + optimized CPython 3.12.15: PASS. +- Whitespace check: PASS. + +Scientific source main: b58ad9ef4d4e861b0eaa5dba41742bdc072dca51, revision 7. +PR4694 frozen head: 039a3e4f8906400cd05908ed86b8f9c6866e6113, preserved in ancestry. +Its current head at the submission refresh was 2add42d1edf14a263abe90a3bcde67fc1ba30768. +The ABI and original round-three payload are unchanged. The new cache sections +are credited; the direct cache and scalar-span failures are not overturned. +The live queue through #4696 and the cached overlap report were read. Remote +cache pagination was complete at its reported timestamps; sparse local coverage +was incomplete. No exclusive novelty claim is made. + +The first authoring run caught a stale assumption that the cold helper pool +contained 213 fields. The actual round-three source has 326; every one of the +106 observed helpers is in that pool. Final normal and optimized replays use +and authenticate the actual count. + +No new physical phase audit, complete controller, compiler/outer admission, +selected cold replay, full Lean proof or independent human acceptance is +claimed. No higher K or independent productive-center credit is claimed. + +Continuation: consumer.py adds a conditional two-call homogeneous three-field +identity. Exact cyclic-group-ring coefficients, the actual inverse transpose, +two independent dense rational specializations and five failure controls pass. +The complete registered replay and isolated optimized replay pass after this +addition. The actual native provider is explicitly not realized; no source +invoice or K is assigned to this conditional identity. diff --git a/research/center-helper-normal-form/VERIFY.json b/research/center-helper-normal-form/VERIFY.json new file mode 100644 index 0000000000..d8d213822e --- /dev/null +++ b/research/center-helper-normal-form/VERIFY.json @@ -0,0 +1,23 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/center-helper-normal-form/inputs/ABI.json", + "research/center-helper-normal-form/inputs/ORIGINS.json", + "research/center-helper-normal-form/inputs/retained_verify.py", + "research/center-helper-normal-form/inputs/round3-native.json.gz" + ], + "commands": [ + { + "argv": [ + "{python}", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 180, + "checks": "Fresh 640-column native primal and raw dual, exact helper basis/inverse, actual frames and paid profile, explicit three-step chains, rational Jordan ranks and mutation controls. Exact conditional two-call identity in Z[q]/(q^4-1), actual raw dual and five active failure controls." + } + ] +} diff --git a/research/center-helper-normal-form/consumer.py b/research/center-helper-normal-form/consumer.py new file mode 100644 index 0000000000..7cf79600e5 --- /dev/null +++ b/research/center-helper-normal-form/consumer.py @@ -0,0 +1,88 @@ +"""Exact conditional three-field controller over Z[q]/(q^4-1). + +Apache-2.0; substantial OpenAI Codex assistance. No physical provider is assumed. +""" + + +def need(value, message): + if not value: + raise ValueError(message) + + +ZERO = (0, 0, 0, 0) +ONE = (1, 0, 0, 0) +Q = (0, 1, 0, 0) +P = (0, 0, 1, 0) + + +def plus(a, b): + return tuple(x+y for x, y in zip(a, b)) + + +def neg(a): + return tuple(-x for x in a) + + +def times(a, b): + out = [0]*4 + for i, x in enumerate(a): + for j, y in enumerate(b): + out[(i+j) % 4] += x*y + return tuple(out) + + +def multiply(a, b): + return [[tuple(sum(times(a[i][k], b[k][j])[e] for k in range(3)) + for e in range(4)) for j in range(3)] for i in range(3)] + + +def product(*matrices): + out = [[ONE if i == j else ZERO for j in range(3)] for i in range(3)] + for matrix in matrices: + out = multiply(out, matrix) + return out + + +def check(): + u = [[ONE, Q, ZERO], [ZERO, ONE, Q], [ZERO, ZERO, ONE]] + dual = [[ONE, ZERO, ZERO], [neg(Q), ONE, ZERO], [P, neg(Q), ONE]] + d = [[P, ZERO, ZERO], [ZERO, ONE, ZERO], [ZERO, ZERO, P]] + correction = [[ONE, ZERO, ZERO], [ZERO, ONE, ZERO], [neg(P), ZERO, ONE]] + left = [[ONE, ZERO, ZERO], [ZERO, neg(P), ZERO], [ONE, ZERO, P]] + right = [[ZERO, ONE, ONE], [ONE, ZERO, ZERO], [ZERO, ZERO, P]] + target = [[Q, ZERO, ZERO], [ZERO, Q, ZERO], [ZERO, ZERO, ONE]] + need(product(left, u, correction, d, dual, d, right) == target, + 'Every coefficient of the exact two-call controller') + # Check the raw inverse transpose, rather than a sign-only opposite shear. + transpose_u = [list(row) for row in zip(*u)] + identity = [[ONE if i == j else ZERO for j in range(3)] for i in range(3)] + need(product(transpose_u, dual) == product(dual, transpose_u) == identity, + 'Actual raw inverse transpose with its quadratic long-root term') + wrong = [row[:] for row in correction] + wrong[2][0] = P + need(product(left, u, wrong, d, dual, d, right) != target, 'Wrong long-root sign rejected') + need(product(left, u, d, dual, d, right) != target, 'Unpaid omitted long-root correction rejected') + wrong_dual = [row[:] for row in dual] + wrong_dual[2][0] = ZERO + need(product(left, u, correction, d, wrong_dual, d, right) != target, + 'Omitted raw-dual quadratic term rejected') + need(product(left, u, correction, dual, right) != target, 'Omitted Pauli conjugation rejected') + # A dense rational specialization is separate from the cyclic convolution. + def dense(m, scalar): + return [[sum(x*scalar**e for e, x in enumerate(p)) for p in row] for row in m] + def mm(a, b): + return [[sum(a[i][k]*b[k][j] for k in range(3)) for j in range(3)] for i in range(3)] + for scalar in (-1, 1): + actual = [[int(i == j) for j in range(3)] for i in range(3)] + for matrix in (left, u, correction, d, dual, d, right): + actual = mm(actual, dense(matrix, scalar)) + need(actual == dense(target, scalar), 'Independent exact dense specialization') + actual = [[int(i == j) for j in range(3)] for i in range(3)] + for matrix in (left, u, correction, d, dual, d, right): + actual = mm(actual, dense(matrix, 2)) + need(actual != dense(target, 2), 'The order-four premise cannot be dropped') + return {'status': 'PASS_CONDITIONAL_TWO_CALL_THREE_FIELD_CONTROLLER', + 'oracle_calls': ['U(Q)^(-T)', 'U(Q)'], 'query_outputs': 2, 'restored_outputs': 1, + 'coefficient_ring': 'Z[q]/(q^4-1)', 'free_boundary_entries': ['0', '1', '-P', 'P'], + 'homogeneous_progress_required': True, 'native_provider_realized': False, + 'new_kappa': None, 'controls': 5} diff --git a/research/center-helper-normal-form/inputs/ABI.json b/research/center-helper-normal-form/inputs/ABI.json new file mode 100644 index 0000000000..ec16f7eea7 --- /dev/null +++ b/research/center-helper-normal-form/inputs/ABI.json @@ -0,0 +1,5854 @@ +{ + "B_rows": [ + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 634, + "-1/4" + ], + [ + 635, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 635, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 634, + "-1/4" + ], + [ + 635, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 635, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 633, + "-1/4" + ], + [ + 638, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 633, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 639, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 634, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "1/4" + ] + ], + [ + [ + 634, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "-1/4" + ], + [ + 637, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 636, + "1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 632, + "1/4" + ], + [ + 635, + "-1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "-1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [ + [ + 636, + "1/4" + ], + [ + 637, + "1/4" + ], + [ + 638, + "-1/4" + ], + [ + 639, + "-1/4" + ] + ], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [] + ], + "R_rows": [ + [ + [ + 0, + "1" + ], + [ + 2, + "1" + ], + [ + 7, + "1" + ], + [ + 9, + "1" + ], + [ + 10, + "1" + ], + [ + 11, + "1" + ], + [ + 12, + "1" + ], + [ + 17, + "1" + ], + [ + 18, + "1" + ], + [ + 19, + "1" + ], + [ + 22, + "1" + ], + [ + 23, + "1" + ], + [ + 24, + "1" + ], + [ + 25, + "1" + ], + [ + 27, + "1" + ], + [ + 31, + "1" + ], + [ + 32, + "1" + ], + [ + 33, + "1" + ], + [ + 34, + "1" + ], + [ + 35, + "1" + ], + [ + 38, + "1" + ], + [ + 39, + "1" + ], + [ + 40, + "1" + ], + [ + 45, + "1" + ], + [ + 48, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 54, + "1" + ], + [ + 55, + "1" + ], + [ + 56, + "1" + ], + [ + 57, + "1" + ], + [ + 61, + "1" + ], + [ + 62, + "1" + ], + [ + 63, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 72, + "1" + ], + [ + 76, + "1" + ], + [ + 77, + "1" + ], + [ + 79, + "1" + ], + [ + 81, + "1" + ], + [ + 85, + "1" + ], + [ + 87, + "1" + ], + [ + 89, + "1" + ], + [ + 90, + "1" + ], + [ + 91, + "1" + ], + [ + 92, + "1" + ], + [ + 94, + "1" + ], + [ + 98, + "1" + ], + [ + 100, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 103, + "1" + ], + [ + 107, + "1" + ], + [ + 108, + "1" + ], + [ + 109, + "1" + ], + [ + 227, + "1" + ], + [ + 229, + "1" + ], + [ + 233, + "1" + ], + [ + 234, + "-1" + ], + [ + 235, + "2" + ], + [ + 237, + "1" + ], + [ + 238, + "1" + ], + [ + 240, + "1" + ], + [ + 241, + "1" + ], + [ + 242, + "1" + ], + [ + 243, + "2" + ], + [ + 245, + "1" + ], + [ + 246, + "1" + ], + [ + 250, + "-1" + ], + [ + 253, + "1" + ], + [ + 254, + "1" + ], + [ + 256, + "1" + ], + [ + 257, + "1" + ], + [ + 258, + "1" + ], + [ + 259, + "2" + ], + [ + 261, + "1" + ], + [ + 262, + "1" + ], + [ + 266, + "-1" + ], + [ + 269, + "1" + ], + [ + 270, + "1" + ], + [ + 272, + "1" + ], + [ + 276, + "-1" + ], + [ + 280, + "-1" + ], + [ + 283, + "2" + ], + [ + 286, + "1" + ], + [ + 287, + "-2" + ], + [ + 288, + "2" + ], + [ + 296, + "-2" + ], + [ + 302, + "2" + ], + [ + 303, + "-4" + ], + [ + 306, + "1" + ], + [ + 308, + "1" + ], + [ + 312, + "-1" + ], + [ + 315, + "2" + ], + [ + 318, + "1" + ], + [ + 319, + "-2" + ], + [ + 326, + "4" + ], + [ + 328, + "-8" + ], + [ + 332, + "4" + ], + [ + 335, + "-8" + ] + ], + [ + [ + 0, + "1" + ], + [ + 1, + "1" + ], + [ + 2, + "1" + ], + [ + 3, + "1" + ], + [ + 4, + "1" + ], + [ + 5, + "1" + ], + [ + 6, + "1" + ], + [ + 7, + "-1" + ], + [ + 8, + "1" + ], + [ + 9, + "-1" + ], + [ + 10, + "-1" + ], + [ + 11, + "-1" + ], + [ + 25, + "1" + ], + [ + 26, + "1" + ], + [ + 27, + "1" + ], + [ + 28, + "1" + ], + [ + 29, + "1" + ], + [ + 30, + "1" + ], + [ + 57, + "-1" + ], + [ + 58, + "1" + ], + [ + 59, + "1" + ], + [ + 60, + "1" + ], + [ + 61, + "-1" + ], + [ + 62, + "-1" + ], + [ + 63, + "-1" + ], + [ + 64, + "1" + ], + [ + 65, + "1" + ], + [ + 66, + "1" + ], + [ + 67, + "1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 72, + "1" + ], + [ + 73, + "1" + ], + [ + 74, + "1" + ], + [ + 75, + "1" + ], + [ + 76, + "1" + ], + [ + 79, + "-1" + ], + [ + 80, + "1" + ], + [ + 81, + "-1" + ], + [ + 82, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 86, + "1" + ], + [ + 87, + "1" + ], + [ + 88, + "1" + ], + [ + 89, + "1" + ], + [ + 90, + "1" + ], + [ + 91, + "1" + ], + [ + 92, + "-1" + ], + [ + 93, + "1" + ], + [ + 94, + "-1" + ], + [ + 95, + "1" + ], + [ + 96, + "1" + ], + [ + 97, + "1" + ], + [ + 224, + "2" + ], + [ + 225, + "-2" + ], + [ + 227, + "-1" + ], + [ + 229, + "1" + ], + [ + 233, + "-1" + ], + [ + 234, + "-1" + ], + [ + 237, + "-1" + ], + [ + 238, + "1" + ], + [ + 239, + "-2" + ], + [ + 240, + "1" + ], + [ + 241, + "-1" + ], + [ + 242, + "1" + ], + [ + 245, + "1" + ], + [ + 246, + "1" + ], + [ + 250, + "-1" + ], + [ + 253, + "-1" + ], + [ + 254, + "1" + ], + [ + 255, + "-2" + ], + [ + 256, + "1" + ], + [ + 257, + "-1" + ], + [ + 258, + "1" + ], + [ + 261, + "1" + ], + [ + 262, + "1" + ], + [ + 266, + "-1" + ], + [ + 269, + "-1" + ], + [ + 270, + "1" + ], + [ + 271, + "-2" + ], + [ + 276, + "-1" + ], + [ + 336, + "1" + ], + [ + 340, + "1" + ], + [ + 347, + "2" + ], + [ + 350, + "1" + ], + [ + 351, + "-1" + ], + [ + 352, + "1" + ], + [ + 356, + "1" + ], + [ + 366, + "1" + ], + [ + 367, + "-1" + ], + [ + 368, + "1" + ], + [ + 372, + "1" + ], + [ + 379, + "2" + ], + [ + 382, + "1" + ], + [ + 383, + "-1" + ], + [ + 384, + "1" + ], + [ + 388, + "1" + ], + [ + 398, + "1" + ], + [ + 399, + "-1" + ] + ], + [ + [ + 0, + "1" + ], + [ + 1, + "1" + ], + [ + 6, + "1" + ], + [ + 7, + "-1" + ], + [ + 12, + "1" + ], + [ + 13, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 16, + "1" + ], + [ + 17, + "-1" + ], + [ + 18, + "-1" + ], + [ + 19, + "-1" + ], + [ + 27, + "-1" + ], + [ + 28, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "-1" + ], + [ + 31, + "1" + ], + [ + 38, + "-1" + ], + [ + 39, + "-1" + ], + [ + 40, + "-1" + ], + [ + 41, + "1" + ], + [ + 42, + "1" + ], + [ + 43, + "1" + ], + [ + 44, + "1" + ], + [ + 51, + "1" + ], + [ + 52, + "1" + ], + [ + 53, + "1" + ], + [ + 54, + "1" + ], + [ + 55, + "1" + ], + [ + 56, + "1" + ], + [ + 57, + "1" + ], + [ + 58, + "-1" + ], + [ + 59, + "-1" + ], + [ + 60, + "-1" + ], + [ + 73, + "1" + ], + [ + 74, + "1" + ], + [ + 75, + "1" + ], + [ + 76, + "1" + ], + [ + 77, + "-1" + ], + [ + 78, + "1" + ], + [ + 81, + "-1" + ], + [ + 82, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 86, + "-1" + ], + [ + 87, + "-1" + ], + [ + 92, + "1" + ], + [ + 93, + "-1" + ], + [ + 99, + "1" + ], + [ + 100, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 103, + "-1" + ], + [ + 104, + "1" + ], + [ + 105, + "1" + ], + [ + 106, + "1" + ], + [ + 224, + "2" + ], + [ + 227, + "1" + ], + [ + 229, + "-1" + ], + [ + 233, + "1" + ], + [ + 234, + "1" + ], + [ + 237, + "-1" + ], + [ + 238, + "-1" + ], + [ + 272, + "1" + ], + [ + 276, + "1" + ], + [ + 280, + "-1" + ], + [ + 283, + "-2" + ], + [ + 286, + "1" + ], + [ + 287, + "-2" + ], + [ + 336, + "1" + ], + [ + 340, + "1" + ], + [ + 347, + "-2" + ], + [ + 350, + "1" + ], + [ + 351, + "-1" + ], + [ + 352, + "1" + ], + [ + 356, + "1" + ], + [ + 366, + "1" + ], + [ + 367, + "-1" + ], + [ + 400, + "1" + ], + [ + 401, + "1" + ], + [ + 402, + "-1" + ], + [ + 403, + "2" + ], + [ + 405, + "1" + ], + [ + 406, + "1" + ], + [ + 409, + "1" + ], + [ + 410, + "-1" + ], + [ + 411, + "2" + ], + [ + 413, + "1" + ], + [ + 414, + "1" + ], + [ + 416, + "1" + ], + [ + 417, + "1" + ], + [ + 418, + "-1" + ], + [ + 419, + "2" + ], + [ + 421, + "1" + ], + [ + 422, + "1" + ], + [ + 425, + "1" + ], + [ + 426, + "-1" + ], + [ + 427, + "2" + ], + [ + 429, + "1" + ], + [ + 430, + "1" + ] + ], + [ + [ + 0, + "1" + ], + [ + 3, + "1" + ], + [ + 4, + "1" + ], + [ + 5, + "1" + ], + [ + 7, + "1" + ], + [ + 8, + "-1" + ], + [ + 13, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 16, + "-1" + ], + [ + 22, + "-1" + ], + [ + 23, + "-1" + ], + [ + 24, + "-1" + ], + [ + 26, + "-1" + ], + [ + 27, + "-1" + ], + [ + 32, + "1" + ], + [ + 33, + "1" + ], + [ + 34, + "1" + ], + [ + 35, + "-1" + ], + [ + 41, + "-1" + ], + [ + 42, + "-1" + ], + [ + 43, + "-1" + ], + [ + 44, + "-1" + ], + [ + 45, + "-1" + ], + [ + 48, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 51, + "1" + ], + [ + 52, + "1" + ], + [ + 53, + "1" + ], + [ + 57, + "-1" + ], + [ + 64, + "-1" + ], + [ + 65, + "-1" + ], + [ + 66, + "-1" + ], + [ + 67, + "1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 76, + "-1" + ], + [ + 78, + "1" + ], + [ + 80, + "1" + ], + [ + 81, + "-1" + ], + [ + 85, + "1" + ], + [ + 87, + "1" + ], + [ + 88, + "1" + ], + [ + 92, + "1" + ], + [ + 95, + "-1" + ], + [ + 96, + "-1" + ], + [ + 97, + "-1" + ], + [ + 98, + "1" + ], + [ + 99, + "1" + ], + [ + 104, + "-1" + ], + [ + 105, + "-1" + ], + [ + 106, + "-1" + ], + [ + 107, + "-1" + ], + [ + 108, + "-1" + ], + [ + 109, + "-1" + ], + [ + 225, + "2" + ], + [ + 227, + "1" + ], + [ + 229, + "1" + ], + [ + 233, + "1" + ], + [ + 234, + "1" + ], + [ + 235, + "-2" + ], + [ + 237, + "1" + ], + [ + 238, + "1" + ], + [ + 239, + "-2" + ], + [ + 276, + "1" + ], + [ + 306, + "1" + ], + [ + 308, + "1" + ], + [ + 312, + "-1" + ], + [ + 315, + "-2" + ], + [ + 318, + "1" + ], + [ + 319, + "-2" + ], + [ + 368, + "1" + ], + [ + 372, + "1" + ], + [ + 379, + "-2" + ], + [ + 382, + "1" + ], + [ + 383, + "-1" + ], + [ + 384, + "1" + ], + [ + 388, + "1" + ], + [ + 398, + "1" + ], + [ + 399, + "-1" + ], + [ + 400, + "1" + ], + [ + 401, + "-1" + ], + [ + 402, + "1" + ], + [ + 405, + "1" + ], + [ + 406, + "1" + ], + [ + 409, + "-1" + ], + [ + 410, + "-1" + ], + [ + 413, + "-1" + ], + [ + 414, + "1" + ], + [ + 415, + "-2" + ], + [ + 416, + "1" + ], + [ + 417, + "-1" + ], + [ + 418, + "1" + ], + [ + 421, + "1" + ], + [ + 422, + "1" + ], + [ + 425, + "-1" + ], + [ + 426, + "-1" + ], + [ + 429, + "-1" + ], + [ + 430, + "1" + ], + [ + 431, + "-2" + ] + ], + [ + [ + 1, + "-1" + ], + [ + 3, + "-1" + ], + [ + 6, + "1" + ], + [ + 8, + "1" + ], + [ + 10, + "-1" + ], + [ + 11, + "-1" + ], + [ + 12, + "1" + ], + [ + 14, + "1" + ], + [ + 15, + "1" + ], + [ + 17, + "1" + ], + [ + 20, + "1" + ], + [ + 21, + "1" + ], + [ + 24, + "-1" + ], + [ + 26, + "-1" + ], + [ + 28, + "-1" + ], + [ + 31, + "-1" + ], + [ + 32, + "-1" + ], + [ + 35, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 38, + "-1" + ], + [ + 41, + "1" + ], + [ + 42, + "1" + ], + [ + 45, + "1" + ], + [ + 46, + "1" + ], + [ + 47, + "1" + ], + [ + 48, + "1" + ], + [ + 52, + "-1" + ], + [ + 53, + "-1" + ], + [ + 56, + "-1" + ], + [ + 58, + "1" + ], + [ + 62, + "1" + ], + [ + 63, + "1" + ], + [ + 66, + "-1" + ], + [ + 67, + "1" + ], + [ + 70, + "1" + ], + [ + 71, + "1" + ], + [ + 75, + "-1" + ], + [ + 77, + "-1" + ], + [ + 80, + "1" + ], + [ + 82, + "1" + ], + [ + 85, + "-1" + ], + [ + 86, + "-1" + ], + [ + 88, + "-1" + ], + [ + 90, + "-1" + ], + [ + 91, + "-1" + ], + [ + 93, + "1" + ], + [ + 95, + "1" + ], + [ + 98, + "1" + ], + [ + 100, + "1" + ], + [ + 103, + "1" + ], + [ + 105, + "-1" + ], + [ + 106, + "-1" + ], + [ + 107, + "1" + ], + [ + 110, + "1" + ], + [ + 111, + "1" + ], + [ + 240, + "1" + ], + [ + 241, + "-1" + ], + [ + 242, + "1" + ], + [ + 243, + "2" + ], + [ + 245, + "-1" + ], + [ + 246, + "-1" + ], + [ + 250, + "1" + ], + [ + 253, + "-1" + ], + [ + 254, + "-1" + ], + [ + 272, + "1" + ], + [ + 280, + "-1" + ], + [ + 286, + "-1" + ], + [ + 287, + "-2" + ], + [ + 306, + "1" + ], + [ + 308, + "-1" + ], + [ + 312, + "-1" + ], + [ + 318, + "-1" + ], + [ + 319, + "-2" + ], + [ + 336, + "1" + ], + [ + 340, + "-1" + ], + [ + 350, + "-1" + ], + [ + 351, + "-1" + ], + [ + 368, + "1" + ], + [ + 372, + "-1" + ], + [ + 382, + "-1" + ], + [ + 383, + "-1" + ], + [ + 400, + "1" + ], + [ + 401, + "-1" + ], + [ + 402, + "-1" + ], + [ + 403, + "2" + ], + [ + 405, + "-1" + ], + [ + 406, + "-1" + ], + [ + 409, + "1" + ], + [ + 410, + "1" + ], + [ + 413, + "-1" + ], + [ + 414, + "-1" + ], + [ + 433, + "1" + ], + [ + 434, + "-1" + ], + [ + 435, + "2" + ], + [ + 437, + "1" + ], + [ + 438, + "1" + ], + [ + 441, + "1" + ], + [ + 442, + "-1" + ], + [ + 443, + "2" + ], + [ + 445, + "1" + ], + [ + 446, + "1" + ] + ], + [ + [ + 4, + "-1" + ], + [ + 5, + "1" + ], + [ + 10, + "1" + ], + [ + 11, + "-1" + ], + [ + 14, + "-1" + ], + [ + 15, + "1" + ], + [ + 18, + "1" + ], + [ + 19, + "-1" + ], + [ + 20, + "-1" + ], + [ + 21, + "1" + ], + [ + 22, + "1" + ], + [ + 23, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "1" + ], + [ + 33, + "-1" + ], + [ + 34, + "1" + ], + [ + 36, + "1" + ], + [ + 37, + "-1" + ], + [ + 39, + "-1" + ], + [ + 40, + "1" + ], + [ + 41, + "1" + ], + [ + 42, + "-1" + ], + [ + 46, + "-1" + ], + [ + 47, + "1" + ], + [ + 49, + "1" + ], + [ + 50, + "-1" + ], + [ + 52, + "1" + ], + [ + 53, + "-1" + ], + [ + 54, + "1" + ], + [ + 55, + "-1" + ], + [ + 59, + "1" + ], + [ + 60, + "-1" + ], + [ + 62, + "-1" + ], + [ + 63, + "1" + ], + [ + 64, + "1" + ], + [ + 65, + "-1" + ], + [ + 68, + "1" + ], + [ + 69, + "-1" + ], + [ + 70, + "1" + ], + [ + 71, + "-1" + ], + [ + 73, + "1" + ], + [ + 74, + "-1" + ], + [ + 83, + "1" + ], + [ + 84, + "-1" + ], + [ + 90, + "1" + ], + [ + 91, + "-1" + ], + [ + 96, + "1" + ], + [ + 97, + "-1" + ], + [ + 101, + "1" + ], + [ + 102, + "-1" + ], + [ + 105, + "1" + ], + [ + 106, + "-1" + ], + [ + 108, + "1" + ], + [ + 109, + "-1" + ], + [ + 110, + "-1" + ], + [ + 111, + "1" + ], + [ + 240, + "1" + ], + [ + 241, + "1" + ], + [ + 242, + "-1" + ], + [ + 245, + "1" + ], + [ + 246, + "-1" + ], + [ + 250, + "1" + ], + [ + 253, + "1" + ], + [ + 254, + "1" + ], + [ + 255, + "-2" + ], + [ + 288, + "1" + ], + [ + 296, + "-1" + ], + [ + 302, + "-1" + ], + [ + 303, + "-2" + ], + [ + 324, + "-2" + ], + [ + 326, + "2" + ], + [ + 328, + "-4" + ], + [ + 332, + "2" + ], + [ + 334, + "-2" + ], + [ + 335, + "-4" + ], + [ + 352, + "1" + ], + [ + 356, + "-1" + ], + [ + 366, + "-1" + ], + [ + 367, + "-1" + ], + [ + 384, + "1" + ], + [ + 388, + "-1" + ], + [ + 398, + "-1" + ], + [ + 399, + "-1" + ], + [ + 400, + "1" + ], + [ + 401, + "1" + ], + [ + 402, + "-1" + ], + [ + 405, + "1" + ], + [ + 406, + "-1" + ], + [ + 409, + "1" + ], + [ + 410, + "1" + ], + [ + 411, + "-2" + ], + [ + 413, + "1" + ], + [ + 414, + "1" + ], + [ + 415, + "-2" + ], + [ + 432, + "2" + ], + [ + 433, + "-1" + ], + [ + 434, + "1" + ], + [ + 437, + "1" + ], + [ + 438, + "1" + ], + [ + 441, + "-1" + ], + [ + 442, + "-1" + ], + [ + 445, + "-1" + ], + [ + 446, + "1" + ], + [ + 447, + "-2" + ] + ], + [ + [ + 2, + "1" + ], + [ + 3, + "1" + ], + [ + 8, + "1" + ], + [ + 9, + "-1" + ], + [ + 12, + "1" + ], + [ + 13, + "1" + ], + [ + 16, + "1" + ], + [ + 17, + "-1" + ], + [ + 20, + "1" + ], + [ + 21, + "1" + ], + [ + 22, + "-1" + ], + [ + 23, + "-1" + ], + [ + 25, + "-1" + ], + [ + 26, + "-1" + ], + [ + 29, + "-1" + ], + [ + 30, + "-1" + ], + [ + 31, + "-1" + ], + [ + 33, + "-1" + ], + [ + 34, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 38, + "1" + ], + [ + 43, + "1" + ], + [ + 44, + "-1" + ], + [ + 46, + "-1" + ], + [ + 47, + "-1" + ], + [ + 49, + "1" + ], + [ + 50, + "1" + ], + [ + 51, + "-1" + ], + [ + 56, + "1" + ], + [ + 59, + "1" + ], + [ + 60, + "1" + ], + [ + 61, + "1" + ], + [ + 66, + "1" + ], + [ + 67, + "-1" + ], + [ + 72, + "1" + ], + [ + 73, + "-1" + ], + [ + 74, + "-1" + ], + [ + 77, + "-1" + ], + [ + 78, + "1" + ], + [ + 79, + "-1" + ], + [ + 80, + "1" + ], + [ + 83, + "1" + ], + [ + 84, + "1" + ], + [ + 88, + "-1" + ], + [ + 89, + "-1" + ], + [ + 94, + "1" + ], + [ + 95, + "-1" + ], + [ + 99, + "-1" + ], + [ + 100, + "-1" + ], + [ + 103, + "1" + ], + [ + 104, + "-1" + ], + [ + 108, + "1" + ], + [ + 109, + "1" + ], + [ + 110, + "-1" + ], + [ + 111, + "-1" + ], + [ + 256, + "1" + ], + [ + 257, + "-1" + ], + [ + 258, + "1" + ], + [ + 259, + "2" + ], + [ + 261, + "-1" + ], + [ + 262, + "-1" + ], + [ + 266, + "1" + ], + [ + 269, + "-1" + ], + [ + 270, + "-1" + ], + [ + 272, + "-1" + ], + [ + 280, + "1" + ], + [ + 286, + "1" + ], + [ + 287, + "-2" + ], + [ + 324, + "2" + ], + [ + 326, + "-2" + ], + [ + 328, + "4" + ], + [ + 332, + "-2" + ], + [ + 334, + "2" + ], + [ + 352, + "-1" + ], + [ + 356, + "1" + ], + [ + 366, + "1" + ], + [ + 367, + "-3" + ], + [ + 368, + "-1" + ], + [ + 372, + "1" + ], + [ + 382, + "1" + ], + [ + 383, + "-3" + ], + [ + 416, + "1" + ], + [ + 417, + "-1" + ], + [ + 418, + "-1" + ], + [ + 419, + "2" + ], + [ + 421, + "-1" + ], + [ + 422, + "-1" + ], + [ + 425, + "1" + ], + [ + 426, + "1" + ], + [ + 429, + "-1" + ], + [ + 430, + "-1" + ], + [ + 432, + "2" + ], + [ + 433, + "-1" + ], + [ + 434, + "-1" + ], + [ + 435, + "2" + ], + [ + 437, + "-1" + ], + [ + 438, + "-1" + ], + [ + 441, + "1" + ], + [ + 442, + "1" + ], + [ + 445, + "-1" + ], + [ + 446, + "-1" + ] + ], + [ + [ + 1, + "-1" + ], + [ + 2, + "-1" + ], + [ + 4, + "-1" + ], + [ + 5, + "-1" + ], + [ + 6, + "1" + ], + [ + 9, + "-1" + ], + [ + 13, + "1" + ], + [ + 16, + "-1" + ], + [ + 18, + "1" + ], + [ + 19, + "1" + ], + [ + 20, + "-1" + ], + [ + 21, + "-1" + ], + [ + 24, + "1" + ], + [ + 25, + "1" + ], + [ + 28, + "1" + ], + [ + 32, + "1" + ], + [ + 35, + "-1" + ], + [ + 36, + "1" + ], + [ + 37, + "1" + ], + [ + 39, + "-1" + ], + [ + 40, + "-1" + ], + [ + 43, + "1" + ], + [ + 44, + "1" + ], + [ + 45, + "1" + ], + [ + 46, + "1" + ], + [ + 47, + "1" + ], + [ + 48, + "-1" + ], + [ + 51, + "-1" + ], + [ + 54, + "-1" + ], + [ + 55, + "-1" + ], + [ + 58, + "-1" + ], + [ + 61, + "1" + ], + [ + 64, + "-1" + ], + [ + 65, + "-1" + ], + [ + 68, + "1" + ], + [ + 69, + "1" + ], + [ + 72, + "1" + ], + [ + 75, + "1" + ], + [ + 78, + "-1" + ], + [ + 79, + "1" + ], + [ + 82, + "-1" + ], + [ + 85, + "-1" + ], + [ + 86, + "-1" + ], + [ + 89, + "-1" + ], + [ + 93, + "1" + ], + [ + 94, + "-1" + ], + [ + 96, + "1" + ], + [ + 97, + "1" + ], + [ + 98, + "1" + ], + [ + 99, + "1" + ], + [ + 101, + "1" + ], + [ + 102, + "1" + ], + [ + 104, + "-1" + ], + [ + 107, + "-1" + ], + [ + 110, + "-1" + ], + [ + 111, + "-1" + ], + [ + 256, + "1" + ], + [ + 257, + "1" + ], + [ + 258, + "-1" + ], + [ + 261, + "1" + ], + [ + 262, + "-1" + ], + [ + 266, + "1" + ], + [ + 269, + "1" + ], + [ + 270, + "1" + ], + [ + 271, + "-2" + ], + [ + 288, + "-1" + ], + [ + 296, + "1" + ], + [ + 302, + "1" + ], + [ + 303, + "-2" + ], + [ + 306, + "-1" + ], + [ + 308, + "1" + ], + [ + 312, + "1" + ], + [ + 318, + "1" + ], + [ + 319, + "-2" + ], + [ + 336, + "-1" + ], + [ + 340, + "1" + ], + [ + 350, + "1" + ], + [ + 351, + "-3" + ], + [ + 384, + "-1" + ], + [ + 388, + "1" + ], + [ + 398, + "1" + ], + [ + 399, + "-3" + ], + [ + 416, + "1" + ], + [ + 417, + "1" + ], + [ + 418, + "-1" + ], + [ + 421, + "1" + ], + [ + 422, + "-1" + ], + [ + 425, + "1" + ], + [ + 426, + "1" + ], + [ + 427, + "-2" + ], + [ + 429, + "1" + ], + [ + 430, + "1" + ], + [ + 431, + "-2" + ], + [ + 433, + "1" + ], + [ + 434, + "-1" + ], + [ + 437, + "1" + ], + [ + 438, + "-1" + ], + [ + 441, + "1" + ], + [ + 442, + "1" + ], + [ + 443, + "-2" + ], + [ + 445, + "1" + ], + [ + 446, + "1" + ], + [ + 447, + "-2" + ] + ] + ], + "centers": [ + { + "input_frame": 254, + "source": 92 + }, + { + "input_frame": 274, + "source": 57 + }, + { + "input_frame": 619, + "source": 81 + }, + { + "input_frame": 279, + "source": 224 + }, + { + "input_frame": 621, + "source": 11 + }, + { + "input_frame": 280, + "source": 240 + }, + { + "input_frame": 624, + "source": 9 + }, + { + "input_frame": 281, + "source": 256 + } + ], + "schema": "retained-center-extension/1", + "source_sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" +} diff --git a/research/center-helper-normal-form/inputs/ORIGINS.json b/research/center-helper-normal-form/inputs/ORIGINS.json new file mode 100644 index 0000000000..56f8d178b4 --- /dev/null +++ b/research/center-helper-normal-form/inputs/ORIGINS.json @@ -0,0 +1,26 @@ +{ + "source_pr": 4694, + "files": [ + { + "path": "inputs/ABI.json", + "source_path": "research/retained-center-extension/ABI.json", + "source_commit": "039a3e4f8906400cd05908ed86b8f9c6866e6113", + "git_blob": "ec16f7eea7d4ad1164da89b19e2021ca5f7551a6", + "sha256": "704ae450c795ed9e5eb477f924eadc209a2418f5ee4e475a4607910afdc2fdc1" + }, + { + "path": "inputs/round3-native.json.gz", + "source_path": "research/retained-center-extension/inputs/round3-native.json.gz", + "source_commit": "039a3e4f8906400cd05908ed86b8f9c6866e6113", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + { + "path": "inputs/retained_verify.py", + "source_path": "research/retained-center-extension/verify.py", + "source_commit": "039a3e4f8906400cd05908ed86b8f9c6866e6113", + "git_blob": "357cbff9874ce920c5b5ad839fd47d3f9c728bcb", + "sha256": "f5a67954f19dddc688460b91e5c1729d7820755c53313159ed136e4447021214" + } + ] +} diff --git a/research/center-helper-normal-form/inputs/retained_verify.py b/research/center-helper-normal-form/inputs/retained_verify.py new file mode 100644 index 0000000000..357cbff987 --- /dev/null +++ b/research/center-helper-normal-form/inputs/retained_verify.py @@ -0,0 +1,256 @@ +#!/usr/bin/env python3 +"""Exact reversible center extension. Apache-2.0; substantial OpenAI assistance.""" +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import gzip +import json +import sys + +HERE = Path(__file__).resolve().parent +SOURCE_HASH = '7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05' +PAID = {1: 2201, 2: 412, 3: 510, 4: 127, 5: 40, 8: 8} +N = 640 + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def plus(dst, src, coefficient=Q(1)): + for k, v in tuple(src.items()): + value = dst.get(k, Q(0)) + coefficient * v + if value: + dst[k] = value + else: + dst.pop(k, None) + + +def load(): + raw = (HERE / 'inputs/round3-native.json.gz').read_bytes() + need(sha256(raw).hexdigest() == SOURCE_HASH, 'exact PR4610 round-three source') + return json.loads(gzip.decompress(raw)) + + +def emit(payload, dual=False, baseline=False): + """Same chronological order for inverse transpose; dualize every chart.""" + starts = list(payload['canonical']['start']) + centers = [] + events = [] + center = -1 + for e in payload['programs']['forward']: + kind = e[0] + if kind == 'scalar': + g, frame = e[1:] + op = g[0] + if op == 'clear': + continue + if op == 'copy': + center += 1 + centers.append({'source': g[2][1], 'input_frame': frame}) + starts.append(frame) + role = lambda x: x[1] if x[0] == 'L' else 632 + center + dst = role(g[1]) + if op in ('add', 'copy'): + src = role(g[2]) + a = Q(1) if op == 'copy' else Q(g[3], g[4]) + if baseline and op == 'copy': + events.append(('copy', dst, src, a, frame)) + else: + events.append(('add', src if dual else dst, + dst if dual else src, -a if dual else a, frame)) + else: + need(op == 'scale', 'known scalar opcode') + a = Q(g[2], g[3]) + events.append(('scale', dst, 1 / a if dual else a, frame)) + elif kind == 'climb': + _, _, r, a, b, width = e + events.append(('transport', r, a, b, width)) + elif kind == 'center': + _, _, a, b, width = e + events.append(('transport', 632 + center, a, b, width)) + elif kind == 'warp': + _, r, op, a, b = e + symbol = (1 if op > 0 else -1) * (abs(op) + (1000000 if dual else 0)) + events.append(('warp', r[1], symbol, a, b)) + else: + need(kind in ('phase', 'adapter'), 'known native marker') + need(center == 7 and len(starts) == N, 'eight distinct arbitrary center inputs') + return starts, centers, events + + +def span(basis): + out = {0} + for v in basis: + out |= {x ^ v for x in tuple(out)} + need(len(out) == 2 ** len(basis), 'independent chart basis') + return out + + +def replay(payload, starts, events, baseline=False): + rows = [{(i, ()): Q(1)} for i in range(N)] + current = starts[:] + frames = payload['canonical']['frames'] + spaces = list(map(span, frames)) + paid = Counter() + for e in events: + op, r = e[:2] + if op in ('add', 'copy'): + _, _, s, a, frame = e + need(r != s and current[r] == current[s] == frame, 'actual scalar common chart') + if op == 'copy': + need(baseline and r >= 632, 'only baseline owned copy') + rows[r] = dict(rows[s]) + else: + plus(rows[r], rows[s], a) + elif op == 'scale': + _, _, a, frame = e + need(current[r] == frame and a != 0, 'scale chart and invertibility') + rows[r] = {k: a * v for k, v in rows[r].items()} + elif op == 'transport': + _, _, a, b, width = e + need(current[r] == a, 'actual paid source chart') + need(spaces[a] < spaces[b] or spaces[b] < spaces[a], 'strictly nested transport') + need(width == abs(len(frames[a]) - len(frames[b])), 'rank derived from geometry') + paid[width] += 1 + current[r] = b + else: + _, _, symbol, a, b = e + need(op == 'warp' and current[r] == a, 'native warp source chart') + out = {} + for (variable, word), value in rows[r].items(): + word = word[1:] if word and word[0] == -symbol else (symbol,) + word + plus(out, {(variable, word): value}) + rows[r] = out + current[r] = b + need(dict(paid) == PAID, 'complete emitted recursive invoice') + need(current == payload['canonical']['final'] + [0] * 8, 'all 640 output charts') + need(all(not word for row in rows for _, word in row), 'all free warp words cancel') + return [{i: v for (i, _), v in row.items()} for row in rows] + + +def product(a, b): + out = [] + for row in a: + new = {} + for j, v in row.items(): + plus(new, b[j], v) + out.append(new) + return out + + +def transpose(a): + out = [{} for _ in a] + for i, row in enumerate(a): + for j, v in row.items(): + out[j][i] = v + return out + + +def encoded(a): + return [[[j, str(v)] for j, v in sorted(row.items())] for row in a] + + +def matrix_rank(rows): + pivots = {} + for old in rows: + row = dict(old) + while row: + p = min(row) + if p not in pivots: + q = row[p] + pivots[p] = {j: v / q for j, v in row.items()} + break + plus(row, pivots[p], -row[p]) + return len(pivots) + + +def run(): + payload = load() + starts, centers, events = emit(payload) + actual = replay(payload, starts, events) + _, _, old_events = emit(payload, baseline=True) + old = replay(payload, starts, old_events, baseline=True) + identity = [{i: Q(1)} for i in range(N)] + a = [dict(row) for row in identity] + for i in range(112): + a[112 + i][i] = Q(1) + need(old[:632] == a[:632], 'source all-632-column native identity ABI') + b = [{j: v for j, v in row.items() if j >= 632} for row in actual[:632]] + r = [{j: v for j, v in row.items() if j < 632} for row in actual[632:]] + need(all(actual[i] == a[i] | b[i] for i in range(632)), 'unchanged old-input columns') + need(all(actual[632 + i] == r[i] | {632 + i: Q(1)} for i in range(8)), 'center residual ABI') + need(all(not b[i] for i in list(range(112)) + list(range(224, 632))), 'noise only in Y outputs') + need(all(all(j < 112 or 224 <= j < 632 for j in row) for row in r), 'center reads only X/helper inputs') + need(matrix_rank(b) == matrix_rank(r) == 8, 'two actual rank-eight coupling maps') + k = [dict(row) for row in actual] + for i in range(N): + plus(k[i], identity[i], -1) + k2 = product(k, k) + need(any(k2) and not any(product(k2, k)), 'K squared nonzero and K cubed zero') + inverse = [dict(row) for row in identity] + for i in range(N): + plus(inverse[i], k[i], -1) + plus(inverse[i], k2[i]) + need(product(inverse, actual) == product(actual, inverse) == identity, 'exact two-sided inverse') + _, _, dual_events = emit(payload, dual=True) + dual = replay(payload, starts, dual_events) + need(dual == transpose(inverse), 'all-640-column raw inverse transpose with the same bill') + need(product(transpose(dual), actual) == identity, 'exact primal/dual pairing') + # Controls retain the same source/invoice but falsify actual operator claims. + bad = list(events) + i = next(i for i, e in enumerate(bad) if e[0] == 'add' and e[1] == 632) + e = bad[i] + bad[i] = (*e[:3], -e[3], e[4]) + need(replay(payload, starts, bad) != actual, 'changed center injection rejected') + bad = list(dual_events) + i = next(i for i, e in enumerate(bad) if e[0] == 'add' and e[2] == 632) + e = bad[i] + bad[i] = (*e[:3], -e[3], e[4]) + need(replay(payload, starts, bad) != transpose(inverse), 'wrong inverse-transpose sign rejected') + bad = list(events) + i = next(i for i, e in enumerate(bad) if e[0] == 'transport' and e[1] == 632) + e = bad[i] + bad[i] = (*e[:4], e[4] - 1) + rejected = False + try: + replay(payload, starts, bad) + except ValueError: + rejected = True + need(rejected, 'false center rank rejected from actual charts') + # Independent Gram and support facts expose actual arbitrary-input leakage. + gram = [[sum(b[i].get(632 + u, 0) * b[i].get(632 + v, 0) for i in range(632)) + for v in range(8)] for u in range(8)] + need(gram == [[Q(7, 2) * (u == v) for v in range(8)] for u in range(8)], 'B transpose B = 7/2 I') + # The zero-center source contract cannot certify eight independent new jobs. + need(any(b), 'nonzero incoming center changes original target outputs') + need(all(r), 'new center outputs are contaminated by original arbitrary inputs') + abi = {'schema': 'retained-center-extension/1', 'source_sha256': SOURCE_HASH, + 'centers': centers, 'B_rows': encoded(b), 'R_rows': encoded(r)} + result = {'status': 'EXACT_REVERSIBLE_640_FIELD_EXTENSION_NO_NEW_KAPPA', + 'source_inputs': 632, 'new_arbitrary_inputs': 8, 'outputs': N, + 'paid': PAID, 'new_recursive_calls': 0, 'owned_erase_or_copy_operations': 0, + 'B_rank': 8, 'R_rank': 8, 'nilpotence_index': 3, + 'noisy_old_outputs': sum(bool(row) for row in b), + 'old_input_terms_in_center_outputs': [len(row) for row in r], + 'center_residual_ranks_without_decoupling_credit': [8] * 8, + 'primal_and_raw_inverse_transpose_checked': True, + 'controls': ['center injection sign', 'dual sign', 'false center rank', + 'new-input leakage', 'old-input contamination'], + 'independent_new_productive_jobs_certified': False, + 'abi_sha256': sha256((json.dumps(abi, sort_keys=True) + '\n').encode()).hexdigest()} + return abi, result + + +if __name__ == '__main__': + abi, result = run() + if sys.argv[1:] == ['--write']: + for name, value in [('ABI.json', abi), ('RESULT.json', result)]: + (HERE / name).write_text(json.dumps(value, indent=2, sort_keys=True) + '\n') + else: + need(not sys.argv[1:], 'known command arguments') + for name, value in [('ABI.json', abi), ('RESULT.json', result)]: + need(json.loads(json.dumps(value)) == json.loads((HERE / name).read_text()), 'exact receipt ' + name) + print(json.dumps(result, sort_keys=True)) diff --git a/research/center-helper-normal-form/inputs/round3-native.json.gz b/research/center-helper-normal-form/inputs/round3-native.json.gz new file mode 100644 index 0000000000..46d929df83 Binary files /dev/null and b/research/center-helper-normal-form/inputs/round3-native.json.gz differ diff --git a/research/center-helper-normal-form/verify.py b/research/center-helper-normal-form/verify.py new file mode 100644 index 0000000000..effd566f5e --- /dev/null +++ b/research/center-helper-normal-form/verify.py @@ -0,0 +1,234 @@ +#!/usr/bin/env python3 +"""Costed helper normalization of PR4694. Apache-2.0; OpenAI assistance. + +The frozen PR4694 native emitter/replay is reused unchanged with credit. +""" +from fractions import Fraction as Q +from hashlib import sha256 +from pathlib import Path +import argparse +import importlib.util +import json +import sys + +sys.dont_write_bytecode = True +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +J = [224, 225, 227, 229, 240, 241, 256, 257] + + +def need(value, message): + if not value: + raise ValueError(message) + + +def load_engine(): + spec = importlib.util.spec_from_file_location('retained_center_engine', HERE/'inputs/retained_verify.py') + engine = importlib.util.module_from_spec(spec) + spec.loader.exec_module(engine) + engine.HERE = HERE + return engine + + +def power_two(value): + return value > 0 and value & (value-1) == 0 + + +def make_header(r, cold): + """P sends new u to old h, so R_H P selects exactly u_J.""" + header = [] + for i, dst in enumerate(J): + for src, value in sorted(r[i].items()): + if src in cold and src not in J: + header.append(('add', dst, src, -value, 0)) + matrix = [[row.get(j, Q(0)) for j in J] for row in r] + determinant = Q(1) + pivots = [] + for i in range(8): + k = next(k for k in range(i, 8) if matrix[k][i]) + if k != i: + matrix[k], matrix[i] = matrix[i], matrix[k] + a, b = J[i], J[k] + header.extend([('add', a, b, Q(1), 0), ('add', b, a, Q(-1), 0), + ('add', a, b, Q(1), 0), ('scale', b, Q(-1), 0)]) + determinant *= -1 + value = matrix[i][i] + need(power_two(abs(value.numerator)) and power_two(value.denominator), + 'Every pivot is a dyadic unit') + determinant *= value + pivots.append(str(value)) + if value != 1: + header.append(('scale', J[i], 1/value, 0)) + matrix[i] = [a/value for a in matrix[i]] + for k in range(8): + if k == i or not matrix[k][i]: + continue + value = matrix[k][i] + header.append(('add', J[k], J[i], -value, 0)) + matrix[k] = [a-value*b for a, b in zip(matrix[k], matrix[i])] + need(matrix == [[Q(i == j) for j in range(8)] for i in range(8)], 'Invert the actual minor') + return header, determinant, pivots + + +def inverse_header(header, frame): + return [('add', e[1], e[2], -e[3], frame) if e[0] == 'add' + else ('scale', e[1], 1/e[2], frame) for e in reversed(header)] + + +def dual_header(header): + return [('add', e[2], e[1], -e[3], e[4]) if e[0] == 'add' + else ('scale', e[1], 1/e[2], e[3]) for e in header] + + +def scalar_matrix(engine, header): + rows = [{i: Q(1)} for i in range(640)] + for e in header: + if e[0] == 'add': + engine.plus(rows[e[1]], rows[e[2]], e[3]) + else: + rows[e[1]] = {i: e[2]*v for i, v in rows[e[1]].items()} + return rows + + +def add_matrices(engine, a, b, coefficient=Q(1)): + out = [dict(row) for row in a] + for dst, src in zip(out, b): + engine.plus(dst, src, coefficient) + return out + + +def bound(events): + envelope, maximum = [Q(1)]*640, Q(1) + for e in events: + if e[0] == 'add': + envelope[e[1]] += abs(e[3])*envelope[e[2]] + elif e[0] == 'scale': + envelope[e[1]] *= abs(e[2]) + else: + continue + maximum = max(maximum, envelope[e[1]]) + return maximum + + +def run(): + for row in json.loads((HERE/'SOURCES.json').read_text())['files']: + if row['usage'] == 'input': + need(sha256((ROOT/row['path']).read_bytes()).hexdigest() == row['sha256'], + 'Changed pinned input: '+row['path']) + origins = json.loads((HERE/'inputs/ORIGINS.json').read_text()) + for row in origins['files']: + need(sha256((HERE/row['path']).read_bytes()).hexdigest() == row['sha256'], + 'Changed frozen PR4694 source') + spec = importlib.util.spec_from_file_location('three_field_consumer', HERE/'consumer.py') + consumer = importlib.util.module_from_spec(spec) + spec.loader.exec_module(consumer) + consumer_result = consumer.check() + engine = load_engine() + payload = engine.load() + c = payload['canonical'] + abi = json.loads((HERE/'inputs/ABI.json').read_text()) + r = [{i: Q(value) for i, value in row} for row in abi['R_rows']] + cold = {i for i in range(224, 632) if c['start'][i] == 0 and c['final'][i] == 1} + support = {i for row in r for i in row if i >= 224} + need(len(cold) == 326 and len(support) == 106 and support <= cold, + 'All 106 observed helpers have common birth and complete charts') + need(set(J) <= cold, 'The eight physical pivots are cold complete helpers') + need(all(e[2] not in cold for e in payload['programs']['forward'] if e[0] == 'adapter'), + 'No ignored endpoint adapter changes a mixed helper chart') + header, determinant, pivots = make_header(r, cold) + footer = inverse_header(header, 1) + identity = [{i: Q(1)} for i in range(640)] + p, pinv = scalar_matrix(engine, header), scalar_matrix(engine, footer) + need(engine.product(p, pinv) == engine.product(pinv, p) == identity, + 'Both exact physical helper basis inverse identities') + source_starts, centers, source = engine.emit(payload) + original = engine.replay(payload, source_starts, source) + b = [{i: Q(value) for i, value in row} for row in abi['B_rows']] + expected_original = [dict(row) for row in identity] + for i in range(112): + expected_original[112+i][i] = Q(1) + for i in range(632): + engine.plus(expected_original[i], b[i]) + for i in range(8): + engine.plus(expected_original[632+i], r[i]) + need(original == expected_original, 'Fresh source native replay authenticates the ABI') + native = header+source+footer + actual = engine.replay(payload, source_starts, native) + expected = engine.product(engine.product(pinv, original), p) + need(actual == expected, 'All 640 arbitrary columns of the normalized native word') + normalized_r = [] + for i in range(8): + row = dict(actual[632+i]) + row.pop(632+i) + need({j: value for j, value in row.items() if j >= 224} == {J[i]: Q(1)}, + 'Each center observes precisely one independent helper') + need({j: value for j, value in row.items() if j < 224} + == {j: value for j, value in r[i].items() if j < 224}, + 'The original data observation is retained exactly') + normalized_r.append(row) + need(actual[:632] == original[:632], 'All old-input outputs and incoming-center leakage are retained') + k = add_matrices(engine, actual, identity, Q(-1)) + k2 = engine.product(k, k) + need(not any(engine.product(k2, k)), 'Exact cube-zero nilpotent structure') + ranks = engine.matrix_rank(k), engine.matrix_rank(k2) + need(ranks == (120, 8), 'Exact nilpotent ranks') + for i, helper in enumerate(J): + # Matrix-vector products are checked as actual sparse columns. + column = {a: row.get(helper, Q(0)) for a, row in enumerate(k) if row.get(helper)} + need(column == {632+i: Q(1)}, 'First link of every explicit length-three chain') + column = {a: row.get(632+i, Q(0)) for a, row in enumerate(k) if row.get(632+i)} + need(column == {a: row.get(632+i) for a, row in enumerate(b) if row.get(632+i)}, + 'Second link is the actual nonzero Y scatter column') + inverse = add_matrices(engine, add_matrices(engine, identity, k, Q(-1)), k2) + need(engine.product(actual, inverse) == engine.product(inverse, actual) == identity, + 'Both exact normalized inverse identities') + _, _, source_dual = engine.emit(payload, dual=True) + dual = dual_header(header)+source_dual+dual_header(footer) + need(engine.replay(payload, source_starts, dual) == engine.transpose(inverse), + 'All 640 raw inverse-transpose columns and unchanged paid profile') + prefix, dual_prefix = bound(native), bound(dual) + need(max(prefix, dual_prefix) < 2**192, + 'Both complete positive scalar envelopes remain inside the retained cap') + bad = list(header) + e = bad[0] + bad[0] = (*e[:3], -e[3], e[4]) + need(engine.replay(payload, source_starts, bad+source+footer) != actual, + 'A wrong actual basis coefficient is rejected') + need(engine.replay(payload, source_starts, header+source) != actual, + 'Omitting the physical output inverse is rejected') + bad_footer = list(footer) + bad_footer[0] = (*bad_footer[0][:-1], 0) + try: + engine.replay(payload, source_starts, header+source+bad_footer) + except ValueError: + pass + else: + raise ValueError('A mixed-chart footer was accepted') + return {'status': 'PASS_CENTER_HELPER_NORMAL_FORM', 'source_pr': 4694, + 'source_commit': origins['files'][0]['source_commit'], + 'pivots': J, 'minor_determinant': str(determinant), 'elimination_pivots': pivots, + 'observed_helpers_before': len(support), 'observed_helpers_after': 8, + 'cold_complete_helper_pool': len(cold), 'header_gates': len(header), + 'footer_gates': len(footer), 'new_recursive_calls': 0, + 'paid': {str(i): n for i, n in engine.PAID.items()}, + 'nilpotent_rank': ranks[0], 'square_rank': ranks[1], + 'jordan_blocks': {'3': 8, '2': 104, '1': 408}, + 'normalized_R': engine.encoded(normalized_r), 'positive_prefix_envelope': str(prefix), + 'raw_dual_positive_prefix_envelope': str(dual_prefix), + 'primal_and_raw_dual_640_columns': True, + 'independent_center_credit': False, 'new_kappa': None, + 'conditional_three_field_controller': consumer_result, + 'program_sha256': sha256(json.dumps(native, default=str).encode()).hexdigest()} + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--write', action='store_true') + args = parser.parse_args() + result = run() + target = HERE/'RESULT.json' + if args.write: + target.write_text(json.dumps(result, sort_keys=True, indent=2)+'\n') + else: + need(result == json.loads(target.read_text()), 'Exact deterministic result') + print('PASS_CENTER_HELPER_NORMAL_FORM no_new_kappa')