From 0db0609042d3bee25028ef6515fcee40a33e958d Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 15:19:53 -0500 Subject: [PATCH 1/5] Prove a finite stable tensor test for dyadic Clifford programs --- research/clifford-tensor-gram/LICENSE | 201 ++ research/clifford-tensor-gram/MUTATIONS.json | 45 + research/clifford-tensor-gram/PROOF.md | 264 +++ research/clifford-tensor-gram/README.md | 164 ++ research/clifford-tensor-gram/RESULT.json | 98 + research/clifford-tensor-gram/SOURCES.json | 67 + research/clifford-tensor-gram/TASK.json | 108 ++ research/clifford-tensor-gram/VERIFY.json | 37 + .../clifford-tensor-gram/audit_mutations.py | 57 + research/clifford-tensor-gram/certify.py | 328 ++++ .../clifford-tensor-gram/check_witness.py | 150 ++ .../examples/native-relation.json | 65 + .../examples/phase-trap.certificate.json | 44 + .../examples/phase-trap.json | 65 + .../examples/reynolds.certificate.json | 54 + .../examples/reynolds.json | 1641 +++++++++++++++++ .../vendor/NATIVE-LINEAGE-NOTICE | 14 + .../vendor/clifford_exact.py | 149 ++ .../clifford-tensor-gram/vendor/fields.py | 140 ++ research/clifford-tensor-gram/verify.py | 351 ++++ 20 files changed, 4042 insertions(+) create mode 100644 research/clifford-tensor-gram/LICENSE create mode 100644 research/clifford-tensor-gram/MUTATIONS.json create mode 100644 research/clifford-tensor-gram/PROOF.md create mode 100644 research/clifford-tensor-gram/README.md create mode 100644 research/clifford-tensor-gram/RESULT.json create mode 100644 research/clifford-tensor-gram/SOURCES.json create mode 100644 research/clifford-tensor-gram/TASK.json create mode 100644 research/clifford-tensor-gram/VERIFY.json create mode 100644 research/clifford-tensor-gram/audit_mutations.py create mode 100644 research/clifford-tensor-gram/certify.py create mode 100644 research/clifford-tensor-gram/check_witness.py create mode 100644 research/clifford-tensor-gram/examples/native-relation.json create mode 100644 research/clifford-tensor-gram/examples/phase-trap.certificate.json create mode 100644 research/clifford-tensor-gram/examples/phase-trap.json create mode 100644 research/clifford-tensor-gram/examples/reynolds.certificate.json create mode 100644 research/clifford-tensor-gram/examples/reynolds.json create mode 100644 research/clifford-tensor-gram/vendor/NATIVE-LINEAGE-NOTICE create mode 100644 research/clifford-tensor-gram/vendor/clifford_exact.py create mode 100644 research/clifford-tensor-gram/vendor/fields.py create mode 100644 research/clifford-tensor-gram/verify.py diff --git a/research/clifford-tensor-gram/LICENSE b/research/clifford-tensor-gram/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/clifford-tensor-gram/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/clifford-tensor-gram/MUTATIONS.json b/research/clifford-tensor-gram/MUTATIONS.json new file mode 100644 index 0000000000..9263be8739 --- /dev/null +++ b/research/clifford-tensor-gram/MUTATIONS.json @@ -0,0 +1,45 @@ +{ + "cases": [ + { + "mutation": "omit final trace root", + "optimized": false, + "rejection": "Polynomial endpoints" + }, + { + "mutation": "omit final trace root", + "optimized": true, + "rejection": "Polynomial endpoints" + }, + { + "mutation": "ignore inverse", + "optimized": false, + "rejection": "Signed-word complete endpoint" + }, + { + "mutation": "ignore inverse", + "optimized": true, + "rejection": "Signed-word complete endpoint" + }, + { + "mutation": "omit final return", + "optimized": false, + "rejection": "Zero-axis scalar group" + }, + { + "mutation": "omit final return", + "optimized": true, + "rejection": "Zero-axis scalar group" + }, + { + "mutation": "remove Gram normalization", + "optimized": false, + "rejection": "Independent dense norm" + }, + { + "mutation": "remove Gram normalization", + "optimized": true, + "rejection": "Independent dense norm" + } + ], + "status": "PASS_CLIFFORD_GRAM_MUTATIONS" +} diff --git a/research/clifford-tensor-gram/PROOF.md b/research/clifford-tensor-gram/PROOF.md new file mode 100644 index 0000000000..7ada58f8ca --- /dev/null +++ b/research/clifford-tensor-gram/PROOF.md @@ -0,0 +1,264 @@ +# A finite and stable tensor test for dyadic Clifford programs + +## Result + +Let R = Z[i,1/2], let D = 2^n, and let C_n be the unitary matrices in +M_D(R) that normalize the n-axis Pauli group. Keep their exact global phase. +This class includes the source Gaussian gate + + C_v = (1+i)I/2 + (1-i)X_v/2, + +its inverse, quadratic phase gates, affine binary permutations and the +source Hadamard gate. It is larger than the monomial subgroup. + +Consider two finite scalar register programs. Each role has an independent +arbitrary input in (C^D)^(tensor f). Instructions can add a scalar multiple +of one role to another, scale a role, exchange roles, or apply U^(tensor f) +for U in C_n. Queries can add c U^(tensor f) v_s to v_d. Self queries are +permitted. Both programs and their scalar coefficients are fixed as f varies. +Every input and return role is part of the contract. + +**Theorem.** The complete endpoints agree for every positive integer f if +and only if they agree for f = 1,...,8n+4. There is no program-length or +support-size term in this cutoff. This is not a claim that these widths are +minimal, or that dense tensor matrices can be tested at low cost. + +There is a stronger quantitative statement. In one endpoint entry, combine +equal exact native matrices and write the residual as + + A_f = sum_(g in S) c_g g^(tensor f), + +where the matrices in S are distinct. Set + + M = sum_g |c_g|^2, + E_f = D^(-f) ||A_f||_HS^2. + +Then + + max_(1 <= f <= 8n+4) E_f >= (14/15) M. (1) + +The proof gives explicit rational weights b_f such that + + sum_(f=1)^(8n+4) b_f E_f = M. (2) + +Each E_f can be computed from base-dimension pair traces. It does not require +a tensor matrix. A nonzero E_f gives an exact nonzero tensor entry by a finite +sequence of conditional norm tests. The executable uses Q(i); the theorem +allows arbitrary complex scalar coefficients. + +This result changes an infinite algebraic obligation into a finite test for +this native class. It does not supply a native layout, a physical cost bound, +rounding, stock, a recursive supplier, or a change to the complete kappa. + +## 1. The exact trace alphabet + +Use Hermitian Paulis P_v, labelled by v in F_2^(2n), as an orthogonal basis +of M_D(C). A Clifford U acts by + + U P_v U* = epsilon(v) P_(S v), + +where S is symplectic and each epsilon(v) is 1 or -1. On the fixed space +L = ker(S-I), the signs form an additive character. Indeed, multiplication +P_u P_v = gamma(u,v) P_(u+v), followed by conjugation, cancels the same +nonzero gamma on both sides and gives epsilon(u+v)=epsilon(u)epsilon(v). + +The trace of conjugation on all matrices is |tr U|^2. The Pauli basis gives +the same trace as sum_(v in L) epsilon(v). A nontrivial sign character sums +to zero; the trivial character sums to |L|. Thus + + |tr U|^2 is zero or 2^d, with 0 <= d <= 2n. (3) + +We also need the phase of this trace. C_n is a finite group. Its conjugation +action on the finite Pauli group has finite image. Its kernel consists of +scalar matrices: commuting with all Z generators forces a diagonal matrix, +and commuting with all X generators makes that diagonal constant. A scalar +in R with absolute value one is in {1,i,-1,-i}. To see this, write it as +(a+bi)/2^k. Unique factorization in Z[i], with 2=-i(1+i)^2, shows that a +Gaussian rational with denominator a power of two and norm one is a unit. +The kernel therefore has four elements. + +Every U has finite order. Its eigenvalues are roots of unity, so its trace +is an algebraic integer. The trace is also in Q(i). The ring of integers of +Q(i) is Z[i], so tr U is a Gaussian integer. Factoring its norm in (3) now +shows + + tr U in {0} union {i^k (1+i)^d : 0 <= k < 4, + 0 <= d <= 2n}. (4) + +The same statement holds for U*V. In particular, no arbitrary rational +unit-circle phase may be admitted. For example (3+4i)I/5 is unitary and +normalizes Paulis, but is outside the dyadic hypothesis. + +Finally tr(U*V)=D holds exactly when U=V. All eigenvalues of U*V have absolute +value one. Equality in their sum being the positive real number D forces +every eigenvalue to be one; a unitary matrix with those eigenvalues is I. + +## 2. An explicit polynomial that selects the identity + +Let z = tr U / D. In addition to zero and the four scalar values 1,i,-1,-i, +every possible z satisfies + + z^4 = (-1)^j 4^(-j), for some 1 <= j <= 2n. + +Define the rational polynomial + + q_n(z) = z(1+z+z^2+z^3)/4 + * product_(j=1)^(2n) + (z^4 - (-1)^j 4^(-j))/(1 - (-1)^j 4^(-j)). (5) + +It has zero constant term, degree 8n+4, and q_n(1)=1. It vanishes at every +other value in the trace alphabet. Therefore, for exact matrices U,V in C_n, + + q_n(tr(U*V)/D) = 1 if U=V, and 0 otherwise. (6) + +Write q_n(z)=sum_f b_f z^f. The triangle inequality for polynomial +coefficient norms gives a dimension-independent bound. The first factor +has coefficient norm one. Each odd-j factor has nonnegative coefficients +whose sum is one. The norm of the even factor j=2k is + + (1+16^(-k))/(1-16^(-k)). + +For nonnegative a,b with a+b<1, + + [(1+a)/(1-a)] [(1+b)/(1-b)] + = (1+t)/(1-t), where t=(a+b)/(1+ab) <= a+b. + +Induction and sum_(k>=1) 16^(-k)=1/15 show + + sum_f |b_f| <= product_(k=1)^n (1+16^(-k))/(1-16^(-k)) < 8/7. (7) + +For n=0 the norm is one and the same strict bound holds. Also sum_f b_f=1. +It follows that the sum of the positive coefficients is less than 15/14. + +## 3. The Gram identity and stable separation + +The Hilbert-Schmidt inner product is multiplicative under tensor products. +Thus + + E_f = sum_(g,h in S) conjugate(c_g)c_h (tr(g^* h)/D)^f, (8) + +where g* denotes the adjoint, so the trace argument is g* h. Apply (6) to +(8) and sum against b_f. All terms with g != h vanish and the diagonal +terms give M. This proves (2). + +Each E_f is a nonnegative real number. Terms with b_f<0 can be removed from +the right side of (2) when taking an upper bound. Hence + + M <= (sum_(b_f>0) b_f) max_f E_f < (15/14) max_f E_f + +when M>0. The weaker non-strict form (1) also covers M=0. If the first 8n+4 +residual matrices vanish, (2) forces M=0. Every exact coefficient c_g is then +zero, so A_f vanishes at every positive width. The reverse implication is +immediate. Apply this argument to each input/output entry to obtain the full +dirty-register theorem. + +This proof uses only pair traces and a rational polynomial. It does not need +an irreducible character table or a census of C_n. Burnside-Brauer supplies +a related classical tensor-generation argument; (5)-(8) give the explicit +native cutoff, quantitative bound and computational certificate used here. + +## 4. Extract a tensor entry without a tensor matrix + +Suppose E_f>0. For one output coordinate x and input coordinate y in the +first tensor factor, put c'_g=c_g g[x,y]. The remaining tensor operator is +sum_g c'_g g^(tensor (f-1)). Its normalized squared norm is obtained from +the same pair-trace matrix by (8). The sum of these conditional norms over +the D^2 choices of (x,y) is D E_f. At least one choice is positive, and a +maximizing choice is at least E_f/D. + +Repeat until no tensor factors remain. The final scalar is exactly the +chosen entry of A_f. It is nonzero and its squared absolute value is at +least E_f/D^f. Start at a width attaining the maximum in (1) to obtain + + |entry|^2 >= (14/15) M D^(-f). (9) + +The independent witness checker uses a separate signed-word interpreter, +multiplies the base matrices in their literal order, and computes this one +entry as a product of base entries. It does not use traces, the cutoff, +the interpolation polynomial, or the producer's register compiler. + +## 5. Cost, input validation and trust + +For s distinct residual operators supplied as D-by-D matrices, all pair +traces cost O(s^2 D^2) exact scalar operations. Equal traces can be collected +into at most 8n+5 buckets, including zero. The full norm sequence then costs +O(n^2+s^2) further scalar operations after the pair traces, apart from +coefficient storage. Coefficient bit sizes are not bounded by this count. + +The direct entry extractor uses O(f D^2 s^2 log(f+1)) scalar operations in the +worst case, with base matrices and their Gram matrix in memory. The logarithm +accounts for repeated squaring of pair traces. It never allocates +a D^f-by-D^f matrix. Word support can grow exponentially during compilation; +the program compiler is not asserted to be polynomial in instruction count. +The base dimension D itself is exponential in n. No practical full-supplier +speedup is inferred from these bounds. + +The frontend checks every supplied matrix for dyadic entries, unitarity and +Pauli normalization on all 2n generators. The last check is sufficient: +the generators generate the Pauli group, and invertible conjugation gives +an injective map of that finite group into itself. Products and adjoints +remain in C_n. Exact matrix keys include global phase. Scalar coefficients +remain outside tensor powers. The checker does not move a scalar phase +from an operator into a coefficient. + +The actual source kernel uses precisely the gates in the first section. +Its C formula has eigenvalues 1 and i. Its Hadamard convention is S C S, +so H^2=iI, not I. The retained source bytes and the independent column +formula are checked in verify.py. These checks bind the algebraic grammar; +they do not run a complete native supplier or its physical implementation. + +The proof is written mathematics. Python, the compiler, the frozen Gaussian +arithmetic and the native-source transcription remain trusted. The direct +tensor, signed-word and source-column checks test different implications. +They are not an independent human review or a proof-assistant theorem. + +## 6. A finite test that misses a real failure + +The one-axis source C and S gates generate a group G of 96 exact matrices. +There are at most 24 signed images of an ordered anticommuting Pauli pair, +and at most four scalar lifts of each image. Thus this group is the complete +one-axis dyadic normalizer, not just a proper subgroup used for calibration. +Let one dirty target receive + + y <- y + (1/96) sum_(g in G) g^(tensor f) x. + +The source x is unchanged. The average is an orthogonal projector, so its +trace equals its rank. Complete exact enumeration gives rank zero at widths +1 through 7 and rank 15 at width 8. The all-zero input/output tuple has +entry 5/24 at width 8. Thus seven full small-width checks can all accept +a false all-width identity. The registered example and literal witness +checker reproduce this counterexample without building its tensor matrix. + +## 7. Scope and credit + +The program must have fixed scalar coefficients and a fixed native word as +width changes. This theorem does not cover a different program at each f, +arbitrary continuous phases, nonunitary scaled operators, non-Clifford gates, +positive characteristic, nonlinear leaves or physical aliasing. A caller +with restricted clean inputs needs its own input contract. Rounded equality +is not exact equality. No complete multiplication theorem or kappa changes. + +The finite-group algebra viewpoint is prior work. The repository's +projection-recursion-check already uses positive-width Burnside-Brauer +separation, following Jacob Alan Sussman's engine model. The free-word +tensor audit of Cinna Davis's programs and the certificates by zxv and +Krzysztof Wojt retain their separate contributions. Chris R's retained-helper +and passive-query proofs already use finite Clifford alphabets and tensor +Gram separation. For fixed scalar coefficients, this package supplies the +explicit filter and dimension-independent stability constant above. It does +not replace their statements about width-dependent coefficients. The +concurrent PR #5369 targets the smaller +affine-quadratic monomial class with four selected widths. This package does +not claim its result. README.md links these related sources. + +Classical provenance: Burnside and Brauer's tensor-generation theorem, as +reviewed by Benjamin Steinberg in +[On the Burnside-Brauer-Steinberg theorem](https://arxiv.org/abs/1409.7632), +the Pauli conjugation basis, Gaussian-integer factorization, polynomial +interpolation and Gram identities. No global mathematical priority is +claimed. The new package provides the explicit dyadic-Clifford trace +filter, stable bound, complete program frontend, compressed failure +certificate and source-bound checks. The exact source and credit map is +in README.md and SOURCES.json. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. diff --git a/research/clifford-tensor-gram/README.md b/research/clifford-tensor-gram/README.md new file mode 100644 index 0000000000..eaf9a6dce0 --- /dev/null +++ b/research/clifford-tensor-gram/README.md @@ -0,0 +1,164 @@ +# Finite, stable tensor tests for the full dyadic Clifford group + +**A uniform algebraic interface theorem and an exact verifier; no new kappa.** +For fixed scalar register programs on n binary axes, with unitary dyadic +Clifford operators and every dirty input/return retained, equality at widths +**1 through 8n+4 is equivalent to equality at every positive width**. This +covers Gaussian and Hadamard gates as well as phase-monomial maps. The cutoff +does not depend on program length or expanded support. + +The [proof](PROOF.md) also gives a stable test. Let M be the squared coefficient +norm after equal exact native operators are combined. Some tested width has +normalized squared Hilbert-Schmidt residual at least **(14/15)M**. An explicit +rational polynomial recovers M from the finite norm sequence. Base-space pair +traces suffice. A conditional norm procedure finds a nonzero tensor entry +without allocating a tensor matrix. + +For the source's nine binary axes, the sufficient tensor-width cutoff is **76**. +This is an algebraic bound, not a full supplier replay or a minimal cutoff. +The complete kappa calculation and selected frontier are unchanged. + +## A concrete small-width trap + +The [Reynolds example](examples/reynolds.json) adds the average of the 96 +one-axis native group operators to a dirty target. It preserves the source. +Its complete endpoint is the identity at widths **1 through 7**, but fails at +width **8**, with a literal entry **5/24**. The +[certificate](examples/reynolds.certificate.json) gives the roles and coordinates. +This example uses the full group, not a numerical sample. + +## Use + +Python 3.12 and the standard library suffice. From the repository root: + +```sh +python3.12 -B scripts/research_package.py --package research/clifford-tensor-gram +``` + +Both registered modes print `PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA`. +Direct commands also work in a Git-free export: + +```sh +python3.12 -I -W error -B research/clifford-tensor-gram/verify.py +python3.12 -I -O -W error -B research/clifford-tensor-gram/verify.py +python3.12 -I -B research/clifford-tensor-gram/certify.py \ + research/clifford-tensor-gram/examples/native-relation.json +python3.12 -I -B research/clifford-tensor-gram/check_witness.py \ + research/clifford-tensor-gram/examples/reynolds.json \ + research/clifford-tensor-gram/examples/reynolds.certificate.json +python3.12 -I -B research/clifford-tensor-gram/audit_mutations.py +``` + +The producer prints JSON. Read `equivalent_at_all_positive_widths`; a successful +process means the decision completed, and a counterexample is a valid result. +The independent witness checker prints `PASS_LITERAL_TENSOR_WITNESS 5/24`. +It uses a separate signed-word interpreter and literal matrix entries, with +no producer import, trace calculation or interpolation argument. Only the +frozen scalar arithmetic is shared. +It checks the literal nonzero entry, not the claimed norms or the universal +cutoff theorem. + +## Input contract + +The [native relation example](examples/native-relation.json) gives the format. +`axes` is n; `roles` counts arbitrary independent inputs and returns. +`operators` contains exact 2^n-by-2^n matrices, with integer entries or +Gaussian-rational strings such as `1/2-1/2i`. Floats are rejected. The frontend +checks dyadic entries, unitarity and normalization of all Pauli generators. +`program` and `reference` are complete instruction lists. An empty reference +is identity on every role. + +| Instruction | Required fields | Action | +| --- | --- | --- | +| `add` | `src`, `dst` | Add a scalar multiple of a role | +| `query` | `src`, `dst`, `symbol` | Add an operator image of a role | +| `apply` | `dst`, `symbol` | Apply an operator to a role | +| `scale` | `dst`, `coefficient` | Scale a role | +| `swap` | `src`, `dst` | Exchange roles | + +`add` and `query` accept an optional `coefficient`, default one. `query` and +`apply` accept Boolean `inverse`, default false. Self queries read the previous +value. Global phase stays inside the tensor power; scalar coefficients stay +outside. The source convention has H^2=iI. Replacing that operator with scalar +scaling by i passes width one and fails width two, as the +[phase example](examples/phase-trap.json) shows. Scalar coefficients need not +be dyadic. + +## Evidence and limits + +[RESULT.json](RESULT.json) records 96 group elements, 689 exact trace-filter +values, 2,124 source columns, 48 entangling trace cases, 60 explicit tensor +norms, 72 complete endpoint comparisons, 24 full tensor program comparisons, +16 random literal witnesses, two zero-axis boundary cases and 20 controls. +The source columns include both +orientations of an actual nine-axis Gaussian gate. Controls reject nonunitary +inputs, non-dyadic phases, Toffoli, malformed instructions, wrong tensor phases, +missing helper returns and false witnesses. Source hashes are checked before +the replay imports the frozen files. + +[MUTATIONS.json](MUTATIONS.json) records four private-copy defects rejected in +both Python modes: a missing trace factor, an ignored inverse, an omitted +dirty return and a missing Gram normalization. The audit prints +`PASS_CLIFFORD_GRAM_MUTATIONS`. The local runs used CPython 3.12.13 on macOS +with no third-party packages. + +The written proof supplies the universal quantifiers. Finite tests corroborate +it. This is author-checked with substantial AI assistance, not independent +human or proof-kernel acceptance. Compilation can expand exponentially many +terms; the base dimension is also 2^n. No polynomial-time claim in instruction +length or practical full-supplier speedup follows. No complete provider, +selected cold replay, native admission, Lean or Docker run is claimed. +Physical storage, tapes, stock, precision and outer recovery remain separate. +Programs that change with f, non-Clifford gates, continuous phases, nonunitary +scalings, rounded leaves and restricted clean-input contracts are excluded. + +## Sources and credit + +Base: canonical main `7c472563474e60185e6ca101a17622133d047e56`, priority 7. +[SOURCES.json](SOURCES.json) binds exact sources. No predecessor is modified. +Rohan Arun supplies the retained native compiler, following Jeremy Kothe and +the native lineage. Tekalign's retention and Cinna Davis's borrowing work keep +their credit. The complete [notice](vendor/NATIVE-LINEAGE-NOTICE) accompanies +the byte-identical kernel. + +zxv's [PR #5235](https://github.com/CrocSwap/integer-mult-bounds/pull/5235) +supplies the independent-symbol interface and frozen Gaussian arithmetic. +Krzysztof Wojt's [PR #5262](https://github.com/CrocSwap/integer-mult-bounds/pull/5262) +supplies the inverse-aware interface and native-relation handoff. lm1909's +[projection-recursion check](https://github.com/CrocSwap/integer-mult-bounds/blob/7c472563474e60185e6ca101a17622133d047e56/research/projection-recursion-check/README.md) +already uses positive-width group separation, following Jacob Alan Sussman's +engine model. Cinna Davis, ToikY, Sagar Thakrar, roger-sato and the retained +free-word/tensor audits keep their earlier results and attribution. + +Chris R's [PR #4928](https://github.com/CrocSwap/integer-mult-bounds/pull/4928) +and [PR #4978](https://github.com/CrocSwap/integer-mult-bounds/pull/4978) +already use finite Clifford alphabets and tensor Gram separation. Their +[general separation proof](https://github.com/CrocSwap/integer-mult-bounds/blob/7c472563474e60185e6ca101a17622133d047e56/research/two-full-retained-helper-ceiling/science/PROOF.md) +and [passive-query clarification](https://github.com/CrocSwap/integer-mult-bounds/blob/7c472563474e60185e6ca101a17622133d047e56/research/passive-saved-query-ceiling/evidence/frozen/pr4948-saved-query-macro-gate/UNIFORM-ALPHABET-ADDENDUM.md) +retain that credit. This package adds an explicit linear cutoff and constant +stability bound for fixed scalar coefficients in the full dyadic class. + +Concurrent [PR #5369](https://github.com/CrocSwap/integer-mult-bounds/pull/5369) +proves a four-width criterion for affine-quadratic monomial maps. +Its scope excludes Hadamard gates. The +[coordination claim](https://github.com/CrocSwap/integer-mult-bounds/discussions/5236#discussioncomment-19153620) +records this package's larger class, Gram test and stability claim. Public +PR/Discussion bodies and relevant main notes were checked. Historical diffs +and unpublished work remain outside coverage. + +Classical ingredients are credited in [PROOF.md](PROOF.md). No new general +Burnside-Brauer theorem, general circuit identity algorithm or global priority +is claimed. The contribution is the explicit native trace filter, stable +cutoff, program frontend, compressed witness and source-bound validation. + +## Open next questions + +1. Replace dense matrices with phase-exact Clifford tableaux and a proved + trace/entry routine. Start with the complete one-axis and entangling fixtures. + Exact global-phase binding is the remaining blocker. +2. Find the sharp cutoff. Start with one-axis Gram kernels. The width-eight + example is a lower bound; this package does not prove twelve is necessary. +3. Bind a complete current provider and measure support growth. Retain every + input/return and native phase. Physical admission and a full bill remain open. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. diff --git a/research/clifford-tensor-gram/RESULT.json b/research/clifford-tensor-gram/RESULT.json new file mode 100644 index 0000000000..bd440a4b06 --- /dev/null +++ b/research/clifford-tensor-gram/RESULT.json @@ -0,0 +1,98 @@ +{ + "closure_edges": 192, + "complete_endpoint_comparisons": 72, + "controls": [ + "wrong witness value", + "wrong witness width", + "wrong certificate schema", + "wrong certificate problem_sha256", + "wrong certificate axes", + "wrong certificate cutoff", + "nonunitary", + "continuous rational phase", + "wrong shape", + "floating scalar", + "non-Clifford dyadic unitary", + "invalid instruction 11", + "invalid instruction 12", + "invalid instruction 13", + "invalid instruction 14", + "invalid instruction 15", + "invalid instruction 16", + "omitted helper return detected", + "noncommuting order detected", + "phase outside tensor detected" + ], + "cutoff": "8n+4", + "dense_norm_cases": 60, + "entangling_trace_cases": 48, + "full_tensor_programs": 24, + "native_source_columns": 2124, + "one_axis_group_order": 96, + "polynomial_values": 689, + "random_literal_witnesses": 16, + "reynolds": { + "coefficient_norm_squared": "1/96", + "first_nonzero_width": 8, + "input_role": 0, + "normalized_squared_norms": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "15/256", + "0", + "0", + "0", + "155/4096" + ], + "output_role": 1, + "support": 96, + "trace_buckets": 13, + "witness": { + "discrepancy": "5/24", + "input_tuple": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "output_tuple": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "width": 8 + } + }, + "separation": "14/15", + "status": "PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA", + "trace_histogram": { + "-1": 8, + "-1+1i": 6, + "-1-1i": 6, + "-2": 1, + "0": 36, + "0+1i": 8, + "0+2i": 1, + "0-1i": 8, + "0-2i": 1, + "1": 8, + "1+1i": 6, + "1-1i": 6, + "2": 1 + }, + "zero_axis_cases": 2 +} diff --git a/research/clifford-tensor-gram/SOURCES.json b/research/clifford-tensor-gram/SOURCES.json new file mode 100644 index 0000000000..6207a76400 --- /dev/null +++ b/research/clifford-tensor-gram/SOURCES.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "base_commit": "7c472563474e60185e6ca101a17622133d047e56", + "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/inverse-dirty-certificates/PROOF.md", + "usage": "provenance", + "git_blob": "d2433c24ca46a1cf4af481f6ae9b281991cdafac", + "sha256": "de0820379f76fb4ab680c6401c852cc9ea127e447de11ca93a1453471d858f11" + }, + { + "path": "research/projection-recursion-check/README.md", + "usage": "provenance", + "git_blob": "1d8c9f7b1b96cd098a9a00a90022143bbced8b64", + "sha256": "59204f11aa3aae59df44fc69228cd017660139587b2dc18ece1999a98d097996" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "usage": "input", + "git_blob": "166841a037f069249f6f7f6dedb89248812f59e2", + "sha256": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962" + }, + { + "path": "research/universal-dirty-certificates/fields.py", + "usage": "input", + "git_blob": "f1b6dc83e26bd9fd9ec67ded3fedb330ef89598d", + "sha256": "0829ad6ed3775ba6e3d11cf04cfb3513ac763549b730aaed74958b1238e660d7" + }, + { + "path": "research/t74-native-fast/NATIVE-LINEAGE-NOTICE", + "usage": "provenance", + "git_blob": "380e979f0e84e00a22bd890615d87cc4684ad740", + "sha256": "ee0c73ca35877aad0e0b6adc560a3881cb82276dba4cf2d4fc58cd19e57cc420" + }, + { + "path": "research/t74-native-fast/LICENSE", + "usage": "provenance", + "git_blob": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4" + }, + { + "path": "research/two-full-retained-helper-ceiling/science/PROOF.md", + "usage": "provenance", + "git_blob": "85eb3ade566aecd21b681085543eff617fc0f5db", + "sha256": "63ec5034fb526dc9243de487f97477e51221773f4b7cae21b38df719ba1362c7" + }, + { + "path": "research/passive-saved-query-ceiling/evidence/frozen/pr4948-saved-query-macro-gate/UNIFORM-ALPHABET-ADDENDUM.md", + "usage": "provenance", + "git_blob": "d742381500d94759a3278050d86b7d1dcc726a7e", + "sha256": "f51448dc7551e8b61613c642d9487282f06e2ddc6274b1693276920688d5496f" + } + ], + "attribution": "Rohan Arun and the retained native lineage supply the exact kernel; Tekalign retained its source. zxv supplies fields.py. Krzysztof Wojt supplies the inverse-interface handoff. lm1909 and Jacob Alan Sussman supply the prior positive-width group-separation use. See README.md and the retained notice. New material by Ali Romman with substantial OpenAI Codex assistance; Apache-2.0. Chris R / Clear1nsight supplies the related finite-alphabet tensor separation in PR4928 and PR4978." +} diff --git a/research/clifford-tensor-gram/TASK.json b/research/clifford-tensor-gram/TASK.json new file mode 100644 index 0000000000..c14b20611c --- /dev/null +++ b/research/clifford-tensor-gram/TASK.json @@ -0,0 +1,108 @@ +{ + "schema_version": 1, + "task_id": "formal-interface-lemma", + "priority_revision": 7, + "base_commit": "7c472563474e60185e6ca101a17622133d047e56", + "original_card": { + "id": "formal-interface-lemma", + "question": "Can one uncovered interface implication be formalized with exact caller and certificate bindings?", + "starting_points": [ + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "research/gate-operand-parity-lean/README.md", + "research/staged544-certified-endpoint/README.md", + "research/unconditional-batched-crt/README.md" + ], + "methods": [ + "Formalize a missing boundary lemma identified by the selected review.", + "Audit a formal theorem-to-certificate binding independently." + ], + "acceptance_gate": "State the exact formalized proposition and remaining assumptions; avoid duplicate arithmetic formalizations already present.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Inventory the gate-operand parity lemma (#3807) and certified endpoint arithmetic (#3857). Neither is a full multiplication proof. For #4100, audit the compact-switch statement and its hypotheses before formalizing it.", + "scope": "Source-binding orientation only; no scientific replay, theorem acceptance or supplier admission. Budget any heavy replay separately." + }, + "first_experiment": "Write one missing statement with quantified hypotheses, actual caller and existing coverage. A compact-switch lemma is a candidate only after its mathematical contract is reviewed. Establish a bounded proof plan before a separately budgeted proof-assistant build; do not rerun large Lean jobs as orientation.", + "bottleneck_link": "A missing interface proof can reduce the conditional gap even if it does not change kappa.", + "allowed_variations": [ + "Narrow to one formal lemma or one theorem-to-certificate binding." + ], + "scope_change_triggers": [ + "Formalizing already-covered arithmetic and claiming the full multiplication theorem." + ], + "overlap_terms": [ + "hyperplane end", + "formal interface", + "Lean binding", + "3807", + "3857", + "4100", + "gate-operand-parity-lean", + "staged544-certified-endpoint", + "unconditional-batched-crt" + ], + "existing_checks": [ + { + "scope": "PR #3807: scoped gate-operand parity formalization.", + "evidence": "research/gate-operand-parity-lean/README.md", + "remaining": "Exact theorem-to-caller binding and genuinely uncovered interface lemmas.", + "status": "author-checked", + "source_commit": "4c3530f42a6abcc48e7a6bcffd6c901911dc8269", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #3857: certified real-power moment/endpoint arithmetic.", + "evidence": "research/staged544-certified-endpoint/README.md", + "remaining": "Uniform algorithmic implications, not another endpoint digit.", + "status": "author-checked", + "source_commit": "ef4315b8caa605e47a2515004845eb2d2ed71a86", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "PR #4100: compact-switch formalization proposed as future validation.", + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Audit the statement and assumptions before a formal proof campaign.", + "status": "author-checked", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + } + ] + }, + "scope_status": "changed", + "actual_scope": "Finite stable tensor test for complete dyadic Clifford register programs, with exact base-space Gram certificates and literal tensor entries.", + "scope_change_reason": "Supply a written native-relation interface theorem and executable certificate rather than repeat a formal arithmetic endpoint.", + "bottleneck_link": "A fixed native program needs an all-width endpoint proof. The trace filter supplies a uniform finite test and a quantified failure certificate for the full dyadic Clifford class.", + "budget_minutes": 60, + "stop_rule": "Prove the stated cutoff and stability bound, check source and independent tensor fixtures, then publish one scoped package. No supplier or selected-frontier update.", + "outcome": "completed", + "evidence": "PROOF.md, RESULT.json, certify.py, check_witness.py and the registered replay.", + "author": "Ali Romman with substantial OpenAI Codex assistance", + "ai_assistance": "Substantial OpenAI Codex assistance in derivation, implementation, self-review, validation and publication. No independent human or proof-kernel review.", + "open_questions": [ + { + "question": "Can exact tableaux replace dense native matrices?", + "why_it_matters": "The base dimension is exponential in the axis count.", + "first_step": "Match traces and entries on the complete one-axis group and entangling fixtures.", + "blocked_by": "A phase-exact trace and entry algorithm needs a source-bound proof." + }, + { + "question": "What is the sharp full-group cutoff?", + "why_it_matters": "The sufficient bound need not be minimal.", + "first_step": "Compute exact one-axis cumulative Gram kernels.", + "blocked_by": "A lower bound beyond width eight is not proved." + }, + { + "question": "Does a complete current provider fit this fixed-word grammar at practical support size?", + "why_it_matters": "The new algebraic theorem does not run a complete supplier.", + "first_step": "Bind every input and return, then measure expansion on one pinned word.", + "blocked_by": "Phase bindings, support size and the physical invoice remain." + } + ], + "coordination": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5236#discussioncomment-19153620" +} diff --git a/research/clifford-tensor-gram/VERIFY.json b/research/clifford-tensor-gram/VERIFY.json new file mode 100644 index 0000000000..2480cc3900 --- /dev/null +++ b/research/clifford-tensor-gram/VERIFY.json @@ -0,0 +1,37 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py", + "research/universal-dirty-certificates/fields.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-W", + "error", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 180, + "checks": "Exact trace filter, complete one-axis group, source columns, independent tensor norms and endpoints, literal witnesses and rejection controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-W", + "error", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 180, + "checks": "Exact trace filter, complete one-axis group, source columns, independent tensor norms and endpoints, literal witnesses and rejection controls." + } + ] +} diff --git a/research/clifford-tensor-gram/audit_mutations.py b/research/clifford-tensor-gram/audit_mutations.py new file mode 100644 index 0000000000..11fd235740 --- /dev/null +++ b/research/clifford-tensor-gram/audit_mutations.py @@ -0,0 +1,57 @@ +"""Check that semantic defects fail in private package copies. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile + +HERE = Path(__file__).resolve().parent +MUTATIONS = [ + ("omit final trace root", "range(1, 2*n+1)", "range(1, 2*n)", "Polynomial endpoints"), + ("ignore inverse", "adjoint(operators[symbol]) if inverse else operators[symbol]", + "operators[symbol]", "Signed-word complete endpoint"), + ("omit final return", "enumerate(zip(left, right))", "enumerate(zip(left[:-1], right[:-1]))", + "Zero-axis scalar group"), + ("remove Gram normalization", "G(0))/d\n for right", "G(0))\n for right", + "Independent dense norm"), +] + + +def audit(write=False): + results = [] + for label, old, new, expected in MUTATIONS: + for optimized in (False, True): + with tempfile.TemporaryDirectory(prefix="clifford-gram-mutation-") as directory: + target = Path(directory) / "package" + shutil.copytree(HERE, target, ignore=shutil.ignore_patterns("__pycache__")) + source = target / "certify.py" + original = source.read_text(encoding="utf-8") + if original.count(old) != 1: + raise ValueError("Mutation target is not unique: "+label) + source.write_text(original.replace(old, new), encoding="utf-8") + command = [sys.executable, "-I", "-W", "error", "-B"] + if optimized: + command.append("-O") + command += [str(target / "verify.py"), "--write"] + run = subprocess.run(command, text=True, capture_output=True, timeout=180) + if run.returncode == 0 or "ValueError: "+expected not in run.stderr: + raise ValueError("Mutation did not fail at its semantic check: "+label+"\n"+run.stdout+run.stderr) + results.append({"mutation": label, "optimized": optimized, "rejection": expected}) + receipt = {"status": "PASS_CLIFFORD_GRAM_MUTATIONS", "cases": results} + path = HERE / "MUTATIONS.json" + if write: + path.write_text(json.dumps(receipt, indent=2, sort_keys=True)+"\n", encoding="utf-8") + elif json.loads(path.read_text(encoding="utf-8")) != receipt: + raise ValueError("Committed mutation receipt mismatch") + print(receipt["status"]) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", action="store_true", help="Regenerate the mutation receipt") + audit(parser.parse_args().write) diff --git a/research/clifford-tensor-gram/certify.py b/research/clifford-tensor-gram/certify.py new file mode 100644 index 0000000000..64fb8cb821 --- /dev/null +++ b/research/clifford-tensor-gram/certify.py @@ -0,0 +1,328 @@ +"""Decide complete tensor identities for dyadic Clifford register programs. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +The trace interpolation proof is in PROOF.md. No tensor matrix is built. +""" +import argparse +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path +import sys + +sys.path.insert(0, str(Path(__file__).resolve().parent / "vendor")) +from fields import Gaussian as G + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def conjugate(z): + return G.pair(z.real, -z.imag) + + +def norm2(z): + return z.real*z.real + z.imag*z.imag + + +def power(z, k): + result = G(1) + while k: + if k & 1: + result = result*z + z = z*z + k //= 2 + return result + + +def scalar(x): + require(type(x) in (str, int), "Use an integer or an exact Gaussian string") + return G(x) + + +def identity(d): + return tuple(tuple(G(int(i == j)) for j in range(d)) for i in range(d)) + + +def adjoint(a): + return tuple(tuple(conjugate(a[j][i]) for j in range(len(a))) for i in range(len(a))) + + +def multiply(a, b): + d = len(a) + out = [[G(0) for _ in range(d)] for _ in range(d)] + sparse_b = [[(j, x) for j, x in enumerate(row) if x] for row in b] + for i, row in enumerate(a): + for k, x in enumerate(row): + if x: + for j, y in sparse_b[k]: + out[i][j] = out[i][j] + x*y + return tuple(tuple(row) for row in out) + + +def key(a): + return tuple(tuple((z.real, z.imag) for z in row) for row in a) + + +def pauli(n, x, z, phase=0): + d = 1 << n + unit = power(G("i"), phase % 4) + return tuple( + tuple(unit*(-1 if (z & j).bit_count() % 2 else 1) if i == j ^ x else G(0) + for j in range(d)) for i in range(d)) + + +def pauli_signature(a): + """Return the exact X/Z/phase label, or reject a non-Pauli matrix.""" + d = len(a) + n = d.bit_length()-1 + first = [(i, row[0]) for i, row in enumerate(a) if row[0]] + require(len(first) == 1, "Conjugated generator is not a Pauli") + x, unit = first[0] + units = [G(1), G("i"), G(-1), G("-i")] + require(unit in units, "Conjugated generator has a non-Pauli phase") + z = 0 + for j in range(n): + value = a[x ^ (1 << j)][1 << j] + require(value in (unit, -unit), "Conjugated generator is not a Pauli") + if value == -unit: + z |= 1 << j + phase = units.index(unit) + require(a == pauli(n, x, z, phase), "Conjugated generator is not a Pauli") + return x, z, phase + + +def validate_operator(a, n): + d = 1 << n + require(len(a) == d and all(len(row) == d for row in a), "Operator shape") + for row in a: + for value in row: + for part in (value.real, value.imag): + den = part.denominator + require(den & (den-1) == 0, "Operator entry is not dyadic") + star = adjoint(a) + require(multiply(star, a) == identity(d), "Operator is not unitary") + return [pauli_signature(multiply(multiply(a, pauli(n, x, z)), star)) + for x, z in [(1 << j, 0) for j in range(n)] + [(0, 1 << j) for j in range(n)]] + + +def parse_problem(problem): + require(type(problem) is dict and set(problem) == {"axes", "roles", "operators", "program", "reference"}, + "Problem keys") + n, r = problem["axes"], problem["roles"] + require(type(n) is int and n >= 0 and type(r) is int and r > 0, "Axes or roles") + require(type(problem["operators"]) is dict, "Operators must be an object") + matrices = {} + for name, rows in problem["operators"].items(): + require(type(name) is str and bool(name) and type(rows) is list and + all(type(row) is list for row in rows), "Operator format") + a = tuple(tuple(scalar(x) for x in row) for row in rows) + validate_operator(a, n) + matrices[name] = a + return n, r, matrices + + +def accumulate(out, label, coefficient): + value = out.get(label, G(0)) + coefficient + if value: + out[label] = value + else: + out.pop(label, None) + + +def compile_difference(problem): + """Keep phases in matrix keys and keep scalar coefficients outside them.""" + n, roles, operators = parse_problem(problem) + eye = identity(1 << n) + bank = {key(eye): eye} + products = {} + + def execute(instructions): + require(type(instructions) is list, "Instruction list") + rows = [{(i, key(eye)): G(1)} for i in range(roles)] + for instruction in instructions: + require(type(instruction) is dict, "Instruction object") + kind = instruction.get("op") + allowed = {"add": {"op", "src", "dst", "coefficient"}, + "scale": {"op", "dst", "coefficient"}, + "swap": {"op", "src", "dst"}, + "apply": {"op", "dst", "symbol", "inverse"}, + "query": {"op", "src", "dst", "symbol", "inverse", "coefficient"}} + require(kind in allowed and set(instruction) <= allowed[kind], "Instruction keys") + dst = instruction.get("dst") + require(type(dst) is int and 0 <= dst < roles, "Destination role") + src = instruction.get("src", dst) + require(type(src) is int and 0 <= src < roles, "Source role") + if kind in ("add", "query", "swap"): + require("src" in instruction, "Missing source role") + if kind == "swap": + rows[src], rows[dst] = rows[dst], rows[src] + continue + if kind == "scale": + coefficient = scalar(instruction["coefficient"]) + rows[dst] = {k: coefficient*v for k, v in rows[dst].items() if coefficient*v} + continue + image = rows[src].copy() + if kind in ("apply", "query"): + symbol = instruction.get("symbol") + inverse = instruction.get("inverse", False) + require(type(inverse) is bool and type(symbol) is str and symbol in operators, "Operator reference") + a = adjoint(operators[symbol]) if inverse else operators[symbol] + image = {} + for (i, old), coefficient in rows[src].items(): + cache_key = symbol, inverse, old + if cache_key not in products: + product = multiply(a, bank[old]) + new = key(product) + bank[new] = product + products[cache_key] = new + accumulate(image, (i, products[cache_key]), coefficient) + if kind == "apply": + rows[dst] = image + else: + coefficient = scalar(instruction.get("coefficient", 1)) + updated = rows[dst].copy() + for label, value in image.items(): + accumulate(updated, label, coefficient*value) + rows[dst] = updated + return rows + + left, right = execute(problem["program"]), execute(problem["reference"]) + result = [] + for output, (a, b) in enumerate(zip(left, right)): + row = a.copy() + for label, coefficient in b.items(): + accumulate(row, label, -coefficient) + for input_role in range(roles): + terms = [(coefficient, bank[operator]) for (i, operator), coefficient in row.items() if i == input_role] + if terms: + result.append((output, input_role, terms)) + return n, result + + +def cutoff_polynomial(n): + require(type(n) is int and n >= 0, "Nonnegative axis count") + out = [Q(0), Q(1, 4), Q(1, 4), Q(1, 4), Q(1, 4)] + for j in range(1, 2*n+1): + root = Q((-1)**j, 4**j) + new = [Q(0)]*(len(out)+4) + for f, coefficient in enumerate(out): + new[f] -= root*coefficient/(1-root) + new[f+4] += coefficient/(1-root) + out = new + return out + + +def gram(matrices): + d = len(matrices[0]) + return [[sum((conjugate(a)*b for row_a, row_b in zip(left, right) + for a, b in zip(row_a, row_b)), G(0))/d + for right in matrices] for left in matrices] + + +def energy(coefficients, inner, width): + value = sum((conjugate(a)*b*power(inner[i][j], width) + for i, a in enumerate(coefficients) for j, b in enumerate(coefficients)), G(0)) + require(value.imag == 0 and value.real >= 0, "Invalid squared residual norm") + return value.real + + +def trace_buckets(coefficients, inner): + out = {} + for i, a in enumerate(coefficients): + for j, b in enumerate(coefficients): + value = inner[i][j] + accumulate(out, (value.real, value.imag), conjugate(a)*b) + return out + + +def bucket_energies(buckets, cutoff): + powers = {label: G(1) for label in buckets} + answer = [] + for _ in range(cutoff): + for label in powers: + powers[label] = powers[label]*G.pair(*label) + value = sum((coefficient*powers[label] for label, coefficient in buckets.items()), G(0)) + require(value.imag == 0 and value.real >= 0, "Invalid bucket norm") + answer.append(value.real) + return answer + + +def tensor_entry(coefficients, matrices, output, input_tuple): + answer = G(0) + for coefficient, a in zip(coefficients, matrices): + value = coefficient + for x, y in zip(output, input_tuple): + value = value*a[x][y] + answer = answer+value + return answer + + +def entry_witness(coefficients, matrices, inner, width): + """Choose an entry by exact conditional squared norms.""" + d = len(matrices[0]) + initial = energy(coefficients, inner, width) + require(initial > 0, "The requested width has zero residual") + current = list(coefficients) + output, input_tuple = [], [] + for remaining in range(width-1, -1, -1): + best = None + for x in range(d): + for y in range(d): + candidate = [c*a[x][y] for c, a in zip(current, matrices)] + value = energy(candidate, inner, remaining) + if best is None or value > best[0]: + best = value, x, y, candidate + require(best[0] > 0, "Conditional tensor norm lost the witness") + _, x, y, current = best + output.append(x) + input_tuple.append(y) + value = sum(current, G(0)) + require(norm2(value)*d**width >= initial, "Tensor entry lower bound") + return {"width": width, "output_tuple": output, "input_tuple": input_tuple, + "discrepancy": str(value)} + + +def analyze(n, terms): + """Analyze distinct validated Clifford matrices with nonzero coefficients.""" + coefficients, matrices = zip(*terms) + require(len(set(key(a) for a in matrices)) == len(matrices), "Merge equal exact operators first") + inner = gram(matrices) + polynomial = cutoff_polynomial(n) + buckets = trace_buckets(coefficients, inner) + energies = bucket_energies(buckets, len(polynomial)-1) + mass = sum(norm2(c) for c in coefficients) + require(sum(b*v for b, v in zip(polynomial[1:], energies)) == mass, "Trace interpolation failed") + require(max(energies) >= Q(14, 15)*mass, "Stable separation failed") + width = 1 + max(range(len(energies)), key=energies.__getitem__) + witness = entry_witness(coefficients, matrices, inner, width) + return {"support": len(terms), "trace_buckets": len(buckets), "coefficient_norm_squared": str(mass), + "normalized_squared_norms": [str(x) for x in energies], + "first_nonzero_width": 1+next(i for i, x in enumerate(energies) if x), + "witness": witness} + + +def certify(problem): + n, residuals = compile_difference(problem) + digest = hashlib.sha256(json.dumps(problem, sort_keys=True, separators=(",", ":")).encode()).hexdigest() + result = {"schema": "clifford-tensor-gram/v1", "problem_sha256": digest, + "axes": n, "cutoff": 8*n+4, "equivalent_at_all_positive_widths": not residuals, + "nonzero_endpoint_entries": len(residuals)} + if residuals: + output, input_role, terms = residuals[0] + result["failure"] = {"output_role": output, "input_role": input_role, **analyze(n, terms)} + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("problem", type=Path) + args = parser.parse_args() + result = certify(json.loads(args.problem.read_text(encoding="utf-8"))) + print(json.dumps(result, indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/clifford-tensor-gram/check_witness.py b/research/clifford-tensor-gram/check_witness.py new file mode 100644 index 0000000000..a3bca57b43 --- /dev/null +++ b/research/clifford-tensor-gram/check_witness.py @@ -0,0 +1,150 @@ +"""Check a tensor entry by a separate signed-word interpreter. + +This module does not import the certificate producer or use Gram traces. +It shares only the frozen exact scalar arithmetic. Word support can grow. +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import hashlib +import json +from pathlib import Path +import sys + +sys.path.insert(0, str(Path(__file__).resolve().parent / "vendor")) +from fields import Gaussian as G + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def star(a): + return tuple(tuple(G.pair(a[j][i].real, -a[j][i].imag) + for j in range(len(a))) for i in range(len(a))) + + +def product(a, b): + return tuple(tuple(sum((x*y for x, y in zip(row, column)), G(0)) + for column in zip(*b)) for row in a) + + +def eye(d): + return tuple(tuple(G(int(i == j)) for j in range(d)) for i in range(d)) + + +def add_term(row, word, coefficient): + row[word] = row.get(word, G(0))+coefficient + if not row[word]: + del row[word] + + +def word_endpoint(problem, instructions, input_role): + r = problem["roles"] + rows = [{(): G(1)} if j == input_role else {} for j in range(r)] + for instruction in instructions: + kind, d = instruction["op"], instruction["dst"] + need(type(d) is int and 0 <= d < r, "Destination role") + s = instruction.get("src", d) + need(type(s) is int and 0 <= s < r, "Source role") + if kind == "swap": + rows[d], rows[s] = rows[s], rows[d] + continue + if kind == "scale": + coefficient = G(instruction["coefficient"]) + rows[d] = {w: coefficient*c for w, c in rows[d].items() if coefficient*c} + continue + image = rows[s].copy() + if kind in ("query", "apply"): + symbol, inverse = instruction["symbol"], instruction.get("inverse", False) + need(symbol in problem["operators"] and type(inverse) is bool, "Operator reference") + letter = (symbol, inverse) + image = {} + for word, coefficient in rows[s].items(): + if word and word[0] == (symbol, not inverse): + new_word = word[1:] + else: + new_word = (letter,)+word + add_term(image, new_word, coefficient) + if kind == "apply": + rows[d] = image + else: + need(kind in ("add", "query"), "Instruction kind") + coefficient = G(instruction.get("coefficient", 1)) + updated = rows[d].copy() + for word, value in image.items(): + add_term(updated, word, coefficient*value) + rows[d] = updated + return rows + + +def matrices(problem): + d = 1 << problem["axes"] + bank = {} + for name, rows in problem["operators"].items(): + a = tuple(tuple(G(x) for x in row) for row in rows) + need(len(a) == d and all(len(row) == d for row in a), "Matrix shape") + inverse = star(a) + need(product(a, inverse) == eye(d), "Inverse requires a unitary matrix") + bank[name, False], bank[name, True] = a, inverse + return bank + + +def evaluate_word(word, bank, d): + out = eye(d) + for letter in word: + out = product(out, bank[letter]) + return out + + +def discrepancy(problem, output_role, input_role, output_tuple, input_tuple): + width = len(output_tuple) + d, r = 1 << problem["axes"], problem["roles"] + need(width > 0 and len(input_tuple) == width, "Positive tensor width") + need(all(type(x) is int and 0 <= x < d for x in output_tuple+input_tuple), "Tensor coordinate") + need(type(output_role) is int and 0 <= output_role < r and + type(input_role) is int and 0 <= input_role < r, "Endpoint role") + bank = matrices(problem) + left = word_endpoint(problem, problem["program"], input_role)[output_role] + right = word_endpoint(problem, problem["reference"], input_role)[output_role] + words = left.copy() + for word, coefficient in right.items(): + add_term(words, word, -coefficient) + answer = G(0) + for word, coefficient in words.items(): + a = evaluate_word(word, bank, d) + value = coefficient + for x, y in zip(output_tuple, input_tuple): + value = value*a[x][y] + answer = answer+value + return answer + + +def check(problem, certificate): + need(certificate.get("schema") == "clifford-tensor-gram/v1", "Certificate schema") + digest = hashlib.sha256(json.dumps(problem, sort_keys=True, separators=(",", ":")).encode()).hexdigest() + need(certificate.get("problem_sha256") == digest, "Problem digest") + need(type(certificate.get("axes")) is int and certificate["axes"] == problem["axes"], "Axis count") + need(type(certificate.get("cutoff")) is int and certificate["cutoff"] == 8*problem["axes"]+4, "Cutoff") + need(certificate["equivalent_at_all_positive_widths"] is False, "Expected a negative certificate") + failure = certificate["failure"] + witness = failure["witness"] + need(type(witness["width"]) is int and 1 <= witness["width"] <= certificate["cutoff"], "Witness width") + need(witness["width"] == len(witness["input_tuple"]) == len(witness["output_tuple"]), "Width mismatch") + value = discrepancy(problem, failure["output_role"], failure["input_role"], + witness["output_tuple"], witness["input_tuple"]) + need(value != 0 and value == G(witness["discrepancy"]), "The literal discrepancy does not match") + return str(value) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("problem", type=Path) + parser.add_argument("certificate", type=Path) + args = parser.parse_args() + value = check(json.loads(args.problem.read_text()), json.loads(args.certificate.read_text())) + print("PASS_LITERAL_TENSOR_WITNESS", value) + + +if __name__ == "__main__": + main() diff --git a/research/clifford-tensor-gram/examples/native-relation.json b/research/clifford-tensor-gram/examples/native-relation.json new file mode 100644 index 0000000000..70c67084e5 --- /dev/null +++ b/research/clifford-tensor-gram/examples/native-relation.json @@ -0,0 +1,65 @@ +{ + "axes": 1, + "operators": { + "C": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "H": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "S": [ + [ + "1", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "iI": [ + [ + "0+1i", + "0" + ], + [ + "0", + "0+1i" + ] + ] + }, + "program": [ + { + "dst": 1, + "op": "apply", + "symbol": "H" + }, + { + "dst": 1, + "op": "apply", + "symbol": "H" + } + ], + "reference": [ + { + "dst": 1, + "op": "apply", + "symbol": "iI" + } + ], + "roles": 3 +} diff --git a/research/clifford-tensor-gram/examples/phase-trap.certificate.json b/research/clifford-tensor-gram/examples/phase-trap.certificate.json new file mode 100644 index 0000000000..ca3a24abcd --- /dev/null +++ b/research/clifford-tensor-gram/examples/phase-trap.certificate.json @@ -0,0 +1,44 @@ +{ + "axes": 1, + "cutoff": 12, + "equivalent_at_all_positive_widths": false, + "failure": { + "coefficient_norm_squared": "2", + "first_nonzero_width": 2, + "input_role": 1, + "normalized_squared_norms": [ + "0", + "2", + "4", + "2", + "0", + "2", + "4", + "2", + "0", + "2", + "4", + "2" + ], + "output_role": 1, + "support": 2, + "trace_buckets": 3, + "witness": { + "discrepancy": "0-2i", + "input_tuple": [ + 0, + 0, + 0 + ], + "output_tuple": [ + 0, + 0, + 0 + ], + "width": 3 + } + }, + "nonzero_endpoint_entries": 1, + "problem_sha256": "940062ace2db113edfadf94db380b7c0c1c44d884037f9d8bb26ae63a5e1e392", + "schema": "clifford-tensor-gram/v1" +} diff --git a/research/clifford-tensor-gram/examples/phase-trap.json b/research/clifford-tensor-gram/examples/phase-trap.json new file mode 100644 index 0000000000..a76136d600 --- /dev/null +++ b/research/clifford-tensor-gram/examples/phase-trap.json @@ -0,0 +1,65 @@ +{ + "axes": 1, + "operators": { + "C": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "H": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "S": [ + [ + "1", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "iI": [ + [ + "0+1i", + "0" + ], + [ + "0", + "0+1i" + ] + ] + }, + "program": [ + { + "dst": 1, + "op": "apply", + "symbol": "H" + }, + { + "dst": 1, + "op": "apply", + "symbol": "H" + } + ], + "reference": [ + { + "coefficient": "i", + "dst": 1, + "op": "scale" + } + ], + "roles": 3 +} diff --git a/research/clifford-tensor-gram/examples/reynolds.certificate.json b/research/clifford-tensor-gram/examples/reynolds.certificate.json new file mode 100644 index 0000000000..f9940e488f --- /dev/null +++ b/research/clifford-tensor-gram/examples/reynolds.certificate.json @@ -0,0 +1,54 @@ +{ + "axes": 1, + "cutoff": 12, + "equivalent_at_all_positive_widths": false, + "failure": { + "coefficient_norm_squared": "1/96", + "first_nonzero_width": 8, + "input_role": 0, + "normalized_squared_norms": [ + "0", + "0", + "0", + "0", + "0", + "0", + "0", + "15/256", + "0", + "0", + "0", + "155/4096" + ], + "output_role": 1, + "support": 96, + "trace_buckets": 13, + "witness": { + "discrepancy": "5/24", + "input_tuple": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "output_tuple": [ + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1 + ], + "width": 8 + } + }, + "nonzero_endpoint_entries": 1, + "problem_sha256": "c843711bf4c635a80f4d96b711bc224598d2b8aa9c3a50f56b1fc12b18b27e1b", + "schema": "clifford-tensor-gram/v1" +} diff --git a/research/clifford-tensor-gram/examples/reynolds.json b/research/clifford-tensor-gram/examples/reynolds.json new file mode 100644 index 0000000000..8ca3752efe --- /dev/null +++ b/research/clifford-tensor-gram/examples/reynolds.json @@ -0,0 +1,1641 @@ +{ + "axes": 1, + "operators": { + "0": [ + [ + "1", + "0" + ], + [ + "0", + "1" + ] + ], + "1": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "10": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "-1/2+1/2i", + "-1/2-1/2i" + ] + ], + "11": [ + [ + "0", + "0+1i" + ], + [ + "1", + "0" + ] + ], + "12": [ + [ + "1/2+1/2i", + "-1/2+1/2i" + ], + [ + "1/2-1/2i", + "-1/2-1/2i" + ] + ], + "13": [ + [ + "1", + "0" + ], + [ + "0", + "0-1i" + ] + ], + "14": [ + [ + "1/2-1/2i", + "1/2+1/2i" + ], + [ + "-1/2+1/2i", + "1/2+1/2i" + ] + ], + "15": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "-1/2+1/2i", + "1/2-1/2i" + ] + ], + "16": [ + [ + "0", + "1" + ], + [ + "-1", + "0" + ] + ], + "17": [ + [ + "1/2+1/2i", + "-1/2+1/2i" + ], + [ + "1/2+1/2i", + "1/2-1/2i" + ] + ], + "18": [ + [ + "0+1i", + "0" + ], + [ + "0", + "0-1i" + ] + ], + "19": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "-1/2-1/2i", + "1/2-1/2i" + ] + ], + "2": [ + [ + "1", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "20": [ + [ + "1/2-1/2i", + "-1/2+1/2i" + ], + [ + "1/2+1/2i", + "1/2+1/2i" + ] + ], + "21": [ + [ + "0", + "0+1i" + ], + [ + "0+1i", + "0" + ] + ], + "22": [ + [ + "0", + "-1" + ], + [ + "1", + "0" + ] + ], + "23": [ + [ + "1/2+1/2i", + "-1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2-1/2i" + ] + ], + "24": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "-1/2-1/2i", + "1/2+1/2i" + ] + ], + "25": [ + [ + "1/2-1/2i", + "1/2+1/2i" + ], + [ + "-1/2-1/2i", + "-1/2+1/2i" + ] + ], + "26": [ + [ + "0+1i", + "0" + ], + [ + "0", + "1" + ] + ], + "27": [ + [ + "-1/2+1/2i", + "1/2+1/2i" + ], + [ + "-1/2-1/2i", + "1/2-1/2i" + ] + ], + "28": [ + [ + "0", + "1" + ], + [ + "0-1i", + "0" + ] + ], + "29": [ + [ + "1/2+1/2i", + "-1/2-1/2i" + ], + [ + "1/2+1/2i", + "1/2+1/2i" + ] + ], + "3": [ + [ + "0", + "1" + ], + [ + "1", + "0" + ] + ], + "30": [ + [ + "1/2+1/2i", + "-1/2+1/2i" + ], + [ + "-1/2+1/2i", + "1/2+1/2i" + ] + ], + "31": [ + [ + "-1/2+1/2i", + "-1/2-1/2i" + ], + [ + "1/2+1/2i", + "1/2-1/2i" + ] + ], + "32": [ + [ + "-1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2-1/2i" + ] + ], + "33": [ + [ + "1/2-1/2i", + "-1/2+1/2i" + ], + [ + "-1/2+1/2i", + "-1/2+1/2i" + ] + ], + "34": [ + [ + "0", + "0+1i" + ], + [ + "-1", + "0" + ] + ], + "35": [ + [ + "1/2-1/2i", + "-1/2-1/2i" + ], + [ + "1/2+1/2i", + "-1/2+1/2i" + ] + ], + "36": [ + [ + "0", + "-1" + ], + [ + "0+1i", + "0" + ] + ], + "37": [ + [ + "0", + "0-1i" + ], + [ + "1", + "0" + ] + ], + "38": [ + [ + "-1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "39": [ + [ + "0", + "0+1i" + ], + [ + "0-1i", + "0" + ] + ], + "4": [ + [ + "1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2+1/2i", + "-1/2+1/2i" + ] + ], + "40": [ + [ + "1/2-1/2i", + "1/2+1/2i" + ], + [ + "1/2-1/2i", + "-1/2-1/2i" + ] + ], + "41": [ + [ + "-1/2+1/2i", + "1/2-1/2i" + ], + [ + "1/2+1/2i", + "1/2+1/2i" + ] + ], + "42": [ + [ + "0+1i", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "43": [ + [ + "-1", + "0" + ], + [ + "0", + "1" + ] + ], + "44": [ + [ + "-1/2-1/2i", + "1/2+1/2i" + ], + [ + "1/2-1/2i", + "1/2-1/2i" + ] + ], + "45": [ + [ + "1/2+1/2i", + "-1/2-1/2i" + ], + [ + "-1/2+1/2i", + "-1/2+1/2i" + ] + ], + "46": [ + [ + "1/2+1/2i", + "-1/2+1/2i" + ], + [ + "-1/2-1/2i", + "-1/2+1/2i" + ] + ], + "47": [ + [ + "0", + "0-1i" + ], + [ + "0+1i", + "0" + ] + ], + "48": [ + [ + "-1/2+1/2i", + "-1/2-1/2i" + ], + [ + "-1/2+1/2i", + "1/2+1/2i" + ] + ], + "49": [ + [ + "-1/2-1/2i", + "1/2-1/2i" + ], + [ + "1/2+1/2i", + "1/2-1/2i" + ] + ], + "5": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2-1/2i", + "-1/2+1/2i" + ] + ], + "50": [ + [ + "1/2-1/2i", + "-1/2+1/2i" + ], + [ + "-1/2-1/2i", + "-1/2-1/2i" + ] + ], + "51": [ + [ + "-1/2+1/2i", + "-1/2+1/2i" + ], + [ + "-1/2-1/2i", + "1/2+1/2i" + ] + ], + "52": [ + [ + "1/2-1/2i", + "-1/2-1/2i" + ], + [ + "-1/2+1/2i", + "-1/2-1/2i" + ] + ], + "53": [ + [ + "0", + "-1" + ], + [ + "-1", + "0" + ] + ], + "54": [ + [ + "1/2-1/2i", + "1/2-1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "55": [ + [ + "-1/2-1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "1/2+1/2i" + ] + ], + "56": [ + [ + "-1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2+1/2i" + ] + ], + "57": [ + [ + "-1/2-1/2i", + "-1/2+1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "58": [ + [ + "1/2-1/2i", + "-1/2+1/2i" + ], + [ + "1/2-1/2i", + "1/2-1/2i" + ] + ], + "59": [ + [ + "-1/2+1/2i", + "1/2-1/2i" + ], + [ + "-1/2+1/2i", + "-1/2+1/2i" + ] + ], + "6": [ + [ + "1", + "0" + ], + [ + "0", + "-1" + ] + ], + "60": [ + [ + "0+1i", + "0" + ], + [ + "0", + "-1" + ] + ], + "61": [ + [ + "-1/2-1/2i", + "1/2-1/2i" + ], + [ + "-1/2+1/2i", + "1/2+1/2i" + ] + ], + "62": [ + [ + "-1", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "63": [ + [ + "0-1i", + "0" + ], + [ + "0", + "1" + ] + ], + "64": [ + [ + "1/2+1/2i", + "-1/2-1/2i" + ], + [ + "-1/2-1/2i", + "-1/2-1/2i" + ] + ], + "65": [ + [ + "-1/2+1/2i", + "-1/2+1/2i" + ], + [ + "1/2-1/2i", + "-1/2+1/2i" + ] + ], + "66": [ + [ + "0", + "0-1i" + ], + [ + "-1", + "0" + ] + ], + "67": [ + [ + "-1/2+1/2i", + "-1/2-1/2i" + ], + [ + "-1/2-1/2i", + "-1/2+1/2i" + ] + ], + "68": [ + [ + "1/2-1/2i", + "1/2-1/2i" + ], + [ + "-1/2+1/2i", + "1/2-1/2i" + ] + ], + "69": [ + [ + "0", + "-1" + ], + [ + "0-1i", + "0" + ] + ], + "7": [ + [ + "1/2-1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "1/2-1/2i" + ] + ], + "70": [ + [ + "1/2-1/2i", + "-1/2-1/2i" + ], + [ + "-1/2-1/2i", + "1/2-1/2i" + ] + ], + "71": [ + [ + "-1/2-1/2i", + "1/2+1/2i" + ], + [ + "-1/2+1/2i", + "-1/2+1/2i" + ] + ], + "72": [ + [ + "-1/2+1/2i", + "1/2+1/2i" + ], + [ + "-1/2+1/2i", + "-1/2-1/2i" + ] + ], + "73": [ + [ + "0-1i", + "0" + ], + [ + "0", + "0+1i" + ] + ], + "74": [ + [ + "-1/2-1/2i", + "-1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2+1/2i" + ] + ], + "75": [ + [ + "1/2-1/2i", + "-1/2-1/2i" + ], + [ + "1/2-1/2i", + "1/2+1/2i" + ] + ], + "76": [ + [ + "-1/2+1/2i", + "1/2-1/2i" + ], + [ + "-1/2-1/2i", + "-1/2-1/2i" + ] + ], + "77": [ + [ + "-1/2+1/2i", + "-1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "78": [ + [ + "-1/2-1/2i", + "1/2-1/2i" + ], + [ + "-1/2-1/2i", + "-1/2+1/2i" + ] + ], + "79": [ + [ + "-1", + "0" + ], + [ + "0", + "-1" + ] + ], + "8": [ + [ + "0", + "1" + ], + [ + "0+1i", + "0" + ] + ], + "80": [ + [ + "1/2-1/2i", + "1/2-1/2i" + ], + [ + "-1/2-1/2i", + "1/2+1/2i" + ] + ], + "81": [ + [ + "-1/2+1/2i", + "-1/2-1/2i" + ], + [ + "1/2-1/2i", + "-1/2-1/2i" + ] + ], + "82": [ + [ + "0", + "0-1i" + ], + [ + "0-1i", + "0" + ] + ], + "83": [ + [ + "-1/2-1/2i", + "-1/2-1/2i" + ], + [ + "1/2-1/2i", + "-1/2+1/2i" + ] + ], + "84": [ + [ + "-1/2-1/2i", + "1/2+1/2i" + ], + [ + "-1/2-1/2i", + "-1/2-1/2i" + ] + ], + "85": [ + [ + "-1/2+1/2i", + "-1/2+1/2i" + ], + [ + "-1/2+1/2i", + "1/2-1/2i" + ] + ], + "86": [ + [ + "0-1i", + "0" + ], + [ + "0", + "-1" + ] + ], + "87": [ + [ + "-1/2-1/2i", + "-1/2+1/2i" + ], + [ + "-1/2+1/2i", + "-1/2-1/2i" + ] + ], + "88": [ + [ + "1/2-1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "-1/2+1/2i" + ] + ], + "89": [ + [ + "-1", + "0" + ], + [ + "0", + "0-1i" + ] + ], + "9": [ + [ + "1/2+1/2i", + "1/2+1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "90": [ + [ + "-1/2-1/2i", + "1/2-1/2i" + ], + [ + "1/2-1/2i", + "-1/2-1/2i" + ] + ], + "91": [ + [ + "-1/2-1/2i", + "-1/2-1/2i" + ], + [ + "1/2+1/2i", + "-1/2-1/2i" + ] + ], + "92": [ + [ + "-1/2-1/2i", + "-1/2+1/2i" + ], + [ + "-1/2-1/2i", + "1/2-1/2i" + ] + ], + "93": [ + [ + "0-1i", + "0" + ], + [ + "0", + "0-1i" + ] + ], + "94": [ + [ + "-1/2-1/2i", + "-1/2-1/2i" + ], + [ + "-1/2+1/2i", + "1/2-1/2i" + ] + ], + "95": [ + [ + "-1/2-1/2i", + "-1/2-1/2i" + ], + [ + "-1/2-1/2i", + "1/2+1/2i" + ] + ] + }, + "program": [ + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "0" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "1" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "2" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "3" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "4" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "5" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "6" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "7" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "8" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "9" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "10" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "11" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "12" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "13" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "14" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "15" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "16" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "17" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "18" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "19" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "20" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "21" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "22" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "23" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "24" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "25" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "26" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "27" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "28" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "29" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "30" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "31" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "32" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "33" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "34" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "35" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "36" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "37" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "38" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "39" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "40" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "41" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "42" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "43" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "44" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "45" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "46" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "47" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "48" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "49" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "50" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "51" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "52" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "53" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "54" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "55" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "56" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "57" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "58" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "59" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "60" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "61" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "62" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "63" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "64" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "65" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "66" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "67" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "68" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "69" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "70" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "71" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "72" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "73" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "74" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "75" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "76" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "77" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "78" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "79" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "80" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "81" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "82" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "83" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "84" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "85" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "86" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "87" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "88" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "89" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "90" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "91" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "92" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "93" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "94" + }, + { + "coefficient": "1/96", + "dst": 1, + "op": "query", + "src": 0, + "symbol": "95" + } + ], + "reference": [], + "roles": 2 +} diff --git a/research/clifford-tensor-gram/vendor/NATIVE-LINEAGE-NOTICE b/research/clifford-tensor-gram/vendor/NATIVE-LINEAGE-NOTICE new file mode 100644 index 0000000000..380e979f0e --- /dev/null +++ b/research/clifford-tensor-gram/vendor/NATIVE-LINEAGE-NOTICE @@ -0,0 +1,14 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. + +The preceding paragraphs are inherited source notices, not attribution of this derivative. +This joint twelve-source construction, generator, independent replay, hosting composition and package: Tekalign (@tekuuu), with substantial OpenAI Codex assistance. No independent human review claimed. +Credits: Cinna Davis/PR2226 anticipatory dirty borrowing; Tekalign/PR2436 four lifted targets; Jeremy Kothe/PR2462,2588,2673 source pipeline, source-label swap and order/fill; zxv/PR2530 eight aliases; Mason Hale/PR2696 concentrated source-partner assignment and independent local interpreter; Philippe Van Velzen/PR2559,2679 evacuation, six pre-life hosts and refit/alias; themilkman216/PR2621 priority order; Marius-Paul Dumitrean/PR2733 independent concentrated/pre-life composition; Vlado Vojdanovski/PR2322 generator utilities. PR2720's fixed-old-path cut obstruction motivates the changed premise. The retained owner/native/bit/modern outer lineage and their notices remain in the pinned source. New work Apache-2.0. diff --git a/research/clifford-tensor-gram/vendor/clifford_exact.py b/research/clifford-tensor-gram/vendor/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/clifford-tensor-gram/vendor/clifford_exact.py @@ -0,0 +1,149 @@ +"""Small exact Gaussian-dyadic Clifford compiler, independent of gx internals. +Paulis use i^p X^x Z^z. State vectors use integer Gaussian numerators / 2^d. +The tableau is supplemented by a literal circuit, so global phases are kept. +""" +from dataclasses import dataclass + +def parity(x):return x.bit_count()&1 +def rank(rows): + p={} + for x in rows: + while x: + b=x.bit_length()-1 + if b not in p:p[b]=x;break + x^=p[b] + return len(p) +def transpose(rows,n):return tuple(sum(((rows[j]>>i)&1)<>j&1);a[j],a[k]=a[k],a[j] + for i in range(n): + if i!=j and a[i]>>j&1:a[i]^=a[j] + assert [r&((1<>n for r in a) +def basis_extend(cols,n): + out=[] + for x in list(cols)+[1<len(out):out.append(x) + assert len(out)==n + return tuple(out) +def nullspace(rows,n): + a=list(rows);p=[];k=0 + for j in range(n): + t=next((i for i in range(k,len(a)) if a[i]>>j&1),None) + if t is None:continue + a[t],a[k]=a[k],a[t] + for i in range(len(a)): + if i!=k and a[i]>>j&1:a[i]^=a[k] + p.append(j);k+=1 + return tuple((1<>j)&1)<>i&1:out=pmul(out,T[i]) + for i in range(n): + if z>>i&1:out=pmul(out,T[n+i]) + return out +def compose(A,B):return tuple(apply(A,p) for p in B) +def inverse(T): + n=len(T)//2;cols=[x|(z<>n;u,v,p=apply(T,(x,z,0));assert (u,v)==identity(n)[j][:2];out.append((x,z,(-p)%4)) + return tuple(out) +def qvalue(Q,alpha,x,n): + return (sum(alpha[i] for i in range(n) if x>>i&1)+2*sum(parity((Q[i]>>(i+1))&(x>>(i+1))) for i in range(n) if x>>i&1))%4 +def mul_i(a,p): + x,y=a;p%=4 + return [(x,y),(-y,x),(-x,-y),(y,-x)][p] +@dataclass +class Op: + n:int + tab:tuple + circuit:list + def then(self,b): + assert self.n==b.n + return Op(self.n,compose(b.tab,self.tab),self.circuit+b.circuit) + def adjoint(self): + circ=[] + for e in reversed(self.circuit): + if e[0]=='P':circ.append(('P',inv(e[1],self.n))) + elif e[0]=='D':circ.append(('D',e[1],tuple((-x)%4 for x in e[2]))) + elif e[0]=='C':circ.append(('C',e[1],-e[2])) + elif e[0]=='phase':circ.append(('phase',(-e[1])%4)) + else:circ.append(e) + return Op(self.n,inverse(self.tab),circ) + def zero_state(self,basis=0): + N=1<>i)&1 for i in range(n)) + assert all(alpha[i]%2==(Q[i]>>i)&1 for i in range(n)) + return Op(n,tuple([(1<>i&1 else 0,1<>i&1 else 0) for i in range(n)]),[('C',q,sgn)]) +def xgate(n,b):return Op(n,tuple([(1<>i)&1)) for i in range(n)]),[('X',b)]) +def fourier(n,axes=None): + out=ident(n) + for i in range(n) if axes is None else axes:out=out.then(cgate(n,1<len(selected):picks.append(j);selected.append(x) + assert len(picks)==r and all(x>>r==0 for x in Bcols) + Br=transpose(selected,r);Bi=inv(Br,r);Dr=transpose([Dcols[j]&((1<= 0 else "")+str(self.imag)+"i" + + __repr__ = __str__ + + +def scalars(problem): + p = problem.get("field", "Q") + if p == "Q": + return Fraction + if p == "Qi": + return Gaussian + if type(p) is not int: + raise ValueError("field must be Q, Qi or a prime at most 2^31-1") + return prime_scalars(p) + + +@lru_cache(maxsize=32) +def prime_scalars(p): + if not 2 <= p <= 2**31-1 or any(p % d == 0 for d in range(2, isqrt(p)+1)): + raise ValueError("field must be Q, Qi or a prime at most 2^31-1") + + class Prime: + def __init__(self, x=0): + if isinstance(x, Prime): + self.value = x.value + else: + q = Fraction(x) + self.value = q.numerator*pow(q.denominator, -1, p) % p + + def __add__(self, other): + return Prime(self.value+Prime(other).value) + + __radd__ = __add__ + + def __mul__(self, other): + return Prime(self.value*Prime(other).value) + + __rmul__ = __mul__ + + def __neg__(self): + return Prime(-self.value) + + def __sub__(self, other): + return self+-Prime(other) + + def __rsub__(self, other): + return Prime(other)+-self + + def __truediv__(self, other): + return Prime(self.value*pow(Prime(other).value, -1, p)) + + def __rtruediv__(self, other): + return Prime(other)/self + + def __eq__(self, other): + return self.value == Prime(other).value + + def __bool__(self): + return bool(self.value) + + def __str__(self): + return str(self.value) + + __repr__ = __str__ + + return Prime diff --git a/research/clifford-tensor-gram/verify.py b/research/clifford-tensor-gram/verify.py new file mode 100644 index 0000000000..ff3365a66c --- /dev/null +++ b/research/clifford-tensor-gram/verify.py @@ -0,0 +1,351 @@ +"""Check the trace proof, native source and literal tensor failures. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +from collections import Counter, deque +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path +import random +import sys + +HERE = Path(__file__).resolve().parent + + +def need(condition, message): + if not condition: + raise ValueError(message) + + +def source_integrity(): + sources = json.loads((HERE / "SOURCES.json").read_text()) + pairs = {"fields.py": "research/universal-dirty-certificates/fields.py", + "clifford_exact.py": "research/t74-native-fast/vendor/native/new/code/borrow/vendor/clifford/clifford_exact.py"} + for local, original in pairs.items(): + record = next(item for item in sources["files"] if item["path"] == original) + need(hashlib.sha256((HERE / "vendor" / local).read_bytes()).hexdigest() == record["sha256"], "Frozen source: "+local) + + +source_integrity() +sys.path.insert(0, str(HERE)) +sys.path.insert(0, str(HERE / "vendor")) +import certify as c +import check_witness as independent +import clifford_exact as native +G = c.G + + +def source_matrix(op): + columns = [] + for j in range(1 << op.n): + values, exponent = op.zero_state(j) + columns.append([G.pair(Q(a, 1 << exponent), Q(b, 1 << exponent)) for a, b in values]) + return tuple(tuple(column[i] for column in columns) for i in range(1 << op.n)) + + +def example(operators, program, reference=(), axes=1, roles=3): + return {"axes": axes, "roles": roles, "operators": {name: [[str(x) for x in row] for row in a] for name, a in operators.items()}, + "program": list(program), "reference": list(reference)} + + +def group_one_axis(): + generators = [native.cgate(1, 1), native.diag(1, (1,))] + bank = {c.key(c.identity(2)): (c.identity(2), native.ident(1))} + queue = deque(bank.values()) + edges = 0 + while queue: + a, op = queue.popleft() + for generator in generators: + product = c.multiply(source_matrix(generator), a) + label = c.key(product) + edges += 1 + if label not in bank: + following = product, op.then(generator) + bank[label] = following + queue.append(following) + need(len(bank) == 96 and edges == 192, "Complete group closure") + for a, op in bank.values(): + need(a == source_matrix(op), "Literal native word phase") + c.validate_operator(a, 1) + return [a for a, _ in bank.values()] + + +def kron(a, b): + return tuple(tuple(x*y for x in row_a for y in row_b) for row_a in a for row_b in b) + + +def dense_tensor_norm(terms, width): + d = len(terms[0][1])**width + out = [[G(0) for _ in range(d)] for _ in range(d)] + for coefficient, a in terms: + tensor = ((G(1),),) + for _ in range(width): + tensor = kron(tensor, a) + for i in range(d): + for j in range(d): + out[i][j] = out[i][j]+coefficient*tensor[i][j] + return sum(c.norm2(z) for row in out for z in row)/d + + +def dense_program(problem, instructions, width): + d, r = (1 << problem["axes"])**width, problem["roles"] + count = d*r + rows = [[[G(int(i == role*d+j)) for i in range(count)] for j in range(d)] for role in range(r)] + lifted = {} + for name, encoded in problem["operators"].items(): + a = tuple(tuple(G(x) for x in row) for row in encoded) + tensor = ((G(1),),) + for _ in range(width): + tensor = kron(tensor, a) + lifted[name, False], lifted[name, True] = tensor, independent.star(tensor) + for op in instructions: + kind, dst = op["op"], op["dst"] + src = op.get("src", dst) + if kind == "swap": + rows[dst], rows[src] = rows[src], rows[dst] + elif kind == "scale": + rows[dst] = [[G(op["coefficient"])*x for x in row] for row in rows[dst]] + else: + image = rows[src] + if kind in ("apply", "query"): + a = lifted[op["symbol"], op.get("inverse", False)] + image = [[sum((a[j][k]*rows[src][k][i] for k in range(d)), G(0)) for i in range(count)] for j in range(d)] + if kind == "apply": + rows[dst] = image + else: + rows[dst] = [[x+G(op.get("coefficient", 1))*y for x, y in zip(a, b)] for a, b in zip(rows[dst], image)] + return rows + + +def independent_residual(problem): + bank = independent.matrices(problem) + d, r = 1 << problem["axes"], problem["roles"] + result = {} + for input_role in range(r): + left = independent.word_endpoint(problem, problem["program"], input_role) + right = independent.word_endpoint(problem, problem["reference"], input_role) + for output in range(r): + row = {} + for sign, words in [(1, left[output]), (-1, right[output])]: + for word, coefficient in words.items(): + a = independent.evaluate_word(word, bank, d) + c.accumulate(row, (output, input_role, c.key(a)), coefficient*sign) + result.update(row) + return result + + +def verify(write=False): + rng = random.Random(20261023) + group = group_one_axis() + C, S = source_matrix(native.cgate(1, 1)), source_matrix(native.diag(1, (1,))) + H, I = source_matrix(native.hadamard(1, [0])), c.identity(2) + phase_i = tuple(tuple(G("i")*z for z in row) for row in I) + need(c.multiply(H, H) == phase_i, "Source Hadamard phase") + operators = {"C": C, "S": S, "H": H, "iI": phase_i} + zero_axis = example({str(k): ((c.power(G("i"), k),),) for k in range(4)}, + [{"op": "query", "src": 0, "dst": 1, "symbol": str(k), "coefficient": "1/4"} + for k in range(4)], axes=0, roles=2) + zero_certificate = c.certify(zero_axis) + need(not zero_certificate["equivalent_at_all_positive_widths"], "Zero-axis scalar group") + need(zero_certificate["failure"]["normalized_squared_norms"] == ["0", "0", "0", "1"], "Zero-axis scalar group") + independent.check(zero_axis, zero_certificate) + need(c.certify(example({}, [], axes=0, roles=1))["equivalent_at_all_positive_widths"], "Empty zero-axis program") + polynomial_values = 0 + for n in range(13): + polynomial = c.cutoff_polynomial(n) + need(len(polynomial) == 8*n+5 and polynomial[0] == 0 and sum(polynomial) == 1, "Polynomial endpoints") + need(sum(abs(b) for b in polynomial) < Q(8, 7), "Coefficient norm") + need(sum(b for b in polynomial if b > 0) < Q(15, 14), "Positive coefficient mass") + alphabet = [G(0)] + [c.power(G("i"), k)*c.power(G("1+1i"), d)/(1 << n) for d in range(2*n+1) for k in range(4)] + for z in alphabet: + value = G(0) + for b in reversed(polynomial): + value = value*z+b + need(value == int(z == 1), "Trace-filter value") + polynomial_values += 1 + source_columns = 192 + native_fixtures = [] + for n in range(1, 5): + for q in range(1, 1 << n): + for sign in (-1, 1): + a = source_matrix(native.cgate(n, q, sign)) + first, second = G.pair(Q(1, 2), Q(sign, 2)), G.pair(Q(1, 2), Q(-sign, 2)) + expected = tuple(tuple(first if i == j else second if i == (j ^ q) else G(0) for j in range(1 << n)) for i in range(1 << n)) + need(a == expected, "Source C column formula") + c.validate_operator(a, n) + source_columns += 1 << n + if n <= 3: + native_fixtures.append((n, a)) + for sign in (-1, 1): + op = native.cgate(9, 173, sign) + for j in range(512): + values, den = op.zero_state(j) + expected = [(0, 0)]*512 + expected[j], expected[j ^ 173] = (1, sign), (1, -sign) + need(den == 1 and values == expected, "Nine-axis source column") + source_columns += 1 + entangling_trace_cases = 0 + for n in (2, 3): + for _ in range(24): + op = native.ident(n) + for _ in range(4): + source_axis, target_axis = rng.sample(range(n), 2) + rows = [1 << j for j in range(n)] + rows[target_axis] ^= 1 << source_axis + phase_rows = tuple(1 << j if j == target_axis else 0 for j in range(n)) + op = op.then(native.cgate(n, rng.randrange(1, 1 << n), rng.choice([-1, 1]))) + op = op.then(native.diag(n, phase_rows)).then(native.perm(n, rows)) + a = source_matrix(op) + need(tuple(c.validate_operator(a, n)) == op.tab, "Entangling source tableau") + trace = sum((a[j][j] for j in range(1 << n)), G(0)) + fixed_sum = 0 + for x in range(1 << n): + for z in range(1 << n): + phase = (x & z).bit_count() % 4 + u, v, p = native.apply(op.tab, (x, z, phase)) + if (u, v) == (x, z): + need((p-phase) % 4 in (0, 2), "Hermitian Pauli sign") + fixed_sum += 1 if p == phase else -1 + need(c.norm2(trace) == fixed_sum, "Pauli conjugation trace identity") + alphabet = [G(0)] + [c.power(G("i"), k)*c.power(G("1+1i"), d) for d in range(2*n+1) for k in range(4)] + need(trace in alphabet, "Entangling trace alphabet") + native_fixtures.append((n, a)) + source_columns += 1 << n + entangling_trace_cases += 1 + dense_norm_cases = 0 + for n in (1, 2): + pool = group if n == 1 else list({c.key(a): a for k, a in native_fixtures if k == n}.values()) + for _ in range(12): + selected = rng.sample(pool, 4) + terms = [(G(rng.choice([-2, -1, "i", "1/2", "1/2-1/2i"])), a) for a in selected] + inner = c.gram(selected) + for width in range(1, 4 if n == 1 else 3): + need(c.energy([x for x, _ in terms], inner, width) == dense_tensor_norm(terms, width), "Independent dense norm") + dense_norm_cases += 1 + result = c.analyze(n, terms) + w = result["witness"] + need(c.tensor_entry([x for x, _ in terms], selected, w["output_tuple"], w["input_tuple"]) == G(w["discrepancy"]) != 0, "Tensor entry") + differential_cases = literal_witnesses = full_column_cases = 0 + for trial in range(72): + instructions = [] + for _ in range(8): + kind = rng.choice(["add", "query", "apply", "scale", "swap"]) + op = {"op": kind, "dst": rng.randrange(3)} + if kind in ("add", "query", "swap"): + op["src"] = rng.randrange(3) + if kind in ("query", "apply"): + op.update(symbol=rng.choice(list(operators)), inverse=bool(rng.randrange(2))) + if kind in ("add", "query", "scale"): + op["coefficient"] = rng.choice([-1, 0, 1, "1/2", "i"]) + instructions.append(op) + problem = example(operators, instructions, instructions if trial % 3 == 0 else []) + _, differences = c.compile_difference(problem) + observed = {(o, i, c.key(a)): x for o, i, terms in differences for x, a in terms} + need(observed == independent_residual(problem), "Signed-word complete endpoint") + differential_cases += 1 + if trial < 12: + for width in (1, 2): + left = dense_program(problem, problem["program"], width) + right = dense_program(problem, problem["reference"], width) + lookup = {(o, i): terms for o, i, terms in differences} + d = 2**width + for o in range(3): + for i in range(3): + terms = lookup.get((o, i), []) + for x in range(d): + for y in range(d): + xt = [(x >> k) & 1 for k in reversed(range(width))] + yt = [(y >> k) & 1 for k in reversed(range(width))] + value = c.tensor_entry([a for a, _ in terms], [b for _, b in terms], xt, yt) + need(value == left[o][x][i*d+y]-right[o][x][i*d+y], "Full tensor program column") + full_column_cases += 1 + if trial < 24: + certificate = c.certify(problem) + if not certificate["equivalent_at_all_positive_widths"]: + independent.check(problem, certificate) + literal_witnesses += 1 + positive = example(operators, [{"op": "apply", "dst": 1, "symbol": "H"}]*2, + [{"op": "apply", "dst": 1, "symbol": "iI"}]) + need(c.certify(positive)["equivalent_at_all_positive_widths"], "Native relation") + phase_trap = example(operators, positive["program"], [{"op": "scale", "dst": 1, "coefficient": "i"}]) + phase_certificate = c.certify(phase_trap) + need(phase_certificate["failure"]["first_nonzero_width"] == 2, "Phase outside tensor") + independent.check(phase_trap, phase_certificate) + reynolds = example({str(i): a for i, a in enumerate(group)}, + [{"op": "query", "src": 0, "dst": 1, "symbol": str(i), "coefficient": "1/96"} for i in range(96)], roles=2) + reynolds_certificate = c.certify(reynolds) + norms = reynolds_certificate["failure"]["normalized_squared_norms"] + need(norms == ["0"]*7+["15/256", "0", "0", "0", "155/4096"], "Reynolds norm sequence") + independent.check(reynolds, reynolds_certificate) + need(independent.discrepancy(reynolds, 1, 0, [0]*8, [0]*8) == G("5/24"), "Reynolds entry") + for f, expected in enumerate(norms, 1): + rank = sum((c.power(sum((a[i][i] for i in range(2)), G(0)), f) for a in group), G(0))/96 + need(rank.imag == 0 and rank.real.denominator == 1 and rank/(2**f) == G(expected), "Projector rank") + controls = [] + def reject(label, function): + try: + function() + except (ValueError, KeyError, TypeError, ZeroDivisionError): + controls.append(label) + return + raise ValueError("Accepted control: "+label) + bad = json.loads(json.dumps(reynolds_certificate)) + bad["failure"]["witness"]["discrepancy"] = "0" + reject("wrong witness value", lambda: independent.check(reynolds, bad)) + bad_width = json.loads(json.dumps(reynolds_certificate)) + bad_width["failure"]["witness"]["width"] = 7 + reject("wrong witness width", lambda: independent.check(reynolds, bad_width)) + for field, value in [("schema", "other"), ("problem_sha256", "0"*64), ("axes", 2), ("cutoff", 13)]: + altered = json.loads(json.dumps(reynolds_certificate)) + altered[field] = value + reject("wrong certificate "+field, lambda altered=altered: independent.check(reynolds, altered)) + for label, matrix in [("nonunitary", [[2, 0], [0, 2]]), ("continuous rational phase", [["3/5+4/5i", 0], [0, "3/5+4/5i"]]), + ("wrong shape", [[1]]), ("floating scalar", [[1.0, 0], [0, 1]])]: + invalid = example({"C": C}, []) + invalid["operators"]["C"] = matrix + reject(label, lambda invalid=invalid: c.certify(invalid)) + toffoli = [[int(i == (j ^ (4 if j & 3 == 3 else 0))) for j in range(8)] for i in range(8)] + invalid = {"axes": 3, "roles": 1, "operators": {"T": toffoli}, "program": [], "reference": []} + reject("non-Clifford dyadic unitary", lambda: c.certify(invalid)) + for op in [{"op": "apply", "dst": 3, "symbol": "C"}, {"op": "apply", "dst": 0, "symbol": "missing"}, + {"op": "apply", "dst": 0, "symbol": "C", "inverse": 1}, {"op": "add", "src": 0, "dst": 1, "coefficient": 0.5}, + {"op": "query", "dst": 0, "symbol": "C"}, {"op": "apply", "dst": 0, "symbol": "C", "phase": 0}]: + reject("invalid instruction "+str(len(controls)), lambda op=op: c.certify(example(operators, [op]))) + helper = example(operators, [{"op": "query", "src": 0, "dst": 2, "symbol": "C"}]) + helper_certificate = c.certify(helper) + need(helper_certificate["failure"]["output_role"] == 2, "Dirty helper return") + independent.check(helper, helper_certificate) + controls.append("omitted helper return detected") + order = example(operators, [{"op": "apply", "dst": 0, "symbol": "C"}, {"op": "apply", "dst": 0, "symbol": "S"}], + [{"op": "apply", "dst": 0, "symbol": "S"}, {"op": "apply", "dst": 0, "symbol": "C"}]) + independent.check(order, c.certify(order)) + controls += ["noncommuting order detected", "phase outside tensor detected"] + receipt = {"status": "PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA", "cutoff": "8n+4", "separation": "14/15", + "one_axis_group_order": 96, "closure_edges": 192, + "trace_histogram": dict(sorted(Counter(str(sum((a[i][i] for i in range(2)), G(0))) for a in group).items())), + "polynomial_values": polynomial_values, "native_source_columns": source_columns, + "entangling_trace_cases": entangling_trace_cases, + "dense_norm_cases": dense_norm_cases, "complete_endpoint_comparisons": differential_cases, + "full_tensor_programs": full_column_cases, "random_literal_witnesses": literal_witnesses, + "zero_axis_cases": 2, + "reynolds": reynolds_certificate["failure"], "controls": controls} + files = {"RESULT.json": receipt, "examples/native-relation.json": positive, "examples/phase-trap.json": phase_trap, + "examples/phase-trap.certificate.json": phase_certificate, "examples/reynolds.json": reynolds, + "examples/reynolds.certificate.json": reynolds_certificate} + for name, data in files.items(): + path = HERE / name + if write: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(json.dumps(data, indent=2, sort_keys=True)+"\n", encoding="utf-8") + else: + need(json.loads(path.read_text()) == data, "Committed result mismatch: "+name) + print(receipt["status"]) + return receipt + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", action="store_true", help="Regenerate the receipt and examples") + verify(parser.parse_args().write) From 5370f4465388dbbfff3ba45d5d6ae99d447b1766 Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 16:14:33 -0500 Subject: [PATCH 2/5] Refine Clifford width tests and add compact exact native certificates --- .../ADVANCES-MUTATIONS.json | 45 + .../clifford-tensor-gram/ADVANCES-RESULT.json | 50 + research/clifford-tensor-gram/ADVANCES.md | 251 + .../clifford-tensor-gram/ONE-AXIS-RANK.json | 9422 +++++++++++++++++ research/clifford-tensor-gram/PROOF.md | 4 + research/clifford-tensor-gram/README.md | 85 +- .../clifford-tensor-gram/RESEARCH-NOTES.md | 133 + research/clifford-tensor-gram/TASK.json | 37 +- research/clifford-tensor-gram/VERIFY.json | 25 + .../clifford-tensor-gram/audit_advances.py | 58 + research/clifford-tensor-gram/certify.py | 17 +- research/clifford-tensor-gram/compact.py | 182 + .../examples/native-64.certificate.json | 552 + .../examples/native-64.json | 613 ++ .../examples/native-65.certificate.json | 18 + .../examples/native-65.json | 632 ++ research/clifford-tensor-gram/quadratic.py | 256 + .../clifford-tensor-gram/verify_advances.py | 288 + 18 files changed, 12628 insertions(+), 40 deletions(-) create mode 100644 research/clifford-tensor-gram/ADVANCES-MUTATIONS.json create mode 100644 research/clifford-tensor-gram/ADVANCES-RESULT.json create mode 100644 research/clifford-tensor-gram/ADVANCES.md create mode 100644 research/clifford-tensor-gram/ONE-AXIS-RANK.json create mode 100644 research/clifford-tensor-gram/RESEARCH-NOTES.md create mode 100644 research/clifford-tensor-gram/audit_advances.py create mode 100644 research/clifford-tensor-gram/compact.py create mode 100644 research/clifford-tensor-gram/examples/native-64.certificate.json create mode 100644 research/clifford-tensor-gram/examples/native-64.json create mode 100644 research/clifford-tensor-gram/examples/native-65.certificate.json create mode 100644 research/clifford-tensor-gram/examples/native-65.json create mode 100644 research/clifford-tensor-gram/quadratic.py create mode 100644 research/clifford-tensor-gram/verify_advances.py diff --git a/research/clifford-tensor-gram/ADVANCES-MUTATIONS.json b/research/clifford-tensor-gram/ADVANCES-MUTATIONS.json new file mode 100644 index 0000000000..cadc0398be --- /dev/null +++ b/research/clifford-tensor-gram/ADVANCES-MUTATIONS.json @@ -0,0 +1,45 @@ +{ + "cases": [ + { + "mutation": "conjugate native C factor", + "optimized": false, + "rejection": "Native trace phase" + }, + { + "mutation": "conjugate native C factor", + "optimized": true, + "rejection": "Native trace phase" + }, + { + "mutation": "ignore native inverse sign", + "optimized": false, + "rejection": "Native entry phase" + }, + { + "mutation": "ignore native inverse sign", + "optimized": true, + "rejection": "Native entry phase" + }, + { + "mutation": "omit output prefix constraint", + "optimized": false, + "rejection": "Native partial inner product" + }, + { + "mutation": "omit output prefix constraint", + "optimized": true, + "rejection": "Native partial inner product" + }, + { + "mutation": "omit final native return", + "optimized": false, + "rejection": "Compact complete endpoint" + }, + { + "mutation": "omit final native return", + "optimized": true, + "rejection": "Compact complete endpoint" + } + ], + "status": "PASS_CLIFFORD_ADVANCE_MUTATIONS" +} diff --git a/research/clifford-tensor-gram/ADVANCES-RESULT.json b/research/clifford-tensor-gram/ADVANCES-RESULT.json new file mode 100644 index 0000000000..2e8e73ba23 --- /dev/null +++ b/research/clifford-tensor-gram/ADVANCES-RESULT.json @@ -0,0 +1,50 @@ +{ + "code_fourier_values": 256, + "complete_programs": 48, + "controls": [ + "singular permutation", + "diagonal parity", + "asymmetric diagonal", + "wrong C sign", + "unknown gate", + "coordinate out of range", + "invalid prefix", + "negative axes" + ], + "exact_native_relations": 9, + "exhaustive_quadratic_forms": 640, + "filter_axis_counts": 65, + "general_test_widths": "8n-3 through 8n+4 for n>=2", + "large_native_programs": [ + { + "axes": 64, + "base_dimension": "18446744073709551616", + "equivalent": false + }, + { + "axes": 65, + "base_dimension": "36893488147419103232", + "equivalent": true + } + ], + "literal_witnesses": 48, + "native_entries": 3328, + "native_traces": 128, + "native_words": 128, + "one_axis": { + "group_sha256": "32481fd502c5f388244bcd56d20fbc0e0ca3933f47dbbdbbd8215397cea0238d", + "image_of_i": 256, + "prime": 65537, + "rank": 96, + "widths": [ + 5, + 6, + 7, + 8 + ] + }, + "partial_inner_products": 304, + "scalar_phase_traps": 1, + "stable_separation": "75/76", + "status": "PASS_CLIFFORD_ADVANCES_NO_NEW_KAPPA" +} diff --git a/research/clifford-tensor-gram/ADVANCES.md b/research/clifford-tensor-gram/ADVANCES.md new file mode 100644 index 0000000000..340c54f752 --- /dev/null +++ b/research/clifford-tensor-gram/ADVANCES.md @@ -0,0 +1,251 @@ +# Fewer widths and exact computation without dense matrices + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. + +This note extends [PROOF.md](PROOF.md). It uses the same group C_n, exact +global phases, complete register endpoints and coefficients that do not +depend on the positive tensor width f. Set D=2^n. No result changes kappa. + +## 1. Eight widths suffice for every axis count + +For n>=1, a fixed residual vanishes at every positive width if and only if +it vanishes at the eight widths + + 8n-3, 8n-2, ..., 8n+4. + +For n=0, use widths 1,2,3,4. For n=1, Section 3 improves the test to +widths 5,6,7,8. The number of tests and the largest tested width are +different quantities. The general maximum 8n+4 has not decreased. + +Let E be the binary code generated by the four length-eight rows +11111111, 11110000, 11001100 and 10101010. It has dimension four. Its +weights are 0,4,8, and E=E-perp for the binary dot product. Define T_n +in (C^D) tensor-power 8 by summing the basis vectors whose n binary rows +all belong to E. This vector is nonzero. + +The vector T_n is fixed by the eighth tensor power of each native generator: + +- S on one axis contributes i to the power of that row's weight. This is 1. +- CNOT adds one code row to another. It permutes the summands. +- The native Hadamard is ((1+i)/2) times the binary Fourier matrix. + Its eighth tensor power has coefficient 1/16. The Fourier sum of E + is 16 times the indicator of E-perp=E. Thus it fixes T_n, with phase 1. +- The scalar iI has eighth power 1. + +These gates generate C_n. Here is a direct reduction argument. The image +of Z_1 under a Clifford is a nonidentity Pauli. Single-axis H and S gates +convert each nonzero component to Z. CNOT gates reduce the resulting +nonempty Z string to Z_1. An X gate corrects its sign. The image of X_1 +then anticommutes with Z_1. CNOT and controlled-Z gates with control 1 +remove its components on the other axes. An S gate removes its remaining +Z_1 component, and Z_1 corrects its sign. These changes preserve Z_1. +The remaining operator fixes X_1 and Z_1, so it has the form I tensor V. +Repeat on V. The final scalar is a dyadic Gaussian unit of absolute value +one, hence one of 1,i,-1,-i, as proved in PROOF.md. Replace each ordinary +H in this argument by the native Hadamard. The Pauli action is unchanged; +the final scalar still belongs to the same four-element group. + +Normalize T_n to a unit vector tau. The injection J_f(v)=v tensor tau +satisfies + + (sum_g c_g g^(tensor(f+8))) J_f + = J_f (sum_g c_g g^(tensor f)). + +Thus vanishing at f+8 implies vanishing at f. Every integer from 1 to +F=8n+4 can be increased by a multiple of eight to a member of F-7,...,F. +The first theorem in PROOF.md now gives the stated eight-width test. +Apply the argument separately to every input and output role. + +This argument does not transfer the dimension-free stability constant +to the eight selected widths. The bound in Section 2 uses all widths +1,...,8n+4. A direct restriction argument loses powers of D. + +The code invariant is classical. See Runge's prior results as credited in +[Nebe, Rains and Sloane, The invariants of the Clifford groups, Sections 4 +and 6](https://arxiv.org/pdf/math/0001038). The contribution here is its +use in the fixed-coefficient endpoint test, with the native phase checked. + +## 2. Uniform separation improves from 14/15 to 75/76 + +For distinct exact operators and M=sum_g |c_g|^2, let +E_f=D^(-f)||sum_g c_g g^(tensor f)||_HS^2. Then + + max_(1<=f<=8n+4) E_f >= (75/76) M. + +Use the same filter as PROOF.md. Write r=-1/4, m=2n and + + P_m(t) = product_(j=1..m) (t-r^j)/(1-r^j), + q_n(z) = (z+z^2+z^3+z^4) P_m(z^4)/4. + +The four residue classes of coefficients do not overlap. Therefore the +sum of absolute coefficients of q_n equals that of P_m. + +In descending degree, the coefficient with index l has sign +s_l=(-1)^(l(l+3)/2), namely ++--++--. To check this, the elementary +symmetric function in r,...,r^m equals + + r^(l(l+1)/2) product_(k=1..l) (1-r^(m-l+k))/(1-r^k). + +This identity follows by separating subsets that contain the last root; +the empty product gives the initial case. Every factor in the product +is positive. Include the coefficient sign (-1)^l to get s_l. + +Let u_l be the absolute coefficients of P_(2n), L their sum, and U_odd +their sum over odd l. Add the next two roots -a,b, where +b=16^(-(n+1)) and a=4b. The new factor is +(t^2+(a-b)t-ab)/((1+a)(1-b)). The sign rule gives + + L_new - L = [2ab L - 2(a-b) U_odd]/((1+a)(1-b)). + +For n>=1, the unnormalized coefficient of t^(2n-1) has magnitude +(1-16^(-n))/5 >=3/16. The sum of the unnormalized absolute coefficients +is at most product_j(1+4^(-j)) <=3/2. The last inequality follows by +expanding the product and bounding it by the geometric series whose +ratio is sum_j 4^(-j)<=1/3. Hence U_odd/L>=1/8. On the other hand, +ab/(a-b)=4b/3<=1/192. Thus L_new=1. + +For n=1, P_2(t)=(64t^2+12t-1)/75, so L=77/75. For n=0, L=1. +Consequently the positive coefficient mass of q_n is at most +(1+77/75)/2=76/75. The exact identity sum_f b_f E_f=M and E_f>=0 +give the claimed bound. This is a bound for this filter; optimality of +the operator stability constant is not claimed. + +The implementation forms the integer numerator +product_j(4^j t-(-1)^j) and the common denominator +product_j(4^j-(-1)^j) first. It reduces fractions only when it emits q_n. +This gives the same polynomial and avoids repeated large rational reductions. + +## 3. The one-axis maximum cutoff is exactly eight + +The frozen native C and S gates generate all 96 exact operators of C_1. +Their closure and phases are checked in verify.py. Let + + K[g,h] = sum_(f=5..8) (tr(g* h)/2)^f. + +The file [ONE-AXIS-RANK.json](ONE-AXIS-RANK.json) contains an inverse of K +after reduction to F_65537 with i mapped to 256. The checker reconstructs +K, checks that 65537 is prime and 256^2=-1, and multiplies K by this +inverse. It does not use the elimination routine to check the inverse. +All original denominators are powers of two. A nonzero reduced determinant +therefore proves that the characteristic-zero determinant is nonzero. +The positive semidefinite Gram sum K has zero kernel. This proves that +widths 5,6,7,8 suffice for every fixed residual on C_1. + +The Reynolds example in PROOF.md vanishes at widths 1 through 7 and is +nonzero at width 8. The maximum cutoff eight is therefore sharp. +At least four tested widths are required: for each residue r modulo four, +the four scalar operators give the residual + + sum_(k=0..3) i^(-rk) (i^k I)^(tensor f). + +It vanishes unless f is congruent to r modulo four. A test set that omits +one residue cannot detect this residual. Thus four is also the minimum +number of widths for a fixed universal test on C_1. Neither conclusion +establishes a sharp cutoff for n>=2. + +## 4. A phase-exact quadratic path calculation + +[quadratic.py](quadratic.py) accepts the frozen native P, X, D, C and +phase gate grammar. It keeps a list of binary affine output bits and a +phase polynomial modulo four. The polynomial has arbitrary linear +coefficients and even cross coefficients. It also keeps an exact Gaussian +scalar factor. It never allocates an array indexed by the 2^n base states. + +Start with n input variables. P and X change only the affine output bits. +D adds its stated linear and even quadratic phase. For C(q,s), use + + C(q,s) = ((1+s i)/2) (I + i^(-s) X_q). + +Add one binary path variable a, multiply the scalar factor by (1+s i)/2, +add -s a to the phase and add a q to the output bits. Keep the literal +phase gate. The formula also covers q=0. The number of variables is +m=n+h, where h is the number of C gates in the literal word. + +An affine parity has, modulo four, its constant and linear terms plus +even pair terms. Terms of degree at least three vanish modulo four. +Twice a product of parities needs only the product over F_2. Thus every +gate preserves this representation, including affine translations. + +An entry fixes the input and output bits. A trace equates them. Binary +elimination either rejects inconsistent equations or gives an affine +parametrization with one assignment per solution. Substitute this map +in the phase. The remaining unconstrained sum is evaluated as follows: + +- For an odd linear coefficient a of variable x, write its part as + a x+2 x L. Summing x gives (1+i^a) i^(-a L). Remove x and add the + indicated parity phase. This keeps the same quadratic form class. +- If every linear coefficient is even and a cross term remains, sum one + variable x. The result is twice the sum subject to a binary affine + constraint on its neighbors. Eliminate that constraint. +- If no cross terms remain, a linear coefficient 2 makes the sum zero. + Otherwise each remaining variable supplies a factor two. + +Each step removes at least one variable. The code uses direct polynomial +substitution. A conservative bound is O(m^5) arithmetic operations per +sum, plus O(L m^4) to build a path form for L native gates. It uses +polynomial space. This bound is not a +claim of optimal stabilizer simulation or constant-time integer arithmetic. +Coefficient bit lengths are polynomial in the literal word length. + +The use of binary quadratic forms for Clifford operations is classical; +see [Dehaene and De Moor, Sections III-V](https://arxiv.org/pdf/quant-ph/0304125). +The new implementation derives its phases directly from the pinned native +kernel. The dense frozen kernel remains a separate finite test oracle. + +## 5. Bitwise witness extraction removes the D^2 scan + +For two operators g,h and fixed prefixes of the output and input bits, +define B(g,h) as the sum of conjugate(g[x,y])h[x,y] over the unspecified +bits. Combine two path sums, negate the left phase, equate their input +and output bits, and impose the prefix equations. Section 4 computes B +in polynomial time, with at most the sum of both path-variable counts. + +With r tensor factors still after the current factor, the conditional +squared norm is + + sum_(g,h) conjugate(c_g)c_h B(g,h) (tr(g* h)/D)^r. + +It is real and nonnegative. The two choices for the next coordinate bit +partition its sum. Choose the larger child. After 2n choices, the current +base coordinate pair is fixed; multiply each coefficient by g[x,y] and +continue with the next tensor factor. There are 2nf bit choices, each +with two children, instead of fD^2 coordinate trials. + +At the start of one factor the conditional norm is D E. The 2n splits +lose at most D^2. Induction gives the same final entry bound as PROOF.md: + + |entry|^2 >= E_f D^(-f). + +[compact.py](compact.py) also expands complete register endpoints as +signed native words. It retains every input and return role. It merges +two unitary words exactly when tr(g* h)/D=1; the identity +||g-h||_HS^2=2D-2 Re tr(g* h) proves this test. Global phases stay inside +the operator keys, not in coefficients outside the tensor power. + +For expanded support s and a maximum literal path size m, pair traces +cost O(s^2 poly(m)). A witness costs O(n f s^2 poly(m)) arithmetic +operations, with polynomial space in these parameters. No 2^n matrix or +2^(nf) tensor is built. The symbolic support s can still grow exponentially +in the register-program length. This result does not remove that obstacle. + +## Verification and limits + +[verify_advances.py](verify_advances.py) checks the code invariant, exact +filter bounds, modular inverse certificate, exhaustive small quadratic +sums, frozen native entries and traces, conditional inner products, and +complete programs against the original dense compiler. It checks larger +native examples without a dense matrix. ADVANCES-RESULT.json records the +executed counts. Normal and optimized Python must produce the same receipt. + +The proofs above are written arguments, not proof-kernel certificates. +The code invariant and quadratic-form method have classical predecessors. +The sparse full-program adapter, finite-width refinements and native phase +bindings are the present contribution. No complete current provider or +physical cost invoice has been run. No selected frontier changes here. + +## Open next questions + +1. Prove a sharper maximum cutoff for n>=2, or give a matching obstruction. +2. Bound support growth on one complete current provider before a large run. +3. Derive a useful stability constant for the eight selected widths. +4. Improve the quadratic elimination cost after a measured provider needs it. diff --git a/research/clifford-tensor-gram/ONE-AXIS-RANK.json b/research/clifford-tensor-gram/ONE-AXIS-RANK.json new file mode 100644 index 0000000000..6138b717d1 --- /dev/null +++ b/research/clifford-tensor-gram/ONE-AXIS-RANK.json @@ -0,0 +1,9422 @@ +{ + "group_sha256": "32481fd502c5f388244bcd56d20fbc0e0ca3933f47dbbdbbd8215397cea0238d", + "image_of_i": 256, + "inverse": [ + [ + 32344, + 51075, + 51075, + 43700, + 17417, + 17417, + 43700, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 7672, + 7672, + 24403, + 7672, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 51075, + 59027, + 51075, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 17417, + 43700, + 4446, + 17417, + 53551, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 38637, + 6061, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 38637, + 6061, + 38637, + 6061, + 60702, + 38637, + 60702, + 41134, + 41134, + 24403, + 41134, + 7672, + 41134, + 41134, + 41134, + 57865, + 7672, + 41134, + 24403, + 41134, + 39000, + 59027, + 39000, + 39000, + 59027, + 39000, + 39000, + 39000, + 4446, + 18453, + 4446, + 38637 + ], + [ + 60702, + 32344, + 7672, + 51075, + 51075, + 51075, + 59027, + 43700, + 17417, + 17417, + 43700, + 17417, + 43700, + 4446, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 38637, + 60702, + 7672, + 24403, + 7672, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 51075, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 59027, + 17417, + 53551, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 4446, + 18453, + 6061, + 6061, + 38637, + 6061, + 60702, + 38637, + 6061, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 41134, + 41134, + 41134, + 57865, + 7672, + 41134, + 24403, + 41134, + 39000, + 39000, + 39000, + 4446 + ], + [ + 60702, + 7672, + 32344, + 59027, + 51075, + 51075, + 51075, + 4446, + 43700, + 17417, + 17417, + 43700, + 17417, + 43700, + 60702, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 7672, + 7672, + 24403, + 41134, + 24403, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 4446, + 17417, + 4446, + 4446, + 17417, + 53551, + 4446, + 43700, + 18453, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 38637, + 41134, + 41134, + 24403, + 41134, + 7672, + 57865, + 41134, + 41134, + 39000, + 39000, + 39000, + 4446 + ], + [ + 43700, + 60702, + 38637, + 32344, + 7672, + 7672, + 24403, + 51075, + 51075, + 51075, + 59027, + 51075, + 59027, + 59027, + 17417, + 17417, + 43700, + 17417, + 43700, + 4446, + 17417, + 53551, + 43700, + 4446, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 7672, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 41134, + 41134, + 41134, + 57865, + 7672, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 59027, + 39000, + 39000, + 17417, + 17417, + 43700, + 17417, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 4446, + 18453, + 4446, + 38637, + 6061, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 41134, + 24403, + 41134, + 39000 + ], + [ + 4446, + 60702, + 60702, + 7672, + 32344, + 7672, + 7672, + 59027, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 43700, + 17417, + 17417, + 43700, + 17417, + 43700, + 4446, + 17417, + 4446, + 4446, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 24403, + 41134, + 24403, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 7672, + 59027, + 51075, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 17417, + 53551, + 4446, + 43700, + 18453, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 4446, + 6061, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 38637, + 57865, + 41134, + 41134, + 39000 + ], + [ + 4446, + 60702, + 60702, + 7672, + 7672, + 32344, + 7672, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 59027, + 4446, + 43700, + 4446, + 17417, + 17417, + 4446, + 43700, + 17417, + 17417, + 43700, + 60702, + 60702, + 38637, + 38637, + 60702, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 7672, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 24403, + 24403, + 41134, + 41134, + 24403, + 59027, + 51075, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 43700, + 17417, + 4446, + 17417, + 4446, + 43700, + 53551, + 4446, + 17417, + 18453, + 17417, + 4446, + 43700, + 38637, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 6061, + 41134, + 41134, + 57865, + 39000 + ], + [ + 43700, + 38637, + 60702, + 24403, + 7672, + 7672, + 32344, + 59027, + 59027, + 51075, + 51075, + 59027, + 51075, + 51075, + 4446, + 17417, + 43700, + 17417, + 53551, + 17417, + 4446, + 43700, + 43700, + 17417, + 38637, + 60702, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 38637, + 41134, + 24403, + 7672, + 41134, + 24403, + 57865, + 41134, + 7672, + 7672, + 24403, + 41134, + 41134, + 7672, + 41134, + 7672, + 24403, + 7672, + 39000, + 59027, + 39000, + 59027, + 59027, + 51075, + 39000, + 39000, + 39000, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 4446, + 17417, + 18453, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 4446, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 38637, + 38637, + 41134, + 24403, + 41134, + 39000 + ], + [ + 51075, + 43700, + 17417, + 60702, + 38637, + 38637, + 38637, + 32344, + 7672, + 7672, + 24403, + 7672, + 24403, + 7672, + 51075, + 51075, + 59027, + 51075, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 17417, + 43700, + 17417, + 43700, + 4446, + 17417, + 53551, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 38637, + 38637, + 60702, + 38637, + 6061, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 38637, + 6061, + 38637, + 6061, + 60702, + 7672, + 24403, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 41134, + 41134, + 41134, + 57865, + 7672, + 41134, + 24403, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 59027, + 39000, + 39000, + 39000, + 4446, + 17417, + 4446, + 43700, + 4446, + 4446, + 18453, + 4446, + 38637, + 60702, + 38637, + 41134 + ], + [ + 59027, + 4446, + 43700, + 60702, + 60702, + 38637, + 38637, + 7672, + 32344, + 7672, + 7672, + 24403, + 41134, + 24403, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 39000, + 17417, + 17417, + 43700, + 17417, + 43700, + 4446, + 17417, + 4446, + 4446, + 17417, + 53551, + 4446, + 43700, + 18453, + 38637, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 7672, + 57865, + 41134, + 51075, + 51075, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 39000, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 4446, + 6061, + 38637, + 38637, + 41134 + ], + [ + 59027, + 4446, + 4446, + 60702, + 60702, + 60702, + 60702, + 7672, + 7672, + 32344, + 7672, + 7672, + 7672, + 7672, + 59027, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 51075, + 59027, + 59027, + 43700, + 4446, + 17417, + 17417, + 4446, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 4446, + 17417, + 4446, + 38637, + 38637, + 60702, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 60702, + 24403, + 7672, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 39000, + 43700, + 53551, + 4446, + 17417, + 18453, + 17417, + 4446, + 43700, + 6061, + 38637, + 6061, + 57865 + ], + [ + 59027, + 43700, + 4446, + 38637, + 60702, + 38637, + 60702, + 24403, + 7672, + 7672, + 32344, + 41134, + 24403, + 7672, + 59027, + 51075, + 51075, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 17417, + 43700, + 17417, + 53551, + 17417, + 4446, + 43700, + 43700, + 17417, + 4446, + 17417, + 18453, + 4446, + 4446, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 41134, + 24403, + 57865, + 41134, + 7672, + 7672, + 24403, + 41134, + 41134, + 7672, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 59027, + 51075, + 39000, + 39000, + 39000, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 17417, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 4446, + 6061, + 38637, + 38637, + 41134 + ], + [ + 59027, + 4446, + 43700, + 60702, + 38637, + 60702, + 38637, + 7672, + 24403, + 7672, + 41134, + 32344, + 7672, + 24403, + 59027, + 59027, + 39000, + 51075, + 59027, + 39000, + 51075, + 51075, + 51075, + 59027, + 4446, + 4446, + 43700, + 4446, + 18453, + 17417, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 53551, + 43700, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 38637, + 7672, + 7672, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 41134, + 7672, + 57865, + 41134, + 41134, + 24403, + 41134, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 59027, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 17417, + 38637, + 38637, + 6061, + 41134 + ], + [ + 59027, + 43700, + 4446, + 38637, + 38637, + 60702, + 60702, + 24403, + 41134, + 7672, + 24403, + 7672, + 32344, + 7672, + 39000, + 59027, + 39000, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 4446, + 18453, + 17417, + 43700, + 4446, + 17417, + 43700, + 53551, + 17417, + 4446, + 4446, + 43700, + 17417, + 17417, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 38637, + 60702, + 6061, + 6061, + 6061, + 60702, + 38637, + 38637, + 38637, + 38637, + 41134, + 24403, + 24403, + 7672, + 41134, + 7672, + 57865, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 39000, + 59027, + 39000, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 59027, + 59027, + 4446, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 38637, + 38637, + 6061, + 41134 + ], + [ + 51075, + 17417, + 43700, + 38637, + 38637, + 38637, + 60702, + 7672, + 24403, + 7672, + 7672, + 24403, + 7672, + 32344, + 59027, + 51075, + 59027, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 17417, + 4446, + 53551, + 17417, + 43700, + 17417, + 17417, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 6061, + 38637, + 60702, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 6061, + 60702, + 38637, + 60702, + 41134, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 57865, + 24403, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 4446, + 17417, + 18453, + 4446, + 4446, + 43700, + 4446, + 4446, + 38637, + 60702, + 38637, + 41134 + ], + [ + 7672, + 59027, + 51075, + 4446, + 43700, + 17417, + 17417, + 60702, + 60702, + 38637, + 38637, + 38637, + 6061, + 38637, + 32344, + 7672, + 7672, + 24403, + 41134, + 24403, + 7672, + 7672, + 41134, + 41134, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 43700, + 17417, + 43700, + 4446, + 17417, + 4446, + 4446, + 17417, + 53551, + 4446, + 43700, + 18453, + 17417, + 17417, + 43700, + 17417, + 4446, + 60702, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 7672, + 24403, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 7672, + 57865, + 41134, + 41134, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 39000, + 43700, + 4446, + 4446, + 38637 + ], + [ + 7672, + 59027, + 59027, + 4446, + 4446, + 43700, + 4446, + 60702, + 60702, + 60702, + 60702, + 38637, + 38637, + 60702, + 7672, + 32344, + 7672, + 7672, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 17417, + 17417, + 4446, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 4446, + 17417, + 4446, + 43700, + 53551, + 4446, + 17417, + 18453, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 24403, + 7672, + 41134, + 41134, + 41134, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 57865, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 39000, + 17417, + 4446, + 43700, + 6061 + ], + [ + 24403, + 59027, + 59027, + 43700, + 4446, + 17417, + 43700, + 38637, + 60702, + 38637, + 60702, + 6061, + 6061, + 38637, + 7672, + 7672, + 32344, + 41134, + 24403, + 7672, + 41134, + 24403, + 57865, + 41134, + 51075, + 51075, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 59027, + 51075, + 39000, + 39000, + 39000, + 17417, + 53551, + 17417, + 4446, + 43700, + 43700, + 17417, + 4446, + 17417, + 18453, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 38637, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 38637, + 7672, + 7672, + 24403, + 41134, + 41134, + 7672, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 17417, + 43700, + 4446, + 38637 + ], + [ + 7672, + 59027, + 59027, + 4446, + 43700, + 4446, + 4446, + 60702, + 38637, + 60702, + 38637, + 60702, + 60702, + 60702, + 24403, + 7672, + 41134, + 32344, + 7672, + 24403, + 7672, + 7672, + 7672, + 7672, + 59027, + 39000, + 51075, + 59027, + 39000, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 43700, + 4446, + 18453, + 17417, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 53551, + 43700, + 4446, + 17417, + 43700, + 17417, + 4446, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 41134, + 24403, + 41134, + 24403, + 24403, + 41134, + 7672, + 57865, + 41134, + 41134, + 24403, + 41134, + 41134, + 39000, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 59027, + 43700, + 4446, + 17417, + 6061 + ], + [ + 24403, + 59027, + 39000, + 43700, + 4446, + 4446, + 18453, + 38637, + 38637, + 60702, + 60702, + 38637, + 60702, + 60702, + 41134, + 7672, + 24403, + 7672, + 32344, + 7672, + 41134, + 24403, + 24403, + 7672, + 59027, + 39000, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 59027, + 17417, + 43700, + 4446, + 17417, + 43700, + 53551, + 17417, + 4446, + 4446, + 43700, + 17417, + 17417, + 4446, + 17417, + 4446, + 43700, + 4446, + 6061, + 38637, + 6061, + 38637, + 38637, + 60702, + 6061, + 6061, + 6061, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 41134, + 7672, + 57865, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 41134, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 59027, + 59027, + 17417, + 43700, + 17417, + 6061 + ], + [ + 7672, + 51075, + 59027, + 17417, + 43700, + 17417, + 4446, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 60702, + 24403, + 7672, + 7672, + 24403, + 7672, + 32344, + 41134, + 41134, + 41134, + 7672, + 51075, + 59027, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 53551, + 17417, + 43700, + 17417, + 17417, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 4446, + 17417, + 18453, + 4446, + 4446, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 41134, + 24403, + 41134, + 57865, + 24403, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 41134, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 43700, + 4446, + 4446, + 38637 + ], + [ + 7672, + 59027, + 51075, + 4446, + 17417, + 43700, + 17417, + 60702, + 38637, + 38637, + 6061, + 60702, + 38637, + 38637, + 7672, + 24403, + 41134, + 7672, + 41134, + 41134, + 32344, + 7672, + 7672, + 24403, + 59027, + 59027, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 4446, + 4446, + 4446, + 43700, + 17417, + 4446, + 18453, + 53551, + 17417, + 17417, + 17417, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 60702, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 24403, + 41134, + 7672, + 7672, + 7672, + 57865, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 24403, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 59027, + 4446, + 4446, + 43700, + 38637 + ], + [ + 24403, + 39000, + 59027, + 18453, + 4446, + 4446, + 43700, + 60702, + 60702, + 60702, + 38637, + 60702, + 38637, + 38637, + 7672, + 7672, + 24403, + 7672, + 24403, + 41134, + 7672, + 32344, + 24403, + 41134, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 4446, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 17417, + 17417, + 17417, + 53551, + 4446, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 38637, + 6061, + 6061, + 7672, + 7672, + 24403, + 7672, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 41134, + 57865, + 41134, + 59027, + 51075, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 17417, + 43700, + 17417, + 6061 + ], + [ + 24403, + 59027, + 59027, + 43700, + 17417, + 4446, + 43700, + 38637, + 6061, + 38637, + 6061, + 60702, + 60702, + 38637, + 41134, + 41134, + 57865, + 7672, + 24403, + 41134, + 7672, + 24403, + 32344, + 7672, + 39000, + 39000, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 59027, + 39000, + 51075, + 51075, + 51075, + 4446, + 18453, + 4446, + 17417, + 43700, + 43700, + 4446, + 17417, + 4446, + 53551, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 38637, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 38637, + 41134, + 41134, + 24403, + 7672, + 7672, + 41134, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 4446, + 43700, + 17417, + 38637 + ], + [ + 7672, + 51075, + 59027, + 17417, + 17417, + 43700, + 4446, + 38637, + 6061, + 38637, + 38637, + 38637, + 60702, + 60702, + 41134, + 24403, + 41134, + 7672, + 7672, + 7672, + 24403, + 41134, + 7672, + 32344, + 59027, + 39000, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 17417, + 4446, + 4446, + 53551, + 17417, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 18453, + 43700, + 4446, + 4446, + 43700, + 6061, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 57865, + 41134, + 41134, + 41134, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 7672, + 7672, + 24403, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 4446, + 4446, + 43700, + 38637 + ], + [ + 60702, + 7672, + 7672, + 59027, + 59027, + 51075, + 59027, + 4446, + 4446, + 43700, + 4446, + 17417, + 17417, + 4446, + 60702, + 60702, + 60702, + 38637, + 38637, + 60702, + 38637, + 38637, + 6061, + 38637, + 32344, + 7672, + 7672, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 51075, + 51075, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 4446, + 17417, + 4446, + 43700, + 53551, + 4446, + 17417, + 18453, + 17417, + 4446, + 38637, + 38637, + 38637, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 60702, + 6061, + 38637, + 6061, + 24403, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 57865, + 59027, + 39000, + 39000, + 43700 + ], + [ + 38637, + 24403, + 7672, + 59027, + 59027, + 51075, + 51075, + 43700, + 4446, + 17417, + 43700, + 17417, + 53551, + 17417, + 60702, + 38637, + 60702, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 7672, + 32344, + 41134, + 24403, + 7672, + 41134, + 24403, + 57865, + 41134, + 7672, + 7672, + 24403, + 41134, + 41134, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 59027, + 51075, + 39000, + 39000, + 39000, + 51075, + 59027, + 59027, + 59027, + 59027, + 4446, + 43700, + 43700, + 17417, + 4446, + 17417, + 18453, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 60702, + 38637, + 60702, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 6061, + 38637, + 38637, + 7672, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 59027, + 59027, + 39000, + 4446 + ], + [ + 60702, + 7672, + 24403, + 59027, + 59027, + 59027, + 39000, + 4446, + 43700, + 4446, + 4446, + 43700, + 4446, + 18453, + 38637, + 60702, + 38637, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 7672, + 41134, + 32344, + 7672, + 24403, + 7672, + 7672, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 51075, + 59027, + 39000, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 51075, + 39000, + 59027, + 39000, + 17417, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 53551, + 43700, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 41134, + 7672, + 57865, + 41134, + 41134, + 24403, + 41134, + 41134, + 59027, + 39000, + 59027, + 17417 + ], + [ + 38637, + 24403, + 41134, + 59027, + 39000, + 59027, + 39000, + 43700, + 4446, + 4446, + 18453, + 17417, + 43700, + 4446, + 38637, + 60702, + 60702, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 7672, + 24403, + 7672, + 32344, + 7672, + 41134, + 24403, + 24403, + 7672, + 41134, + 7672, + 57865, + 41134, + 41134, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 17417, + 43700, + 53551, + 17417, + 4446, + 4446, + 43700, + 17417, + 17417, + 4446, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 38637, + 60702, + 6061, + 6061, + 6061, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 7672, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 41134, + 51075, + 59027, + 59027, + 17417 + ], + [ + 38637, + 7672, + 24403, + 51075, + 59027, + 51075, + 59027, + 17417, + 43700, + 17417, + 4446, + 53551, + 17417, + 43700, + 38637, + 38637, + 60702, + 6061, + 38637, + 60702, + 6061, + 6061, + 6061, + 38637, + 7672, + 7672, + 24403, + 7672, + 32344, + 41134, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 57865, + 24403, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 59027, + 17417, + 17417, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 4446, + 17417, + 18453, + 4446, + 4446, + 43700, + 4446, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 38637, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 41134, + 59027, + 59027, + 39000, + 4446 + ], + [ + 60702, + 7672, + 7672, + 59027, + 51075, + 59027, + 59027, + 4446, + 17417, + 43700, + 17417, + 4446, + 4446, + 4446, + 38637, + 38637, + 6061, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 24403, + 41134, + 7672, + 41134, + 41134, + 32344, + 7672, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 43700, + 17417, + 4446, + 18453, + 53551, + 17417, + 17417, + 17417, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 4446, + 4446, + 6061, + 6061, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 57865, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 24403, + 39000, + 39000, + 59027, + 43700 + ], + [ + 60702, + 24403, + 7672, + 39000, + 59027, + 59027, + 59027, + 18453, + 4446, + 4446, + 43700, + 4446, + 43700, + 4446, + 60702, + 60702, + 38637, + 60702, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 7672, + 24403, + 7672, + 24403, + 41134, + 7672, + 32344, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 59027, + 59027, + 39000, + 59027, + 51075, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 59027, + 51075, + 59027, + 51075, + 39000, + 4446, + 43700, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 17417, + 17417, + 17417, + 53551, + 4446, + 17417, + 43700, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 38637, + 6061, + 6061, + 6061, + 41134, + 7672, + 41134, + 24403, + 41134, + 41134, + 57865, + 41134, + 59027, + 39000, + 59027, + 17417 + ], + [ + 38637, + 24403, + 41134, + 59027, + 59027, + 39000, + 39000, + 43700, + 17417, + 4446, + 43700, + 4446, + 18453, + 4446, + 6061, + 38637, + 6061, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 41134, + 57865, + 7672, + 24403, + 41134, + 7672, + 24403, + 32344, + 7672, + 41134, + 41134, + 24403, + 7672, + 7672, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 59027, + 39000, + 51075, + 51075, + 51075, + 39000, + 59027, + 59027, + 59027, + 59027, + 17417, + 43700, + 43700, + 4446, + 17417, + 4446, + 53551, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 6061, + 38637, + 6061, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 38637, + 38637, + 41134, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 59027, + 59027, + 51075, + 17417 + ], + [ + 38637, + 7672, + 41134, + 51075, + 59027, + 59027, + 39000, + 17417, + 17417, + 43700, + 4446, + 17417, + 4446, + 4446, + 6061, + 38637, + 38637, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 60702, + 24403, + 41134, + 7672, + 7672, + 7672, + 24403, + 41134, + 7672, + 32344, + 57865, + 41134, + 41134, + 41134, + 7672, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 53551, + 17417, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 18453, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 6061, + 38637, + 6061, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 38637, + 24403, + 24403, + 41134, + 41134, + 24403, + 7672, + 7672, + 24403, + 59027, + 59027, + 59027, + 43700 + ], + [ + 38637, + 41134, + 7672, + 39000, + 59027, + 59027, + 51075, + 4446, + 4446, + 43700, + 17417, + 4446, + 17417, + 17417, + 60702, + 38637, + 38637, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 6061, + 24403, + 7672, + 41134, + 41134, + 41134, + 24403, + 7672, + 41134, + 57865, + 32344, + 7672, + 7672, + 7672, + 41134, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 18453, + 4446, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 53551, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 60702, + 38637, + 60702, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 38637, + 24403, + 24403, + 7672, + 7672, + 24403, + 41134, + 41134, + 24403, + 59027, + 59027, + 59027, + 43700 + ], + [ + 38637, + 41134, + 24403, + 39000, + 39000, + 59027, + 59027, + 4446, + 18453, + 4446, + 4446, + 43700, + 17417, + 43700, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 6061, + 7672, + 7672, + 24403, + 7672, + 24403, + 41134, + 7672, + 41134, + 41134, + 7672, + 32344, + 41134, + 24403, + 57865, + 59027, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 4446, + 53551, + 17417, + 60702, + 60702, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 6061, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 41134, + 51075, + 59027, + 59027, + 17417 + ], + [ + 38637, + 24403, + 7672, + 59027, + 51075, + 59027, + 51075, + 43700, + 17417, + 17417, + 53551, + 4446, + 43700, + 17417, + 38637, + 6061, + 6061, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 41134, + 24403, + 41134, + 57865, + 41134, + 7672, + 24403, + 24403, + 41134, + 7672, + 41134, + 32344, + 7672, + 7672, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 4446, + 43700, + 18453, + 4446, + 17417, + 17417, + 43700, + 4446, + 4446, + 17417, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 38637, + 6061, + 60702, + 60702, + 60702, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 41134, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 7672, + 39000, + 59027, + 59027, + 4446 + ], + [ + 38637, + 41134, + 24403, + 39000, + 59027, + 39000, + 59027, + 4446, + 43700, + 4446, + 17417, + 18453, + 4446, + 43700, + 38637, + 38637, + 6061, + 60702, + 38637, + 6061, + 60702, + 60702, + 60702, + 38637, + 41134, + 41134, + 24403, + 41134, + 57865, + 7672, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 32344, + 24403, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 59027, + 4446, + 4446, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 17417, + 4446, + 53551, + 17417, + 17417, + 43700, + 17417, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 38637, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 7672, + 59027, + 59027, + 51075, + 17417 + ], + [ + 38637, + 7672, + 24403, + 51075, + 51075, + 59027, + 59027, + 17417, + 53551, + 17417, + 17417, + 43700, + 4446, + 43700, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 60702, + 41134, + 41134, + 24403, + 41134, + 24403, + 7672, + 41134, + 7672, + 7672, + 41134, + 57865, + 7672, + 24403, + 32344, + 59027, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 17417, + 18453, + 4446, + 6061, + 6061, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 60702, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 7672, + 39000, + 59027, + 59027, + 4446 + ], + [ + 4446, + 60702, + 38637, + 7672, + 24403, + 7672, + 41134, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 39000, + 43700, + 4446, + 4446, + 43700, + 4446, + 18453, + 17417, + 17417, + 17417, + 4446, + 60702, + 38637, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 32344, + 7672, + 24403, + 7672, + 7672, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 41134, + 7672, + 57865, + 41134, + 41134, + 51075, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 51075, + 39000, + 59027, + 39000, + 59027, + 39000, + 17417, + 43700, + 17417, + 53551, + 43700, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 17417, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 24403, + 41134, + 41134, + 59027 + ], + [ + 43700, + 38637, + 38637, + 24403, + 41134, + 7672, + 24403, + 59027, + 39000, + 59027, + 39000, + 51075, + 51075, + 59027, + 4446, + 4446, + 18453, + 17417, + 43700, + 4446, + 17417, + 43700, + 53551, + 17417, + 60702, + 60702, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 38637, + 60702, + 6061, + 6061, + 6061, + 7672, + 32344, + 7672, + 41134, + 24403, + 24403, + 7672, + 41134, + 7672, + 57865, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 59027, + 59027, + 51075, + 51075, + 39000, + 59027, + 39000, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 59027, + 4446, + 4446, + 43700, + 17417, + 17417, + 4446, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 7672, + 24403, + 41134, + 59027 + ], + [ + 17417, + 38637, + 38637, + 7672, + 24403, + 7672, + 7672, + 51075, + 59027, + 51075, + 59027, + 51075, + 51075, + 51075, + 43700, + 17417, + 4446, + 53551, + 17417, + 43700, + 17417, + 17417, + 17417, + 17417, + 38637, + 60702, + 6061, + 38637, + 60702, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 24403, + 7672, + 32344, + 41134, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 57865, + 24403, + 7672, + 41134, + 24403, + 41134, + 7672, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 4446, + 43700, + 4446, + 43700, + 43700, + 4446, + 17417, + 18453, + 4446, + 4446, + 43700, + 4446, + 4446, + 60702, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 38637, + 24403, + 7672, + 41134, + 39000 + ], + [ + 4446, + 60702, + 38637, + 7672, + 7672, + 24403, + 41134, + 59027, + 51075, + 59027, + 59027, + 59027, + 39000, + 39000, + 17417, + 43700, + 17417, + 4446, + 4446, + 4446, + 43700, + 17417, + 4446, + 18453, + 38637, + 6061, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 7672, + 41134, + 41134, + 32344, + 7672, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 57865, + 24403, + 41134, + 41134, + 24403, + 51075, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 53551, + 17417, + 17417, + 17417, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 4446, + 4446, + 43700, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 41134, + 41134, + 24403, + 59027 + ], + [ + 18453, + 60702, + 60702, + 24403, + 7672, + 7672, + 24403, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 4446, + 4446, + 43700, + 4446, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 60702, + 38637, + 60702, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 7672, + 24403, + 41134, + 7672, + 32344, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 59027, + 51075, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 59027, + 51075, + 59027, + 51075, + 39000, + 59027, + 39000, + 17417, + 17417, + 43700, + 17417, + 4446, + 17417, + 17417, + 17417, + 53551, + 4446, + 17417, + 43700, + 17417, + 6061, + 38637, + 6061, + 6061, + 38637, + 6061, + 6061, + 6061, + 41134, + 57865, + 41134, + 59027 + ], + [ + 43700, + 38637, + 6061, + 24403, + 41134, + 41134, + 57865, + 59027, + 59027, + 39000, + 39000, + 59027, + 39000, + 39000, + 17417, + 4446, + 43700, + 4446, + 18453, + 4446, + 17417, + 43700, + 43700, + 4446, + 38637, + 6061, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 38637, + 7672, + 24403, + 41134, + 7672, + 24403, + 32344, + 7672, + 41134, + 41134, + 24403, + 7672, + 7672, + 41134, + 7672, + 41134, + 24403, + 41134, + 51075, + 59027, + 51075, + 59027, + 59027, + 39000, + 51075, + 51075, + 51075, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 17417, + 4446, + 53551, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 17417, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 38637, + 38637, + 7672, + 24403, + 7672, + 51075 + ], + [ + 17417, + 38637, + 6061, + 7672, + 41134, + 24403, + 41134, + 51075, + 59027, + 59027, + 39000, + 51075, + 59027, + 59027, + 17417, + 43700, + 4446, + 17417, + 4446, + 4446, + 53551, + 17417, + 17417, + 43700, + 38637, + 38637, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 7672, + 7672, + 7672, + 24403, + 41134, + 7672, + 32344, + 57865, + 41134, + 41134, + 41134, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 51075, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 43700, + 4446, + 17417, + 17417, + 17417, + 18453, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 43700, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 38637, + 7672, + 7672, + 24403, + 59027 + ], + [ + 4446, + 38637, + 60702, + 41134, + 7672, + 24403, + 7672, + 39000, + 59027, + 59027, + 51075, + 39000, + 59027, + 59027, + 4446, + 43700, + 17417, + 4446, + 17417, + 17417, + 18453, + 4446, + 4446, + 43700, + 38637, + 38637, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 41134, + 41134, + 41134, + 24403, + 7672, + 41134, + 57865, + 32344, + 7672, + 7672, + 7672, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 39000, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 43700, + 17417, + 4446, + 4446, + 4446, + 53551, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 43700, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 38637, + 41134, + 41134, + 24403, + 59027 + ], + [ + 4446, + 38637, + 60702, + 41134, + 24403, + 7672, + 7672, + 39000, + 39000, + 59027, + 59027, + 59027, + 51075, + 59027, + 18453, + 4446, + 4446, + 43700, + 17417, + 43700, + 4446, + 4446, + 17417, + 17417, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 24403, + 7672, + 24403, + 41134, + 7672, + 41134, + 41134, + 7672, + 32344, + 41134, + 24403, + 57865, + 7672, + 7672, + 24403, + 7672, + 41134, + 39000, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 4446, + 43700, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 4446, + 53551, + 17417, + 17417, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 6061, + 24403, + 41134, + 41134, + 59027 + ], + [ + 43700, + 38637, + 38637, + 24403, + 7672, + 41134, + 24403, + 59027, + 51075, + 59027, + 51075, + 39000, + 39000, + 59027, + 17417, + 17417, + 53551, + 4446, + 43700, + 17417, + 4446, + 43700, + 18453, + 4446, + 6061, + 6061, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 38637, + 6061, + 60702, + 60702, + 60702, + 41134, + 57865, + 41134, + 7672, + 24403, + 24403, + 41134, + 7672, + 41134, + 32344, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 59027, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 59027, + 17417, + 17417, + 43700, + 4446, + 4446, + 17417, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 41134, + 24403, + 7672, + 59027 + ], + [ + 4446, + 38637, + 38637, + 41134, + 24403, + 41134, + 41134, + 39000, + 59027, + 39000, + 59027, + 39000, + 39000, + 39000, + 43700, + 4446, + 17417, + 18453, + 4446, + 43700, + 4446, + 4446, + 4446, + 4446, + 38637, + 6061, + 60702, + 38637, + 6061, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 24403, + 41134, + 57865, + 7672, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 32344, + 24403, + 41134, + 7672, + 24403, + 7672, + 41134, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 17417, + 43700, + 17417, + 43700, + 43700, + 17417, + 4446, + 53551, + 17417, + 17417, + 43700, + 17417, + 17417, + 6061, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 38637, + 24403, + 41134, + 7672, + 51075 + ], + [ + 17417, + 38637, + 6061, + 7672, + 24403, + 41134, + 41134, + 51075, + 51075, + 59027, + 59027, + 59027, + 39000, + 59027, + 53551, + 17417, + 17417, + 43700, + 4446, + 43700, + 17417, + 17417, + 4446, + 4446, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 24403, + 41134, + 24403, + 7672, + 41134, + 7672, + 7672, + 41134, + 57865, + 7672, + 24403, + 32344, + 41134, + 41134, + 24403, + 41134, + 7672, + 51075, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 17417, + 43700, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 17417, + 18453, + 4446, + 4446, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 60702, + 24403, + 7672, + 7672, + 59027 + ], + [ + 17417, + 6061, + 38637, + 41134, + 41134, + 24403, + 7672, + 59027, + 39000, + 59027, + 59027, + 59027, + 51075, + 51075, + 4446, + 43700, + 4446, + 17417, + 17417, + 17417, + 43700, + 4446, + 17417, + 53551, + 38637, + 60702, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 41134, + 7672, + 7672, + 57865, + 41134, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 32344, + 24403, + 7672, + 7672, + 24403, + 39000, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 18453, + 4446, + 4446, + 4446, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 17417, + 17417, + 43700, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 7672, + 7672, + 24403, + 59027 + ], + [ + 4446, + 38637, + 38637, + 41134, + 41134, + 24403, + 41134, + 39000, + 39000, + 39000, + 39000, + 59027, + 59027, + 39000, + 4446, + 18453, + 4446, + 4446, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 7672, + 7672, + 41134, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 41134, + 7672, + 41134, + 24403, + 32344, + 41134, + 7672, + 57865, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 43700, + 4446, + 17417, + 17417, + 17417, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 53551, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 6061, + 7672, + 41134, + 24403, + 51075 + ], + [ + 17417, + 6061, + 38637, + 41134, + 24403, + 41134, + 7672, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 51075, + 43700, + 17417, + 17417, + 43700, + 17417, + 53551, + 4446, + 4446, + 4446, + 17417, + 6061, + 38637, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 57865, + 41134, + 24403, + 41134, + 41134, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 7672, + 41134, + 32344, + 7672, + 7672, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 4446, + 43700, + 4446, + 18453, + 43700, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 4446, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 24403, + 7672, + 7672, + 59027 + ], + [ + 43700, + 6061, + 38637, + 57865, + 41134, + 41134, + 24403, + 39000, + 39000, + 39000, + 59027, + 39000, + 59027, + 59027, + 4446, + 4446, + 43700, + 4446, + 43700, + 17417, + 4446, + 18453, + 43700, + 17417, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 41134, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 7672, + 7672, + 7672, + 32344, + 41134, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 59027, + 51075, + 51075, + 4446, + 4446, + 43700, + 4446, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 17417, + 53551, + 17417, + 38637, + 60702, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 7672, + 24403, + 7672, + 51075 + ], + [ + 17417, + 38637, + 38637, + 7672, + 7672, + 24403, + 7672, + 51075, + 51075, + 51075, + 51075, + 59027, + 59027, + 51075, + 17417, + 53551, + 17417, + 17417, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 41134, + 41134, + 7672, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 7672, + 41134, + 7672, + 24403, + 57865, + 7672, + 41134, + 32344, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 43700, + 17417, + 4446, + 4446, + 4446, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 18453, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 60702, + 41134, + 7672, + 24403, + 39000 + ], + [ + 59027, + 4446, + 17417, + 60702, + 38637, + 38637, + 6061, + 7672, + 7672, + 24403, + 41134, + 7672, + 41134, + 41134, + 51075, + 59027, + 59027, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 39000, + 43700, + 17417, + 4446, + 4446, + 4446, + 43700, + 17417, + 4446, + 18453, + 53551, + 17417, + 17417, + 17417, + 4446, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 32344, + 7672, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 57865, + 24403, + 41134, + 41134, + 24403, + 41134, + 41134, + 51075, + 59027, + 51075, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 39000, + 59027, + 43700, + 43700, + 17417, + 17417, + 43700, + 4446, + 4446, + 43700, + 38637, + 38637, + 38637, + 24403 + ], + [ + 39000, + 18453, + 4446, + 60702, + 60702, + 60702, + 38637, + 24403, + 7672, + 7672, + 24403, + 7672, + 24403, + 41134, + 59027, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 59027, + 39000, + 4446, + 43700, + 4446, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 17417, + 17417, + 43700, + 17417, + 4446, + 60702, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 38637, + 7672, + 32344, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 41134, + 7672, + 41134, + 24403, + 41134, + 41134, + 57865, + 51075, + 51075, + 59027, + 51075, + 39000, + 59027, + 51075, + 59027, + 51075, + 39000, + 59027, + 39000, + 59027, + 17417, + 17417, + 17417, + 53551, + 4446, + 17417, + 43700, + 17417, + 6061, + 6061, + 6061, + 41134 + ], + [ + 59027, + 43700, + 17417, + 38637, + 6061, + 38637, + 6061, + 24403, + 41134, + 41134, + 57865, + 7672, + 24403, + 41134, + 59027, + 39000, + 39000, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 4446, + 43700, + 4446, + 18453, + 4446, + 17417, + 43700, + 43700, + 4446, + 17417, + 4446, + 53551, + 17417, + 17417, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 6061, + 38637, + 6061, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 7672, + 24403, + 32344, + 7672, + 41134, + 41134, + 24403, + 7672, + 7672, + 41134, + 7672, + 41134, + 24403, + 41134, + 7672, + 24403, + 59027, + 39000, + 51075, + 51075, + 51075, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 4446, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 17417, + 60702, + 38637, + 38637, + 7672 + ], + [ + 51075, + 17417, + 17417, + 38637, + 6061, + 38637, + 38637, + 7672, + 41134, + 24403, + 41134, + 7672, + 7672, + 7672, + 59027, + 59027, + 39000, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 43700, + 4446, + 17417, + 4446, + 4446, + 53551, + 17417, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 38637, + 60702, + 60702, + 6061, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 6061, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 24403, + 41134, + 7672, + 32344, + 57865, + 41134, + 41134, + 41134, + 7672, + 24403, + 24403, + 41134, + 41134, + 24403, + 7672, + 7672, + 39000, + 39000, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 18453, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 43700, + 60702, + 60702, + 38637, + 24403 + ], + [ + 39000, + 4446, + 4446, + 38637, + 60702, + 38637, + 38637, + 41134, + 7672, + 24403, + 7672, + 41134, + 41134, + 41134, + 59027, + 59027, + 51075, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 43700, + 17417, + 4446, + 17417, + 17417, + 18453, + 4446, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 24403, + 7672, + 41134, + 57865, + 32344, + 7672, + 7672, + 7672, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 41134, + 41134, + 51075, + 51075, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 53551, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 43700, + 6061, + 6061, + 38637, + 24403 + ], + [ + 39000, + 4446, + 18453, + 38637, + 60702, + 60702, + 60702, + 41134, + 24403, + 7672, + 7672, + 24403, + 7672, + 24403, + 39000, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 4446, + 4446, + 43700, + 17417, + 43700, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 41134, + 7672, + 41134, + 41134, + 7672, + 32344, + 41134, + 24403, + 57865, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 59027, + 51075, + 39000, + 59027, + 39000, + 51075, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 59027, + 17417, + 17417, + 43700, + 17417, + 4446, + 53551, + 17417, + 17417, + 6061, + 6061, + 6061, + 41134 + ], + [ + 59027, + 43700, + 17417, + 38637, + 38637, + 6061, + 6061, + 24403, + 7672, + 41134, + 24403, + 41134, + 57865, + 41134, + 51075, + 59027, + 51075, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 17417, + 53551, + 4446, + 43700, + 17417, + 4446, + 43700, + 18453, + 4446, + 17417, + 17417, + 43700, + 4446, + 4446, + 38637, + 6061, + 6061, + 60702, + 38637, + 60702, + 38637, + 38637, + 6061, + 60702, + 60702, + 60702, + 6061, + 38637, + 38637, + 38637, + 38637, + 7672, + 24403, + 24403, + 41134, + 7672, + 41134, + 32344, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 51075, + 59027, + 51075, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 59027, + 59027, + 17417, + 4446, + 17417, + 43700, + 17417, + 4446, + 43700, + 4446, + 38637, + 38637, + 60702, + 7672 + ], + [ + 39000, + 4446, + 43700, + 38637, + 38637, + 38637, + 6061, + 41134, + 24403, + 41134, + 41134, + 24403, + 41134, + 57865, + 59027, + 39000, + 59027, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 4446, + 17417, + 18453, + 4446, + 43700, + 4446, + 4446, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 60702, + 38637, + 6061, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 60702, + 6061, + 38637, + 6061, + 7672, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 32344, + 24403, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 17417, + 4446, + 53551, + 17417, + 17417, + 43700, + 17417, + 17417, + 38637, + 6061, + 38637, + 7672 + ], + [ + 51075, + 17417, + 53551, + 38637, + 6061, + 6061, + 6061, + 7672, + 24403, + 41134, + 41134, + 24403, + 41134, + 24403, + 51075, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 17417, + 17417, + 43700, + 4446, + 43700, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 38637, + 38637, + 38637, + 38637, + 6061, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 7672, + 41134, + 7672, + 7672, + 41134, + 57865, + 7672, + 24403, + 32344, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 59027, + 4446, + 4446, + 43700, + 4446, + 17417, + 18453, + 4446, + 4446, + 60702, + 60702, + 60702, + 7672 + ], + [ + 59027, + 17417, + 4446, + 6061, + 38637, + 38637, + 60702, + 41134, + 41134, + 24403, + 7672, + 41134, + 7672, + 7672, + 39000, + 59027, + 59027, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 51075, + 43700, + 4446, + 17417, + 17417, + 17417, + 43700, + 4446, + 17417, + 53551, + 18453, + 4446, + 4446, + 4446, + 17417, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 57865, + 41134, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 32344, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 39000, + 59027, + 39000, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 59027, + 43700, + 43700, + 4446, + 4446, + 43700, + 17417, + 17417, + 43700, + 38637, + 38637, + 38637, + 24403 + ], + [ + 39000, + 4446, + 4446, + 38637, + 38637, + 60702, + 38637, + 41134, + 41134, + 24403, + 41134, + 7672, + 7672, + 41134, + 39000, + 39000, + 39000, + 59027, + 59027, + 39000, + 59027, + 59027, + 51075, + 59027, + 18453, + 4446, + 4446, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 60702, + 60702, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 41134, + 7672, + 41134, + 24403, + 32344, + 41134, + 7672, + 57865, + 7672, + 41134, + 59027, + 59027, + 59027, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 51075, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 53551, + 38637, + 6061, + 6061, + 24403 + ], + [ + 59027, + 17417, + 43700, + 6061, + 38637, + 6061, + 38637, + 41134, + 24403, + 41134, + 7672, + 57865, + 41134, + 24403, + 59027, + 59027, + 51075, + 39000, + 59027, + 51075, + 39000, + 39000, + 39000, + 59027, + 17417, + 17417, + 43700, + 17417, + 53551, + 4446, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 18453, + 43700, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 38637, + 41134, + 41134, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 7672, + 41134, + 32344, + 7672, + 7672, + 24403, + 7672, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 59027, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 4446, + 38637, + 38637, + 60702, + 7672 + ], + [ + 39000, + 43700, + 4446, + 6061, + 38637, + 38637, + 38637, + 57865, + 41134, + 41134, + 24403, + 41134, + 24403, + 41134, + 39000, + 39000, + 59027, + 39000, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 4446, + 43700, + 4446, + 43700, + 17417, + 4446, + 18453, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 38637, + 38637, + 6061, + 38637, + 60702, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 38637, + 60702, + 38637, + 60702, + 6061, + 41134, + 24403, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 7672, + 7672, + 7672, + 32344, + 41134, + 7672, + 24403, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 59027, + 51075, + 51075, + 51075, + 17417, + 4446, + 17417, + 43700, + 17417, + 17417, + 53551, + 17417, + 38637, + 6061, + 38637, + 7672 + ], + [ + 51075, + 17417, + 17417, + 38637, + 38637, + 6061, + 38637, + 7672, + 7672, + 24403, + 7672, + 41134, + 41134, + 7672, + 51075, + 51075, + 51075, + 59027, + 59027, + 51075, + 59027, + 59027, + 39000, + 59027, + 53551, + 17417, + 17417, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 6061, + 6061, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 7672, + 41134, + 7672, + 24403, + 57865, + 7672, + 41134, + 32344, + 41134, + 7672, + 59027, + 59027, + 59027, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 39000, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 18453, + 38637, + 60702, + 60702, + 24403 + ], + [ + 59027, + 17417, + 43700, + 6061, + 6061, + 38637, + 38637, + 41134, + 57865, + 41134, + 41134, + 24403, + 7672, + 24403, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 51075, + 4446, + 4446, + 43700, + 4446, + 43700, + 17417, + 4446, + 17417, + 17417, + 4446, + 18453, + 17417, + 43700, + 53551, + 38637, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 41134, + 32344, + 7672, + 39000, + 39000, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 51075, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 17417, + 60702, + 38637, + 38637, + 7672 + ], + [ + 51075, + 53551, + 17417, + 6061, + 6061, + 6061, + 38637, + 24403, + 41134, + 41134, + 24403, + 41134, + 24403, + 7672, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 59027, + 51075, + 17417, + 43700, + 17417, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 6061, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 38637, + 41134, + 57865, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 7672, + 32344, + 39000, + 39000, + 59027, + 39000, + 51075, + 59027, + 39000, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 4446, + 4446, + 4446, + 18453, + 17417, + 4446, + 43700, + 4446, + 60702, + 60702, + 60702, + 7672 + ], + [ + 41134, + 39000, + 59027, + 4446, + 4446, + 43700, + 17417, + 38637, + 60702, + 38637, + 38637, + 38637, + 6061, + 6061, + 7672, + 24403, + 7672, + 41134, + 41134, + 41134, + 24403, + 7672, + 41134, + 57865, + 59027, + 51075, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 51075, + 51075, + 59027, + 59027, + 39000, + 4446, + 17417, + 17417, + 18453, + 4446, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 53551, + 43700, + 17417, + 17417, + 43700, + 60702, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 32344, + 7672, + 7672, + 7672, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 41134, + 41134, + 24403, + 51075, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 59027, + 17417, + 17417, + 43700, + 38637 + ], + [ + 41134, + 39000, + 39000, + 4446, + 18453, + 4446, + 4446, + 38637, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 24403, + 7672, + 7672, + 24403, + 7672, + 24403, + 41134, + 7672, + 41134, + 41134, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 51075, + 39000, + 59027, + 39000, + 43700, + 17417, + 43700, + 4446, + 4446, + 17417, + 17417, + 4446, + 43700, + 4446, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 4446, + 38637, + 60702, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 6061, + 7672, + 32344, + 41134, + 24403, + 57865, + 7672, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 41134, + 51075, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 59027, + 53551, + 17417, + 17417, + 6061 + ], + [ + 24403, + 59027, + 51075, + 43700, + 17417, + 17417, + 53551, + 38637, + 38637, + 6061, + 6061, + 38637, + 6061, + 6061, + 7672, + 41134, + 24403, + 41134, + 57865, + 41134, + 7672, + 24403, + 24403, + 41134, + 59027, + 51075, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 39000, + 51075, + 59027, + 51075, + 59027, + 59027, + 4446, + 43700, + 17417, + 4446, + 43700, + 18453, + 4446, + 17417, + 17417, + 43700, + 4446, + 4446, + 17417, + 4446, + 17417, + 43700, + 17417, + 60702, + 38637, + 60702, + 38637, + 38637, + 6061, + 60702, + 60702, + 60702, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 7672, + 41134, + 32344, + 7672, + 7672, + 41134, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 7672, + 59027, + 39000, + 51075, + 59027, + 51075, + 39000, + 59027, + 59027, + 4446, + 43700, + 4446, + 60702 + ], + [ + 41134, + 39000, + 59027, + 4446, + 43700, + 4446, + 17417, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 6061, + 24403, + 41134, + 41134, + 24403, + 41134, + 57865, + 7672, + 7672, + 7672, + 41134, + 39000, + 59027, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 51075, + 59027, + 18453, + 4446, + 43700, + 4446, + 4446, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 17417, + 4446, + 53551, + 17417, + 17417, + 60702, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 7672, + 24403, + 7672, + 32344, + 24403, + 41134, + 7672, + 24403, + 7672, + 41134, + 24403, + 41134, + 7672, + 59027, + 59027, + 51075, + 51075, + 59027, + 59027, + 59027, + 51075, + 43700, + 17417, + 17417, + 38637 + ], + [ + 7672, + 51075, + 51075, + 17417, + 53551, + 17417, + 17417, + 38637, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 24403, + 41134, + 41134, + 24403, + 41134, + 24403, + 7672, + 41134, + 7672, + 7672, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 43700, + 4446, + 43700, + 17417, + 17417, + 4446, + 4446, + 17417, + 43700, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 17417, + 38637, + 6061, + 60702, + 60702, + 6061, + 6061, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 60702, + 41134, + 57865, + 7672, + 24403, + 32344, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 7672, + 7672, + 39000, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 59027, + 18453, + 4446, + 4446, + 60702 + ], + [ + 41134, + 59027, + 39000, + 17417, + 4446, + 43700, + 4446, + 6061, + 38637, + 38637, + 60702, + 6061, + 38637, + 38637, + 41134, + 24403, + 7672, + 41134, + 7672, + 7672, + 57865, + 41134, + 41134, + 24403, + 59027, + 59027, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 17417, + 17417, + 17417, + 43700, + 4446, + 17417, + 53551, + 18453, + 4446, + 4446, + 4446, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 6061, + 38637, + 6061, + 6061, + 60702, + 60702, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 24403, + 7672, + 41134, + 41134, + 41134, + 32344, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 24403, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 59027, + 17417, + 17417, + 43700, + 38637 + ], + [ + 41134, + 39000, + 39000, + 4446, + 4446, + 18453, + 4446, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 38637, + 41134, + 24403, + 41134, + 7672, + 7672, + 41134, + 24403, + 7672, + 7672, + 24403, + 39000, + 39000, + 59027, + 59027, + 39000, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 4446, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 43700, + 43700, + 17417, + 17417, + 43700, + 38637, + 60702, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 24403, + 7672, + 41134, + 7672, + 41134, + 24403, + 32344, + 41134, + 7672, + 57865, + 7672, + 41134, + 24403, + 59027, + 51075, + 59027, + 51075, + 39000, + 51075, + 59027, + 51075, + 17417, + 17417, + 53551, + 6061 + ], + [ + 41134, + 59027, + 59027, + 17417, + 43700, + 17417, + 17417, + 6061, + 38637, + 6061, + 38637, + 6061, + 6061, + 6061, + 24403, + 41134, + 7672, + 57865, + 41134, + 24403, + 41134, + 41134, + 41134, + 41134, + 59027, + 51075, + 39000, + 59027, + 51075, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 43700, + 17417, + 53551, + 4446, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 18453, + 43700, + 17417, + 4446, + 43700, + 4446, + 17417, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 7672, + 24403, + 7672, + 24403, + 24403, + 7672, + 41134, + 32344, + 7672, + 7672, + 24403, + 7672, + 7672, + 51075, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 59027, + 43700, + 17417, + 4446, + 60702 + ], + [ + 57865, + 39000, + 39000, + 43700, + 4446, + 4446, + 43700, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 41134, + 41134, + 24403, + 41134, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 39000, + 59027, + 39000, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 4446, + 43700, + 17417, + 4446, + 18453, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 38637, + 60702, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 38637, + 60702, + 38637, + 60702, + 6061, + 38637, + 6061, + 7672, + 7672, + 24403, + 7672, + 41134, + 7672, + 7672, + 7672, + 32344, + 41134, + 7672, + 24403, + 7672, + 51075, + 59027, + 51075, + 51075, + 59027, + 51075, + 51075, + 51075, + 17417, + 53551, + 17417, + 38637 + ], + [ + 7672, + 51075, + 51075, + 17417, + 17417, + 53551, + 17417, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 38637, + 7672, + 24403, + 7672, + 41134, + 41134, + 7672, + 24403, + 41134, + 41134, + 24403, + 51075, + 51075, + 59027, + 59027, + 51075, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 17417, + 17417, + 17417, + 43700, + 17417, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 43700, + 43700, + 4446, + 4446, + 43700, + 38637, + 6061, + 38637, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 24403, + 41134, + 7672, + 41134, + 7672, + 24403, + 57865, + 7672, + 41134, + 32344, + 41134, + 7672, + 24403, + 59027, + 39000, + 59027, + 39000, + 51075, + 39000, + 59027, + 39000, + 4446, + 4446, + 18453, + 60702 + ], + [ + 41134, + 59027, + 39000, + 17417, + 43700, + 4446, + 4446, + 6061, + 6061, + 38637, + 38637, + 38637, + 60702, + 38637, + 57865, + 41134, + 41134, + 24403, + 7672, + 24403, + 41134, + 41134, + 7672, + 7672, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 43700, + 4446, + 43700, + 17417, + 4446, + 17417, + 17417, + 4446, + 18453, + 17417, + 43700, + 53551, + 4446, + 4446, + 43700, + 4446, + 17417, + 6061, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 41134, + 24403, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 41134, + 32344, + 7672, + 7672, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 51075, + 43700, + 17417, + 17417, + 38637 + ], + [ + 24403, + 51075, + 59027, + 53551, + 17417, + 17417, + 43700, + 6061, + 6061, + 6061, + 38637, + 6061, + 38637, + 38637, + 41134, + 41134, + 24403, + 41134, + 24403, + 7672, + 41134, + 57865, + 24403, + 7672, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 39000, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 17417, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 4446, + 4446, + 4446, + 18453, + 17417, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 38637, + 60702, + 60702, + 41134, + 41134, + 24403, + 41134, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 7672, + 32344, + 7672, + 59027, + 39000, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 4446, + 43700, + 4446, + 60702 + ], + [ + 41134, + 59027, + 59027, + 17417, + 17417, + 43700, + 17417, + 6061, + 6061, + 6061, + 6061, + 38637, + 38637, + 6061, + 41134, + 57865, + 41134, + 41134, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 4446, + 4446, + 17417, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 17417, + 4446, + 17417, + 43700, + 18453, + 17417, + 4446, + 53551, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 24403, + 41134, + 7672, + 7672, + 7672, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 32344, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 51075, + 4446, + 17417, + 43700, + 60702 + ], + [ + 6061, + 41134, + 41134, + 59027, + 39000, + 59027, + 59027, + 17417, + 4446, + 43700, + 4446, + 17417, + 17417, + 17417, + 38637, + 38637, + 60702, + 6061, + 38637, + 38637, + 6061, + 38637, + 6061, + 6061, + 24403, + 7672, + 41134, + 7672, + 7672, + 57865, + 41134, + 41134, + 24403, + 24403, + 7672, + 41134, + 41134, + 41134, + 59027, + 51075, + 51075, + 39000, + 39000, + 59027, + 51075, + 39000, + 59027, + 39000, + 39000, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 43700, + 4446, + 17417, + 53551, + 18453, + 4446, + 4446, + 4446, + 17417, + 43700, + 43700, + 4446, + 4446, + 43700, + 17417, + 17417, + 60702, + 60702, + 38637, + 38637, + 6061, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 38637, + 32344, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 24403, + 51075, + 51075, + 59027, + 43700 + ], + [ + 38637, + 41134, + 41134, + 39000, + 39000, + 39000, + 39000, + 4446, + 4446, + 18453, + 4446, + 4446, + 4446, + 4446, + 38637, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 60702, + 38637, + 38637, + 24403, + 41134, + 7672, + 7672, + 41134, + 24403, + 7672, + 7672, + 24403, + 24403, + 7672, + 41134, + 7672, + 41134, + 59027, + 59027, + 39000, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 59027, + 51075, + 59027, + 51075, + 39000, + 43700, + 4446, + 17417, + 43700, + 43700, + 4446, + 17417, + 17417, + 17417, + 43700, + 43700, + 17417, + 17417, + 43700, + 17417, + 17417, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 6061, + 6061, + 24403, + 32344, + 41134, + 7672, + 57865, + 7672, + 41134, + 24403, + 51075, + 59027, + 51075, + 53551 + ], + [ + 6061, + 41134, + 24403, + 59027, + 59027, + 59027, + 51075, + 17417, + 43700, + 17417, + 17417, + 43700, + 17417, + 53551, + 38637, + 6061, + 38637, + 6061, + 6061, + 6061, + 38637, + 38637, + 38637, + 6061, + 41134, + 7672, + 57865, + 41134, + 24403, + 41134, + 41134, + 41134, + 41134, + 7672, + 24403, + 7672, + 24403, + 24403, + 39000, + 59027, + 51075, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 51075, + 39000, + 51075, + 59027, + 51075, + 4446, + 4446, + 4446, + 17417, + 4446, + 43700, + 4446, + 18453, + 43700, + 17417, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 60702, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 60702, + 38637, + 38637, + 38637, + 60702, + 7672, + 41134, + 32344, + 7672, + 7672, + 24403, + 7672, + 7672, + 59027, + 51075, + 59027, + 4446 + ], + [ + 6061, + 57865, + 41134, + 39000, + 39000, + 39000, + 59027, + 43700, + 4446, + 4446, + 43700, + 4446, + 43700, + 17417, + 38637, + 38637, + 38637, + 38637, + 38637, + 6061, + 38637, + 60702, + 38637, + 6061, + 41134, + 24403, + 41134, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 7672, + 7672, + 24403, + 7672, + 41134, + 39000, + 59027, + 59027, + 39000, + 39000, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 59027, + 51075, + 51075, + 59027, + 4446, + 18453, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 17417, + 4446, + 17417, + 43700, + 17417, + 17417, + 53551, + 60702, + 60702, + 38637, + 60702, + 6061, + 38637, + 60702, + 38637, + 60702, + 6061, + 38637, + 6061, + 38637, + 7672, + 7672, + 7672, + 32344, + 41134, + 7672, + 24403, + 7672, + 51075, + 51075, + 51075, + 17417 + ], + [ + 38637, + 7672, + 7672, + 51075, + 51075, + 51075, + 51075, + 17417, + 17417, + 53551, + 17417, + 17417, + 17417, + 17417, + 38637, + 6061, + 38637, + 6061, + 6061, + 38637, + 38637, + 6061, + 38637, + 38637, + 24403, + 7672, + 41134, + 41134, + 7672, + 24403, + 41134, + 41134, + 24403, + 24403, + 41134, + 7672, + 41134, + 7672, + 59027, + 59027, + 51075, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 59027, + 39000, + 59027, + 59027, + 39000, + 59027, + 39000, + 51075, + 43700, + 17417, + 4446, + 43700, + 43700, + 17417, + 4446, + 4446, + 4446, + 43700, + 43700, + 4446, + 4446, + 43700, + 4446, + 4446, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 6061, + 60702, + 38637, + 60702, + 38637, + 60702, + 60702, + 24403, + 57865, + 7672, + 41134, + 32344, + 41134, + 7672, + 24403, + 39000, + 59027, + 39000, + 18453 + ], + [ + 6061, + 41134, + 57865, + 59027, + 39000, + 39000, + 39000, + 17417, + 43700, + 4446, + 4446, + 43700, + 4446, + 43700, + 6061, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 41134, + 41134, + 24403, + 7672, + 24403, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 59027, + 59027, + 59027, + 59027, + 39000, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 17417, + 4446, + 17417, + 17417, + 4446, + 18453, + 17417, + 43700, + 53551, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 38637, + 60702, + 6061, + 38637, + 6061, + 60702, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 38637, + 7672, + 7672, + 24403, + 7672, + 41134, + 32344, + 7672, + 7672, + 51075, + 51075, + 51075, + 17417 + ], + [ + 6061, + 24403, + 41134, + 51075, + 59027, + 59027, + 59027, + 53551, + 17417, + 17417, + 43700, + 17417, + 43700, + 17417, + 6061, + 6061, + 38637, + 6061, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 41134, + 24403, + 41134, + 24403, + 7672, + 41134, + 57865, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 59027, + 59027, + 51075, + 59027, + 39000, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 59027, + 39000, + 59027, + 39000, + 51075, + 17417, + 43700, + 43700, + 17417, + 4446, + 4446, + 43700, + 4446, + 17417, + 4446, + 4446, + 4446, + 18453, + 17417, + 4446, + 43700, + 38637, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 60702, + 60702, + 38637, + 60702, + 60702, + 60702, + 7672, + 41134, + 7672, + 24403, + 7672, + 7672, + 32344, + 7672, + 59027, + 51075, + 59027, + 4446 + ], + [ + 6061, + 41134, + 41134, + 59027, + 59027, + 39000, + 59027, + 17417, + 17417, + 43700, + 17417, + 4446, + 4446, + 17417, + 6061, + 6061, + 6061, + 38637, + 38637, + 6061, + 38637, + 38637, + 60702, + 38637, + 57865, + 41134, + 41134, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 39000, + 39000, + 59027, + 59027, + 39000, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 17417, + 4446, + 17417, + 43700, + 18453, + 17417, + 4446, + 53551, + 4446, + 17417, + 38637, + 38637, + 38637, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 60702, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 32344, + 59027, + 51075, + 51075, + 43700 + ], + [ + 17417, + 6061, + 6061, + 41134, + 57865, + 41134, + 41134, + 59027, + 39000, + 39000, + 39000, + 59027, + 59027, + 59027, + 43700, + 4446, + 4446, + 43700, + 4446, + 43700, + 17417, + 4446, + 17417, + 17417, + 38637, + 38637, + 38637, + 60702, + 38637, + 6061, + 38637, + 38637, + 38637, + 38637, + 60702, + 6061, + 38637, + 6061, + 24403, + 7672, + 24403, + 41134, + 41134, + 7672, + 7672, + 41134, + 24403, + 41134, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 41134, + 59027, + 39000, + 51075, + 51075, + 39000, + 39000, + 59027, + 59027, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 51075, + 4446, + 18453, + 17417, + 43700, + 53551, + 4446, + 4446, + 43700, + 4446, + 17417, + 43700, + 17417, + 17417, + 60702, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 38637, + 32344, + 7672, + 7672, + 51075 + ], + [ + 53551, + 6061, + 6061, + 24403, + 41134, + 41134, + 24403, + 51075, + 59027, + 59027, + 59027, + 59027, + 59027, + 51075, + 17417, + 17417, + 43700, + 17417, + 43700, + 17417, + 17417, + 43700, + 43700, + 17417, + 6061, + 38637, + 6061, + 38637, + 38637, + 6061, + 6061, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 38637, + 41134, + 24403, + 7672, + 41134, + 57865, + 24403, + 7672, + 41134, + 41134, + 24403, + 41134, + 7672, + 7672, + 41134, + 7672, + 24403, + 7672, + 59027, + 39000, + 59027, + 51075, + 39000, + 39000, + 59027, + 39000, + 51075, + 59027, + 39000, + 59027, + 39000, + 51075, + 59027, + 51075, + 4446, + 4446, + 43700, + 4446, + 17417, + 4446, + 4446, + 4446, + 18453, + 17417, + 4446, + 43700, + 4446, + 60702, + 38637, + 60702, + 60702, + 38637, + 60702, + 60702, + 60702, + 7672, + 32344, + 7672, + 59027 + ], + [ + 17417, + 6061, + 6061, + 41134, + 41134, + 57865, + 41134, + 59027, + 59027, + 39000, + 59027, + 39000, + 39000, + 59027, + 17417, + 43700, + 17417, + 4446, + 4446, + 17417, + 43700, + 4446, + 4446, + 43700, + 6061, + 6061, + 38637, + 38637, + 6061, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 41134, + 41134, + 41134, + 24403, + 41134, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 24403, + 24403, + 7672, + 7672, + 24403, + 59027, + 39000, + 59027, + 59027, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 43700, + 4446, + 17417, + 4446, + 17417, + 43700, + 18453, + 17417, + 4446, + 53551, + 4446, + 17417, + 43700, + 38637, + 60702, + 38637, + 60702, + 6061, + 60702, + 38637, + 60702, + 7672, + 7672, + 32344, + 51075 + ], + [ + 59027, + 17417, + 17417, + 6061, + 6061, + 6061, + 6061, + 41134, + 41134, + 57865, + 41134, + 41134, + 41134, + 41134, + 59027, + 39000, + 59027, + 39000, + 39000, + 59027, + 59027, + 39000, + 59027, + 59027, + 43700, + 17417, + 4446, + 4446, + 17417, + 43700, + 4446, + 4446, + 43700, + 43700, + 4446, + 17417, + 4446, + 17417, + 38637, + 38637, + 6061, + 38637, + 38637, + 60702, + 38637, + 38637, + 38637, + 38637, + 60702, + 38637, + 38637, + 60702, + 38637, + 60702, + 6061, + 24403, + 41134, + 7672, + 24403, + 24403, + 41134, + 7672, + 7672, + 7672, + 24403, + 24403, + 7672, + 7672, + 24403, + 7672, + 7672, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 39000, + 51075, + 59027, + 51075, + 59027, + 51075, + 51075, + 43700, + 18453, + 17417, + 4446, + 53551, + 4446, + 17417, + 43700, + 60702, + 38637, + 60702, + 32344 + ] + ], + "prime": 65537, + "rank": 96, + "widths": [ + 5, + 6, + 7, + 8 + ] +} diff --git a/research/clifford-tensor-gram/PROOF.md b/research/clifford-tensor-gram/PROOF.md index 7ada58f8ca..cb8b75a33d 100644 --- a/research/clifford-tensor-gram/PROOF.md +++ b/research/clifford-tensor-gram/PROOF.md @@ -1,5 +1,9 @@ # A finite and stable tensor test for dyadic Clifford programs +The [continuation](ADVANCES.md) reduces the number of tested widths, +improves 14/15 to 75/76, proves the sharp one-axis cutoff, and supplies +a compact native implementation. This note retains the original proof. + ## Result Let R = Z[i,1/2], let D = 2^n, and let C_n be the unitary matrices in diff --git a/research/clifford-tensor-gram/README.md b/research/clifford-tensor-gram/README.md index eaf9a6dce0..5b3ff95e63 100644 --- a/research/clifford-tensor-gram/README.md +++ b/research/clifford-tensor-gram/README.md @@ -2,19 +2,25 @@ **A uniform algebraic interface theorem and an exact verifier; no new kappa.** For fixed scalar register programs on n binary axes, with unitary dyadic -Clifford operators and every dirty input/return retained, equality at widths -**1 through 8n+4 is equivalent to equality at every positive width**. This +Clifford operators and every dirty input/return retained, equality at the +**eight widths 8n-3 through 8n+4 implies equality at every positive width** +for n>=2. For one axis, **widths 5,6,7,8 suffice**, and both the maximum +cutoff eight and the number of tests four are sharp. For zero axes use +widths 1,2,3,4. This covers Gaussian and Hadamard gates as well as phase-monomial maps. The cutoff does not depend on program length or expanded support. -The [proof](PROOF.md) also gives a stable test. Let M be the squared coefficient +The [original proof](PROOF.md) and [extensions](ADVANCES.md) give a stable test. +Let M be the squared coefficient norm after equal exact native operators are combined. Some tested width has -normalized squared Hilbert-Schmidt residual at least **(14/15)M**. An explicit +normalized squared Hilbert-Schmidt residual at least **(75/76)M** among all +widths 1 through 8n+4. An explicit rational polynomial recovers M from the finite norm sequence. Base-space pair -traces suffice. A conditional norm procedure finds a nonzero tensor entry -without allocating a tensor matrix. +traces suffice. The compact implementation uses exact quadratic sums and +bitwise conditional norms. It builds **neither a dense base matrix nor a +tensor matrix**, and it removes the original D^2 coordinate scan. -For the source's nine binary axes, the sufficient tensor-width cutoff is **76**. +For the source's nine binary axes, **eight tests at widths 69 through 76** suffice. This is an algebraic bound, not a full supplier replay or a minimal cutoff. The complete kappa calculation and selected frontier are unchanged. @@ -35,31 +41,57 @@ Python 3.12 and the standard library suffice. From the repository root: python3.12 -B scripts/research_package.py --package research/clifford-tensor-gram ``` -Both registered modes print `PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA`. +The registered commands print `PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA` and +`PASS_CLIFFORD_ADVANCES_NO_NEW_KAPPA` in normal and optimized Python. Direct commands also work in a Git-free export: ```sh python3.12 -I -W error -B research/clifford-tensor-gram/verify.py python3.12 -I -O -W error -B research/clifford-tensor-gram/verify.py +python3.12 -I -W error -B research/clifford-tensor-gram/verify_advances.py +python3.12 -I -O -W error -B research/clifford-tensor-gram/verify_advances.py +python3.12 -I -B research/clifford-tensor-gram/compact.py \ + research/clifford-tensor-gram/examples/native-64.json python3.12 -I -B research/clifford-tensor-gram/certify.py \ research/clifford-tensor-gram/examples/native-relation.json python3.12 -I -B research/clifford-tensor-gram/check_witness.py \ research/clifford-tensor-gram/examples/reynolds.json \ research/clifford-tensor-gram/examples/reynolds.certificate.json python3.12 -I -B research/clifford-tensor-gram/audit_mutations.py +python3.12 -I -B research/clifford-tensor-gram/audit_advances.py ``` The producer prints JSON. Read `equivalent_at_all_positive_widths`; a successful process means the decision completed, and a counterexample is a valid result. The independent witness checker prints `PASS_LITERAL_TENSOR_WITNESS 5/24`. -It uses a separate signed-word interpreter and literal matrix entries, with +Relative to the original dense producer, it uses a separate signed-word +interpreter and literal matrix entries, with no producer import, trace calculation or interpolation argument. Only the frozen scalar arithmetic is shared. It checks the literal nonzero entry, not the claimed norms or the universal cutoff theorem. +The compact producer reuses that signed-word expansion. Its differential +checks use the original dense compiler, frozen source matrices and literal +entries. It is not an independent checker of itself. The research record is +saved in [RESEARCH-NOTES.md](RESEARCH-NOTES.md). + ## Input contract +`compact.py` uses the same roles and instructions below, but each value in +`operators` is a literal native circuit. See the +[64-axis example](examples/native-64.json) and +[65-axis phase relation](examples/native-65.json). The native gate forms are +`["P", rows]`, `["X", offset]`, `["D", rows, alpha]`, `["C", mask, sign]` +and `["phase", exponent]`. Binary matrix rows are integer masks. Diagonal +alpha values belong to 0,1,2,3 and have the diagonal row parity. C signs +are +1 or -1. The parser checks the native gate conditions. + +The compact certificate records the reduced decision widths. For a negative +result it still computes all 8n+4 norm values to use the stronger stability +bound and select its witness. The eight-width theorem alone does not give +that dimension-free bound on the selected eight norms. + The [native relation example](examples/native-relation.json) gives the format. `axes` is n; `roles` counts arbitrary independent inputs and returns. `operators` contains exact 2^n-by-2^n matrices, with integer entries or @@ -86,6 +118,16 @@ be dyadic. ## Evidence and limits +[ADVANCES-RESULT.json](ADVANCES-RESULT.json) records the continuation: +256 code Fourier values, exact filter bounds for n=0,...,64, a rank-96 +modular inverse certificate, 640 exhaustive small quadratic sums, 3,328 +native entries, 128 native traces, 304 partial inner products, 48 complete +program comparisons and literal witnesses, nine exact native relations, +a scalar-phase trap and eight rejection controls. The large cases use +64 and 65 axes. Their base dimensions are 2^64 and 2^65; no dense base +array is allocated. The 64-axis witness is the exact entry 1/4294967296. +The 65-axis relation retains H^2=iI as a native operator identity. + [RESULT.json](RESULT.json) records 96 group elements, 689 exact trace-filter values, 2,124 source columns, 48 entangling trace cases, 60 explicit tensor norms, 72 complete endpoint comparisons, 24 full tensor program comparisons, @@ -102,15 +144,22 @@ dirty return and a missing Gram normalization. The audit prints `PASS_CLIFFORD_GRAM_MUTATIONS`. The local runs used CPython 3.12.13 on macOS with no third-party packages. +[ADVANCES-MUTATIONS.json](ADVANCES-MUTATIONS.json) records four additional +defects rejected in both modes: a wrong native C phase, an ignored native +inverse sign, a missing prefix constraint and an omitted dirty return. +The audit prints `PASS_CLIFFORD_ADVANCE_MUTATIONS`. + The written proof supplies the universal quantifiers. Finite tests corroborate it. This is author-checked with substantial AI assistance, not independent human or proof-kernel acceptance. Compilation can expand exponentially many -terms; the base dimension is also 2^n. No polynomial-time claim in instruction +terms. The compact path and witness algorithms use polynomial work in the +axis count, literal word length, tensor width and expanded support. The +original dense frontend still uses base dimension 2^n. No polynomial-time claim in instruction length or practical full-supplier speedup follows. No complete provider, selected cold replay, native admission, Lean or Docker run is claimed. Physical storage, tapes, stock, precision and outer recovery remain separate. Programs that change with f, non-Clifford gates, continuous phases, nonunitary -scalings, rounded leaves and restricted clean-input contracts are excluded. +native operators, rounded leaves and restricted clean-input contracts are excluded. ## Sources and credit @@ -149,15 +198,17 @@ and unpublished work remain outside coverage. Classical ingredients are credited in [PROOF.md](PROOF.md). No new general Burnside-Brauer theorem, general circuit identity algorithm or global priority is claimed. The contribution is the explicit native trace filter, stable -cutoff, program frontend, compressed witness and source-bound validation. +cutoff, program frontend, compact witness and source-bound validation. +The code invariant follows Runge and Nebe, Rains and Sloane. The binary +quadratic-form method follows Dehaene and De Moor. [ADVANCES.md](ADVANCES.md) +links those sources and derives the native phase conventions used here. ## Open next questions -1. Replace dense matrices with phase-exact Clifford tableaux and a proved - trace/entry routine. Start with the complete one-axis and entangling fixtures. - Exact global-phase binding is the remaining blocker. -2. Find the sharp cutoff. Start with one-axis Gram kernels. The width-eight - example is a lower bound; this package does not prove twelve is necessary. +1. Find the sharp maximum cutoff for n>=2. The one-axis maximum eight is + now sharp. The general eight-width test still reaches 8n+4. +2. Prove a useful stability constant on the eight selected widths. The + present 75/76 bound uses the full range 1,...,8n+4. 3. Bind a complete current provider and measure support growth. Retain every input/return and native phase. Physical admission and a full bill remain open. diff --git a/research/clifford-tensor-gram/RESEARCH-NOTES.md b/research/clifford-tensor-gram/RESEARCH-NOTES.md new file mode 100644 index 0000000000..dc3244e15d --- /dev/null +++ b/research/clifford-tensor-gram/RESEARCH-NOTES.md @@ -0,0 +1,133 @@ +# Continuation research record + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. + +## Starting point + +The first result is commit 0db0609042d3bee25028ef6515fcee40a33e958d in +[PR #5376](https://github.com/CrocSwap/integer-mult-bounds/pull/5376). +It proves the 8n+4 positive-width cutoff and a 14/15 separation bound. +Both local modes, the export, mutation checks and hosted CI passed. +The continuation refresh found main at +1ec1119972c9aefe42525172d07b332fcff81cb4. Priority revision 7 and both +consumed kernels are unchanged. The selected kappa is not part of this work. + +## Questions and acceptance tests + +1. Can a degree-eight invariant reduce the number of widths to eight? + Prove invariance under a complete native generating set. Prove the + resulting kernel inclusion, with all width and coefficient quantifiers. +2. Can the filter bound improve from 14/15 to 75/76? + Prove the coefficient signs and control their total absolute value for + every n. Numerical samples do not establish the uniform bound. +3. What is the sharp one-axis positive-width cutoff? + Combine an exact full-rank Gram certificate with an explicit lower-bound + example. Do not generalize a one-axis result to other axis counts. +4. Can exact traces and entries avoid a dense 2^n base matrix? + Derive a phase-exact quadratic-sum algorithm. Compare it with the frozen + source and independent dense cases, including inverses and zero traces. + Preserve possible exponential growth in expanded circuit support. + +## Initial observations, not yet new accepted results + +For n=1,...,12, exact filter coefficient sums give reciprocal positive mass +at least 75/76. The n=1 value is exactly 75/76. The later values increase +toward approximately 0.9887179563. These samples suggest a monotonicity +proof; they do not prove it. + +The extended binary Hamming code of length eight is self-dual and doubly +even. Its row-code tensor is a candidate invariant for every axis count. +The classical code-invariant construction is prior work of Runge and +Nebe, Rains and Sloane, not a new invariant discovered here. + +The original direct witness search examines all D^2 coordinate pairs at +each tensor factor. Even a compact trace routine alone does not remove +that search. A complete scalable extractor needs a separate argument. + +## Results of the continuation + +The proofs and algorithms are saved in [ADVANCES.md](ADVANCES.md), +[quadratic.py](quadratic.py) and [compact.py](compact.py). + +1. The length-eight code invariant gives kernel inclusion from f+8 to f. + Eight selected widths now suffice. For nine axes these are 69 through 76. +2. The coefficient sign pattern ++-- gives a monotonicity proof for the + filter norm. Its maximum is 77/75 at n=1. Positive mass is at most 76/75, + so the stable separation improves from 14/15 to 75/76. +3. The one-axis Gram sum at widths 5,6,7,8 has rank 96. A saved inverse + over F_65537 proves this rank in characteristic zero. The previous + Reynolds example proves that the maximum cutoff eight is sharp. + Central scalar characters also prove that four widths are necessary. +4. Exact quadratic path sums retain the native global phase. Conditional + sums with coordinate prefixes give a bitwise witness extractor. This + removes both the dense base matrix and the D^2 coordinate scan. + +The first modular experiment gave cumulative ranks modulo 65537 of +4,14,34,57,77,91,95,96 at widths 1 through 8. These are modular ranks; +the lower-width values alone are not characteristic-zero rank certificates. +The final proof uses the rank-96 inverse and the separate Reynolds obstruction. + +The replay includes 640 exhaustive small quadratic sums, every one-axis +native group word, entangling two- and three-axis words, complete register +programs and exact positive relations. The large cases certify an explicit +64-axis entry and the phase relation on 65 axes. Full counts and literal +certificates are saved with the package. + +## Performance correction + +The initial filter routine repeatedly reduced rational coefficients. The +continuation instead multiplies integer numerator factors and keeps one +denominator. A direct comparison with the function from commit +0db0609042d3bee25028ef6515fcee40a33e958d gave identical coefficient lists +at n=0,1,2,9,16,32. One local CPython 3.14.7 measurement at n=32 took +0.283 seconds before and 0.0149 seconds after. This is one measurement of +the filter builder, not a full-verifier or provider speed claim. +The registered validation uses CPython 3.12.13 and checks the original +receipts as well as the new results. + +The first read-only continuation replay found a receipt-comparison defect: +native gate tuples serialize as JSON arrays. Comparing the loaded arrays +with in-memory tuples fails even when the serialized bytes agree. The +receipt check now compares canonical serialized bytes. This fixes the +serialization boundary without changing mathematical values or certificates. + +## Limits and routes not established + +The eight-width embedding does not preserve the dimension-free stability +constant. The 75/76 bound still uses all widths from 1 through 8n+4. A +trace routine alone would not remove the coordinate search; the conditional +two-path sum is needed for that step. The general maximum cutoff is not +proved sharp, and the one-axis result cannot be extrapolated to n>=2. + +The code invariant and binary quadratic-form method are classical. No +literature priority claim is made for those methods. The native phase +derivation, program binding, width refinements and reproducible certificates +are the contribution here. Symbolic word support can still be exponential. +No complete current provider, physical invoice or kappa improvement follows. +The written proofs remain author-checked with substantial AI assistance. + +The final upstream refresh kept main at +1ec1119972c9aefe42525172d07b332fcff81cb4. The selected result and source +pins did not change. The canonical Discussion claim remains the coordination +point. This continuation updates the same focused PR. + +## Local verification closeout + +The registered runner passed all four commands on CPython 3.12.13: +the original replay and the continuation replay, each in normal and +optimized mode. One complete local run took 88.42 seconds. The original +receipts remain unchanged after the integer filter optimization. + +Both mutation audits passed. Each of eight defects was rejected in both +Python modes, for 16 negative runs. The new defects change a native phase, +an inverse sign, a coordinate constraint and a dirty return. The metadata +and pinned-source check also passed. Exact commands are in README.md. + +The final advisory overlap refresh at 2026-10-23 21:12 UTC covered 337 +open PRs and 4,676 Discussion records, with complete remote pagination. +The new-term matches were this contribution and an unrelated occurrence +of 75/76 in a prior pencil-selection note. The sparse local checkout covers +only 16 of 7,269 note paths. Relevant predecessor proofs were read +separately. Historical diffs and unpublished work remain outside coverage. +The concurrent monomial PR remains at its previously reviewed head and +has not been changed by this work. diff --git a/research/clifford-tensor-gram/TASK.json b/research/clifford-tensor-gram/TASK.json index c14b20611c..3195b93383 100644 --- a/research/clifford-tensor-gram/TASK.json +++ b/research/clifford-tensor-gram/TASK.json @@ -75,34 +75,41 @@ ] }, "scope_status": "changed", - "actual_scope": "Finite stable tensor test for complete dyadic Clifford register programs, with exact base-space Gram certificates and literal tensor entries.", + "actual_scope": "Eight-width full dyadic Clifford endpoint test, 75/76 stable separation, sharp one-axis cutoff, and phase-exact native computation with bitwise witnesses.", "scope_change_reason": "Supply a written native-relation interface theorem and executable certificate rather than repeat a formal arithmetic endpoint.", "bottleneck_link": "A fixed native program needs an all-width endpoint proof. The trace filter supplies a uniform finite test and a quantified failure certificate for the full dyadic Clifford class.", "budget_minutes": 60, "stop_rule": "Prove the stated cutoff and stability bound, check source and independent tensor fixtures, then publish one scoped package. No supplier or selected-frontier update.", "outcome": "completed", - "evidence": "PROOF.md, RESULT.json, certify.py, check_witness.py and the registered replay.", + "evidence": "PROOF.md, ADVANCES.md, both result receipts, the modular inverse certificate, compact.py, quadratic.py and registered normal/optimized replays.", "author": "Ali Romman with substantial OpenAI Codex assistance", "ai_assistance": "Substantial OpenAI Codex assistance in derivation, implementation, self-review, validation and publication. No independent human or proof-kernel review.", "open_questions": [ { - "question": "Can exact tableaux replace dense native matrices?", - "why_it_matters": "The base dimension is exponential in the axis count.", - "first_step": "Match traces and entries on the complete one-axis group and entangling fixtures.", - "blocked_by": "A phase-exact trace and entry algorithm needs a source-bound proof." + "question": "What is the sharp maximum cutoff for n>=2?", + "why_it_matters": "Eight tests still reach width 8n+4.", + "first_step": "Find a smaller representation-theoretic bound or a matching explicit residual.", + "blocked_by": "The one-axis modular certificate does not generalize." }, { - "question": "What is the sharp full-group cutoff?", - "why_it_matters": "The sufficient bound need not be minimal.", - "first_step": "Compute exact one-axis cumulative Gram kernels.", - "blocked_by": "A lower bound beyond width eight is not proved." + "question": "Can the eight selected widths retain a dimension-free stability constant?", + "why_it_matters": "The 75/76 bound uses the full range of widths.", + "first_step": "Bound the selected-width Gram spectrum.", + "blocked_by": "The invariant embedding alone loses powers of the base dimension." }, { - "question": "Does a complete current provider fit this fixed-word grammar at practical support size?", - "why_it_matters": "The new algebraic theorem does not run a complete supplier.", - "first_step": "Bind every input and return, then measure expansion on one pinned word.", - "blocked_by": "Phase bindings, support size and the physical invoice remain." + "question": "Does a complete current provider have practical expanded support?", + "why_it_matters": "Compact native sums remove dense matrices but not exponential word expansion.", + "first_step": "Bind every role and phase of one pinned provider, then measure support.", + "blocked_by": "Complete provider bindings and its physical invoice remain." } ], - "coordination": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5236#discussioncomment-19153620" + "coordination": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5236#discussioncomment-19153620", + "continuation": { + "user_requested": true, + "main_checkpoint": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "previous_result": "0db0609042d3bee25028ef6515fcee40a33e958d", + "source_pins_changed": false, + "notes": "RESEARCH-NOTES.md" + } } diff --git a/research/clifford-tensor-gram/VERIFY.json b/research/clifford-tensor-gram/VERIFY.json index 2480cc3900..59bb55578c 100644 --- a/research/clifford-tensor-gram/VERIFY.json +++ b/research/clifford-tensor-gram/VERIFY.json @@ -32,6 +32,31 @@ ], "timeout_seconds": 180, "checks": "Exact trace filter, complete one-axis group, source columns, independent tensor norms and endpoints, literal witnesses and rejection controls." + }, + { + "argv": [ + "{python}", + "-I", + "-W", + "error", + "-B", + "{package}/verify_advances.py" + ], + "timeout_seconds": 180, + "checks": "Code invariant, stronger filter bound, one-axis rank certificate, quadratic sums, complete native programs, bitwise witnesses and large-axis phase cases." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-W", + "error", + "-B", + "{package}/verify_advances.py" + ], + "timeout_seconds": 180, + "checks": "Code invariant, stronger filter bound, one-axis rank certificate, quadratic sums, complete native programs, bitwise witnesses and large-axis phase cases." } ] } diff --git a/research/clifford-tensor-gram/audit_advances.py b/research/clifford-tensor-gram/audit_advances.py new file mode 100644 index 0000000000..0429c569ab --- /dev/null +++ b/research/clifford-tensor-gram/audit_advances.py @@ -0,0 +1,58 @@ +"""Reject compact-computation defects in private package copies. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +import json +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile + +HERE = Path(__file__).resolve().parent +MUTATIONS = [ + ("conjugate native C factor", "quadratic.py", "G.pair(1, sign)/2", "G.pair(1, -sign)/2", "Native trace phase"), + ("ignore native inverse sign", "quadratic.py", "out.append((kind, gate[1], -gate[2]))", + "out.append((kind, gate[1], gate[2]))", "Native entry phase"), + ("omit output prefix constraint", "quadratic.py", + "equations += [left.outputs[j] ^ x for j, x in enumerate(output_prefix)]", + "equations += []", "Native partial inner product"), + ("omit final native return", "compact.py", "enumerate(zip(left, right))", + "enumerate(zip(left[:-1], right[:-1]))", "Compact complete endpoint"), +] + + +def audit(write=False): + results = [] + for label, filename, old, new, expected in MUTATIONS: + for optimized in (False, True): + with tempfile.TemporaryDirectory(prefix="clifford-advance-mutation-") as directory: + target = Path(directory) / "package" + shutil.copytree(HERE, target, ignore=shutil.ignore_patterns("__pycache__")) + source = target / filename + original = source.read_text(encoding="utf-8") + if original.count(old) != 1: + raise ValueError("Mutation target is not unique: "+label) + source.write_text(original.replace(old, new), encoding="utf-8") + command = [sys.executable, "-I", "-W", "error", "-B"] + if optimized: + command.append("-O") + command += [str(target / "verify_advances.py"), "--write"] + run = subprocess.run(command, text=True, capture_output=True, timeout=180) + if run.returncode == 0 or "ValueError: "+expected not in run.stderr: + raise ValueError("Mutation did not fail at its semantic check: "+label+"\n"+run.stdout+run.stderr) + results.append({"mutation": label, "optimized": optimized, "rejection": expected}) + receipt = {"status": "PASS_CLIFFORD_ADVANCE_MUTATIONS", "cases": results} + path = HERE / "ADVANCES-MUTATIONS.json" + if write: + path.write_text(json.dumps(receipt, indent=2, sort_keys=True)+"\n", encoding="utf-8") + elif json.loads(path.read_text(encoding="utf-8")) != receipt: + raise ValueError("Committed advance mutation receipt mismatch") + print(receipt["status"]) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", action="store_true", help="Regenerate the advance mutation receipt") + audit(parser.parse_args().write) diff --git a/research/clifford-tensor-gram/certify.py b/research/clifford-tensor-gram/certify.py index 64fb8cb821..95c1cbf710 100644 --- a/research/clifford-tensor-gram/certify.py +++ b/research/clifford-tensor-gram/certify.py @@ -204,15 +204,16 @@ def execute(instructions): def cutoff_polynomial(n): require(type(n) is int and n >= 0, "Nonnegative axis count") - out = [Q(0), Q(1, 4), Q(1, 4), Q(1, 4), Q(1, 4)] + coefficients, denominator = [1], 1 for j in range(1, 2*n+1): - root = Q((-1)**j, 4**j) - new = [Q(0)]*(len(out)+4) - for f, coefficient in enumerate(out): - new[f] -= root*coefficient/(1-root) - new[f+4] += coefficient/(1-root) - out = new - return out + scale, sign = 4**j, (-1)**j + new = [0]*(len(coefficients)+1) + for degree, coefficient in enumerate(coefficients): + new[degree] -= sign*coefficient + new[degree+1] += scale*coefficient + coefficients = new + denominator *= scale-sign + return [Q(0)]+[Q(a, 4*denominator) for a in coefficients for _ in range(4)] def gram(matrices): diff --git a/research/clifford-tensor-gram/compact.py b/research/clifford-tensor-gram/compact.py new file mode 100644 index 0000000000..aa83f0f565 --- /dev/null +++ b/research/clifford-tensor-gram/compact.py @@ -0,0 +1,182 @@ +"""Certify complete native programs with quadratic sums and bitwise witnesses. + +Program support can grow exponentially. No base or tensor matrix is built. +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path +import sys + +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import certify as c +from check_witness import word_endpoint, add_term +from quadratic import Paths, partial_inner, inverse_circuit + + +def decision_widths(n): + if n == 0: + return list(range(1, 5)) + if n == 1: + return list(range(5, 9)) + return list(range(8*n-3, 8*n+5)) + + +def validate(problem): + c.require(type(problem) is dict and set(problem) == {"axes", "roles", "operators", "program", "reference"}, + "Native problem keys") + n, roles = problem["axes"], problem["roles"] + c.require(type(n) is int and n >= 0 and type(roles) is int and roles > 0, "Axes or roles") + c.require(type(problem["operators"]) is dict, "Native operators") + bank = {} + for name, circuit in problem["operators"].items(): + c.require(type(name) is str and bool(name) and type(circuit) is list, "Native operator format") + Paths(n, circuit) + bank[name, False] = circuit + bank[name, True] = inverse_circuit(n, circuit) + allowed = {"add": {"op", "src", "dst", "coefficient"}, + "scale": {"op", "dst", "coefficient"}, "swap": {"op", "src", "dst"}, + "apply": {"op", "dst", "symbol", "inverse"}, + "query": {"op", "src", "dst", "symbol", "inverse", "coefficient"}} + for instructions in (problem["program"], problem["reference"]): + c.require(type(instructions) is list, "Native instruction list") + for op in instructions: + c.require(type(op) is dict and op.get("op") in allowed, "Instruction object") + kind = op["op"] + c.require(set(op) <= allowed[kind], "Instruction keys") + c.require(type(op.get("dst")) is int and 0 <= op["dst"] < roles, "Destination role") + if kind in ("add", "query", "swap"): + c.require(type(op.get("src")) is int and 0 <= op["src"] < roles, "Source role") + if kind in ("query", "apply"): + c.require(type(op.get("symbol")) is str and op["symbol"] in problem["operators"] and + type(op.get("inverse", False)) is bool, "Operator reference") + if kind == "scale": + c.require("coefficient" in op, "Scale coefficient") + if "coefficient" in op: + c.scalar(op["coefficient"]) + return bank + + +def merge_terms(coefficients, paths): + """For unitary matrices, normalized inner product one means equality.""" + d = 1 << paths[0].n + inner = [[partial_inner(a, b)/d for b in paths] for a in paths] + representatives, merged = [], [] + for j, coefficient in enumerate(coefficients): + i = next((i for i, k in enumerate(representatives) if inner[k][j] == 1), None) + if i is None: + representatives.append(j) + merged.append(coefficient) + else: + merged[i] = merged[i]+coefficient + keep = [i for i, coefficient in enumerate(merged) if coefficient] + indices = [representatives[i] for i in keep] + return ([merged[i] for i in keep], [paths[j] for j in indices], + [[inner[i][j] for j in indices] for i in indices]) + + +def residuals(problem): + bank = validate(problem) + n = problem["axes"] + paths = {} + out = [] + for input_role in range(problem["roles"]): + left = word_endpoint(problem, problem["program"], input_role) + right = word_endpoint(problem, problem["reference"], input_role) + for output_role, (a, b) in enumerate(zip(left, right)): + words = a.copy() + for word, coefficient in b.items(): + add_term(words, word, -coefficient) + if not words: + continue + for word in words: + if word not in paths: + circuit = [gate for letter in reversed(word) for gate in bank[letter]] + paths[word] = Paths(n, circuit) + coefficients, operators, inner = merge_terms(list(words.values()), [paths[word] for word in words]) + if coefficients: + out.append((output_role, input_role, coefficients, operators, inner)) + return out + + +def entry_witness(coefficients, paths, inner, width): + """Choose each coordinate bit from two exact conditional norms.""" + n, d = paths[0].n, 1 << paths[0].n + initial = c.energy(coefficients, inner, width) + c.require(initial > 0, "Positive residual norm") + current = list(coefficients) + output, inputs = [], [] + partial_cache = {} + + def score(x, y, remaining): + key = tuple(x), tuple(y) + if key not in partial_cache: + partial_cache[key] = [[partial_inner(a, b, x, y) for b in paths] for a in paths] + partial = partial_cache[key] + value = sum((c.conjugate(a)*b*partial[i][j]*c.power(inner[i][j], remaining) + for i, a in enumerate(current) for j, b in enumerate(current)), c.G(0)) + c.require(value.imag == 0 and value.real >= 0, "Conditional squared norm") + return value.real + + for remaining in range(width-1, -1, -1): + x, y = [], [] + parent = d*c.energy(current, inner, remaining+1) + for coordinate in (x, y): + for _ in range(n): + children = [] + for bit in (0, 1): + coordinate.append(bit) + children.append(score(x, y, remaining)) + coordinate.pop() + c.require(sum(children) == parent, "Conditional norm split") + bit = int(children[1] > children[0]) + coordinate.append(bit) + parent = children[bit] + c.require(parent > 0, "Conditional witness vanished") + a, b = sum(bit << j for j, bit in enumerate(x)), sum(bit << j for j, bit in enumerate(y)) + output.append(a) + inputs.append(b) + current = [coefficient*path.entry(a, b) for coefficient, path in zip(current, paths)] + value = sum(current, c.G(0)) + c.require(c.norm2(value)*d**width >= initial, "Compact entry lower bound") + return {"width": width, "output_tuple": output, "input_tuple": inputs, "discrepancy": str(value)} + + +def analyze(n, coefficients, paths, inner): + polynomial = c.cutoff_polynomial(n) + mass = sum(c.norm2(a) for a in coefficients) + norms = c.bucket_energies(c.trace_buckets(coefficients, inner), 8*n+4) + c.require(sum(b*v for b, v in zip(polynomial[1:], norms)) == mass, "Compact trace interpolation") + c.require(max(norms) >= Q(75, 76)*mass, "Improved stable separation") + c.require(any(norms[f-1] for f in decision_widths(n)), "Reduced width criterion") + width = 1+max(range(len(norms)), key=norms.__getitem__) + return {"support": len(paths), "coefficient_norm_squared": str(mass), + "normalized_squared_norms": [str(x) for x in norms], + "witness": entry_witness(coefficients, paths, inner, width)} + + +def certify(problem): + entries = residuals(problem) + n = problem["axes"] + result = {"schema": "clifford-tensor-gram/native-v1", "axes": n, + "problem_sha256": hashlib.sha256(json.dumps(problem, sort_keys=True, separators=(",", ":")).encode()).hexdigest(), + "cutoff": 8*n+4, "decision_widths": decision_widths(n), + "equivalent_at_all_positive_widths": not entries, "nonzero_endpoint_entries": len(entries)} + if entries: + output, input_role, coefficients, paths, inner = entries[0] + result["failure"] = {"output_role": output, "input_role": input_role, + **analyze(n, coefficients, paths, inner)} + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("problem", type=Path) + args = parser.parse_args() + print(json.dumps(certify(json.loads(args.problem.read_text())), indent=2, sort_keys=True)) + + +if __name__ == "__main__": + main() diff --git a/research/clifford-tensor-gram/examples/native-64.certificate.json b/research/clifford-tensor-gram/examples/native-64.certificate.json new file mode 100644 index 0000000000..e2a64e17cc --- /dev/null +++ b/research/clifford-tensor-gram/examples/native-64.certificate.json @@ -0,0 +1,552 @@ +{ + "axes": 64, + "cutoff": 516, + "decision_widths": [ + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516 + ], + "equivalent_at_all_positive_widths": false, + "failure": { + "coefficient_norm_squared": "1", + "input_role": 0, + "normalized_squared_norms": [ + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1", + "1" + ], + "output_role": 1, + "support": 1, + "witness": { + "discrepancy": "1/4294967296", + "input_tuple": [ + 0 + ], + "output_tuple": [ + 0 + ], + "width": 1 + } + }, + "nonzero_endpoint_entries": 1, + "problem_sha256": "79b256e48a82a194351bda191bdf195a598cbd6bb4f855b78965216595f4ad34", + "schema": "clifford-tensor-gram/native-v1" +} diff --git a/research/clifford-tensor-gram/examples/native-64.json b/research/clifford-tensor-gram/examples/native-64.json new file mode 100644 index 0000000000..16577e87db --- /dev/null +++ b/research/clifford-tensor-gram/examples/native-64.json @@ -0,0 +1,613 @@ +{ + "axes": 64, + "operators": { + "H": [ + [ + "D", + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808 + ], + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ], + [ + "C", + 1, + 1 + ], + [ + "C", + 2, + 1 + ], + [ + "C", + 4, + 1 + ], + [ + "C", + 8, + 1 + ], + [ + "C", + 16, + 1 + ], + [ + "C", + 32, + 1 + ], + [ + "C", + 64, + 1 + ], + [ + "C", + 128, + 1 + ], + [ + "C", + 256, + 1 + ], + [ + "C", + 512, + 1 + ], + [ + "C", + 1024, + 1 + ], + [ + "C", + 2048, + 1 + ], + [ + "C", + 4096, + 1 + ], + [ + "C", + 8192, + 1 + ], + [ + "C", + 16384, + 1 + ], + [ + "C", + 32768, + 1 + ], + [ + "C", + 65536, + 1 + ], + [ + "C", + 131072, + 1 + ], + [ + "C", + 262144, + 1 + ], + [ + "C", + 524288, + 1 + ], + [ + "C", + 1048576, + 1 + ], + [ + "C", + 2097152, + 1 + ], + [ + "C", + 4194304, + 1 + ], + [ + "C", + 8388608, + 1 + ], + [ + "C", + 16777216, + 1 + ], + [ + "C", + 33554432, + 1 + ], + [ + "C", + 67108864, + 1 + ], + [ + "C", + 134217728, + 1 + ], + [ + "C", + 268435456, + 1 + ], + [ + "C", + 536870912, + 1 + ], + [ + "C", + 1073741824, + 1 + ], + [ + "C", + 2147483648, + 1 + ], + [ + "C", + 4294967296, + 1 + ], + [ + "C", + 8589934592, + 1 + ], + [ + "C", + 17179869184, + 1 + ], + [ + "C", + 34359738368, + 1 + ], + [ + "C", + 68719476736, + 1 + ], + [ + "C", + 137438953472, + 1 + ], + [ + "C", + 274877906944, + 1 + ], + [ + "C", + 549755813888, + 1 + ], + [ + "C", + 1099511627776, + 1 + ], + [ + "C", + 2199023255552, + 1 + ], + [ + "C", + 4398046511104, + 1 + ], + [ + "C", + 8796093022208, + 1 + ], + [ + "C", + 17592186044416, + 1 + ], + [ + "C", + 35184372088832, + 1 + ], + [ + "C", + 70368744177664, + 1 + ], + [ + "C", + 140737488355328, + 1 + ], + [ + "C", + 281474976710656, + 1 + ], + [ + "C", + 562949953421312, + 1 + ], + [ + "C", + 1125899906842624, + 1 + ], + [ + "C", + 2251799813685248, + 1 + ], + [ + "C", + 4503599627370496, + 1 + ], + [ + "C", + 9007199254740992, + 1 + ], + [ + "C", + 18014398509481984, + 1 + ], + [ + "C", + 36028797018963968, + 1 + ], + [ + "C", + 72057594037927936, + 1 + ], + [ + "C", + 144115188075855872, + 1 + ], + [ + "C", + 288230376151711744, + 1 + ], + [ + "C", + 576460752303423488, + 1 + ], + [ + "C", + 1152921504606846976, + 1 + ], + [ + "C", + 2305843009213693952, + 1 + ], + [ + "C", + 4611686018427387904, + 1 + ], + [ + "C", + 9223372036854775808, + 1 + ], + [ + "D", + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808 + ], + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ] + ], + "iI": [ + [ + "phase", + 1 + ] + ] + }, + "program": [ + { + "dst": 1, + "op": "query", + "src": 0, + "symbol": "H" + } + ], + "reference": [], + "roles": 2 +} diff --git a/research/clifford-tensor-gram/examples/native-65.certificate.json b/research/clifford-tensor-gram/examples/native-65.certificate.json new file mode 100644 index 0000000000..583db4f717 --- /dev/null +++ b/research/clifford-tensor-gram/examples/native-65.certificate.json @@ -0,0 +1,18 @@ +{ + "axes": 65, + "cutoff": 524, + "decision_widths": [ + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524 + ], + "equivalent_at_all_positive_widths": true, + "nonzero_endpoint_entries": 0, + "problem_sha256": "adfd67b1b9af2f1f70c0cc32e33dd5a98979beb1592b76c11af06f61e4430a30", + "schema": "clifford-tensor-gram/native-v1" +} diff --git a/research/clifford-tensor-gram/examples/native-65.json b/research/clifford-tensor-gram/examples/native-65.json new file mode 100644 index 0000000000..f663e259bd --- /dev/null +++ b/research/clifford-tensor-gram/examples/native-65.json @@ -0,0 +1,632 @@ +{ + "axes": 65, + "operators": { + "H": [ + [ + "D", + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808, + 18446744073709551616 + ], + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ], + [ + "C", + 1, + 1 + ], + [ + "C", + 2, + 1 + ], + [ + "C", + 4, + 1 + ], + [ + "C", + 8, + 1 + ], + [ + "C", + 16, + 1 + ], + [ + "C", + 32, + 1 + ], + [ + "C", + 64, + 1 + ], + [ + "C", + 128, + 1 + ], + [ + "C", + 256, + 1 + ], + [ + "C", + 512, + 1 + ], + [ + "C", + 1024, + 1 + ], + [ + "C", + 2048, + 1 + ], + [ + "C", + 4096, + 1 + ], + [ + "C", + 8192, + 1 + ], + [ + "C", + 16384, + 1 + ], + [ + "C", + 32768, + 1 + ], + [ + "C", + 65536, + 1 + ], + [ + "C", + 131072, + 1 + ], + [ + "C", + 262144, + 1 + ], + [ + "C", + 524288, + 1 + ], + [ + "C", + 1048576, + 1 + ], + [ + "C", + 2097152, + 1 + ], + [ + "C", + 4194304, + 1 + ], + [ + "C", + 8388608, + 1 + ], + [ + "C", + 16777216, + 1 + ], + [ + "C", + 33554432, + 1 + ], + [ + "C", + 67108864, + 1 + ], + [ + "C", + 134217728, + 1 + ], + [ + "C", + 268435456, + 1 + ], + [ + "C", + 536870912, + 1 + ], + [ + "C", + 1073741824, + 1 + ], + [ + "C", + 2147483648, + 1 + ], + [ + "C", + 4294967296, + 1 + ], + [ + "C", + 8589934592, + 1 + ], + [ + "C", + 17179869184, + 1 + ], + [ + "C", + 34359738368, + 1 + ], + [ + "C", + 68719476736, + 1 + ], + [ + "C", + 137438953472, + 1 + ], + [ + "C", + 274877906944, + 1 + ], + [ + "C", + 549755813888, + 1 + ], + [ + "C", + 1099511627776, + 1 + ], + [ + "C", + 2199023255552, + 1 + ], + [ + "C", + 4398046511104, + 1 + ], + [ + "C", + 8796093022208, + 1 + ], + [ + "C", + 17592186044416, + 1 + ], + [ + "C", + 35184372088832, + 1 + ], + [ + "C", + 70368744177664, + 1 + ], + [ + "C", + 140737488355328, + 1 + ], + [ + "C", + 281474976710656, + 1 + ], + [ + "C", + 562949953421312, + 1 + ], + [ + "C", + 1125899906842624, + 1 + ], + [ + "C", + 2251799813685248, + 1 + ], + [ + "C", + 4503599627370496, + 1 + ], + [ + "C", + 9007199254740992, + 1 + ], + [ + "C", + 18014398509481984, + 1 + ], + [ + "C", + 36028797018963968, + 1 + ], + [ + "C", + 72057594037927936, + 1 + ], + [ + "C", + 144115188075855872, + 1 + ], + [ + "C", + 288230376151711744, + 1 + ], + [ + "C", + 576460752303423488, + 1 + ], + [ + "C", + 1152921504606846976, + 1 + ], + [ + "C", + 2305843009213693952, + 1 + ], + [ + "C", + 4611686018427387904, + 1 + ], + [ + "C", + 9223372036854775808, + 1 + ], + [ + "C", + 18446744073709551616, + 1 + ], + [ + "D", + [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808, + 18446744073709551616 + ], + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ] + ], + "iI": [ + [ + "phase", + 1 + ] + ] + }, + "program": [ + { + "dst": 0, + "op": "apply", + "symbol": "H" + }, + { + "dst": 0, + "op": "apply", + "symbol": "H" + } + ], + "reference": [ + { + "dst": 0, + "op": "apply", + "symbol": "iI" + } + ], + "roles": 2 +} diff --git a/research/clifford-tensor-gram/quadratic.py b/research/clifford-tensor-gram/quadratic.py new file mode 100644 index 0000000000..a57ba96a01 --- /dev/null +++ b/research/clifford-tensor-gram/quadratic.py @@ -0,0 +1,256 @@ +"""Exact sums of native Clifford paths, with no state vector. + +The proof and cost bounds are in ADVANCES.md. Binary affine forms use bit +zero for the constant and bit j+1 for variable j. All phases are retained. +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +from itertools import combinations +from pathlib import Path +import sys + +sys.path.insert(0, str(Path(__file__).resolve().parent / "vendor")) +from fields import Gaussian as G + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def bits(mask): + while mask: + low = mask & -mask + yield low.bit_length()-1 + mask ^= low + + +def parity_sum(values): + out = 0 + for value in values: + out ^= value + return out + + +class Phase: + """A constant plus linear terms and even quadratic terms modulo four.""" + + def __init__(self, variables): + self.constant = 0 + self.linear = [0]*variables + self.cross = set() + + def toggle(self, i, j): + if i == j: + self.linear[i] = (self.linear[i]+2) % 4 + else: + term = tuple(sorted((i, j))) + self.cross.symmetric_difference_update((term,)) + + def add_parity(self, mask, coefficient): + constant = mask & 1 + variables = list(bits(mask >> 1)) + self.constant = (self.constant+coefficient*constant) % 4 + for i in variables: + self.linear[i] = (self.linear[i]+coefficient*(1-2*constant)) % 4 + if coefficient % 2: + self.cross.symmetric_difference_update(combinations(variables, 2)) + + def add_product(self, left, right): + """Add twice the product of two binary affine forms.""" + if left & 1: + self.add_parity(right, 2) + if right & 1: + self.add_parity(left ^ (left & 1), 2) + for i in bits(left >> 1): + for j in bits(right >> 1): + self.toggle(i, j) + + def substitute(self, mapping, variables): + out = Phase(variables) + out.constant = self.constant + for i, coefficient in enumerate(self.linear): + out.add_parity(mapping[i], coefficient) + for i, j in self.cross: + out.add_product(mapping[i], mapping[j]) + return out + + def restrict(self, equations): + pivots = {} + for equation in equations: + while equation > 1: + pivot = equation.bit_length()-1 + if pivot not in pivots: + pivots[pivot] = equation + break + equation ^= pivots[pivot] + if equation == 1: + return None + mapping, free = [], 0 + for j in range(1, len(self.linear)+1): + if j in pivots: + equation = pivots[j] ^ (1 << j) + value = (equation & 1) ^ parity_sum(mapping[k] for k in bits(equation >> 1)) + else: + free += 1 + value = 1 << free + mapping.append(value) + return self.substitute(mapping, free) + + def drop(self, j): + mapping = [0 if k == j else 1 << (k+1-(k > j)) for k in range(len(self.linear))] + return self.substitute(mapping, len(mapping)-1), mapping + + +def gauss_sum(phase, equations=()): + """Sum i**phase over all solutions of the binary equations.""" + phase = phase.restrict(equations) + if phase is None: + return G(0) + factor = G(1) + units = (G(1), G("i"), G(-1), G("-i")) + while phase.linear: + j = next((j for j, a in enumerate(phase.linear) if a % 2), None) + if j is not None: + a = phase.linear[j] + neighbors = [u if v == j else v for u, v in phase.cross if j in (u, v)] + phase, mapping = phase.drop(j) + phase.add_parity(parity_sum(mapping[k] for k in neighbors), -a) + factor = factor*(1+units[a]) + elif phase.cross: + j = min(phase.cross)[0] + constant = phase.linear[j]//2 + neighbors = [u if v == j else v for u, v in phase.cross if j in (u, v)] + phase, mapping = phase.drop(j) + equation = constant ^ parity_sum(mapping[k] for k in neighbors) + phase = phase.restrict((equation,)) + if phase is None: + return G(0) + factor = factor*2 + else: + if any(phase.linear): + return G(0) + factor = factor*(1 << len(phase.linear)) + phase.linear = [] + return factor*units[phase.constant] + + +def rank(rows): + pivots = {} + for row in rows: + while row: + j = row.bit_length()-1 + if j not in pivots: + pivots[j] = row + break + row ^= pivots[j] + return len(pivots) + + +class Paths: + """Build a quadratic path sum from the frozen native gate grammar.""" + + def __init__(self, n, circuit): + need(type(n) is int and n >= 0, "Nonnegative axis count") + self.n = n + self.phase = Phase(n) + self.inputs = [1 << (j+1) for j in range(n)] + self.outputs = self.inputs.copy() + self.factor = G(1) + limit = 1 << n + + def mask(x): + return type(x) is int and 0 <= x < limit + + for gate in circuit: + need(type(gate) in (tuple, list) and bool(gate), "Native gate") + kind = gate[0] + if kind == "P": + need(len(gate) == 2 and len(gate[1]) == n and all(mask(x) for x in gate[1]) + and rank(gate[1]) == n, "Invertible native permutation") + self.outputs = [parity_sum(self.outputs[j] for j in bits(row)) for row in gate[1]] + elif kind == "X": + need(len(gate) == 2 and mask(gate[1]), "Native translation") + self.outputs = [x ^ ((gate[1] >> j) & 1) for j, x in enumerate(self.outputs)] + elif kind == "D": + need(len(gate) == 3 and len(gate[1]) == len(gate[2]) == n, "Native diagonal shape") + rows, alpha = gate[1:] + need(all(mask(x) for x in rows) and all(type(a) is int and 0 <= a < 4 for a in alpha), + "Native diagonal entries") + need(all((rows[i] >> j) & 1 == (rows[j] >> i) & 1 for i in range(n) for j in range(n)) + and all(alpha[j] % 2 == (rows[j] >> j) & 1 for j in range(n)), "Native diagonal parity") + for j, a in enumerate(alpha): + self.phase.add_parity(self.outputs[j], a) + for i, row in enumerate(rows): + for j in bits(row >> (i+1)): + self.phase.add_product(self.outputs[i], self.outputs[j+i+1]) + elif kind == "C": + need(len(gate) == 3 and mask(gate[1]) and type(gate[2]) is int and gate[2] in (-1, 1), + "Native C gate") + q, sign = gate[1:] + self.phase.linear.append((-sign) % 4) + variable = 1 << len(self.phase.linear) + self.outputs = [x ^ (variable if q >> j & 1 else 0) for j, x in enumerate(self.outputs)] + self.factor = self.factor*G.pair(1, sign)/2 + elif kind == "phase": + need(len(gate) == 2 and type(gate[1]) is int, "Native global phase") + self.phase.constant = (self.phase.constant+gate[1]) % 4 + else: + raise ValueError("Unknown native gate") + + def entry(self, output, input_index): + need(type(output) is int and type(input_index) is int and + 0 <= output < 1 << self.n and 0 <= input_index < 1 << self.n, "Base coordinate") + equations = [x ^ ((input_index >> j) & 1) for j, x in enumerate(self.inputs)] + equations += [x ^ ((output >> j) & 1) for j, x in enumerate(self.outputs)] + return self.factor*gauss_sum(self.phase, equations) + + def trace(self): + return self.factor*gauss_sum(self.phase, [x ^ y for x, y in zip(self.inputs, self.outputs)]) + + +def partial_inner(left, right, output_prefix=(), input_prefix=()): + """Sum conjugate(left[x,y])*right[x,y] over the unspecified bits.""" + need(left.n == right.n, "Common axis count") + n = left.n + need(len(output_prefix) <= n and len(input_prefix) <= n and + all(type(b) is int and b in (0, 1) for b in (*output_prefix, *input_prefix)), "Coordinate prefix") + a, b = len(left.phase.linear), len(right.phase.linear) + phase = Phase(a+b) + phase.constant = (-left.phase.constant+right.phase.constant) % 4 + phase.linear = [(-x) % 4 for x in left.phase.linear]+right.phase.linear + phase.cross = left.phase.cross | {(i+a, j+a) for i, j in right.phase.cross} + + def shift(mask): + return (mask & 1) | ((mask >> 1) << (a+1)) + + equations = [x ^ shift(y) for x, y in zip(left.inputs, right.inputs)] + equations += [x ^ shift(y) for x, y in zip(left.outputs, right.outputs)] + equations += [left.outputs[j] ^ x for j, x in enumerate(output_prefix)] + equations += [left.inputs[j] ^ x for j, x in enumerate(input_prefix)] + factor = G.pair(left.factor.real, -left.factor.imag)*right.factor + return factor*gauss_sum(phase, equations) + + +def inverse_circuit(n, circuit): + """Invert a circuit after Paths has checked its gate data.""" + out = [] + for gate in reversed(circuit): + kind = gate[0] + if kind == "P": + rows = [x | (1 << (n+j)) for j, x in enumerate(gate[1])] + for j in range(n): + k = next(k for k in range(j, n) if rows[k] >> j & 1) + rows[j], rows[k] = rows[k], rows[j] + for k in range(n): + if k != j and rows[k] >> j & 1: + rows[k] ^= rows[j] + out.append((kind, tuple(x >> n for x in rows))) + elif kind == "D": + out.append((kind, gate[1], tuple((-a) % 4 for a in gate[2]))) + elif kind == "C": + out.append((kind, gate[1], -gate[2])) + elif kind == "phase": + out.append((kind, -gate[1])) + else: + out.append(gate) + return out diff --git a/research/clifford-tensor-gram/verify_advances.py b/research/clifford-tensor-gram/verify_advances.py new file mode 100644 index 0000000000..22437672d9 --- /dev/null +++ b/research/clifford-tensor-gram/verify_advances.py @@ -0,0 +1,288 @@ +"""Replay the width refinements and compact native computation. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +import argparse +from collections import deque +from fractions import Fraction as Q +import hashlib +import json +from pathlib import Path +import random +import sys + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import verify as v +import compact as compact +import quadratic as q + + +def saved(name, data, write): + path = HERE / name + encoded = json.dumps(data, indent=2, sort_keys=True)+"\n" + if write: + path.write_text(encoded, encoding="utf-8") + else: + v.need(path.read_text(encoding="utf-8") == encoded, "Committed advance receipt: "+name) + + +def modular_inverse(matrix, p): + n = len(matrix) + rows = [row[:] + [int(i == j) for j in range(n)] for i, row in enumerate(matrix)] + for j in range(n): + k = next(k for k in range(j, n) if rows[k][j]) + rows[k], rows[j] = rows[j], rows[k] + scale = pow(rows[j][j], -1, p) + rows[j] = [x*scale % p for x in rows[j]] + for k in range(n): + if k != j: + scale = rows[k][j] + rows[k] = [(x-scale*y) % p for x, y in zip(rows[k], rows[j])] + return [row[n:] for row in rows] + + +def one_axis_certificate(group, write): + p, root = 65537, 256 + v.need(all(p % d for d in range(2, 257)) and root*root % p == p-1, "Prime field") + inner = v.c.gram(group) + + def reduce(z): + def part(x): + return x.numerator*pow(x.denominator, -1, p) + return (part(z.real)+root*part(z.imag)) % p + + matrix = [[sum(pow(reduce(z), f, p) for f in range(5, 9)) % p for z in row] for row in inner] + digest = hashlib.sha256(json.dumps([[[str(z) for z in row] for row in a] for a in group]).encode()).hexdigest() + path = HERE / "ONE-AXIS-RANK.json" + if write: + inverse = modular_inverse(matrix, p) + else: + inverse = json.loads(path.read_text())["inverse"] + v.need(type(inverse) is list and len(inverse) == 96 and all(type(row) is list and len(row) == 96 and + all(type(x) is int and 0 <= x < p for x in row) for row in inverse), "Modular inverse shape") + for i, row in enumerate(matrix): + for j, column in enumerate(zip(*inverse)): + v.need(sum(x*y for x, y in zip(row, column)) % p == int(i == j), "One-axis inverse product") + certificate = {"prime": p, "image_of_i": root, "widths": [5, 6, 7, 8], + "group_sha256": digest, "rank": 96, "inverse": inverse} + saved("ONE-AXIS-RANK.json", certificate, write) + return {key: value for key, value in certificate.items() if key != "inverse"} + + +def check_forms(rng): + count = 0 + units = (q.G(1), q.G("i"), q.G(-1), q.G("-i")) + for m in range(8): + for _ in range(80): + phase = q.Phase(m) + phase.constant = rng.randrange(4) + phase.linear = [rng.randrange(4) for _ in range(m)] + phase.cross = {(i, j) for i in range(m) for j in range(i+1, m) if rng.randrange(2)} + equations = [rng.randrange(1 << (m+1)) for _ in range(rng.randrange(m+1))] + expected = q.G(0) + for x in range(1 << m): + if any((e & 1) ^ (((e >> 1) & x).bit_count() % 2) for e in equations): + continue + exponent = phase.constant+sum(a*((x >> i) & 1) for i, a in enumerate(phase.linear)) + exponent += 2*sum(((x >> i) & 1)*((x >> j) & 1) for i, j in phase.cross) + expected = expected+units[exponent % 4] + v.need(q.gauss_sum(phase, equations) == expected, "Exhaustive constrained quadratic sum") + count += 1 + return count + + +def native_words(): + bank = {v.c.key(v.c.identity(2)): v.native.ident(1)} + queue = deque(bank.values()) + generators = (v.native.cgate(1, 1), v.native.diag(1, (1,))) + while queue: + op = queue.popleft() + for generator in generators: + new = op.then(generator) + label = v.c.key(v.source_matrix(new)) + if label not in bank: + bank[label] = new + queue.append(new) + v.need(len(bank) == 96, "Native word group closure") + return list(bank.values()) + + +def check_native(rng): + words = native_words() + for n in (2, 3): + for _ in range(16): + op = v.native.ident(n) + for _ in range(8): + raw = [rng.randrange(1 << n) for _ in range(n)] + rows = [sum(((raw[min(i, j)] >> max(i, j)) & 1) << j for j in range(n)) for i in range(n)] + alpha = [((rows[i] >> i) & 1)+2*rng.randrange(2) for i in range(n)] + source, target = rng.sample(range(n), 2) + permutation = [1 << j for j in range(n)] + permutation[target] ^= 1 << source + op = op.then(v.native.diag(n, rows, alpha)).then(v.native.perm(n, permutation)) + op = op.then(v.native.cgate(n, rng.randrange(1 << n), rng.choice((-1, 1)))) + op = op.then(v.native.xgate(n, rng.randrange(1 << n))) + words.append(op) + entries, traces, partials = 0, 0, 0 + for op in words: + matrix = v.source_matrix(op) + paths = q.Paths(op.n, op.circuit) + inverse = q.Paths(op.n, q.inverse_circuit(op.n, op.circuit)) + star = v.c.adjoint(matrix) + d = 1 << op.n + v.need(paths.trace() == sum((matrix[j][j] for j in range(d)), q.G(0)), "Native trace phase") + traces += 1 + for x in range(d): + for y in range(d): + v.need(paths.entry(x, y) == matrix[x][y] and inverse.entry(x, y) == star[x][y], "Native entry phase") + entries += 2 + for k in range(op.n+1): + xp = [rng.randrange(2) for _ in range(k)] + yp = [rng.randrange(2) for _ in range(op.n-k)] + expected = sum((v.c.conjugate(matrix[x][y])*star[x][y] + for x in range(d) for y in range(d) + if all(((x >> j) & 1) == bit for j, bit in enumerate(xp)) and + all(((y >> j) & 1) == bit for j, bit in enumerate(yp))), q.G(0)) + v.need(q.partial_inner(paths, inverse, xp, yp) == expected, "Native partial inner product") + partials += 1 + return {"native_words": len(words), "native_entries": entries, "native_traces": traces, + "partial_inner_products": partials} + + +def check_programs(rng): + count, witnesses, relations = 0, 0, 0 + for n in range(3): + ops = {"I": v.native.ident(n), "iI": v.native.Op(n, v.native.identity(n), [("phase", 1)])} + if n: + ops.update(C=v.native.cgate(n, (1 << n)-1), H=v.native.hadamard(n, range(n)), + S=v.native.diag(n, tuple(1 << j for j in range(n)))) + for _ in range(16): + program = [] + for _ in range(8): + kind = rng.choice(("query", "apply", "add", "scale", "swap")) + instruction = {"op": kind, "dst": rng.randrange(3)} + if kind in ("query", "add", "swap"): + instruction["src"] = rng.randrange(3) + if kind in ("query", "apply"): + instruction.update(symbol=rng.choice(list(ops)), inverse=bool(rng.randrange(2))) + if kind in ("scale", "query", "add"): + instruction["coefficient"] = rng.choice(("1", "-1", "i", "1/2")) + program.append(instruction) + problem = {"axes": n, "roles": 3, "operators": {s: o.circuit for s, o in ops.items()}, + "program": program, "reference": []} + dense = v.example({s: v.source_matrix(o) for s, o in ops.items()}, program, axes=n) + _, expected_entries = v.c.compile_difference(dense) + expected = {(output, source): {v.c.key(a): coefficient for coefficient, a in terms} + for output, source, terms in expected_entries} + actual = {} + for output, source, coefficients, paths, _ in compact.residuals(problem): + matrices = [tuple(tuple(path.entry(x, y) for y in range(1 << n)) for x in range(1 << n)) for path in paths] + actual[output, source] = {v.c.key(a): coefficient for coefficient, a in zip(coefficients, matrices)} + v.need(actual == expected, "Compact complete endpoint") + certificate = compact.certify(problem) + v.need(certificate["equivalent_at_all_positive_widths"] == (not expected), "Compact decision") + if "failure" in certificate: + f = certificate["failure"] + w = f["witness"] + value = v.independent.discrepancy(dense, f["output_role"], f["input_role"], w["output_tuple"], w["input_tuple"]) + v.need(value != 0 and str(value) == w["discrepancy"], "Compact literal witness") + witnesses += 1 + count += 1 + for n in (1, 2, 3): + ops = {"C": v.native.cgate(n, (1 << n)-1), "H": v.native.hadamard(n, range(n)), + "phase": v.native.Op(n, v.native.identity(n), [("phase", n)])} + cases = [([{"op": "apply", "dst": 2, "symbol": "C"}]*4, []), + ([{"op": "apply", "dst": 1, "symbol": "H"}]*2, + [{"op": "apply", "dst": 1, "symbol": "phase"}]), + ([{"op": "apply", "dst": 0, "symbol": "C"}, + {"op": "apply", "dst": 0, "symbol": "C", "inverse": True}], [])] + for program, reference in cases: + problem = {"axes": n, "roles": 3, "operators": {s: o.circuit for s, o in ops.items()}, + "program": program, "reference": reference} + dense = v.example({s: v.source_matrix(o) for s, o in ops.items()}, program, reference, axes=n) + v.need(compact.certify(problem)["equivalent_at_all_positive_widths"] and + v.c.certify(dense)["equivalent_at_all_positive_widths"], "Compact exact native relation") + relations += 1 + phase_trap = {"axes": 1, "roles": 1, "operators": {"iI": [("phase", 1)]}, + "program": [{"op": "apply", "dst": 0, "symbol": "iI"}], + "reference": [{"op": "scale", "dst": 0, "coefficient": "i"}]} + norms = compact.certify(phase_trap)["failure"]["normalized_squared_norms"] + v.need(norms[0] == "0" and Q(norms[1]) > 0, "Compact phase stays inside tensor") + return {"complete_programs": count, "literal_witnesses": witnesses, "exact_native_relations": relations, + "scalar_phase_traps": 1} + + +def verify(write=False): + rng = random.Random(5376) + code = {q.parity_sum(row for j, row in enumerate((255, 240, 204, 170)) if mask >> j & 1) for mask in range(16)} + v.need(len(code) == 16 and all(x.bit_count() % 4 == 0 for x in code), "Doubly even code") + for y in range(256): + v.need(sum((-1)**((x & y).bit_count() % 2) for x in code) == 16*int(y in code), "Code Fourier invariant") + h = v.source_matrix(v.native.hadamard(1, [0])) + v.need(h == ((q.G("1/2+1/2i"), q.G("1/2+1/2i")), + (q.G("1/2+1/2i"), q.G("-1/2-1/2i"))) and v.c.power(h[0][0], 8) == q.G("1/16"), + "Eight-copy native phase") + previous = None + for n in range(65): + polynomial = v.c.cutoff_polynomial(n) + norm = sum(abs(x) for x in polynomial) + v.need(norm <= Q(77, 75) and sum(x for x in polynomial if x > 0) <= Q(76, 75), "Improved filter bound") + descending = list(reversed(polynomial[1::4])) + v.need(all((x > 0) == ((-1)**(j*(j+3)//2) == 1) for j, x in enumerate(descending)), "Filter coefficient signs") + if n >= 2: + v.need(norm < previous, "Filter norm decreases") + previous = norm + forms = check_forms(rng) + rank_certificate = one_axis_certificate(v.group_one_axis(), write) + native = check_native(rng) + programs = check_programs(rng) + large = [] + for n in (64, 65): + h = v.native.hadamard(n, range(n)) + operators = {"H": h.circuit, "iI": [("phase", 1)]} + if n == 64: + program = [{"op": "query", "src": 0, "dst": 1, "symbol": "H"}] + reference = [] + else: + program = [{"op": "apply", "dst": 0, "symbol": "H"}]*2 + reference = [{"op": "apply", "dst": 0, "symbol": "iI"}] + problem = {"axes": n, "roles": 2, "operators": operators, "program": program, "reference": reference} + certificate = compact.certify(problem) + v.need(certificate["equivalent_at_all_positive_widths"] == (n == 65), "Large native decision") + if n == 64: + v.need(certificate["failure"]["witness"] == {"width": 1, "output_tuple": [0], "input_tuple": [0], + "discrepancy": "1/4294967296"}, "Large literal Hadamard entry") + saved(f"examples/native-{n}.json", problem, write) + saved(f"examples/native-{n}.certificate.json", certificate, write) + large.append({"axes": n, "base_dimension": str(1 << n), "equivalent": n == 65}) + controls = [] + for label, function in [ + ("singular permutation", lambda: q.Paths(2, [("P", [1, 1])])), + ("diagonal parity", lambda: q.Paths(1, [("D", [1], [0])])), + ("asymmetric diagonal", lambda: q.Paths(2, [("D", [2, 0], [0, 0])])), + ("wrong C sign", lambda: q.Paths(1, [("C", 1, 0)])), + ("unknown gate", lambda: q.Paths(1, [("H", 0)])), + ("coordinate out of range", lambda: q.Paths(1, []).entry(2, 0)), + ("invalid prefix", lambda: q.partial_inner(q.Paths(1, []), q.Paths(1, []), [2])), + ("negative axes", lambda: q.Paths(-1, [])), + ]: + try: + function() + except ValueError: + controls.append(label) + else: + raise ValueError("Accepted control: "+label) + receipt = {"status": "PASS_CLIFFORD_ADVANCES_NO_NEW_KAPPA", "general_test_widths": "8n-3 through 8n+4 for n>=2", + "stable_separation": "75/76", "filter_axis_counts": 65, "code_fourier_values": 256, + "one_axis": rank_certificate, "exhaustive_quadratic_forms": forms, + **native, **programs, "large_native_programs": large, "controls": controls} + saved("ADVANCES-RESULT.json", receipt, write) + print(receipt["status"]) + return receipt + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--write", action="store_true", help="Regenerate the advance receipts") + verify(parser.parse_args().write) From d7cef9f2678e8eac78bd301974a73643b083f14e Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 17:31:52 -0500 Subject: [PATCH 3/5] Verify selected provider and exclude every fixed same-role pair fusion --- research/clifford-tensor-gram/PROVIDER.md | 277 +++++++++++++ research/clifford-tensor-gram/README.md | 23 +- research/clifford-tensor-gram/SOURCES.json | 76 +++- research/clifford-tensor-gram/TASK.json | 30 +- research/clifford-tensor-gram/VERIFY.json | 25 ++ research/clifford-tensor-gram/provider.py | 392 ++++++++++++++++++ .../provider/FUSIONS.json.gz | Bin 0 -> 240388 bytes .../provider/HELPERS.json.gz | Bin 0 -> 35042 bytes .../provider/MAIN-ADAPTERS.json | 1 + .../clifford-tensor-gram/provider/NOTICE.md | 55 +++ .../provider/PAID.jsonl.gz | Bin 0 -> 125818 bytes .../provider/PHASES.json.gz | Bin 0 -> 23356 bytes .../provider/RESEARCH-NOTES.md | 82 ++++ .../clifford-tensor-gram/provider/RESULT.json | 1 + .../provider/SOURCES.json | 40 ++ .../provider/WITNESSES.json | 1 + .../provider/WORD.json.gz | Bin 0 -> 207673 bytes .../provider/generate_adapters.py | 47 +++ .../clifford-tensor-gram/verify_provider.py | 310 ++++++++++++++ 19 files changed, 1351 insertions(+), 9 deletions(-) create mode 100644 research/clifford-tensor-gram/PROVIDER.md create mode 100644 research/clifford-tensor-gram/provider.py create mode 100644 research/clifford-tensor-gram/provider/FUSIONS.json.gz create mode 100644 research/clifford-tensor-gram/provider/HELPERS.json.gz create mode 100644 research/clifford-tensor-gram/provider/MAIN-ADAPTERS.json create mode 100644 research/clifford-tensor-gram/provider/NOTICE.md create mode 100644 research/clifford-tensor-gram/provider/PAID.jsonl.gz create mode 100644 research/clifford-tensor-gram/provider/PHASES.json.gz create mode 100644 research/clifford-tensor-gram/provider/RESEARCH-NOTES.md create mode 100644 research/clifford-tensor-gram/provider/RESULT.json create mode 100644 research/clifford-tensor-gram/provider/SOURCES.json create mode 100644 research/clifford-tensor-gram/provider/WITNESSES.json create mode 100644 research/clifford-tensor-gram/provider/WORD.json.gz create mode 100644 research/clifford-tensor-gram/provider/generate_adapters.py create mode 100644 research/clifford-tensor-gram/verify_provider.py diff --git a/research/clifford-tensor-gram/PROVIDER.md b/research/clifford-tensor-gram/PROVIDER.md new file mode 100644 index 0000000000..b88cd3de58 --- /dev/null +++ b/research/clifford-tensor-gram/PROVIDER.md @@ -0,0 +1,277 @@ +# Complete selected-provider check and a pair-fusion obstruction + +The new verifier passes the complete local provider selected from PR4610. +It also excludes **30,328 fixed pair fusions at every positive tensor width**. +This contribution does not increase kappa. The paid profile does not change. + +The provider is the exact word at main commit +`1ec1119972c9aefe42525172d07b332fcff81cb4`. Its author head is +`20bb93cd990d2ff683e4d0fc56b87a42cd5d3296`. The paid catalogue comes from +the independent PR5241 admission at +`13efb5fc5f3b7c14ec2cfa181dd9eb6480972cf2`. +`provider/SOURCES.json` binds each copied input to its source Git object and +SHA-256. Frozen source files are not changed. + +## Result and coverage + +Each direction has 21,449 source events, 632 independent persistent inputs, +and one independent owned input. Every persistent output is checked. The owned +output must be zero. All 408 helper inputs remain arbitrary. Their outputs +have their specified native frame changes; they are not assumed to be zero. + +The new quadratic-sum engine checks 7,000 oriented recipe classes: + +| Class | Checks | Coverage | +| --- | ---: | --- | +| Paid transitions | 5,710 | All 6,596 event instances across both directions | +| Native warps | 360 | All 480 signed event instances | +| Helper boundaries | 34 | All 408 roles in each direction | +| Main adapters | 896 | All 448 adapter events in each direction | + +These counts refer to labelled classes. They do not count distinct matrices. +For two unitary circuits U,V on D=512 coordinates, the checker requires +`tr(U* V)/D = 1`. Here `*` is the conjugate transpose. This equality proves +U=V, including absolute phase. Each circuit then has the same tensor power at +every positive width. A recipe's stored PASS status is not an input to this +test. The main adapter generator only proposes data. Acceptance does not +import or execute that generator or its native compiler. + +The complete physical programs are also passed directly to `compact.certify`. +Their references contain every input and output role. The result is equality +at every positive width, with no nonzero endpoint entry. The complete sparse +expansion gives these measured support counts: + +| Direction | Scalar/native instructions | Native symbols | Peak total terms | Peak terms in one row | Final terms | +| --- | ---: | ---: | ---: | ---: | ---: | +| Forward | 24,827 | 1,297 | 22,331 | 156 | 744 | +| Backward | 24,819 | 1,297 | 12,930 | 148 | 744 | + +These are counts for this fixed provider. General program support can still +grow exponentially. No dense tensor matrix is made. The separate check of +the displayed failure witnesses uses base-space vectors with 512 entries. + +## Exact boundary and translation + +Let F_U be the source canonical frame, C_q the source Gaussian gate, and +F_full the full frame. Write E_i for the entrance frame of persistent role i +and H_i for its exit frame. In the forward orientation: + +- For 0<=i<112, E_i=C_(q_i) and H_i=F_full. +- For 112<=i<224, E_i=I and H_i=F_full C_(q_(i-112))^-1. +- For 224<=i<632, E_i=F_(start_i) and H_i=F_(final_i). + +The backward orientation uses the entrywise conjugate of each native frame +and operator. A negative warp uses the inverse before this conjugation. +Conjugation is not replaced by the adjoint. + +In these logical coordinates, the forward endpoint is +`L_(112+j) <- L_(112+j) + L_j` for 0<=j<112. The backward endpoint is +`L_j <- L_j - L_(112+j)`. All other persistent logical coordinates return +unchanged. Thus the persistent physical endpoint is + + diag(H_i^tensor f) T diag((E_i^-1)^tensor f). + +This operator is invertible for every positive f. The owned input is erased, +and its output is zero. All scalar coefficients remain outside tensor powers. + +The importer expands a paid transition a->b as F_b F_a^-1. A signed warp +becomes F_b K_signed F_a^-1. A scalar ADD retains its literal rational +coefficient. Owned CLEAR becomes scalar multiplication by zero. Owned COPY +becomes CLEAR followed by ADD. Borrowed CLEAR and COPY are rejected. + +The 448 main adapter markers are included. An entrance adapter is +F_start E_i^-1. An exit adapter is H_i F_final^-1. There is a source detail +that must not be hidden: some identity exit markers precede the final climb. +The importer permits a marker at a different current frame only when the +adapter circuit is exactly the identity. A nonidentity marker must use its +actual current frame. + +The sparse interpreter expands all independent inputs together. The existing +`compact.certify` interpreter expands one input at a time. Both complete +endpoints agree with the same explicit physical reference. The earlier +PR5241 free-group argument already proves this provider's algebraic lift. +The new contribution here is an executable application of the new Gram +engine, complete support measurements, and the obstruction below. It is not +a priority claim for that earlier lift argument. + +## Fusion class + +For each persistent role, list its paid climbs in chronological order. Take +every pair in this list, at all positive ranks. Paid events on the same role +or on other roles may occur between the two climbs. Native warps, scalar contacts, +adapters and complete owned-center windows may also occur between them. +There are **7,582 pairs per direction**. No adjacency or common middle-frame +condition is imposed. The domain includes all 2,658 adjacent pairs, including +all 1,363 adjacent rank-one pairs, per direction. + +Let A and B be the literal physical operators of the first and second climb. +Let T be the complete interval between them. The original local map is BTA. +Two replacements are tested: + +- Early fusion: apply BA at the first slot and remove the second slot. The + local map becomes TBA. +- Late fusion: remove the first slot and apply BA at the second slot. The + local map becomes BAT. + +Every other physical operation is fixed. In particular, no scalar contact +is changed to a new native query. The product BA is used with its exact +phase, even when the middle frames differ. This gives 2*2*7582=30,328 candidate +rewrites. The domain does not include a new intermediate placement, a +changed pair of operators, simultaneous fusions, or a pair on different roles. + +The initial invoice opportunity was two H1 jobs replaced by one H2 job. +For a legal replacement in each of 18 local calls, the complete delta would +be -36 H1 +18 H2. This is the physical-pair gap in the PR5243 handoff. +The proof also applies to the other rank pairs. The endpoint obstruction +rejects every candidate before a new complete pricing step. +No such saving is charged to the complete kappa calculation. + +## Closed-cut lemma + +At every persistent climb in this source, the owned register is either +unused and about to be initialized before any read, or is zero after a +completed lifetime. The word audit checks this property. It also checks +that only the owned register can be overwritten and that all reads occur +after initialization. + +Set the unused owned entry to zero. At either end of each candidate interval, +the state is therefore determined by the 632 persistent fields. Each prefix, +interval and suffix defines a square linear map on those fields. This remains +true when the interval contains a whole owned-center window. + +For a fixed positive f, write the complete baseline as S(BTA)P on persistent +fields. The complete endpoint above is invertible. A product of square +matrices over Q(i) can be invertible only when every factor is invertible. +Thus P and S are invertible. It follows that + + S(C-BTA)P = 0 if and only if C-BTA = 0. + +A nonzero interval defect therefore survives to the complete provider's +return. This argument does not require the persistent prefix or suffix to +be unitary. It does not carry a numerical norm bound through those maps. +It would fail at a cut with live owned information omitted from the state. + +## A quantitative contact obstruction + +Use the moving logical frames at the interval boundaries. Let M be the +interval's logical matrix. Frame changes and adapter changes are identity +maps in these coordinates. Scalar instructions remain scalar instructions. +Each native warp is the corresponding phase-bearing K operator. + +For each candidate, the saved certificate gives an off-diagonal block of M +that touches the changed role r. That block is exactly + + M_(r,j) = q U^tensor f or M_(j,r) = q U^tensor f, j != r, + +where q is a nonzero rational and U is a signed word of native unitary maps. +The coefficient is obtained by exact free-group arithmetic. It is not a +sampled equality and holds for all positive f. The second replay checks every +saved coefficient with the earlier independent-input engine. A separate +role-list census checks that the saved pairs cover the entire declared class. + +For early fusion, let G1 and G2 be the diagonal physical frames immediately +after A and immediately before B. Let G3 be the frame immediately after B. +Then the changed logical interval is L M R, where + + L = G3^-1 G2, + R = G1^-1 B G1. + +Both corrections act only on role r. Their r-blocks are conjugates of B^-1 +and B. For late fusion the corresponding corrections have r-blocks conjugate +to A and A^-1. These formulas do not require the two middle frames to agree. + +On the saved off-diagonal block, only one correction acts. The defect is a +unitary left or right multiple of q(V^tensor f-I), where V is a conjugate of +the relevant paid operator or its inverse. Let + + tau = tr(V)/D, D=512. + +The normalized squared Hilbert-Schmidt defect of this block is exactly + + q^2 (2 - 2 Re(tau^f)). + +The new quadratic-sum engine calculates every required trace with exact +Gaussian rational arithmetic. In every case it checks + + Re(tau) <= 1/2, |tau|^2 <= 1/2. + +For f=1, the first inequality gives Re(tau^f)<=1/2. For f>=2, the second +gives |tau|^f<=1/2. The same bounds hold for the inverse, whose trace is the +complex conjugate. Consequently every saved block has normalized squared +defect at least **q^2>0 at every positive width**. The closed-cut lemma lifts +this obstruction to the complete provider. +The smallest saved q^2 is **1/256**, which is a uniform lower bound on the +selected cut-block defects. It is not a lower bound on the full-provider +defect after multiplication by its prefix and suffix. + +`provider/FUSIONS.json.gz` contains all 15,164 contact certificates, the exact +event positions, ranks, four frame IDs, native word, scalar coefficient and two +traces. Each certificate excludes the early and late replacement. +`provider/WITNESSES.json` also gives twelve literal width-one basis witnesses +from the complete physical programs. They cover both directions, both +placements, equal and unequal middle frames, and nonadjacent pairs with a +higher-rank climb. The native source +amplitude evaluator checks each value without Gram traces or quadratic sums. + +## Verification and limits + +From the repository root, with Python 3.12 and the standard library: + +```sh +python3.12 -I -W error -B research/clifford-tensor-gram/verify_provider.py +python3.12 -I -O -W error -B research/clifford-tensor-gram/verify_provider.py +``` + +Expected final line: + +```text +PASS_COMPLETE_PR4610_PROVIDER_AND_30328_FUSION_OBSTRUCTIONS +``` + +The replay checks source bytes, every recipe class, both complete programs, +the complete pair census, every contact coefficient, exact trace bounds and +the full-program witnesses. Negative controls cover an omitted paid class, +a wrong absolute phase, borrowed erasure, a cut with live owned data and a +missing contact. An identity interval is a positive control: no obstruction +is inferred merely from the presence of two paid operations. + +The local paid profile remains `{1:2201,2:412,3:510,4:127,5:40,8:8}`: 3,298 jobs +and rank mass 5,327 per direction. The complete selected kappa remains +0.0030217758. This work does not reprice the controller, run a new outer +admission, or change the selected record. The five selected framework +assumptions remain. The result covers this ideal finite local provider and +its tensor substitution; it does not prove physical tape, precision, stock, +analytic recovery or the complete multiplication theorem. + +The obstruction does not exclude changed contacts, joint use of several +fields, simultaneous rewrites, interior placement, owned-center pairs, +new operators or later source providers. In particular, it does not +subsume the separate frozen eight-relation row argument in PR5393. + +## Open next questions + +1. Can a changed scalar contact supply the missing transformed operand at a + lower complete cost? Start from a saved contact certificate. Replace that + actual contact, retain dirty restoration, and price the replacement query. +2. Can several coordinated fusions cancel their endpoint defects? Start with + a small explicit set of saved pairs. Run the complete native endpoint test; + individual rejection does not prove joint rejection. +3. Can the eight-width criterion help with a complete program whose endpoint + cannot first be reduced by free-group identities? This provider gives a + manageable support example, not a bound for other programs. + +## Credit + +Cao Yifan / intqwq supplies the selected PR4610 construction. Chris R / +Clear1nsight supplies the PR5241 independent paid catalogue, complete admission +and earlier quantified lift proof. Cinna Davis / 1337isnot1337 supplies the +retained controller, native warp and helper chain. zxv, Jacob Alan Sussman, +Dugongue, Rohan Arun, Jeremy Kothe, icekylinx, DreamingOfClouds and chafreaky +retain credit for the relevant native, frame, helper and adapter sources. +The source notices and `provider/NOTICE.md` give the source links. The scalar +arithmetic and frozen native kernel retain their existing notices. + +The new provider importer, Gram application, cut proof, complete pair census +and receipts are by Ali Romman with substantial OpenAI Codex assistance. +The checks are author checks. Independent human review and a proof-kernel +verification are not claimed. Apache-2.0. diff --git a/research/clifford-tensor-gram/README.md b/research/clifford-tensor-gram/README.md index 5b3ff95e63..9f6cdf24c5 100644 --- a/research/clifford-tensor-gram/README.md +++ b/research/clifford-tensor-gram/README.md @@ -24,6 +24,16 @@ For the source's nine binary axes, **eight tests at widths 69 through 76** suffi This is an algebraic bound, not a full supplier replay or a minimal cutoff. The complete kappa calculation and selected frontier are unchanged. +The [complete-provider application](PROVIDER.md) now passes both directions +of the selected PR4610 local provider: all 633 inputs and returns, 7,000 +oriented native recipe classes, and the full physical programs. It also +excludes **30,328 early/late pair fusions at every positive tensor width**. +The domain contains every pair of paid climbs on one persistent role, at +all ranks and without an adjacency condition. The [result](provider/RESULT.json), +[full-program witnesses](provider/WITNESSES.json), and +[research notes](provider/RESEARCH-NOTES.md) preserve the evidence and limits. +No paid job is removed and kappa does not increase. + ## A concrete small-width trap The [Reynolds example](examples/reynolds.json) adds the average of the 96 @@ -43,6 +53,8 @@ python3.12 -B scripts/research_package.py --package research/clifford-tensor-gra The registered commands print `PASS_CLIFFORD_TENSOR_GRAM_NO_NEW_KAPPA` and `PASS_CLIFFORD_ADVANCES_NO_NEW_KAPPA` in normal and optimized Python. +The provider commands also print +`PASS_COMPLETE_PR4610_PROVIDER_AND_30328_FUSION_OBSTRUCTIONS`. Direct commands also work in a Git-free export: ```sh @@ -50,6 +62,8 @@ python3.12 -I -W error -B research/clifford-tensor-gram/verify.py python3.12 -I -O -W error -B research/clifford-tensor-gram/verify.py python3.12 -I -W error -B research/clifford-tensor-gram/verify_advances.py python3.12 -I -O -W error -B research/clifford-tensor-gram/verify_advances.py +python3.12 -I -W error -B research/clifford-tensor-gram/verify_provider.py +python3.12 -I -O -W error -B research/clifford-tensor-gram/verify_provider.py python3.12 -I -B research/clifford-tensor-gram/compact.py \ research/clifford-tensor-gram/examples/native-64.json python3.12 -I -B research/clifford-tensor-gram/certify.py \ @@ -155,8 +169,9 @@ human or proof-kernel acceptance. Compilation can expand exponentially many terms. The compact path and witness algorithms use polynomial work in the axis count, literal word length, tensor width and expanded support. The original dense frontend still uses base dimension 2^n. No polynomial-time claim in instruction -length or practical full-supplier speedup follows. No complete provider, -selected cold replay, native admission, Lean or Docker run is claimed. +length or practical full-supplier speedup follows. The provider application +checks the complete selected local word and its native recipes. A selected +controller/compiler cold replay, new admission, Lean and Docker are not run. Physical storage, tapes, stock, precision and outer recovery remain separate. Programs that change with f, non-Clifford gates, continuous phases, nonunitary native operators, rounded leaves and restricted clean-input contracts are excluded. @@ -165,6 +180,10 @@ native operators, rounded leaves and restricted clean-input contracts are exclud Base: canonical main `7c472563474e60185e6ca101a17622133d047e56`, priority 7. [SOURCES.json](SOURCES.json) binds exact sources. No predecessor is modified. +The provider application has the separate current-main pin +`1ec1119972c9aefe42525172d07b332fcff81cb4`; its source copies and full credit +are in [provider/SOURCES.json](provider/SOURCES.json) and +[provider/NOTICE.md](provider/NOTICE.md). Rohan Arun supplies the retained native compiler, following Jeremy Kothe and the native lineage. Tekalign's retention and Cinna Davis's borrowing work keep their credit. The complete [notice](vendor/NATIVE-LINEAGE-NOTICE) accompanies diff --git a/research/clifford-tensor-gram/SOURCES.json b/research/clifford-tensor-gram/SOURCES.json index 6207a76400..874eb9c3f4 100644 --- a/research/clifford-tensor-gram/SOURCES.json +++ b/research/clifford-tensor-gram/SOURCES.json @@ -61,7 +61,81 @@ "usage": "provenance", "git_blob": "d742381500d94759a3278050d86b7d1dcc726a7e", "sha256": "f51448dc7551e8b61613c642d9487282f06e2ddc6274b1693276920688d5496f" + }, + { + "path": "research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05", + "retained_copy": "provider/WORD.json.gz" + }, + { + "path": "research/final4610-independent-admission/PAID-CATALOG.jsonl.gz", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/final4610-independent-admission/PAID-CATALOG.jsonl.gz", + "git_blob": "73fa3ced93981949ad8f2432af840b787d9182c0", + "sha256": "964aa2e28057936825a67872ebe5c6b0abc3228e71a545dda6c1fc11adb983d5", + "retained_copy": "provider/PAID.jsonl.gz" + }, + { + "path": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "git_blob": "ac77b78547d6dbf2e6bd102e1047c5b16c1bca88", + "sha256": "6eae66ed3cfa8a1533e89b9660a57276908e6646640a12f8b1e3489f4ea1354b", + "retained_copy": "provider/PHASES.json.gz" + }, + { + "path": "research/joint-helper-lattice/NATIVE.json.gz", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/joint-helper-lattice/NATIVE.json.gz", + "git_blob": "0910f74138decf498e7fc445cc2daff4390169d6", + "sha256": "74582cce642c80f0235be7fcbce3716174666326ac6a1d46d02a62a75d7be4c6", + "retained_copy": "provider/HELPERS.json.gz" + }, + { + "path": "research/kappa-round3-warp-20261022/PROOF.md", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/kappa-round3-warp-20261022/PROOF.md", + "git_blob": "97f1d19ad423fe5540cc2986fb51af24a251d57c", + "sha256": "19178996b776a33f94c8df905b2ef07cc3069e4b6004180f8ec58e140f0c7f7c" + }, + { + "path": "research/final4610-independent-admission/PROOF.md", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/final4610-independent-admission/PROOF.md", + "git_blob": "cc71e69b34835eff261b6073606dd585355e442c", + "sha256": "e573cbbe6fa5481c0533e773de404e10f4dc7907b5ebfe404bdcd02dcf9844d8" + }, + { + "path": "research/joint-helper-lattice/PROOF.md", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/joint-helper-lattice/PROOF.md", + "git_blob": "e41106031da41fade7a7419c17a32c1bd9aa103b", + "sha256": "43ef4251cc300f1b18cbe8cdb060f96f95748e6797d2478b4c04b79a8373ef91" + }, + { + "path": "docs/research/community-native4610-contributors.md", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:docs/research/community-native4610-contributors.md", + "git_blob": "977eab508c183efd5f725617e30ed7ccd19a1ff2", + "sha256": "ecfd9d5d00a116d1f92c374b6daf0bf64dcc4274bf262f98ef34ac26de605c8f" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_phases.py", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/t74-native-fast/vendor/native/new/code/borrow/bw_phases.py", + "git_blob": "99f351785ebca5fbf3336bedcd7b48bac9c255e5", + "sha256": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e" + }, + { + "path": "research/t74-native-fast/vendor/native/new/code/borrow/bw_adapters.py", + "usage": "provenance", + "pin": "head:1ec1119972c9aefe42525172d07b332fcff81cb4:research/t74-native-fast/vendor/native/new/code/borrow/bw_adapters.py", + "git_blob": "82beaa9c1d13bcd5f79d0a5e10e8a10733eac347", + "sha256": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce" } ], - "attribution": "Rohan Arun and the retained native lineage supply the exact kernel; Tekalign retained its source. zxv supplies fields.py. Krzysztof Wojt supplies the inverse-interface handoff. lm1909 and Jacob Alan Sussman supply the prior positive-width group-separation use. See README.md and the retained notice. New material by Ali Romman with substantial OpenAI Codex assistance; Apache-2.0. Chris R / Clear1nsight supplies the related finite-alphabet tensor separation in PR4928 and PR4978." + "attribution": "Rohan Arun and the retained native lineage supply the exact kernel; Tekalign retained its source. zxv supplies fields.py. Krzysztof Wojt supplies the inverse-interface handoff. lm1909 and Jacob Alan Sussman supply the prior positive-width group-separation use. See README.md and the retained notice. New material by Ali Romman with substantial OpenAI Codex assistance; Apache-2.0. Chris R / Clear1nsight supplies the related finite-alphabet tensor separation in PR4928 and PR4978. The current provider application retains Cao Yifan / intqwq, Chris R / Clear1nsight, Cinna Davis and all source frame/helper/adapter credit in provider/NOTICE.md. Current source bytes are copied and authenticated inside the package; their source paths are provenance pins." } diff --git a/research/clifford-tensor-gram/TASK.json b/research/clifford-tensor-gram/TASK.json index 3195b93383..220174d087 100644 --- a/research/clifford-tensor-gram/TASK.json +++ b/research/clifford-tensor-gram/TASK.json @@ -75,13 +75,13 @@ ] }, "scope_status": "changed", - "actual_scope": "Eight-width full dyadic Clifford endpoint test, 75/76 stable separation, sharp one-axis cutoff, and phase-exact native computation with bitwise witnesses.", + "actual_scope": "Eight-width full dyadic Clifford tests, compact exact native certificates, complete selected-provider replay and a uniform obstruction to all 30328 early/late fusions of two paid climbs on one persistent role.", "scope_change_reason": "Supply a written native-relation interface theorem and executable certificate rather than repeat a formal arithmetic endpoint.", "bottleneck_link": "A fixed native program needs an all-width endpoint proof. The trace filter supplies a uniform finite test and a quantified failure certificate for the full dyadic Clifford class.", "budget_minutes": 60, "stop_rule": "Prove the stated cutoff and stability bound, check source and independent tensor fixtures, then publish one scoped package. No supplier or selected-frontier update.", "outcome": "completed", - "evidence": "PROOF.md, ADVANCES.md, both result receipts, the modular inverse certificate, compact.py, quadratic.py and registered normal/optimized replays.", + "evidence": "PROOF.md, ADVANCES.md, PROVIDER.md, all result and mutation receipts, source-bound complete provider inputs and registered normal/optimized replays.", "author": "Ali Romman with substantial OpenAI Codex assistance", "ai_assistance": "Substantial OpenAI Codex assistance in derivation, implementation, self-review, validation and publication. No independent human or proof-kernel review.", "open_questions": [ @@ -98,10 +98,16 @@ "blocked_by": "The invariant embedding alone loses powers of the base dimension." }, { - "question": "Does a complete current provider have practical expanded support?", - "why_it_matters": "Compact native sums remove dense matrices but not exponential word expansion.", - "first_step": "Bind every role and phase of one pinned provider, then measure support.", - "blocked_by": "Complete provider bindings and its physical invoice remain." + "question": "Can a changed contact provide the transformed operand at lower complete cost?", + "why_it_matters": "Every fixed pair fusion retains a nonzero contact defect.", + "first_step": "Use one saved contact certificate and replace its literal scalar contact with a priced native query.", + "blocked_by": "Whole-caller endpoint, dirty restoration and full cost remain." + }, + { + "question": "Can coordinated pair rewrites cancel their defects?", + "why_it_matters": "The obstruction covers one pair at a time.", + "first_step": "Name a small joint rewrite and run its complete native endpoint.", + "blocked_by": "No joint-rewrite or physical invoice certificate exists." } ], "coordination": "https://github.com/CrocSwap/integer-mult-bounds/discussions/5236#discussioncomment-19153620", @@ -111,5 +117,17 @@ "previous_result": "0db0609042d3bee25028ef6515fcee40a33e958d", "source_pins_changed": false, "notes": "RESEARCH-NOTES.md" + }, + "provider_application": { + "user_requested": true, + "main_checkpoint": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "verifier_predecessor": "5370f4465388dbbfff3ba45d5d6ae99d447b1766", + "scope": "Complete selected local provider in both directions, then early/late fusion of every pair of paid persistent climbs on one role. All positive tensor widths.", + "decision": "Narrow after the full fixed pair-fusion domain fails. Changed contacts or coordinated rewrites require a new test.", + "outcome": "No kappa improvement; complete provider certificates and a uniform scoped obstruction.", + "paid_profile_changed": false, + "unknown_costs": "No changed physical, compiler or outer cost is assumed zero. All candidate rewrites fail the algebraic endpoint.", + "notes": "provider/RESEARCH-NOTES.md", + "sources": "provider/SOURCES.json" } } diff --git a/research/clifford-tensor-gram/VERIFY.json b/research/clifford-tensor-gram/VERIFY.json index 59bb55578c..83994f3371 100644 --- a/research/clifford-tensor-gram/VERIFY.json +++ b/research/clifford-tensor-gram/VERIFY.json @@ -57,6 +57,31 @@ ], "timeout_seconds": 180, "checks": "Code invariant, stronger filter bound, one-axis rank certificate, quadratic sums, complete native programs, bitwise witnesses and large-axis phase cases." + }, + { + "argv": [ + "{python}", + "-I", + "-W", + "error", + "-B", + "{package}/verify_provider.py" + ], + "timeout_seconds": 240, + "checks": "All 7000 native recipe classes, both complete selected provider directions, all 30328 pair fusions, separate contact and coverage replays, literal full-program witnesses and controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-W", + "error", + "-B", + "{package}/verify_provider.py" + ], + "timeout_seconds": 240, + "checks": "All 7000 native recipe classes, both complete selected provider directions, all 30328 pair fusions, separate contact and coverage replays, literal full-program witnesses and controls." } ] } diff --git a/research/clifford-tensor-gram/provider.py b/research/clifford-tensor-gram/provider.py new file mode 100644 index 0000000000..2138cbe7d4 --- /dev/null +++ b/research/clifford-tensor-gram/provider.py @@ -0,0 +1,392 @@ +"""Bind the selected PR4610 local provider to exact native circuits. + +The source word and recipes are data. No source evaluator is imported. +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. +""" +from collections import Counter +from fractions import Fraction as Q +from functools import lru_cache +import gzip +import hashlib +import json +from pathlib import Path + +from check_witness import need +from quadratic import inverse_circuit, rank + +HERE = Path(__file__).resolve().parent +N, D, PERSISTENT, OWNED = 9, 512, 632, 632 + + +def read_inputs(): + manifest = json.loads((HERE / "provider/SOURCES.json").read_bytes()) + objects = {} + for item in manifest["inputs"]: + raw = (HERE / "provider" / item["file"]).read_bytes() + need(hashlib.sha256(raw).hexdigest() == item["sha256"], "Provider source bytes: " + item["file"]) + payload = gzip.decompress(raw) if item["file"].endswith(".gz") else raw + objects[item["name"]] = ([json.loads(line) for line in payload.splitlines()] + if ".jsonl" in item["file"] else json.loads(payload)) + return manifest, objects + + +def transpose(rows): + return [sum(((row >> j) & 1) << k for k, row in enumerate(rows)) for j in range(N)] + + +def inverse(rows): + work = [v | (1 << (N+j)) for j, v in enumerate(rows)] + for j in range(N): + pivot = next((k for k in range(j, N) if work[k] >> j & 1), None) + need(pivot is not None, "Invertible native address map") + work[j], work[pivot] = work[pivot], work[j] + for k in range(N): + if k != j and work[k] >> j & 1: + work[k] ^= work[j] + return [v >> N for v in work] + + +def native_map(columns): + rows = transpose(columns) + inverse_columns = transpose(inverse(rows)) + quadratic = [(1 << j) ^ sum(((a & b).bit_count() % 2) << k + for k, b in enumerate(inverse_columns)) + for j, a in enumerate(inverse_columns)] + return [["P", rows], ["D", quadratic, [(quadratic[j] >> j) & 1 for j in range(N)]]] + + +def conjugate(circuit): + out = [] + for gate in circuit: + if gate[0] == "D": + out.append(["D", gate[1], [(-a) % 4 for a in gate[2]]]) + elif gate[0] in ("C", "phase"): + out.append(list(gate[:-1]) + [-gate[-1]]) + else: + out.append(gate) + return out + + +def normalizer(rec): + need(set(rec) == {"matrix_rows", "quadratic_rows", "linear_Z4", "offset", "phase"}, + "Complete monomial recipe") + need(type(rec["phase"]) is int and 0 <= rec["phase"] < 4, "Canonical native phase") + return [["D", rec["quadratic_rows"], rec["linear_Z4"]], + ["P", rec["matrix_rows"]], ["X", rec["offset"]], ["phase", rec["phase"]]] + + +def recipe(rec): + need(set(rec) == {"left", "right", "rank"}, "Complete paid recipe") + r = rec["rank"] + need(type(r) is int and 0 <= r <= N, "Recipe rank") + if not r: + need(rec["right"] is None, "Rank-zero recipe shape") + return normalizer(rec["left"]) + return normalizer(rec["right"]) + [["C", 1 << j, 1] for j in range(r)] + normalizer(rec["left"]) + + +class Provider: + def __init__(self, word): + self.word = word + self.c = word["canonical"] + c = self.c + need(c["h"] == N and c["v"] == 112 and len(c["start"]) == len(c["final"]) == PERSISTENT, + "Complete selected local boundary") + need(set(word["programs"]) == {"forward", "backward"}, "Both provider directions") + need(all(len(u) <= N and all(type(x) is int and 0 < x < D for x in u) + and rank(u) == len(u) for u in c["frames"]), "Independent native frame bases") + self.maps = {row["op"]: native_map(row["G_columns"]) for row in c["warps"]} + need(set(self.maps) == set(range(1, 73)) and len(c["warps"]) == 72, "All 72 native maps") + + @lru_cache(None) + def frame(self, index): + basis = self.c["frames"][index] + r = len(basis) + if not r: + return [] + if r == N: + return [["C", 1 << j, 1] for j in range(N)] + extended = [] + for v in basis + [1 << j for j in range(N)]: + if rank(extended + [v]) > len(extended): + extended.append(v) + change = native_map(extended) + return inverse_circuit(N, change) + [["C", 1 << j, 1] for j in range(r)] + change + + def edge(self, a, b, direction): + circuit = inverse_circuit(N, self.frame(a)) + self.frame(b) + return conjugate(circuit) if direction == "backward" else circuit + + def warp(self, signed, a, b, direction): + middle = self.maps[abs(signed)] + if signed < 0: + middle = inverse_circuit(N, middle) + circuit = inverse_circuit(N, self.frame(a)) + middle + self.frame(b) + return conjugate(circuit) if direction == "backward" else circuit + + def old_frame(self, role, entrance): + if role >= 224: + return self.frame(self.c["start" if entrance else "final"][role]) + if entrance: + return [["C", self.c["ports"][role], 1]] if role < 112 else [] + return self.frame(1) if role < 112 else [["C", self.c["ports"][role-112], -1]] + self.frame(1) + + def audit_word(self, direction): + """Check every event, frame contact, owned lifetime and paid charge.""" + c, program = self.c, self.word["programs"][direction] + current = list(c["start"]) + [None] + live, paid, counts, adapters, pairs, warps = False, Counter(), Counter(), set(), {}, set() + for j, event in enumerate(program): + kind = event[0] + counts[kind] += 1 + if kind in ("climb", "center"): + if kind == "climb": + _, _, target, a, b, r = event + need(0 <= target < PERSISTENT and not live, "Persistent climb at a closed owned cut") + need(len(c["frames"][b]) > len(c["frames"][a]), "Ascending persistent edge") + else: + _, target, a, b, r = event + need(target == 0 and live, "Live owned center") + target = OWNED + u, v = c["frames"][a], c["frames"][b] + need(current[target] == a and r == abs(len(u)-len(v)) > 0 + and rank(u+v) == max(len(u), len(v)), "Chronological nested paid edge") + current[target] = b + paid[r] += 1 + pairs[a, b] = r + elif kind == "warp": + _, register, signed, a, b = event + target = role(register) + need(current[target] == a and abs(signed) in self.maps, "Chronological signed warp") + rows = transpose(next(row["G_columns"] for row in c["warps"] if row["op"] == abs(signed))) + if signed < 0: + rows = inverse(rows) + mapped = [sum(((v & row).bit_count() % 2) << k for k, row in enumerate(rows)) + for v in c["frames"][a]] + need(rank(mapped+c["frames"][b]) == len(mapped) == len(c["frames"][b]), + "Actual signed warp transports its source subspace") + current[target] = b + warps.add((signed, a, b)) + elif kind == "scalar": + gate, f = event[1:] + target = role(gate[1]) + op = gate[0] + if op in ("clear", "copy"): + need(target == OWNED, "Only owned storage can be overwritten") + if op == "clear": + live = False + current[target] = f + continue + need(current[target] == f, "Scalar receiver frame") + if op in ("add", "copy"): + source = role(gate[2]) + need(source != target and current[source] == f, "Scalar source frame") + need(source != OWNED or live, "Owned source is initialized") + if op == "copy": + need(not live, "Copy starts an owned lifetime") + live = True + else: + q = Q(gate[3], gate[4]) + need(q and q.denominator & (q.denominator-1) == 0, "Nonzero dyadic shear") + if target == OWNED: + live = True + else: + need(op == "scale", "Known scalar operation") + q = Q(gate[2], gate[3]) + a = abs(q.numerator) + need(a and a & (a-1) == 0 and q.denominator & (q.denominator-1) == 0, + "Invertible dyadic scale") + elif kind == "adapter": + _, side, target, f = event + need(0 <= target < 224 and side in ("old_to_new", "new_to_old"), "Main adapter domain") + entrance = side == "old_to_new" + need(f == c["start" if entrance else "final"][target], "Exact main adapter boundary") + need(current[target] == f or self.old_frame(target, entrance) == self.frame(f), + "A moved adapter must be exactly the identity") + need((side, target) not in adapters, "No repeated main adapter") + adapters.add((side, target)) + else: + need(kind == "phase", "Known provider event") + need(not live and current[:PERSISTENT] == c["final"], "Complete final frame and owned return") + need(adapters == {(side, r) for side in ("old_to_new", "new_to_old") for r in range(224)}, + "All 448 main adapter events") + need(dict(paid) == {int(k): v for k, v in c["local_profile"].items()}, "Complete paid profile") + return dict(events=dict(counts), paid=dict(sorted(paid.items())), pairs=pairs, warps=warps) + + def problem(self, direction): + """Expand every physical event and keep all 633 input and return roles.""" + bank = {} + + def put(name, circuit): + if not circuit: + return None + oriented = conjugate(circuit) if direction == "backward" else circuit + need(name not in bank or bank[name] == oriented, "One circuit per symbol") + bank[name] = oriented + return name + + def frame(index): + return put("frame_" + str(index), self.frame(index)) + + def old(register, entrance): + circuit = self.old_frame(register, entrance) + index = self.c["start" if entrance else "final"][register] + if circuit == self.frame(index): + return frame(index) + return put(("entrance_" if entrance else "exit_") + str(register), circuit) + + def apply(out, target, symbol, inverse=False): + if symbol is not None: + out.append(dict(op="apply", dst=target, symbol=symbol, inverse=inverse)) + + program = [] + offsets = [] + for event in self.word["programs"][direction]: + offsets.append(len(program)) + kind = event[0] + if kind in ("climb", "center", "warp"): + if kind == "climb": + target, a, b = event[2:5] + elif kind == "center": + target, a, b = OWNED, event[2], event[3] + else: + target, signed, a, b = role(event[1]), *event[2:] + apply(program, target, frame(a), True) + if kind == "warp": + apply(program, target, put("warp_" + str(abs(signed)), self.maps[abs(signed)]), signed < 0) + apply(program, target, frame(b)) + elif kind == "adapter": + _, side, target, f = event + if side == "old_to_new": + apply(program, target, old(target, True), True) + apply(program, target, frame(f)) + else: + apply(program, target, frame(f), True) + apply(program, target, old(target, False)) + elif kind == "scalar": + gate = event[1] + target, op = role(gate[1]), gate[0] + if op in ("clear", "copy"): + program.append(dict(op="scale", dst=target, coefficient="0")) + if op in ("copy", "add"): + program.append(dict(op="add", dst=target, src=role(gate[2]), + coefficient=str(Q(1) if op == "copy" else Q(gate[3], gate[4])))) + elif op == "scale": + program.append(dict(op="scale", dst=target, coefficient=str(Q(gate[2], gate[3])))) + else: + need(kind == "phase", "Known physical program marker") + offsets.append(len(program)) + reference = [] + for register in range(PERSISTENT): + apply(reference, register, old(register, True), True) + for j in range(112): + source, target, sign = (112+j, j, -1) if direction == "backward" else (j, 112+j, 1) + reference.append(dict(op="add", dst=target, src=source, coefficient=str(sign))) + for register in range(PERSISTENT): + apply(reference, register, old(register, False)) + reference.append(dict(op="scale", dst=OWNED, coefficient="0")) + return dict(axes=N, roles=PERSISTENT+1, operators=bank, program=program, reference=reference), offsets + + +def role(register): + need(type(register) is list and len(register) == 2, "Register syntax") + tag, index = register + need(type(index) is int and ((tag == "L" and 0 <= index < PERSISTENT) or (tag == "C" and index == 0)), + "Register domain") + return index if tag == "L" else OWNED + + +def add(target, source, coefficient=Q(1)): + for key, value in tuple(source.items()): + value = target.get(key, Q(0)) + coefficient*value + if value: + target[key] = value + else: + target.pop(key, None) + + +def append_letter(word, letter, right=False): + if right: + return word[:-1] if word and word[-1] == -letter else word + (letter,) + return word[1:] if word and word[0] == -letter else (letter,) + word + + +def interval(program, first, second, register, transpose_row=False): + """Compute one full row or column of the logical interval matrix.""" + rows = [{} for _ in range(PERSISTENT+1)] + rows[register][()] = Q(1) + events = program[first+1:second] + for event in reversed(events) if transpose_row else events: + kind = event[0] + if kind == "warp": + target, signed = role(event[1]), event[2] + rows[target] = {append_letter(w, signed, transpose_row): q for w, q in rows[target].items()} + elif kind == "scalar": + gate = event[1] + target, op = role(gate[1]), gate[0] + if op == "clear": + rows[target] = {} + elif op == "copy": + source = role(gate[2]) + if transpose_row: + add(rows[source], rows[target]) + rows[target] = {} + else: + rows[target] = rows[source].copy() + elif op == "add": + source, q = role(gate[2]), Q(gate[3], gate[4]) + add(rows[source], rows[target], q) if transpose_row else add(rows[target], rows[source], q) + else: + need(op == "scale", "Known interval scalar") + q = Q(gate[2], gate[3]) + rows[target] = {w: q*v for w, v in rows[target].items()} + return rows[:PERSISTENT] + + +def fusion_pairs(program): + previous, out = {}, [] + for j, event in enumerate(program): + if event[0] != "climb": + continue + target = event[2] + for k, earlier in previous.get(target, []): + out.append((k, j, target, earlier[3], earlier[4], event[3], event[4])) + previous.setdefault(target, []).append((j, event)) + return out + + +def contact_witness(program, pair): + first, second, target, a, b, c, d = pair + for transposed in (False, True): + rows = interval(program, first, second, target, transposed) + for other, entry in enumerate(rows): + if other != target and len(entry) == 1: + word, coefficient = next(iter(entry.items())) + return dict(first=first, second=second, role=target, frames=[a, b, c, d], + ranks=[program[first][5], program[second][5]], + output=target if transposed else other, input=other if transposed else target, + coefficient=str(coefficient), word=list(word)) + raise ValueError("No single-term contact certificate for " + str(pair)) + + +def complete_endpoint(problem, instructions): + """Expand all independent inputs together. Coefficients remain rational.""" + symbols = {name: j+1 for j, name in enumerate(problem["operators"])} + rows = [{(j, ()): Q(1)} for j in range(problem["roles"])] + total = peak_total = problem["roles"] + peak_row = 1 + for instruction in instructions: + target, op = instruction["dst"], instruction["op"] + total -= len(rows[target]) + if op == "apply": + signed = symbols[instruction["symbol"]] * (-1 if instruction.get("inverse", False) else 1) + rows[target] = {(entry, append_letter(word, signed)): q for (entry, word), q in rows[target].items()} + elif op == "add": + add(rows[target], rows[instruction["src"]], Q(instruction["coefficient"])) + else: + need(op == "scale", "Known complete program instruction") + q = Q(instruction["coefficient"]) + rows[target] = {key: q*value for key, value in rows[target].items()} if q else {} + total += len(rows[target]) + peak_total, peak_row = max(peak_total, total), max(peak_row, len(rows[target])) + return rows, dict(peak_total_terms=peak_total, peak_row_terms=peak_row, final_terms=total) diff --git a/research/clifford-tensor-gram/provider/FUSIONS.json.gz b/research/clifford-tensor-gram/provider/FUSIONS.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..895c0d4c4acbfd305b4b27f4c10b39bcf259493e GIT binary patch literal 240388 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

1$Ov}?83^-IkP#Nk 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ℜ8FA0F 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 aA0B>sc729@G=`w{@8rYQda literal 0 HcmV?d00001 diff --git a/research/clifford-tensor-gram/provider/MAIN-ADAPTERS.json b/research/clifford-tensor-gram/provider/MAIN-ADAPTERS.json new file mode 100644 index 0000000000..ffb5bc17c4 --- /dev/null +++ b/research/clifford-tensor-gram/provider/MAIN-ADAPTERS.json @@ -0,0 +1 @@ +[{"entrance":true,"frame":2,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,11,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":0},{"entrance":true,"frame":3,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,19,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":1},{"entrance":true,"frame":4,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,35,64,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":2},{"entrance":true,"frame":5,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,67,128,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":3},{"entrance":true,"frame":6,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,131,256],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":4},{"entrance":true,"frame":7,"recipe":{"left":{"linear_Z4":[1,1,0,0,0,0,0,0,0],"matrix_rows":[2,1,4,8,16,32,64,128,259],"offset":0,"phase":0,"quadratic_rows":[3,3,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":5},{"entrance":true,"frame":8,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,13,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":6},{"entrance":true,"frame":9,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,21,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":7},{"entrance":true,"frame":10,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,37,64,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":8},{"entrance":true,"frame":11,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,69,128,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":9},{"entrance":true,"frame":12,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,133,256],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":10},{"entrance":true,"frame":13,"recipe":{"left":{"linear_Z4":[1,0,1,0,0,0,0,0,0],"matrix_rows":[4,2,1,8,16,32,64,128,261],"offset":0,"phase":0,"quadratic_rows":[5,0,5,0,0,0,0,0,0]},"rank":0,"right":null},"role":11},{"entrance":true,"frame":14,"recipe":{"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,41,64,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"rank":0,"right":null},"role":12},{"entrance":true,"frame":15,"recipe":{"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,73,128,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"rank":0,"right":null},"role":13},{"entrance":true,"frame":16,"recipe":{"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,137,256],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"rank":0,"right":null},"role":14},{"entrance":true,"frame":17,"recipe":{"left":{"linear_Z4":[1,0,0,1,0,0,0,0,0],"matrix_rows":[8,2,4,1,16,32,64,128,265],"offset":0,"phase":0,"quadratic_rows":[9,0,0,9,0,0,0,0,0]},"rank":0,"right":null},"role":15},{"entrance":true,"frame":18,"recipe":{"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,49,64,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"rank":0,"right":null},"role":16},{"entrance":true,"frame":19,"recipe":{"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,81,128,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"rank":0,"right":null},"role":17},{"entrance":true,"frame":20,"recipe":{"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,145,256],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"rank":0,"right":null},"role":18},{"entrance":true,"frame":21,"recipe":{"left":{"linear_Z4":[1,0,0,0,1,0,0,0,0],"matrix_rows":[16,2,4,8,1,32,64,128,273],"offset":0,"phase":0,"quadratic_rows":[17,0,0,0,17,0,0,0,0]},"rank":0,"right":null},"role":19},{"entrance":true,"frame":22,"recipe":{"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,161,256],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"rank":0,"right":null},"role":20},{"entrance":true,"frame":23,"recipe":{"left":{"linear_Z4":[1,0,0,0,0,1,0,0,0],"matrix_rows":[32,2,4,8,16,1,64,128,289],"offset":0,"phase":0,"quadratic_rows":[33,0,0,0,0,33,0,0,0]},"rank":0,"right":null},"role":21},{"entrance":true,"frame":24,"recipe":{"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,193,256],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"rank":0,"right":null},"role":22},{"entrance":true,"frame":25,"recipe":{"left":{"linear_Z4":[1,0,0,0,0,0,1,0,0],"matrix_rows":[64,2,4,8,16,32,1,128,321],"offset":0,"phase":0,"quadratic_rows":[65,0,0,0,0,0,65,0,0]},"rank":0,"right":null},"role":23},{"entrance":true,"frame":26,"recipe":{"left":{"linear_Z4":[1,0,0,0,0,0,0,1,0],"matrix_rows":[128,2,4,8,16,32,64,1,385],"offset":0,"phase":0,"quadratic_rows":[129,0,0,0,0,0,0,129,0]},"rank":0,"right":null},"role":24},{"entrance":true,"frame":27,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,14,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":25},{"entrance":true,"frame":28,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,22,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":26},{"entrance":true,"frame":29,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,38,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":27},{"entrance":true,"frame":30,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,70,128,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":28},{"entrance":true,"frame":31,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,134,256],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":29},{"entrance":true,"frame":32,"recipe":{"left":{"linear_Z4":[0,1,1,0,0,0,0,0,0],"matrix_rows":[1,4,2,8,16,32,64,128,262],"offset":0,"phase":0,"quadratic_rows":[0,6,6,0,0,0,0,0,0]},"rank":0,"right":null},"role":30},{"entrance":true,"frame":33,"recipe":{"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,26,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"rank":0,"right":null},"role":31},{"entrance":true,"frame":34,"recipe":{"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,74,128,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"rank":0,"right":null},"role":32},{"entrance":true,"frame":35,"recipe":{"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,138,256],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"rank":0,"right":null},"role":33},{"entrance":true,"frame":36,"recipe":{"left":{"linear_Z4":[0,1,0,1,0,0,0,0,0],"matrix_rows":[1,8,4,2,16,32,64,128,266],"offset":0,"phase":0,"quadratic_rows":[0,10,0,10,0,0,0,0,0]},"rank":0,"right":null},"role":34},{"entrance":true,"frame":37,"recipe":{"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,50,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"rank":0,"right":null},"role":35},{"entrance":true,"frame":38,"recipe":{"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,146,256],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"rank":0,"right":null},"role":36},{"entrance":true,"frame":39,"recipe":{"left":{"linear_Z4":[0,1,0,0,1,0,0,0,0],"matrix_rows":[1,16,4,8,2,32,64,128,274],"offset":0,"phase":0,"quadratic_rows":[0,18,0,0,18,0,0,0,0]},"rank":0,"right":null},"role":37},{"entrance":true,"frame":40,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,98,128,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"rank":0,"right":null},"role":38},{"entrance":true,"frame":41,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,162,256],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"rank":0,"right":null},"role":39},{"entrance":true,"frame":42,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,1,0,0,0],"matrix_rows":[1,32,4,8,16,2,64,128,290],"offset":0,"phase":0,"quadratic_rows":[0,34,0,0,0,34,0,0,0]},"rank":0,"right":null},"role":40},{"entrance":true,"frame":43,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,194,256],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"rank":0,"right":null},"role":41},{"entrance":true,"frame":44,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,0,1,0,0],"matrix_rows":[1,64,4,8,16,32,2,128,322],"offset":0,"phase":0,"quadratic_rows":[0,66,0,0,0,0,66,0,0]},"rank":0,"right":null},"role":42},{"entrance":true,"frame":45,"recipe":{"left":{"linear_Z4":[0,1,0,0,0,0,0,1,0],"matrix_rows":[1,128,4,8,16,32,64,2,386],"offset":0,"phase":0,"quadratic_rows":[0,130,0,0,0,0,0,130,0]},"rank":0,"right":null},"role":43},{"entrance":true,"frame":46,"recipe":{"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,28,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"rank":0,"right":null},"role":44},{"entrance":true,"frame":47,"recipe":{"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,44,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"rank":0,"right":null},"role":45},{"entrance":true,"frame":48,"recipe":{"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,140,256],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"rank":0,"right":null},"role":46},{"entrance":true,"frame":49,"recipe":{"left":{"linear_Z4":[0,0,1,1,0,0,0,0,0],"matrix_rows":[1,2,8,4,16,32,64,128,268],"offset":0,"phase":0,"quadratic_rows":[0,0,12,12,0,0,0,0,0]},"rank":0,"right":null},"role":47},{"entrance":true,"frame":50,"recipe":{"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,84,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"rank":0,"right":null},"role":48},{"entrance":true,"frame":51,"recipe":{"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,148,256],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"rank":0,"right":null},"role":49},{"entrance":true,"frame":52,"recipe":{"left":{"linear_Z4":[0,0,1,0,1,0,0,0,0],"matrix_rows":[1,2,16,8,4,32,64,128,276],"offset":0,"phase":0,"quadratic_rows":[0,0,20,0,20,0,0,0,0]},"rank":0,"right":null},"role":50},{"entrance":true,"frame":53,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,100,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"rank":0,"right":null},"role":51},{"entrance":true,"frame":54,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,164,256],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"rank":0,"right":null},"role":52},{"entrance":true,"frame":55,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,1,0,0,0],"matrix_rows":[1,2,32,8,16,4,64,128,292],"offset":0,"phase":0,"quadratic_rows":[0,0,36,0,0,36,0,0,0]},"rank":0,"right":null},"role":53},{"entrance":true,"frame":56,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,196,256],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"rank":0,"right":null},"role":54},{"entrance":true,"frame":57,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,0,1,0,0],"matrix_rows":[1,2,64,8,16,32,4,128,324],"offset":0,"phase":0,"quadratic_rows":[0,0,68,0,0,0,68,0,0]},"rank":0,"right":null},"role":55},{"entrance":true,"frame":58,"recipe":{"left":{"linear_Z4":[0,0,1,0,0,0,0,1,0],"matrix_rows":[1,2,128,8,16,32,64,4,388],"offset":0,"phase":0,"quadratic_rows":[0,0,132,0,0,0,0,132,0]},"rank":0,"right":null},"role":56},{"entrance":true,"frame":59,"recipe":{"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,56,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"rank":0,"right":null},"role":57},{"entrance":true,"frame":60,"recipe":{"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,88,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"rank":0,"right":null},"role":58},{"entrance":true,"frame":61,"recipe":{"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,152,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"rank":0,"right":null},"role":59},{"entrance":true,"frame":62,"recipe":{"left":{"linear_Z4":[0,0,0,1,1,0,0,0,0],"matrix_rows":[1,2,4,16,8,32,64,128,280],"offset":0,"phase":0,"quadratic_rows":[0,0,0,24,24,0,0,0,0]},"rank":0,"right":null},"role":60},{"entrance":true,"frame":63,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,104,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"rank":0,"right":null},"role":61},{"entrance":true,"frame":64,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,168,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"rank":0,"right":null},"role":62},{"entrance":true,"frame":65,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,1,0,0,0],"matrix_rows":[1,2,4,32,16,8,64,128,296],"offset":0,"phase":0,"quadratic_rows":[0,0,0,40,0,40,0,0,0]},"rank":0,"right":null},"role":63},{"entrance":true,"frame":66,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,200,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"rank":0,"right":null},"role":64},{"entrance":true,"frame":67,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,0,1,0,0],"matrix_rows":[1,2,4,64,16,32,8,128,328],"offset":0,"phase":0,"quadratic_rows":[0,0,0,72,0,0,72,0,0]},"rank":0,"right":null},"role":65},{"entrance":true,"frame":68,"recipe":{"left":{"linear_Z4":[0,0,0,1,0,0,0,1,0],"matrix_rows":[1,2,4,128,16,32,64,8,392],"offset":0,"phase":0,"quadratic_rows":[0,0,0,136,0,0,0,136,0]},"rank":0,"right":null},"role":66},{"entrance":true,"frame":69,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,112,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"rank":0,"right":null},"role":67},{"entrance":true,"frame":70,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,176,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"rank":0,"right":null},"role":68},{"entrance":true,"frame":71,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,1,0,0,0],"matrix_rows":[1,2,4,8,32,16,64,128,304],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,48,48,0,0,0]},"rank":0,"right":null},"role":69},{"entrance":true,"frame":72,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,208,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"rank":0,"right":null},"role":70},{"entrance":true,"frame":73,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,0,1,0,0],"matrix_rows":[1,2,4,8,64,32,16,128,336],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,80,0,80,0,0]},"rank":0,"right":null},"role":71},{"entrance":true,"frame":74,"recipe":{"left":{"linear_Z4":[0,0,0,0,1,0,0,1,0],"matrix_rows":[1,2,4,8,128,32,64,16,400],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,144,0,0,144,0]},"rank":0,"right":null},"role":72},{"entrance":true,"frame":75,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,224,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"rank":0,"right":null},"role":73},{"entrance":true,"frame":76,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,1,1,0,0],"matrix_rows":[1,2,4,8,16,64,32,128,352],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,96,96,0,0]},"rank":0,"right":null},"role":74},{"entrance":true,"frame":77,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,1,0,1,0],"matrix_rows":[1,2,4,8,16,128,64,32,416],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,160,0,160,0]},"rank":0,"right":null},"role":75},{"entrance":true,"frame":78,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,1,1,0],"matrix_rows":[1,2,4,8,16,32,128,64,448],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,192,192,0]},"rank":0,"right":null},"role":76},{"entrance":true,"frame":79,"recipe":{"left":{"linear_Z4":[0,0,1,1,1,1,1,1,0],"matrix_rows":[1,2,248,244,236,220,188,124,508],"offset":0,"phase":0,"quadratic_rows":[0,0,252,252,252,252,252,252,0]},"rank":0,"right":null},"role":77},{"entrance":true,"frame":80,"recipe":{"left":{"linear_Z4":[0,1,0,1,1,1,1,1,0],"matrix_rows":[1,248,4,242,234,218,186,122,506],"offset":0,"phase":0,"quadratic_rows":[0,250,0,250,250,250,250,250,0]},"rank":0,"right":null},"role":78},{"entrance":true,"frame":81,"recipe":{"left":{"linear_Z4":[0,1,1,0,1,1,1,1,0],"matrix_rows":[1,244,242,8,230,214,182,118,502],"offset":0,"phase":0,"quadratic_rows":[0,246,246,0,246,246,246,246,0]},"rank":0,"right":null},"role":79},{"entrance":true,"frame":82,"recipe":{"left":{"linear_Z4":[0,1,1,1,0,1,1,1,0],"matrix_rows":[1,236,234,230,16,206,174,110,494],"offset":0,"phase":0,"quadratic_rows":[0,238,238,238,0,238,238,238,0]},"rank":0,"right":null},"role":80},{"entrance":true,"frame":83,"recipe":{"left":{"linear_Z4":[0,1,1,1,1,0,1,1,0],"matrix_rows":[1,220,218,214,206,32,158,94,478],"offset":0,"phase":0,"quadratic_rows":[0,222,222,222,222,0,222,222,0]},"rank":0,"right":null},"role":81},{"entrance":true,"frame":84,"recipe":{"left":{"linear_Z4":[0,1,1,1,1,1,0,1,0],"matrix_rows":[1,188,186,182,174,158,64,62,446],"offset":0,"phase":0,"quadratic_rows":[0,190,190,190,190,190,0,190,0]},"rank":0,"right":null},"role":82},{"entrance":true,"frame":85,"recipe":{"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,128,382],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"rank":0,"right":null},"role":83},{"entrance":true,"frame":86,"recipe":{"left":{"linear_Z4":[0,1,1,1,1,1,1,0,0],"matrix_rows":[1,124,122,118,110,94,62,254,256],"offset":0,"phase":0,"quadratic_rows":[0,126,126,126,126,126,126,0,0]},"rank":0,"right":null},"role":84},{"entrance":true,"frame":87,"recipe":{"left":{"linear_Z4":[1,0,0,1,1,1,1,1,0],"matrix_rows":[248,2,4,241,233,217,185,121,505],"offset":0,"phase":0,"quadratic_rows":[249,0,0,249,249,249,249,249,0]},"rank":0,"right":null},"role":85},{"entrance":true,"frame":88,"recipe":{"left":{"linear_Z4":[1,0,1,0,1,1,1,1,0],"matrix_rows":[244,2,241,8,229,213,181,117,501],"offset":0,"phase":0,"quadratic_rows":[245,0,245,0,245,245,245,245,0]},"rank":0,"right":null},"role":86},{"entrance":true,"frame":89,"recipe":{"left":{"linear_Z4":[1,0,1,1,0,1,1,1,0],"matrix_rows":[236,2,233,229,16,205,173,109,493],"offset":0,"phase":0,"quadratic_rows":[237,0,237,237,0,237,237,237,0]},"rank":0,"right":null},"role":87},{"entrance":true,"frame":90,"recipe":{"left":{"linear_Z4":[1,0,1,1,1,0,1,1,0],"matrix_rows":[220,2,217,213,205,32,157,93,477],"offset":0,"phase":0,"quadratic_rows":[221,0,221,221,221,0,221,221,0]},"rank":0,"right":null},"role":88},{"entrance":true,"frame":91,"recipe":{"left":{"linear_Z4":[1,0,1,1,1,1,0,1,0],"matrix_rows":[188,2,185,181,173,157,64,61,445],"offset":0,"phase":0,"quadratic_rows":[189,0,189,189,189,189,0,189,0]},"rank":0,"right":null},"role":89},{"entrance":true,"frame":92,"recipe":{"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,128,381],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"rank":0,"right":null},"role":90},{"entrance":true,"frame":93,"recipe":{"left":{"linear_Z4":[1,0,1,1,1,1,1,0,0],"matrix_rows":[124,2,121,117,109,93,61,253,256],"offset":0,"phase":0,"quadratic_rows":[125,0,125,125,125,125,125,0,0]},"rank":0,"right":null},"role":91},{"entrance":true,"frame":94,"recipe":{"left":{"linear_Z4":[1,1,0,0,1,1,1,1,0],"matrix_rows":[242,241,4,8,227,211,179,115,499],"offset":0,"phase":0,"quadratic_rows":[243,243,0,0,243,243,243,243,0]},"rank":0,"right":null},"role":92},{"entrance":true,"frame":95,"recipe":{"left":{"linear_Z4":[1,1,0,1,0,1,1,1,0],"matrix_rows":[234,233,4,227,16,203,171,107,491],"offset":0,"phase":0,"quadratic_rows":[235,235,0,235,0,235,235,235,0]},"rank":0,"right":null},"role":93},{"entrance":true,"frame":96,"recipe":{"left":{"linear_Z4":[1,1,0,1,1,0,1,1,0],"matrix_rows":[218,217,4,211,203,32,155,91,475],"offset":0,"phase":0,"quadratic_rows":[219,219,0,219,219,0,219,219,0]},"rank":0,"right":null},"role":94},{"entrance":true,"frame":97,"recipe":{"left":{"linear_Z4":[1,1,0,1,1,1,0,1,0],"matrix_rows":[186,185,4,179,171,155,64,59,443],"offset":0,"phase":0,"quadratic_rows":[187,187,0,187,187,187,0,187,0]},"rank":0,"right":null},"role":95},{"entrance":true,"frame":98,"recipe":{"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,128,379],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"rank":0,"right":null},"role":96},{"entrance":true,"frame":99,"recipe":{"left":{"linear_Z4":[1,1,0,1,1,1,1,0,0],"matrix_rows":[122,121,4,115,107,91,59,251,256],"offset":0,"phase":0,"quadratic_rows":[123,123,0,123,123,123,123,0,0]},"rank":0,"right":null},"role":97},{"entrance":true,"frame":100,"recipe":{"left":{"linear_Z4":[1,1,1,0,0,1,1,1,0],"matrix_rows":[230,229,227,8,16,199,167,103,487],"offset":0,"phase":0,"quadratic_rows":[231,231,231,0,0,231,231,231,0]},"rank":0,"right":null},"role":98},{"entrance":true,"frame":101,"recipe":{"left":{"linear_Z4":[1,1,1,0,1,0,1,1,0],"matrix_rows":[214,213,211,8,199,32,151,87,471],"offset":0,"phase":0,"quadratic_rows":[215,215,215,0,215,0,215,215,0]},"rank":0,"right":null},"role":99},{"entrance":true,"frame":102,"recipe":{"left":{"linear_Z4":[1,1,1,0,1,1,0,1,0],"matrix_rows":[182,181,179,8,167,151,64,55,439],"offset":0,"phase":0,"quadratic_rows":[183,183,183,0,183,183,0,183,0]},"rank":0,"right":null},"role":100},{"entrance":true,"frame":103,"recipe":{"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,128,375],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"rank":0,"right":null},"role":101},{"entrance":true,"frame":104,"recipe":{"left":{"linear_Z4":[1,1,1,0,1,1,1,0,0],"matrix_rows":[118,117,115,8,103,87,55,247,256],"offset":0,"phase":0,"quadratic_rows":[119,119,119,0,119,119,119,0,0]},"rank":0,"right":null},"role":102},{"entrance":true,"frame":105,"recipe":{"left":{"linear_Z4":[1,1,1,1,0,0,1,1,0],"matrix_rows":[206,205,203,199,16,32,143,79,463],"offset":0,"phase":0,"quadratic_rows":[207,207,207,207,0,0,207,207,0]},"rank":0,"right":null},"role":103},{"entrance":true,"frame":106,"recipe":{"left":{"linear_Z4":[1,1,1,1,0,1,0,1,0],"matrix_rows":[174,173,171,167,16,143,64,47,431],"offset":0,"phase":0,"quadratic_rows":[175,175,175,175,0,175,0,175,0]},"rank":0,"right":null},"role":104},{"entrance":true,"frame":107,"recipe":{"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,128,367],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"rank":0,"right":null},"role":105},{"entrance":true,"frame":108,"recipe":{"left":{"linear_Z4":[1,1,1,1,0,1,1,0,0],"matrix_rows":[110,109,107,103,16,79,47,239,256],"offset":0,"phase":0,"quadratic_rows":[111,111,111,111,0,111,111,0,0]},"rank":0,"right":null},"role":106},{"entrance":true,"frame":109,"recipe":{"left":{"linear_Z4":[1,1,1,1,1,0,0,1,0],"matrix_rows":[158,157,155,151,143,32,64,31,415],"offset":0,"phase":0,"quadratic_rows":[159,159,159,159,159,0,0,159,0]},"rank":0,"right":null},"role":107},{"entrance":true,"frame":110,"recipe":{"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,128,351],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"rank":0,"right":null},"role":108},{"entrance":true,"frame":111,"recipe":{"left":{"linear_Z4":[1,1,1,1,1,0,1,0,0],"matrix_rows":[94,93,91,87,79,32,31,223,256],"offset":0,"phase":0,"quadratic_rows":[95,95,95,95,95,0,95,0,0]},"rank":0,"right":null},"role":109},{"entrance":true,"frame":112,"recipe":{"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,128,319],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"rank":0,"right":null},"role":110},{"entrance":true,"frame":113,"recipe":{"left":{"linear_Z4":[1,1,1,1,1,1,0,0,0],"matrix_rows":[62,61,59,55,47,31,64,191,256],"offset":0,"phase":0,"quadratic_rows":[63,63,63,63,63,63,0,0,0]},"rank":0,"right":null},"role":111},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":112},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":113},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":114},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":115},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":116},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":117},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":118},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":119},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":120},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":121},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":122},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":123},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":124},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":125},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":126},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":127},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":128},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":129},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":130},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":131},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":132},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":133},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":134},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":135},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":136},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":137},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":138},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":139},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":140},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":141},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":142},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":143},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":144},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":145},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":146},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":147},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":148},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":149},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":150},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":151},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":152},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":153},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":154},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":155},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":156},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":157},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":158},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":159},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":160},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":161},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":162},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":163},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":164},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":165},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":166},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":167},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":168},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":169},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":170},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":171},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":172},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":173},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":174},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":175},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":176},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":177},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":178},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":179},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":180},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":181},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":182},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":183},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":184},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":185},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":186},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":187},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":188},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":189},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":190},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":191},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":192},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":193},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":194},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":195},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":196},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":197},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":198},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":199},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":200},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":201},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":202},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":203},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":204},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":205},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":206},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":207},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":208},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":209},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":210},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":211},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":212},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":213},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":214},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":215},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":216},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":217},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":218},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":219},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":220},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":221},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":222},{"entrance":true,"frame":0,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":223},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":0},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":1},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":2},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":3},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":4},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":5},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":6},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":7},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":8},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":9},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":10},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":11},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":12},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":13},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":14},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":15},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":16},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":17},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":18},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":19},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":20},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":21},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":22},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":23},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":24},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":25},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":26},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":27},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":28},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":29},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":30},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":31},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":32},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":33},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":34},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":35},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":36},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":37},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":38},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":39},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":40},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":41},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":42},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":43},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":44},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":45},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":46},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":47},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":48},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":49},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":50},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":51},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":52},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":53},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":54},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":55},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":56},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":57},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":58},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":59},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":60},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":61},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":62},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":63},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":64},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":65},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":66},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":67},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":68},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":69},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":70},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":71},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":72},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":73},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":74},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":75},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":76},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":77},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":78},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":79},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":80},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":81},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":82},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":83},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":84},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":85},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":86},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":87},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":88},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":89},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":90},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":91},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":92},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":93},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":94},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":95},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":96},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":97},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":98},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":99},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":100},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":101},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":102},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":103},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":104},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":105},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":106},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":107},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":108},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":109},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":110},{"entrance":false,"frame":1,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,128,256],"offset":0,"phase":0,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":111},{"entrance":false,"frame":142,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,32,64,128,256],"offset":11,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":112},{"entrance":false,"frame":143,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,32,64,128,256],"offset":19,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":113},{"entrance":false,"frame":144,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,33,64,128,256],"offset":35,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":114},{"entrance":false,"frame":145,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,65,128,256],"offset":67,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":115},{"entrance":false,"frame":146,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,129,256],"offset":131,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":116},{"entrance":false,"frame":147,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,16,32,64,128,257],"offset":259,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":117},{"entrance":false,"frame":148,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,32,64,128,256],"offset":13,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":118},{"entrance":false,"frame":149,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,32,64,128,256],"offset":21,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":119},{"entrance":false,"frame":150,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,33,64,128,256],"offset":37,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":120},{"entrance":false,"frame":151,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,65,128,256],"offset":69,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":121},{"entrance":false,"frame":152,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,129,256],"offset":133,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":122},{"entrance":false,"frame":153,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,16,32,64,128,257],"offset":261,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":123},{"entrance":false,"frame":154,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,33,64,128,256],"offset":41,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":124},{"entrance":false,"frame":155,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,65,128,256],"offset":73,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":125},{"entrance":false,"frame":156,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,129,256],"offset":137,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":126},{"entrance":false,"frame":157,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,16,32,64,128,257],"offset":265,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":127},{"entrance":false,"frame":158,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,33,64,128,256],"offset":49,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":128},{"entrance":false,"frame":159,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,65,128,256],"offset":81,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":129},{"entrance":false,"frame":160,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,129,256],"offset":145,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":130},{"entrance":false,"frame":161,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,17,32,64,128,257],"offset":273,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":131},{"entrance":false,"frame":162,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,129,256],"offset":161,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":132},{"entrance":false,"frame":163,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,33,64,128,257],"offset":289,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":133},{"entrance":false,"frame":164,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,129,256],"offset":193,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":134},{"entrance":false,"frame":165,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,65,128,257],"offset":321,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":135},{"entrance":false,"frame":166,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,129,257],"offset":385,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":136},{"entrance":false,"frame":167,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,32,64,128,256],"offset":14,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":137},{"entrance":false,"frame":168,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,32,64,128,256],"offset":22,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":138},{"entrance":false,"frame":169,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,34,64,128,256],"offset":38,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":139},{"entrance":false,"frame":170,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,66,128,256],"offset":70,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":140},{"entrance":false,"frame":171,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,130,256],"offset":134,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":141},{"entrance":false,"frame":172,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,16,32,64,128,258],"offset":262,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":142},{"entrance":false,"frame":173,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,32,64,128,256],"offset":26,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":143},{"entrance":false,"frame":174,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,66,128,256],"offset":74,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":144},{"entrance":false,"frame":175,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,130,256],"offset":138,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":145},{"entrance":false,"frame":176,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,16,32,64,128,258],"offset":266,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":146},{"entrance":false,"frame":177,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,34,64,128,256],"offset":50,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":147},{"entrance":false,"frame":178,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,130,256],"offset":146,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":148},{"entrance":false,"frame":179,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,18,32,64,128,258],"offset":274,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":149},{"entrance":false,"frame":180,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,66,128,256],"offset":98,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":150},{"entrance":false,"frame":181,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,130,256],"offset":162,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":151},{"entrance":false,"frame":182,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,34,64,128,258],"offset":290,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":152},{"entrance":false,"frame":183,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,130,256],"offset":194,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":153},{"entrance":false,"frame":184,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,66,128,258],"offset":322,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":154},{"entrance":false,"frame":185,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,130,258],"offset":386,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":155},{"entrance":false,"frame":186,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,32,64,128,256],"offset":28,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":156},{"entrance":false,"frame":187,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,36,64,128,256],"offset":44,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":157},{"entrance":false,"frame":188,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,132,256],"offset":140,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":158},{"entrance":false,"frame":189,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,16,32,64,128,260],"offset":268,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":159},{"entrance":false,"frame":190,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,68,128,256],"offset":84,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":160},{"entrance":false,"frame":191,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,132,256],"offset":148,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":161},{"entrance":false,"frame":192,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,20,32,64,128,260],"offset":276,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":162},{"entrance":false,"frame":193,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,68,128,256],"offset":100,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":163},{"entrance":false,"frame":194,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,132,256],"offset":164,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":164},{"entrance":false,"frame":195,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,36,64,128,260],"offset":292,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":165},{"entrance":false,"frame":196,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,132,256],"offset":196,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":166},{"entrance":false,"frame":197,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,68,128,260],"offset":324,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":167},{"entrance":false,"frame":198,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,132,260],"offset":388,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":168},{"entrance":false,"frame":199,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,40,64,128,256],"offset":56,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":169},{"entrance":false,"frame":200,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,72,128,256],"offset":88,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":170},{"entrance":false,"frame":201,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,136,256],"offset":152,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":171},{"entrance":false,"frame":202,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,24,32,64,128,264],"offset":280,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":172},{"entrance":false,"frame":203,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,72,128,256],"offset":104,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":173},{"entrance":false,"frame":204,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,136,256],"offset":168,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":174},{"entrance":false,"frame":205,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,40,64,128,264],"offset":296,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":175},{"entrance":false,"frame":206,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,136,256],"offset":200,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":176},{"entrance":false,"frame":207,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,72,128,264],"offset":328,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":177},{"entrance":false,"frame":208,"recipe":{"left":{"linear_Z4":[0,0,0,2,0,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,136,264],"offset":392,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":178},{"entrance":false,"frame":209,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,80,128,256],"offset":112,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":179},{"entrance":false,"frame":210,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,144,256],"offset":176,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":180},{"entrance":false,"frame":211,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,48,64,128,272],"offset":304,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":181},{"entrance":false,"frame":212,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,144,256],"offset":208,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":182},{"entrance":false,"frame":213,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,80,128,272],"offset":336,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":183},{"entrance":false,"frame":214,"recipe":{"left":{"linear_Z4":[0,0,0,0,2,0,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,144,272],"offset":400,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":184},{"entrance":false,"frame":215,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,160,256],"offset":224,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":185},{"entrance":false,"frame":216,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,96,128,288],"offset":352,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":186},{"entrance":false,"frame":217,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,2,0,0,0],"matrix_rows":[1,2,4,8,16,32,64,160,288],"offset":416,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":187},{"entrance":false,"frame":218,"recipe":{"left":{"linear_Z4":[0,0,0,0,0,0,2,0,0],"matrix_rows":[1,2,4,8,16,32,64,192,320],"offset":448,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":188},{"entrance":false,"frame":219,"recipe":{"left":{"linear_Z4":[0,0,2,0,0,0,0,0,0],"matrix_rows":[1,2,4,12,20,36,68,132,260],"offset":508,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":189},{"entrance":false,"frame":220,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,10,18,34,66,130,258],"offset":506,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":190},{"entrance":false,"frame":221,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,8,18,34,66,130,258],"offset":502,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":191},{"entrance":false,"frame":222,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,16,34,66,130,258],"offset":494,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":192},{"entrance":false,"frame":223,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,32,66,130,258],"offset":478,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":193},{"entrance":false,"frame":224,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,64,130,258],"offset":446,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":194},{"entrance":false,"frame":225,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,128,258],"offset":382,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":195},{"entrance":false,"frame":226,"recipe":{"left":{"linear_Z4":[0,2,0,0,0,0,0,0,0],"matrix_rows":[1,2,6,10,18,34,66,130,256],"offset":254,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":196},{"entrance":false,"frame":227,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,4,9,17,33,65,129,257],"offset":505,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":197},{"entrance":false,"frame":228,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,8,17,33,65,129,257],"offset":501,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":198},{"entrance":false,"frame":229,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,16,33,65,129,257],"offset":493,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":199},{"entrance":false,"frame":230,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,32,65,129,257],"offset":477,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":200},{"entrance":false,"frame":231,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,64,129,257],"offset":445,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":201},{"entrance":false,"frame":232,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,128,257],"offset":381,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":202},{"entrance":false,"frame":233,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,2,5,9,17,33,65,129,256],"offset":253,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":203},{"entrance":false,"frame":234,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,8,17,33,65,129,257],"offset":499,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":204},{"entrance":false,"frame":235,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,16,33,65,129,257],"offset":491,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":205},{"entrance":false,"frame":236,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,32,65,129,257],"offset":475,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":206},{"entrance":false,"frame":237,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,64,129,257],"offset":443,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":207},{"entrance":false,"frame":238,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,128,257],"offset":379,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":208},{"entrance":false,"frame":239,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,4,9,17,33,65,129,256],"offset":251,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":209},{"entrance":false,"frame":240,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,16,33,65,129,257],"offset":487,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":210},{"entrance":false,"frame":241,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,32,65,129,257],"offset":471,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":211},{"entrance":false,"frame":242,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,64,129,257],"offset":439,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":212},{"entrance":false,"frame":243,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,128,257],"offset":375,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":213},{"entrance":false,"frame":244,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,8,17,33,65,129,256],"offset":247,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":214},{"entrance":false,"frame":245,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,32,65,129,257],"offset":463,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":215},{"entrance":false,"frame":246,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,64,129,257],"offset":431,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":216},{"entrance":false,"frame":247,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,128,257],"offset":367,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":217},{"entrance":false,"frame":248,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,16,33,65,129,256],"offset":239,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":218},{"entrance":false,"frame":249,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,64,129,257],"offset":415,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":219},{"entrance":false,"frame":250,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,128,257],"offset":351,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":220},{"entrance":false,"frame":251,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,32,65,129,256],"offset":223,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":221},{"entrance":false,"frame":252,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,128,257],"offset":319,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":222},{"entrance":false,"frame":253,"recipe":{"left":{"linear_Z4":[2,0,0,0,0,0,0,0,0],"matrix_rows":[1,3,5,9,17,33,64,129,256],"offset":191,"phase":3,"quadratic_rows":[0,0,0,0,0,0,0,0,0]},"rank":0,"right":null},"role":223}] diff --git a/research/clifford-tensor-gram/provider/NOTICE.md b/research/clifford-tensor-gram/provider/NOTICE.md new file mode 100644 index 0000000000..50ee0013c3 --- /dev/null +++ b/research/clifford-tensor-gram/provider/NOTICE.md @@ -0,0 +1,55 @@ +# Provider sources and attribution + +New material: Ali Romman, with substantial OpenAI Codex assistance in the +proof, implementation, checks and publication. Apache-2.0. The checks do not +constitute independent human review or a proof-kernel verification. + +The source checkpoint is canonical main +`1ec1119972c9aefe42525172d07b332fcff81cb4`. `SOURCES.json` records exact +source paths, Git objects and SHA-256 values for the copied data. + +- **Cao Yifan / intqwq** supplies the final + [PR #4610](https://github.com/CrocSwap/integer-mult-bounds/pull/4610) + native word and phase data. His + [construction proof](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/kappa-round3-warp-20261022/PROOF.md) + records the changed construction and its OpenAI assistance. `WORD.json.gz` + and `PHASES.json.gz` are byte-exact copies of that selected source. +- **Chris R / Clear1nsight** supplies the + [PR #5241](https://github.com/CrocSwap/integer-mult-bounds/pull/5241) + independent admission and paid catalogue. `PAID.jsonl.gz` is a byte-exact + copy. The [admission proof](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/final4610-independent-admission/PROOF.md) + already contains a quantified free-group lift. The new work does not claim + priority for that argument. The prior source uses substantial OpenAI + Codex assistance and retains Apache-2.0. +- **Cinna Davis / 1337isnot1337** supplies the joint-helper, native warp, + query-thinned controller and preceding construction chain. `HELPERS.json.gz` + retains the recipes from the + [joint-helper source](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/joint-helper-lattice/PROOF.md). + **zxv**, **Jacob Alan Sussman** and **Dugongue** retain credit for productive + helpers, mixed-target recursion and frame/physical interfaces. See the + [selected contributor map](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/docs/research/community-native4610-contributors.md). +- **Rohan Arun**, **Jeremy Kothe** and the full native lineage supply the + retained exact Clifford kernel. **Tekalign / tekuuu** retains it in the + source package. The byte-exact kernel, scalar layer and full lineage + notice remain in `../vendor/`. The scalar layer is from **zxv**. +- **icekylinx** supplies the earlier phase-lowering source, with Codex + assistance. **DreamingOfClouds** supplies the wrapper source, with Claude + Opus 5.5 assistance; that source credits **chafreaky** for the residual + wrapper construction. Cinna Davis adds native warp support. The + [phase source](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/t74-native-fast/vendor/native/new/code/borrow/bw_phases.py) + gives the exact main-adapter formula used here. The + [wrapper source](https://github.com/CrocSwap/integer-mult-bounds/blob/1ec1119972c9aefe42525172d07b332fcff81cb4/research/t74-native-fast/vendor/native/new/code/borrow/bw_adapters.py) + retains the source notice and predecessor credit. + +The [PR #5243 handoff](https://github.com/CrocSwap/integer-mult-bounds/discussions/1166#discussioncomment-19147021) +motivates the initial paid-pair test. The separate +[PR #5393](https://github.com/CrocSwap/integer-mult-bounds/pull/5393) concerns +zero-row deletion and single-field reachability on a frozen eight-relation +provider. It is related work, not an input to this proof or an additional gain. + +The source construction, proposed recipe compiler, new quadratic-sum checker, +complete word interpreters and literal witness checker have different roles. +The Gaussian scalar layer is shared. The proof and implementation are not +independent of all earlier source definitions. No general stabilizer-method +priority is claimed; the classical code and quadratic-form work is credited +in `../ADVANCES.md`. diff --git a/research/clifford-tensor-gram/provider/PAID.jsonl.gz b/research/clifford-tensor-gram/provider/PAID.jsonl.gz new file mode 100644 index 0000000000000000000000000000000000000000..73fa3ced93981949ad8f2432af840b787d9182c0 GIT binary patch literal 125818 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 F3IM0wtBe2u literal 0 HcmV?d00001 diff --git a/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md new file mode 100644 index 0000000000..550cd0c2e9 --- /dev/null +++ b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md @@ -0,0 +1,82 @@ +# Provider experiment record + +The user requested an application of the new verifier to a complete current +provider, with a real kappa gain or a useful obstruction as the target. + +## Source and decision + +Canonical main was refreshed to +`1ec1119972c9aefe42525172d07b332fcff81cb4`, priority revision 7. The selected +record points to the final PR4610 word and PR5241 admission. The selected +value is 0.0030217758. The older verifier proof inputs remain pinned to their +original base. This application uses a separate current-source manifest. + +The first live overlap check covered 347 open PRs and 4,681 Discussion +records, with complete remote pagination. Local notes were sparse. The +PR5243 handoff asks for a physical H1+H1->H2 pair. PR5393 proves a different +zero-row result on a frozen eight-relation provider. The new scope is the +complete selected local provider and literal early/late fusion on one +persistent role. The first test uses adjacent rank-one climbs. No other +chat's work is changed. + +A second live check at 22:28 UTC on 2026-10-23 covered 350 open PRs and +4,684 Discussion records, with complete remote pagination. The terms were +`pair fusion`, `paid climbs`, `same persistent role`, `30328` and +`clifford-tensor-gram`. No competing claim for this exact provider audit was +found. Local coverage was 16 of 7,269 note paths; this check is not a full +historical novelty certificate. + +## Experiments and corrections + +1. The source has 21,449 events in each direction, 632 persistent roles and + one owned role. The 5,710 paid class records cover 6,596 instances. Only + checking a single native warp would not cover this boundary. +2. The first importer required each adapter marker's frame to be the current + frame. This rejected 82 source exit markers. Source inspection showed that + these adapters are identities. The importer now proves identity for a + moved marker. It still rejects a nonidentity adapter at a wrong frame. +3. The first owned-lifetime tracker marked COPY but not ADD into a cleared + owned register as live. The backward source accumulates its center by + ADD. The tracker was corrected before any complete-provider claim. +4. The native inverse circuit returns tuple gates. The first conjugation + helper combined a tuple with a list. This was a representation error, + not a mathematical failure. The helper now makes the new gate list + explicitly. Both orientations are replayed. +5. All 5,710 paid recipes then passed the new phase-exact Gram test. The + rank-one normalized traces were zero or `(1+i)/2^j` and its conjugate, + with j from 1 to 4. The proof uses the more general checked bounds + `Re(tau)<=1/2` and `|tau|^2<=1/2`. +6. The initial fusion scan required a common middle frame. It found 1,341 + pairs per direction and a single-term off-diagonal contact for every + pair. The two-sided cut formula removed that unnecessary restriction. + The second census covers all 1,363 adjacent rank-one pairs per direction, + including 22 with an intervening change of middle frame. It excludes + both endpoint placements for each pair: 5,452 replacements in total. + The same proof then applies to all 2,658 adjacent pairs at all ranks. + A final extension removes adjacency as well: all 7,582 pairs on one + persistent role per direction have a certificate. The final result + excludes 30,328 endpoint placements. Each extension changes the search + domain explicitly; it does not reuse a smaller-domain receipt as proof. +7. The complete physical programs pass the existing compact verifier. A + separate sparse expansion measures peak total support 22,331 forward + and 12,930 backward. Support growth is manageable for this source. No + general polynomial support bound follows. +8. The proof is stronger than a width-one rejection: each saved contact + defect has normalized squared norm at least q^2 at every positive + width. The full-provider norm need not have that bound, because its + prefix and suffix can be nonunitary. Invertibility transfers nonzero + defect, not a condition-number estimate. + +No promising fusion survived the exact endpoint test. The source remains +unchanged. The hypothetical invoice delta is not an achieved saving, so a +new compiler or outer arithmetic run is not warranted by this experiment. + +## Verification record + +`RESULT.json` contains the deterministic complete result. `FUSIONS.json.gz` +contains every contact certificate. `WITNESSES.json` contains full physical +program counterexamples. The same commands run in normal and optimized +Python. The repository replay manifest includes both modes. Final export, +committed-byte and publication results are recorded in the public handoff. + +Ali Romman, with substantial OpenAI Codex assistance. Apache-2.0. diff --git a/research/clifford-tensor-gram/provider/RESULT.json b/research/clifford-tensor-gram/provider/RESULT.json new file mode 100644 index 0000000000..0e471c979c --- /dev/null +++ b/research/clifford-tensor-gram/provider/RESULT.json @@ -0,0 +1 @@ +{"achieved_paid_delta":{},"admission_head":"13efb5fc5f3b7c14ec2cfa181dd9eb6480972cf2","complete_local_provider":{"backward":{"certificate":{"axes":9,"cutoff":76,"decision_widths":[69,70,71,72,73,74,75,76],"equivalent_at_all_positive_widths":true,"nonzero_endpoint_entries":0,"problem_sha256":"94d24c4876b09ca464c6f3bed1b14f59219dc7ffc3360b7a8a772b14c6b8a2cc","schema":"clifford-tensor-gram/native-v1"},"events":{"adapter":448,"center":8,"climb":3290,"phase":10,"scalar":17453,"warp":240},"instructions":24819,"native_symbols":1297,"paid":{"1":2201,"2":412,"3":510,"4":127,"5":40,"8":8},"support":{"final_terms":744,"peak_row_terms":148,"peak_total_terms":12930}},"forward":{"certificate":{"axes":9,"cutoff":76,"decision_widths":[69,70,71,72,73,74,75,76],"equivalent_at_all_positive_widths":true,"nonzero_endpoint_entries":0,"problem_sha256":"d141a880691f5f0fb79266b5e8a990fa59b399d3f63f3458b7a8582446ecb433","schema":"clifford-tensor-gram/native-v1"},"events":{"adapter":448,"center":8,"climb":3290,"phase":10,"scalar":17453,"warp":240},"instructions":24827,"native_symbols":1297,"paid":{"1":2201,"2":412,"3":510,"4":127,"5":40,"8":8},"support":{"final_terms":744,"peak_row_terms":156,"peak_total_terms":22331}}},"controls":[{"name":"missing_paid_class","rejected":"All oriented paid classes, without gaps"},{"name":"paid_absolute_phase","rejected":"Exact native Gram equality with absolute phase"},{"name":"borrowed_erasure","rejected":"Only owned storage can be overwritten"},{"name":"live_owned_cut","rejected":"Persistent climb at a closed owned cut"},{"name":"missing_contact_is_not_a_certificate","rejected":"No single-term contact certificate for (-1, 0, 0, 0, 2, 2, 3)"}],"full_program_basis_witnesses":12,"fusion":{"contact_types":{"backward_column":6632,"backward_row":950,"forward_column":6640,"forward_row":942},"normalized_squared_cut_defect_lower_bound":"coefficient^2","pairs_by_direction":{"backward":7582,"forward":7582},"rank_pairs":{"[1, 1]":8132,"[1, 2]":1220,"[1, 3]":1098,"[1, 4]":542,"[1, 5]":64,"[2, 1]":1210,"[2, 2]":274,"[2, 3]":150,"[2, 4]":30,"[2, 5]":24,"[3, 1]":1156,"[3, 2]":234,"[3, 3]":476,"[3, 4]":2,"[4, 1]":330,"[4, 2]":70,"[5, 1]":152},"rejected_fusions":30328,"separate_contact_replays":15164,"trace_counts":{"-1/128+1/128i":30,"-1/128-1/128i":30,"-1/16":228,"-1/16+1/16i":626,"-1/16-1/16i":626,"-1/32":320,"-1/32+1/32i":347,"-1/32-1/32i":347,"-1/4":126,"-1/4+1/4i":373,"-1/4-1/4i":373,"-1/64+1/64i":21,"-1/64-1/64i":21,"-1/8":88,"-1/8+1/8i":201,"-1/8-1/8i":201,"0":5558,"0+1/16i":120,"0+1/2i":356,"0+1/32i":45,"0+1/4i":289,"0+1/8i":553,"0-1/16i":120,"0-1/2i":356,"0-1/32i":45,"0-1/4i":289,"0-1/8i":553,"1/16+1/16i":4,"1/16-1/16i":4,"1/2+1/2i":3984,"1/2-1/2i":3984,"1/4+1/4i":5051,"1/4-1/4i":5051,"1/8+1/8i":4,"1/8-1/8i":4},"uniform_squared_cut_block_lower_bound":"1/256","width_domain":"every positive integer"},"fusion_payload_sha256":"03ad505c868b60c806e2af85824291b39c599becf2cb48d76e5b34860cbf63d2","limits":"Fixed early/late fusion of any two persistent paid climbs on one role; no changed contacts, coupled fusions, new controller or physical/outer admission.","native":{"helper_oriented_classes":34,"helper_profile":{"4":28,"7":7,"8":47,"9":326},"helper_roles":408,"main_adapter_oriented_classes":896,"paid_oriented_classes":5710,"warp_oriented_classes":360},"new_kappa":false,"provider_head":"20bb93cd990d2ff683e4d0fc56b87a42cd5d3296","source_main":"1ec1119972c9aefe42525172d07b332fcff81cb4","status":"PASS_COMPLETE_PR4610_PROVIDER_AND_30328_FUSION_OBSTRUCTIONS","witness_payload_sha256":"fa8a6dc9f201f4662fd823f8825dd2a90b2f0d1b4ade619d55b1e61efe2a9362"} diff --git a/research/clifford-tensor-gram/provider/SOURCES.json b/research/clifford-tensor-gram/provider/SOURCES.json new file mode 100644 index 0000000000..88f285b65d --- /dev/null +++ b/research/clifford-tensor-gram/provider/SOURCES.json @@ -0,0 +1,40 @@ +{ + "schema": "clifford-provider-inputs/v1", + "base_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "provider_head": "20bb93cd990d2ff683e4d0fc56b87a42cd5d3296", + "admission_head": "13efb5fc5f3b7c14ec2cfa181dd9eb6480972cf2", + "inputs": [ + { + "name": "word", + "file": "WORD.json.gz", + "source_path": "research/kappa-round3-warp-20261022/ACTUAL-WORD.json.gz", + "source_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "git_blob": "46d929df83817b85a5387bcdb9745e0627d6366e", + "sha256": "7679daa4ec6a40f56fc7f0202379a6f454310e94945aba4f48beaaaafb838d05" + }, + { + "name": "paid", + "file": "PAID.jsonl.gz", + "source_path": "research/final4610-independent-admission/PAID-CATALOG.jsonl.gz", + "source_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "git_blob": "73fa3ced93981949ad8f2432af840b787d9182c0", + "sha256": "964aa2e28057936825a67872ebe5c6b0abc3228e71a545dda6c1fc11adb983d5" + }, + { + "name": "phases", + "file": "PHASES.json.gz", + "source_path": "research/kappa-round3-warp-20261022/PHASE-VALIDATION.json.gz", + "source_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "git_blob": "ac77b78547d6dbf2e6bd102e1047c5b16c1bca88", + "sha256": "6eae66ed3cfa8a1533e89b9660a57276908e6646640a12f8b1e3489f4ea1354b" + }, + { + "name": "helpers", + "file": "HELPERS.json.gz", + "source_path": "research/joint-helper-lattice/NATIVE.json.gz", + "source_commit": "1ec1119972c9aefe42525172d07b332fcff81cb4", + "git_blob": "0910f74138decf498e7fc445cc2daff4390169d6", + "sha256": "74582cce642c80f0235be7fcbce3716174666326ac6a1d46d02a62a75d7be4c6" + } + ] +} diff --git a/research/clifford-tensor-gram/provider/WITNESSES.json b/research/clifford-tensor-gram/provider/WITNESSES.json new file mode 100644 index 0000000000..aea924193c --- /dev/null +++ b/research/clifford-tensor-gram/provider/WITNESSES.json @@ -0,0 +1 @@ +[{"direction":"forward","discrepancy":"1/32+1/16i","input_role":0,"input_tuple":[104],"mutated_program_sha256":"8d5931d2cdb7736001998571f07879d5c9a0fdce8fa6cd900f269ab8a6f46985","normalized_squared_norm":"1/2","output_role":115,"output_tuple":[0],"pair":[8266,8268,57,342,358,358,310],"placement":"early","width":1},{"direction":"forward","discrepancy":"-1/32+1/32i","input_role":0,"input_tuple":[72],"mutated_program_sha256":"24bb1821ce0ca31ba74b175e653851300b97755ce775bd5eb9225fe1dcd07b11","normalized_squared_norm":"1/4","output_role":115,"output_tuple":[0],"pair":[8266,8268,57,342,358,358,310],"placement":"late","width":1},{"direction":"forward","discrepancy":"1/32+1/32i","input_role":0,"input_tuple":[2],"mutated_program_sha256":"71475c660fb76a79a7b4f6a8080f5d9130bf97e44ea1a919c5f432ce91e42841","normalized_squared_norm":"1/4","output_role":112,"output_tuple":[0],"pair":[11981,11999,112,344,638,1164,659],"placement":"early","width":1},{"direction":"forward","discrepancy":"-1/32+1/32i","input_role":0,"input_tuple":[144],"mutated_program_sha256":"aafc8616eb3feb46e753690040f9046b6444355a002b913e9c9f37c7b1bddd79","normalized_squared_norm":"1/4","output_role":112,"output_tuple":[0],"pair":[11981,11999,112,344,638,1164,659],"placement":"late","width":1},{"direction":"forward","discrepancy":"1/32+1/32i","input_role":0,"input_tuple":[2],"mutated_program_sha256":"71475c660fb76a79a7b4f6a8080f5d9130bf97e44ea1a919c5f432ce91e42841","normalized_squared_norm":"1/4","output_role":112,"output_tuple":[0],"pair":[11981,11999,112,344,638,1164,659],"placement":"early","width":1},{"direction":"forward","discrepancy":"-1/32+1/32i","input_role":0,"input_tuple":[144],"mutated_program_sha256":"aafc8616eb3feb46e753690040f9046b6444355a002b913e9c9f37c7b1bddd79","normalized_squared_norm":"1/4","output_role":112,"output_tuple":[0],"pair":[11981,11999,112,344,638,1164,659],"placement":"late","width":1},{"direction":"backward","discrepancy":"1/64-3/64i","input_role":184,"input_tuple":[2],"mutated_program_sha256":"b0fbabb0790d8f7bd56d88425f0e1787a9182bf8cb9d77fcd4464f983a6d1696","normalized_squared_norm":"1/2","output_role":2,"output_tuple":[0],"pair":[11988,11990,184,364,640,640,1162],"placement":"early","width":1},{"direction":"backward","discrepancy":"1/64-3/64i","input_role":184,"input_tuple":[128],"mutated_program_sha256":"c3b2e621fe071d6718f1878aabd32ff270e89ec9c978a491cb84ae752ac7b397","normalized_squared_norm":"1/2","output_role":2,"output_tuple":[0],"pair":[11988,11990,184,364,640,640,1162],"placement":"late","width":1},{"direction":"backward","discrepancy":"-1/64+1/64i","input_role":112,"input_tuple":[0],"mutated_program_sha256":"ba85c9ccfa6a071fe615c1f3c6c1893709d7dbe002fc36ede676e454d4d67419","normalized_squared_norm":"1/16","output_role":1,"output_tuple":[0],"pair":[11982,12000,112,344,638,1164,659],"placement":"early","width":1},{"direction":"backward","discrepancy":"1/64-1/64i","input_role":112,"input_tuple":[144],"mutated_program_sha256":"1cb67d6c76dd8ab6b80bcc8b6bf20c0042114e4b5856993808d70b09cbd15a1f","normalized_squared_norm":"1/16","output_role":1,"output_tuple":[0],"pair":[11982,12000,112,344,638,1164,659],"placement":"late","width":1},{"direction":"backward","discrepancy":"-1/64+1/64i","input_role":112,"input_tuple":[0],"mutated_program_sha256":"ba85c9ccfa6a071fe615c1f3c6c1893709d7dbe002fc36ede676e454d4d67419","normalized_squared_norm":"1/16","output_role":1,"output_tuple":[0],"pair":[11982,12000,112,344,638,1164,659],"placement":"early","width":1},{"direction":"backward","discrepancy":"1/64-1/64i","input_role":112,"input_tuple":[144],"mutated_program_sha256":"1cb67d6c76dd8ab6b80bcc8b6bf20c0042114e4b5856993808d70b09cbd15a1f","normalized_squared_norm":"1/16","output_role":1,"output_tuple":[0],"pair":[11982,12000,112,344,638,1164,659],"placement":"late","width":1}] diff --git a/research/clifford-tensor-gram/provider/WORD.json.gz b/research/clifford-tensor-gram/provider/WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..46d929df83817b85a5387bcdb9745e0627d6366e GIT binary patch literal 207673 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%0An&u`Csb3RV8)-*z=ghBCmu|` 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%0A}m#BC$*!P z8|;;S`v$!2Hwv!lD?i$XzP;PK@NRBEOiSHrva~aC6YeYVub&HOJ5%U#1G}K8cI8U{ zgWYMV8f$`A${e@09wcb2g8H&>Cn|$>h`=gen$#;PJWgDIE+pjU&%rOQqwt;E=v;6@Tvyw%j;^psmgf6P;Y`!Z=ZE;QP2w~hFSv5{l(%|^zT z9a^*p5uhoASOUONb&zig&MADJdXNE+5MwuvQuZlgX-IE&M8(gG_kHM7(-lxpnM;46 zNSsLjWwCh>pPrVsvftH0Pyg`dnB9|Pc~JzO;KM~*f`nZDi@;jk52ZM~u{r67la(hX z+c2~8TZGLm!FS(e9(ZM$6nJz$&HMEV$is|IU6nnEX_hmsTLZg{0s7<}m ze=4e=#IaG0yL@4nx2B~0jiKQ@{Lo?|Y=Cq8SGAW~Zw6_CguBCKOx4n<264H`MiJz~ zG?b0U<@qOGfV%3RLFYOZps4~gviJRuWm;gBc%&xe{i$DI!@F8$c$@|CjMOu!ZY6u# zSsK4ByTkK!f-JAk z7(kZQyC*KXq2MRsk4psEF>+TAiQu&A)d>7A!eVPi_vmGKB0F!P-8C0UvT1jq+?1bN z>4vuDid)#1^e5$ysh2@5ZXsbETXo}V7gl}HX^Knm9TdDy8S6a~OSj$oh_xDH{m>&T zY;#XVIUKsePIbj)8SEcrrV|%pD<)^;d&1i$r*h`Oh0qQ{KX917*)Eme?#lqn*W&#` zuve59P2^nckrWr8{K(^p^_Qq+)*Y!g|2)>FY^@uAb0`~NW3bSm*8rsY!93`~sf`~8 z0sEq%sdf=Aouc89?rYuadzM)S@tSPxw?YEHt{Ajm@v^ft5)=fq**3S?dRCt-ecm1S z&XZ!e3Q@#gaJo>A;~e*N(Z{&-&# z|9~WpdK>@#dJBo|nSX0K_0jOL*7pI1luv(LAAMXu*8(v$t1QdJs2Kmu4POf74 z;w4*EtFVY)*-4|VtGTGH<%JI(EC(@Hb;efJ7F7W%{*O$l0+fK5D?61sOTT!fX&KXN z>nbj4|BtlN*41Cs*6~WyHn!TR26X~ zt+vBD57%{= zV9+ES_L@28FRwwtjdh6xvVdA5mwfRm0&Za6nKGKK8h>sQweH=-Ml-YIB_WCVlf@97 zkM5asl8EoYZL4;y$j;sOL-r@x2{fUP zJQn4sj1SyN$XOrb=m=D9K$vl=?EHQVVrkp0_2f4-4@chz$}kyLQIie7MY|hkVkOjrD7$UlTZy(k*%|AOprqg zLUBSUY->+QleuF^lloZ*Kfc8dS?kgmt30YpoUSI5p6Bdz*=1uwQ6=_SWIxp*z?`FB=Pi*i+rh#R!5GAI&%h|gxgj`` z+i^~X#M8146Ss$y3<uc;6d%nvv)rKM9gyabN#>@H&%pQ|EfS;^0yLuz-J!7_DO-!(jgx-C$QGg-#cu5Bf058)&7ja*$ci7=FEm81)LEs`F*t z!Vl?>N!Zap1Z{`Jcn1A&N}o|0j+WvR;8G6y`tW%#w%zD)$ z#R8(*E=ktAr~N+8f8)d+wD89%Yn%-V(Y&>hJJQuSnPI8KCD5ikY(9d%fl42wI- z1R&?82ZuCL;L?Q7rZ%jm9|^I}|8j+;b1cKCYtmG0)50*}&F&|yA5Hv}-CwdM=(&_~ z#We`*z90EExxyuUv|w&Y;f}Cvls7D}CgnWR>|i|V;R$B}z(F`8Al(Y<*PcA&q&ZqOITD~iOLeOT_8_z;1P$HK zeEu2yOZzyV)5N4I*hB|Zyw)p&(|(hbERQ4;h>Y?U@ zEz(#;C3L+=e7Fg=s*XgeUsFaGSF11L#Gb(gimkgZ-pDcwelP=B6Df~KHoO9~Kw_lZ z7(XD52coPCW3?gGpc({Og@i;9$3+9aVMmY0+ zED==5&?r#x!=B1dXeMlC4nC&dmb!Uv>FRn>$nM2ikWe^oSiEcZXTcu0nv zWCxYcC;#OAD(<%@M|E2hbz+XRX}nYB>MRC|pXskF1QvqR0XQ^JasQSrkg>T|rPB2S zdrzcprU@icAzoFvtaQ}l#!jkS%m(lgmcl>I#^!ABe>zXh*IBGqxH~UJ!WzXo*htKa z$WPH^-P_=mpRi#uvW7%R>_u>&6t$U7`pJ|n=}gr~2*bvuiYqd4_b{@B)~FQKv;lvmwkZ6La;oC>WVhak2Z z!z~E9{7n5xS2>lwx+xc0oRys#c2@;s2cE(1QK}hI2O={`!4IZ8le^q(u`qJTLM{44Rh7~D33b{>cYSMx+Hy}}5Zbq_5UZoc` zaZnSq)FH7J@sv8TVryC1XReVi*?!IA!?Xy=qWW?SMWmnNM1-HgZBg()vr_HoZtXpP ze@8&l$EF69jy19p3TqpV9)O(jaT=G$bGZu?y+@r?t(PoARc4sBxOfEXWcDh*oebkO zxT5q);iNycT4@!g38Ks5yDh%!ejV1+S5Wv#tYJYWIuw<}k`pT*6zx0)j8l!``HijW z9nionJ+zu-q!{;P)0)JiGslzi)L%G50`){?xu#G{NXk4jtJXAPl!#@c-<&7CrV~M= z>cj6A?4_KPgpED7V5!e8`^nl+p*Nd`j&5Z z19%wvj`!XCWv5ART1iK5bsQiyeeWwaln=Gb8{ju`3aIVv?hZGLGGr;_{1_FZrCsGZ zGH5{_FJ=f3Xs|)}h{Ho^sZi14KE*4Cy-;e321GE>zu?vBM&eL^m2QQs^&vEBTvDes zN<(K3`UzWIiB#G6ndzntYt=>?YQcov5|cPRZqdZJ|&vYTJeVCxftzg#tL$H z$o-l7i)pjTh*_cG_$o=UT%115;Y~MQoUrijEPTZYp10@~HMaB*Hx-D?ok?dY(3c91 zkJPFO+nWpf{nVTh`xhT@-62~5ksT7>LOPR`mGTm%!86<8`=@N|prT8Pt%iV=|Zt|pYBH)eh@^cuFA8#(fup zE*${$326}Wk=HUQIO3kVniLp(#+AhJ8>Yd4ksk?(J>?e=653bb{uVTk-Wre5uNm@m z^n`*Ffz6M&XT3+t?T$eM4=56hfi_-vHi#W}ro5LCw?or{3w)wM*gvhqPAcgjB^kpH zkMze;ZzTRmK^-n@7UsJ(CAycZax*|cuub{!G?N5F7%GTwhWs{@oP5G(8@`xrWi&R= z)?@5Yt{{kOS3D*@{rmtN^qDYz_;>7{lbe)<+u(PTsmO(4K zn3QyM2-oz>8^Q{Bcw`KE7U7l>%X^t{LSA!Nr=s3kP(;}IwOZrD`7t!Q!Sm_S0m94; zOa5+%B8|VD%VF2)cwd%WY2RzcAN4ly4ouFsj%8V?P(7>~&krmEyeJZ0=Rhb@4|DN&YmwU?lUnL@yds7y}8TWF<% zVYc&Vev~ z2Rw%N&v?L%4cT;hTbQi#5zT>t}xy~Jrl)_GgCeTuYjeKc_IuL_T z4~1=4fsv+QZ|Df!+#nc(EeHqh`6SkfZZc$phzHj*!8&PPs(T;sejJVAK5?+|<1AvG zA$zc9BJ|9=O=X(l<)Oy&^1d_3^wKTZzF0T=XMX1jxOS_&)*S#(o|!>a5f|N(8=Qvz zvM6h8v`{8T*9}b-Q!vE_>iT;P{YS%03)zF5j+3gWK&?&x?JzcaIenT zI|ZHia|B^KsMUTud+#TuIJURM#5o4?Iz}9)v>3}O=AKnj#@$ zW)Z5#mMl6VEtbccU3ZrE3R}LnrsLfZo0^!dKUwU$SU8qHWB;&w4Gc`<7g)XUD$%(x zYT6)mrfO0*Of@cp23@jv+oxrdI(-RNUkTA79drH?*Zyx0uARQC_6(j^CVsi(2>{tF2>0eaqtr0S^q*{yNh$9_$@Gj-$CNM- zg1sNYIM$TBB-mG8P#_`?k9*b`{!I}N?Ig$`Y_VuW!}qDk&agF`KBdfTIQn`qd-Sy> zu|nEedqv*5l(OqAp4)mj)e+p}D3dlBr=towU6Sn?Vp)SfTz3F3{44hn6>VA2fAi@d zZ!d7BSi(2UH4ZasJ}N+nO(~MbQZzPRxSxyZT{)yi_{Cb`VjSKSbZbRCI2-)jn6Oh} z9rQHe=Dk#vNbF9*_Z*cQ%0Kq#kJRzLogE6dGpTX`gfBY)J38)7L9K$9{n!3*9o;nL z%Iuc-V<4>#n53*9P5kn$Gw~Ny*Q>)E{WiE|+xUhw^!srEdY4WhqH1ae|{7Kok?`LIw#R0@Rc?DEjWE~BL_8GX7o(tn*xdkbFPW=D%OU} z4#>-k9sZSnfs0ymh=s55Fqw3pz=Fo?R^9rg8?WG%0{=dx_4F$q)#HSN-YdneS-{+d z-~BZD_(ta4@7->jj`cFeyGG#zyQ7NiiZxAjpJhomo8MaLr`B~zNdZ4}@;h`QX~&Si z@{Nl`(4|==xKsT4G0^ks2&6#f-&JyksMcgJI~Yfhxc}54-ya zZ8kA2FYzt&=vJh2JKG*~MXL|MR+&(5Ad>LvlI}8Bhe3ENC$gEcD!PMXC0I%NYLFKfPR6k|n!g;4G8Do#H}xT)+uy31LTZ0bm3xAjJRa}&M6vPrZ?kpB%@Wy z+SKXcD#5=p_W{mqx8cBI{3PHG#LErnXQ_ClJF9@nx5y&b$C;Ep1 zZq6S28W7_H!o5aE0P>CCAZ)8ZliLL%i(qfP`YtzpJR$v4VI)66!l?UkIYay~cU1BA zY+vkM!$f`L%uddK*UQB}TGYh86iT^ui@Id8+1qqHyYmI>YN~Ncl={<{h?JP9!$7zP zx8(IB(i5L3MI!$^$EDuI7dcVPR_CLmoirclCpN1ETx_)SEvf`*1yRgDZ9(A?>zp3` z3%6K;z)i68_X$u!5@TsC?9< z@cr|F_ua~gIrW+zFnd0_KnrRtQ7_s&OY6Q&D>zRZ!nA#_4qM1WYLb_&0uCT4uB@s6 z1aUuED`)IfKcD{fQmD#X8PD*G@+T2DMnp9b=snQI1UY4_T0KJ!fg(xpU<$>vM9X~& z#XVMT%Ut>~XkET>a?fr=NVy>n>>N~rbgJf&-o6NT_JME8npPh*Yq>Wc9aPo2adHi) zD&CzB<7(#xugACBE6H@}wdBrDM;DwVkJ^oD5y%pggI4(FWCMw6v#`GkSX()9 zg1BnA9Ut7d`YUre^a9Vb?D7D}XsR)^6YFKP($;xAt37QH|2LIBgZyT#NTSPYUc;G( z7nA}Tj%CLU7vfCzR)IBbMTZYr%TXXvSg)*wd|kCflMP8VOcg=sv;kY^n?6gQO`j!u zBHtQ(y;Yb2+^(5Qj2FUyJPCbV9FdCUI z9El`^`robnlg(|w)za^{w$_Bl2V(XCTRez2Lo`#PHuQ)&d@?;*G-nI@Mb$&l$*FEJ zIpuP#UFOqnnDV0ef6tv8*5GlqaSRW%d|aE^T^^&

2VZSP}KItK@?5y|8|LhfHIf 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

$ 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 x`NPMb-+jFN^26gF|LMc;zrXwN{ih%Q`2F1 0 and p.rank(u+v) == len(v), "Strict productive helper boundary") + helper_profile[r] += count + for direction in ("forward", "backward"): + rec = helpers[a, b]["recipes"][direction] + p.need(rec["rank"] == r, "Complete helper recipe rank") + equal(model.edge(a, b, direction), p.recipe(rec)) + + adapters = json.loads((HERE / "provider/MAIN-ADAPTERS.json").read_bytes()) + adapter_seen = set() + for row in adapters: + entrance, register, f = row["entrance"], row["role"], row["frame"] + p.need(type(entrance) is bool and type(register) is int and 0 <= register < 224, + "Main adapter label") + key = entrance, register + p.need(key not in adapter_seen and f == model.c["start" if entrance else "final"][register], + "Exact complete adapter boundary") + p.need(row["recipe"]["rank"] == 0, "Main adapter is a monomial") + target = inverse_circuit(p.N, model.old_frame(register, entrance)) + model.frame(f) + decoded = p.recipe(row["recipe"]) + for direction in ("forward", "backward"): + equal(target if direction == "forward" else p.conjugate(target), + decoded if direction == "forward" else p.conjugate(decoded)) + adapter_seen.add(key) + p.need(adapter_seen == {(side, r) for side in (False, True) for r in range(224)}, + "All main adapters in both orientations") + return traces, dict(paid_oriented_classes=len(seen), warp_oriented_classes=2*len(warp_records), + helper_oriented_classes=2*len(actual_helpers), helper_roles=sum(actual_helpers.values()), + helper_profile=dict(sorted(helper_profile.items())), + main_adapter_oriented_classes=2*len(adapter_seen)) + + +def fusion_census(model, traces): + evidence, trace_counts, kinds, ranks = {}, Counter(), Counter(), Counter() + for direction, program in model.word["programs"].items(): + rows = [] + for pair in p.fusion_pairs(program): + row = p.contact_witness(program, pair) + a, b, c0, d = row["frames"] + for name, key in (("late_trace", (a, b, direction)), ("early_trace", (c0, d, direction))): + tau = traces[key] + # f=1: Re(tau)<=1/2. f>=2: |tau|^f<=1/2. + p.need(tau.real <= Q(1, 2) and c.norm2(tau) <= Q(1, 2), "Uniform noncentral trace bound") + row[name] = str(tau) + trace_counts[str(tau)] += 1 + p.need(Q(row["coefficient"]) != 0, "Nonzero contact coefficient") + kinds[direction + ("_row" if row["output"] == row["role"] else "_column")] += 1 + ranks[str(row["ranks"])] += 1 + rows.append(row) + evidence[direction] = rows + minimum = min(Q(row["coefficient"])**2 for rows in evidence.values() for row in rows) + return evidence, dict(trace_counts=dict(sorted(trace_counts.items())), contact_types=dict(sorted(kinds.items())), + rank_pairs=dict(sorted(ranks.items())), uniform_squared_cut_block_lower_bound=str(minimum), + pairs_by_direction={d: len(rows) for d, rows in evidence.items()}, + rejected_fusions=2*sum(map(len, evidence.values())), + width_domain="every positive integer", + normalized_squared_cut_defect_lower_bound="coefficient^2") + + +def check_contact_certificates(model, evidence): + """Check coverage by role lists, then use the older input-column engine.""" + count = 0 + for direction, certificates in evidence.items(): + events = model.word["programs"][direction] + expected = set() + for register in range(p.PERSISTENT): + climbs = [(j, event) for j, event in enumerate(events) + if event[0] == "climb" and event[2] == register] + expected.update((a, b) for j, (a, _) in enumerate(climbs) for b, _ in climbs[j+1:]) + p.need(len(certificates) == len(expected) and {(r["first"], r["second"]) for r in certificates} == expected, + "Independent complete same-role pair census") + skeleton = [] + for event in events: + instructions = [] + if event[0] == "warp": + instructions.append(dict(op="apply", dst=p.role(event[1]), symbol=str(abs(event[2])), inverse=event[2] < 0)) + elif event[0] == "scalar": + gate = event[1] + target, op = p.role(gate[1]), gate[0] + if op in ("clear", "copy"): + instructions.append(dict(op="scale", dst=target, coefficient="0")) + if op in ("copy", "add"): + instructions.append(dict(op="add", src=p.role(gate[2]), dst=target, + coefficient=str(Q(1) if op == "copy" else Q(gate[3], gate[4])))) + elif op == "scale": + instructions.append(dict(op="scale", dst=target, coefficient=str(Q(gate[2], gate[3])))) + skeleton.append(instructions) + interface = dict(roles=p.PERSISTENT+1, operators={str(j): None for j in range(1, 73)}) + for row in certificates: + program = [instruction for event in skeleton[row["first"]+1:row["second"]] for instruction in event] + result = word_endpoint(interface, program, row["input"])[row["output"]] + word = tuple((str(abs(signed)), signed < 0) for signed in row["word"]) + p.need(result == {word: c.G(row["coefficient"])}, "Separate complete contact coefficient replay") + count += 1 + return count + + +def fused_program(problem, offsets, pair, early): + first, second, *_ = pair + program = problem["program"] + merged = program[offsets[first]:offsets[first+1]] + program[offsets[second]:offsets[second+1]] + return (program[:offsets[first]] + (merged if early else []) + + program[offsets[first+1]:offsets[second]] + ([] if early else merged) + + program[offsets[second+1]:]) + + +def full_witness(problem, program, reference): + """Find a width-one basis witness, then check a separate input-column replay.""" + actual, _ = p.complete_endpoint(problem, program) + names = list(problem["operators"]) + bank = compact.validate(problem) + for output, (left, right) in enumerate(zip(actual, reference)): + difference = left.copy() + p.add(difference, right, Q(-1)) + for entry in sorted({key[0] for key in difference}): + terms = [(word, q) for (source, word), q in difference.items() if source == entry] + circuits = [[gate for signed in reversed(word) + for gate in bank[names[abs(signed)-1], signed < 0]] for word, q in terms] + coefficients, paths, inner = compact.merge_terms([c.G(q) for word, q in terms], + [Paths(p.N, circuit) for circuit in circuits]) + if not coefficients or c.energy(coefficients, inner, 1) == 0: + continue + witness = compact.entry_witness(coefficients, paths, inner, 1) + literal = word_endpoint(problem, program, entry)[output] + wanted = word_endpoint(problem, problem["reference"], entry)[output] + from check_witness import add_term + for word, q in wanted.items(): + add_term(literal, word, -q) + # Independent source amplitude evaluator; no Gram or path sum. + sys.path.insert(0, str(HERE / "vendor")) + import clifford_exact as source + value = c.G(0) + for word, q in literal.items(): + circuit = [gate for letter in reversed(word) for gate in bank[letter]] + vector, denominator = source.Op(p.N, source.identity(p.N), circuit).zero_state(witness["input_tuple"][0]) + real, imag = vector[witness["output_tuple"][0]] + value += q*c.G.pair(Q(real, 1 << denominator), Q(imag, 1 << denominator)) + p.need(value != 0 and str(value) == witness["discrepancy"], "Independent complete-provider basis witness") + return dict(output_role=output, input_role=entry, **witness, + normalized_squared_norm=str(c.energy(coefficients, inner, 1)), + mutated_program_sha256=hashlib.sha256(canonical(program)).hexdigest()) + raise ValueError("No width-one full-program witness") + + +def rejection(name, action): + try: + action() + except (ValueError, KeyError) as error: + return dict(name=name, rejected=str(error)) + raise ValueError("Accepted negative control: " + name) + + +def verify(write=False): + source_integrity() + manifest, data = p.read_inputs() + model = p.Provider(data["word"]) + audits = {d: model.audit_word(d) for d in ("forward", "backward")} + traces, native = check_catalogue(model, data, audits) + print("PASS_ALL_PROVIDER_NATIVE_CLASSES", native, flush=True) + results, witnesses = {}, [] + for direction in ("forward", "backward"): + problem, offsets = model.problem(direction) + actual, support = p.complete_endpoint(problem, problem["program"]) + reference, _ = p.complete_endpoint(problem, problem["reference"]) + p.need(actual == reference, "Complete sparse physical endpoint") + certificate = compact.certify(problem) + p.need(certificate["equivalent_at_all_positive_widths"], "Complete compact provider certificate") + p.need(not actual[p.OWNED], "Arbitrary owned input is erased at return") + results[direction] = dict(certificate=certificate, support=support, instructions=len(problem["program"]), + native_symbols=len(problem["operators"]), events=audits[direction]["events"], + paid=audits[direction]["paid"]) + pairs = p.fusion_pairs(model.word["programs"][direction]) + selected = [min(pairs, key=lambda row: (row[1]-row[0], row)), + min((row for row in pairs if row[4] != row[5]), key=lambda row: (row[1]-row[0], row))] + events = model.word["programs"][direction] + selected.append(min((row for row in pairs if max(events[row[0]][5], events[row[1]][5]) > 1 + and any(event[0] == "climb" and event[2] == row[2] + for event in events[row[0]+1:row[1]])), + key=lambda row: (row[1]-row[0], row))) + for pair in selected: + for early in (True, False): + witness = full_witness(problem, fused_program(problem, offsets, pair, early), reference) + witnesses.append(dict(direction=direction, placement="early" if early else "late", + pair=list(pair), **witness)) + print("PASS_COMPLETE_PROVIDER", direction, support, flush=True) + fusions, fusion_result = fusion_census(model, traces) + fusion_result["separate_contact_replays"] = check_contact_certificates(model, fusions) + controls = [] + bad = deepcopy(data) + bad["paid"] = bad["paid"][:-1] + controls.append(rejection("missing_paid_class", lambda: check_catalogue(model, bad, audits))) + first = data["paid"][1] + wrong = deepcopy(first["recipe"]) + wrong["left"]["phase"] = (wrong["left"]["phase"]+1) % 4 + controls.append(rejection("paid_absolute_phase", lambda: equal(model.edge(first["input"], first["output"], first["direction"]), p.recipe(wrong)))) + broken = deepcopy(data["word"]) + broken["programs"]["forward"].insert(0, ["scalar", ["clear", ["L", 224]], broken["canonical"]["start"][224]]) + controls.append(rejection("borrowed_erasure", lambda: p.Provider(broken).audit_word("forward"))) + broken_live = deepcopy(data["word"]) + prog = broken_live["programs"]["backward"] + at = next(j for j, event in enumerate(prog) if event[0] == "center") + prog.insert(at, next(event for event in prog if event[0] == "climb")) + controls.append(rejection("live_owned_cut", lambda: p.Provider(broken_live).audit_word("backward"))) + # A block with no contact can permit fusion. The exclusion needs its contact witness. + p.need(all(not row for j, row in enumerate(p.interval([], -1, 0, 0)) if j != 0), "Identity interval positive control") + controls.append(rejection("missing_contact_is_not_a_certificate", lambda: p.contact_witness([], (-1, 0, 0, 0, 2, 2, 3)))) + evidence_sha = saved("FUSIONS.json.gz", fusions, write) + witness_sha = saved("WITNESSES.json", witnesses, write) + result = dict(status="PASS_COMPLETE_PR4610_PROVIDER_AND_30328_FUSION_OBSTRUCTIONS", source_main=manifest["base_commit"], + provider_head=manifest["provider_head"], admission_head=manifest["admission_head"], + complete_local_provider=results, native=native, fusion=fusion_result, + fusion_payload_sha256=evidence_sha, witness_payload_sha256=witness_sha, + full_program_basis_witnesses=len(witnesses), controls=controls, + new_kappa=False, achieved_paid_delta={}, + limits="Fixed early/late fusion of any two persistent paid climbs on one role; no changed contacts, coupled fusions, new controller or physical/outer admission.") + saved("RESULT.json", result, write) + print(result["status"], flush=True) + return result + + +if __name__ == "__main__": + p.need(sys.argv[1:] in ([], ["--write"]), "Use --write or no argument") + verify("--write" in sys.argv) From aef3c2f91a10d4c41e814ea264a9d64c9423bcb2 Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 17:38:25 -0500 Subject: [PATCH 4/5] Enforce adapter boundaries in the provider interval proof --- research/clifford-tensor-gram/PROVIDER.md | 4 ++++ research/clifford-tensor-gram/provider.py | 21 ++++++++++++++++--- .../provider/RESEARCH-NOTES.md | 8 +++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/research/clifford-tensor-gram/PROVIDER.md b/research/clifford-tensor-gram/PROVIDER.md index b88cd3de58..7b7dfa9e48 100644 --- a/research/clifford-tensor-gram/PROVIDER.md +++ b/research/clifford-tensor-gram/PROVIDER.md @@ -85,6 +85,10 @@ that must not be hidden: some identity exit markers precede the final climb. The importer permits a marker at a different current frame only when the adapter circuit is exactly the identity. A nonidentity marker must use its actual current frame. +Every nonidentity entrance adapter must precede all uses of its role. Every +nonidentity exit adapter must follow all uses. The word audit checks both +conditions. Thus an adapter inside a candidate interval changes its endpoint +frame and has the identity logical map. The sparse interpreter expands all independent inputs together. The existing `compact.certify` interpreter expands one input at a time. Both complete diff --git a/research/clifford-tensor-gram/provider.py b/research/clifford-tensor-gram/provider.py index 2138cbe7d4..9faabb34d0 100644 --- a/research/clifford-tensor-gram/provider.py +++ b/research/clifford-tensor-gram/provider.py @@ -135,7 +135,8 @@ def audit_word(self, direction): """Check every event, frame contact, owned lifetime and paid charge.""" c, program = self.c, self.word["programs"][direction] current = list(c["start"]) + [None] - live, paid, counts, adapters, pairs, warps = False, Counter(), Counter(), set(), {}, set() + live, paid, counts, adapters, pairs, warps = False, Counter(), Counter(), {}, {}, set() + contacts = {r: [] for r in range(224)} for j, event in enumerate(program): kind = event[0] counts[kind] += 1 @@ -152,11 +153,15 @@ def audit_word(self, direction): need(current[target] == a and r == abs(len(u)-len(v)) > 0 and rank(u+v) == max(len(u), len(v)), "Chronological nested paid edge") current[target] = b + if target < 224: + contacts[target].append(j) paid[r] += 1 pairs[a, b] = r elif kind == "warp": _, register, signed, a, b = event target = role(register) + if target < 224: + contacts[target].append(j) need(current[target] == a and abs(signed) in self.maps, "Chronological signed warp") rows = transpose(next(row["G_columns"] for row in c["warps"] if row["op"] == abs(signed))) if signed < 0: @@ -170,6 +175,8 @@ def audit_word(self, direction): elif kind == "scalar": gate, f = event[1:] target = role(gate[1]) + if target < 224: + contacts[target].append(j) op = gate[0] if op in ("clear", "copy"): need(target == OWNED, "Only owned storage can be overwritten") @@ -180,6 +187,8 @@ def audit_word(self, direction): need(current[target] == f, "Scalar receiver frame") if op in ("add", "copy"): source = role(gate[2]) + if source < 224: + contacts[source].append(j) need(source != target and current[source] == f, "Scalar source frame") need(source != OWNED or live, "Owned source is initialized") if op == "copy": @@ -204,12 +213,18 @@ def audit_word(self, direction): need(current[target] == f or self.old_frame(target, entrance) == self.frame(f), "A moved adapter must be exactly the identity") need((side, target) not in adapters, "No repeated main adapter") - adapters.add((side, target)) + adapters[side, target] = j else: need(kind == "phase", "Known provider event") need(not live and current[:PERSISTENT] == c["final"], "Complete final frame and owned return") - need(adapters == {(side, r) for side in ("old_to_new", "new_to_old") for r in range(224)}, + need(set(adapters) == {(side, r) for side in ("old_to_new", "new_to_old") for r in range(224)}, "All 448 main adapter events") + for (side, target), position in adapters.items(): + entrance = side == "old_to_new" + f = c["start" if entrance else "final"][target] + if self.old_frame(target, entrance) != self.frame(f): + need(all(position < j if entrance else j < position for j in contacts[target]), + "Nonidentity adapters surround every use of their role") need(dict(paid) == {int(k): v for k, v in c["local_profile"].items()}, "Complete paid profile") return dict(events=dict(counts), paid=dict(sorted(paid.items())), pairs=pairs, warps=warps) diff --git a/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md index 550cd0c2e9..c9e492ac25 100644 --- a/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md +++ b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md @@ -66,6 +66,14 @@ historical novelty certificate. width. The full-provider norm need not have that bound, because its prefix and suffix can be nonunitary. Invertibility transfers nonzero defect, not a condition-number estimate. +9. The final proof audit checks the positions of all 224 nonidentity main + adapters in each direction. Each entrance precedes all uses of its role; + each exit follows all uses. This check is part of the importer. It makes + the interval's logical-frame interpretation explicit. All receipts keep + the same mathematical values. + A separate negative check moved role 112's nonidentity exit adapter from + event 15,723 to event 14,298, before its last scalar contact. The audit + rejected it with `Nonidentity adapters surround every use of their role`. No promising fusion survived the exact endpoint test. The source remains unchanged. The hypothetical invoice delta is not an achieved saving, so a From 848cdce9003262c4b6e02ec4558f302e4fae56ad Mon Sep 17 00:00:00 2001 From: Ali Romman <226877337+aliromman@users.noreply.github.com> Date: Fri, 23 Oct 2026 17:55:10 -0500 Subject: [PATCH 5/5] Allocate provider replay time within the fixed package budget --- research/clifford-tensor-gram/VERIFY.json | 12 ++++++------ .../clifford-tensor-gram/provider/RESEARCH-NOTES.md | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/research/clifford-tensor-gram/VERIFY.json b/research/clifford-tensor-gram/VERIFY.json index 83994f3371..b41360ab97 100644 --- a/research/clifford-tensor-gram/VERIFY.json +++ b/research/clifford-tensor-gram/VERIFY.json @@ -17,7 +17,7 @@ "-B", "{package}/verify.py" ], - "timeout_seconds": 180, + "timeout_seconds": 90, "checks": "Exact trace filter, complete one-axis group, source columns, independent tensor norms and endpoints, literal witnesses and rejection controls." }, { @@ -30,7 +30,7 @@ "-B", "{package}/verify.py" ], - "timeout_seconds": 180, + "timeout_seconds": 90, "checks": "Exact trace filter, complete one-axis group, source columns, independent tensor norms and endpoints, literal witnesses and rejection controls." }, { @@ -42,7 +42,7 @@ "-B", "{package}/verify_advances.py" ], - "timeout_seconds": 180, + "timeout_seconds": 90, "checks": "Code invariant, stronger filter bound, one-axis rank certificate, quadratic sums, complete native programs, bitwise witnesses and large-axis phase cases." }, { @@ -55,7 +55,7 @@ "-B", "{package}/verify_advances.py" ], - "timeout_seconds": 180, + "timeout_seconds": 90, "checks": "Code invariant, stronger filter bound, one-axis rank certificate, quadratic sums, complete native programs, bitwise witnesses and large-axis phase cases." }, { @@ -67,7 +67,7 @@ "-B", "{package}/verify_provider.py" ], - "timeout_seconds": 240, + "timeout_seconds": 420, "checks": "All 7000 native recipe classes, both complete selected provider directions, all 30328 pair fusions, separate contact and coverage replays, literal full-program witnesses and controls." }, { @@ -80,7 +80,7 @@ "-B", "{package}/verify_provider.py" ], - "timeout_seconds": 240, + "timeout_seconds": 420, "checks": "All 7000 native recipe classes, both complete selected provider directions, all 30328 pair fusions, separate contact and coverage replays, literal full-program witnesses and controls." } ] diff --git a/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md index c9e492ac25..83b4901e17 100644 --- a/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md +++ b/research/clifford-tensor-gram/provider/RESEARCH-NOTES.md @@ -74,6 +74,13 @@ historical novelty certificate. A separate negative check moved role 112's nonidentity exit adapter from event 15,723 to event 14,298, before its last scalar contact. The audit rejected it with `Nonidentity adapters surround every use of their role`. +10. The first hosted replay on Linux / CPython 3.12.15 passed the four earlier + checks, all native recipe classes and both complete provider endpoints. + Its 240-second provider limit then expired during the remaining checks. + No mathematical failure was reported. The manifest now assigns 90 seconds + to each earlier check and 420 seconds to each provider check. The total + stays 1,200 seconds. Source code, proof and scientific receipts are + unchanged by this budget correction. No promising fusion survived the exact endpoint test. The source remains unchanged. The hypothetical invoice delta is not an achieved saving, so a