diff --git a/.gitattributes b/.gitattributes index 41aef290fd..76e425cdaf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,3 +8,8 @@ upstream/** -whitespace references/copied-centers/pr29/** -whitespace references/copied-centers/pr33/** -whitespace references/semantic-bulk/** -whitespace + +# Preserve the exact bytes of pinned upstream proof and witness snapshots. +references/partial-gauge/pr97/** whitespace=-blank-at-eof +# Preserve the exact pinned PR117 source bytes and legal notices. +references/three-stage-cover/pr117/** -whitespace diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 6bd374e1ca..6b1b33f5a5 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: python-version: ['3.11', '3.13', '3.14'] - group: [community, producers, certificates, ternary, research, tests, strips, clones, positive, joint, pair] + group: [community, producers, certificates, ternary, research, tests, strips, clones, positive, joint, pair, partial-gauge, three-stage-cover, paired-cube] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 with: diff --git a/Makefile b/Makefile index 84fe8290f3..6656308b6b 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,9 @@ community-followup-check: verify: $(MAKE) verify-community $(MAKE) verify-producers + $(MAKE) verify-partial-gauge + $(MAKE) verify-three-stage-cover + $(MAKE) verify-paired-cube $(MAKE) verify-certificates $(MAKE) verify-ternary $(MAKE) verify-research @@ -30,6 +33,7 @@ verify-community: community-audit-check community-followup-check copied-reversed $(MAKE) climbed-48-verify verify-producers: + $(MAKE) stopped-product-verify $(MAKE) copied-centers-verify $(MAKE) structured-bulk-verify $(MAKE) endpoint-gauge-producer endpoint-gauge-certificate @@ -428,3 +432,52 @@ pair-assembly-verify: pair-assembly-producer pair-assembly-check .PHONY: verify-pair verify-pair: pair-assembly-verify python3 scripts/audit_pair_candidate.py --check docs/research/community-pair-arithmetic.json + +.PHONY: stopped-product-producer stopped-product-certificate stopped-product-verify +stopped-product-producer: + python3 scripts/stopped_product_producer.py + +stopped-product-certificate: + python3 scripts/stopped_product_network.py + +stopped-product-verify: stopped-product-producer stopped-product-certificate + +.PHONY: partial-gauge-bit partial-gauge-producer partial-gauge-certificate partial-gauge-verify +partial-gauge-bit: + python3 scripts/partial_gauge_bit.py + +partial-gauge-producer: + python3 scripts/partial_gauge_producer.py + +partial-gauge-certificate: + python3 scripts/partial_gauge_network.py + +partial-gauge-verify: partial-gauge-bit partial-gauge-producer partial-gauge-certificate + +.PHONY: verify-partial-gauge +verify-partial-gauge: partial-gauge-verify + +.PHONY: three-stage-cover-producer three-stage-cover-certificate three-stage-cover-verify verify-three-stage-cover +three-stage-cover-producer: + python3 scripts/three_stage_cover_producer.py + +three-stage-cover-certificate: + python3 scripts/three_stage_cover_network.py + +three-stage-cover-verify: three-stage-cover-producer three-stage-cover-certificate + +verify-three-stage-cover: three-stage-cover-verify + +.PHONY: paired-cube-producer paired-cube-bit paired-cube-certificate paired-cube-verify verify-paired-cube +paired-cube-producer: + python3 scripts/paired_cube_producer.py + +paired-cube-bit: + python3 scripts/paired_cube_bit.py + +paired-cube-certificate: + python3 scripts/paired_cube_network.py + +paired-cube-verify: paired-cube-producer paired-cube-bit paired-cube-certificate + +verify-paired-cube: paired-cube-verify diff --git a/NOTICE b/NOTICE index b565637758..ba5ee784eb 100644 --- a/NOTICE +++ b/NOTICE @@ -302,3 +302,86 @@ inherited PR #48 sources. The stacked witness in research/pair-assembly/frame uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and verify_skip_frame.py. Original notices are retained. + +Stopped product-ring extension, 9 October 2026 +Copyright 2026 icekylinx + +The opposite-bank generic projector factorization, componentwise atom-ring +adapters, stopped recurrence and outer ordinary-interchange conversion, +aligned pair-star producer with rational centers, exact denominator-21 +grid and selected (23,23)/(24,24) composition are contributed by icekylinx +with substantial OpenAI GPT-6 Astra and Codex assistance. This extension +builds on merged PR #36, 11817ccacb564bb7f98789c20dc11d3fece207e3, and is +integrated on upstream main 56b66d58297deca1d7dd130247d720e960f77a37. + +The retained ordinary leaf uses the preceding projector, corner and +copied-center proofs. The selected two-stage topology retains Aurel Prosz +(Paureel), Swapnil Jain and Zhihao Chen's credits; the semantic assembly +retains PR #21/#23 and RaD's attribution. Paired producers, carrier matching, +original source notices and each imported license remain unchanged. + +Partial-gauge extension, 9 October 2026 +Copyright 2026 icekylinx + +The pair-first cube assembly, compatible backward frame enlargement, +partial source-gauge schedule and stopped whole-projector composition are +contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance, extending PR #104 at 948ce1510df750f4c18b96bdaef436a86f8bf834. + +The physical deferred bit word, reflected event accounting, fan-order +clarification and signed two-stage endpoint are adopted from Zhihao Chen +(jacklightChen), PR #97, e15350b66e4bf796153a68c240a6cc1b788abe3e, with +Codex assistance. Its deferred readouts, V leaves, lifted frames and frozen +witness originate in Swapnil Jain's 741e7aa078392553815df7926ee17ac5e25a8c38, +with the original Claude disclosure retained. Cyclic interval and core-aware +pair primitives build on Avi Eisenberg (ikeboy), PR #62, +ad0f25ff7b23cff7f08ad237c2254e6ecf74257e, with Anthropic Claude assistance. +Prior two-stage, copied-center, ordinary-leaf, semantic/bulk, routing and +precision credits remain in force. Imported source notices and licenses +are preserved under references/partial-gauge/; see SOURCES.json. + +Three-stage cover extension, 9 October 2026 +Copyright 2026 icekylinx + +The arbitrary-subspace Clifford frame theorem, three-stage Cayley geometry, +weighted q-adic GL cover, unit-lower weighted compiler, charged local-ring +fallback, uniform batching, internal row borrowing and exact composition +are contributed by icekylinx with substantial OpenAI GPT-6 Astra assistance. This +repository integration uses Codex assistance and extends +PR #115, cf60442983c153a3a0f5272ea4713f99eba13c86. + +The selected local complex DAG and support/label replay are adopted from +Copyright 2026 eumemic, PR #117, cbb05ce504d571546d9b7794c186a613c659c3bf, +with its original Apache-2.0 terms and Claude assistance disclosure. +The unchanged bit physical word retains Zhihao Chen (jacklightChen), +PR #97, and Swapnil Jain's underlying witness and assistance notices. +The prior opposite-bank, stopped ordinary-leaf, copied-center, topology, +semantic/bulk, precision and analytic credits remain applicable. +Original source notices and license bytes are preserved in +references/three-stage-cover/pr117/ and references/partial-gauge/. + +Paired-cube and shared-core extension, 9 October 2026 +Copyright 2026 icekylinx + +The paired-coordinate triple-cube identity, signed overlap channels, +original-source involution, coordinate-star centers, concrete frame/carrier +compiler, chronological source gauges, PR97 gauge-subset selection, +orthogonal cross-stage routing and exact supplier/assembly integration +are contributed by icekylinx with substantial OpenAI GPT-6 Astra assistance. +Repository integration uses Codex assistance and extends PR #130 at +6a9970a530119174507904e23592fd59ede19a5d. + +The substantial completed-core workspace-sharing principle is credited to +an664, PR #128, 530588a019b4a74f09180680c9e3961bf649ec89, with its reported +OpenAI Codex assistance. No source code, partition or serialized witness +from that PR is imported. The new routing and paired-motif integration +are described separately and claim no exclusive priority for broad sharing, +paired-coordinate, Fourier or carrier-matching ideas. + +Selected coarse queries restrict the retained eumemic PR #117 positive DAG; +its original Apache-2.0 and Claude assistance notices remain unchanged. +The bit word and original frames retain Zhihao Chen's PR #97 and Swapnil +Jain's frozen witness, notices and historical assistance disclosures. +Earlier generalized Clifford, three-stage, uniform weighted recursion, +ordinary-leaf, semantic/bulk, precision and analytic credits remain in force. +Source-specific license bytes are preserved under references/. diff --git a/PATCHING.md b/PATCHING.md index b60f3f101b..a02e230256 100644 --- a/PATCHING.md +++ b/PATCHING.md @@ -1,6 +1,6 @@ # Applying the inherited manuscript patch -This patch is the PR #10 baseline. The current copied-center extension is +This patch is the PR #10 baseline. The PR #36 copied-center extension is presented in `notes/copied-centers-note.tex`; it is not included in this historical combined manuscript patch. @@ -30,3 +30,6 @@ alternatives for the same base. PR7 is pinned at `6725c6a17b17871a35353fd29157f4ed851bc114` for the retained producer sources. The old uniform recurrences keep their original exponents. The active consumers use `lem:batched-chunk-swap` and `prop:batched-simultaneous-layer`. + +The stopped product-ring extension is supplied separately in +`notes/stopped-product-note.tex`; it does not regenerate this historical patch. diff --git a/README.md b/README.md index 035c259b68..1915f0d258 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,113 @@ **Community research maintained by Douglas Colkitt — conditional on the original OpenAI #109 framework.** +## Paired-cube and shared-core extension + +The construction contributed by **icekylinx**, extending +[PR #130](https://github.com/CrocSwap/integer-mult-bounds/pull/130), gives + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{4611281}{10000000000}=4.611281\times10^{-4}. +$$ + +A signed paired-cube producer and coordinate-star centers complete the +identity using the original source registers. Completed dirty cores reuse +one auxiliary bank across three orthogonal blocks, adopting an664's PR #128 +sharing principle. The bit branch selects certified gauges from the retained +PR #97 / Swapnil word. All local transitions, copied centers, complement +calls, finite routers and rare-class fallback remain charged. The analytic, +uniform-recursion and fixed-tape hypotheses are retained. + +[Proof source](notes/paired-cube-note.tex) · +[Exact certificate](certificates/paired-cube-network.json) · +[Incremental reproduction](docs/paired-cube.md) + +```sh +make paired-cube-verify +``` + +## Three-stage cover extension + +The construction contributed by **icekylinx**, extending +[PR #115](https://github.com/CrocSwap/integer-mult-bounds/pull/115), gives + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{3146011}{10000000000}=3.146011\times10^{-4}. +$$ + +Three signed shears on a regular Cayley cover align all interstage data +frames. The complex branch combines eumemic's PR #117 local DAG with +arbitrary-subspace Clifford frames; the bit branch retains the PR #97 / +Swapnil physical word and uses a batched weighted q-adic cover. Local +transitions, copied centers, rare-class fallback, finite routers and +internal row borrowing are charged. The retained analytic and fixed-tape +hypotheses still apply. + +[Proof source](notes/three-stage-cover-note.tex) · +[Exact certificate](certificates/three-stage-cover-network.json) · +[Incremental reproduction](docs/three-stage-cover.md) + +```sh +make three-stage-cover-verify +``` + +## Partial-gauge extension + +The construction contributed by **icekylinx**, extending +[PR #104](https://github.com/CrocSwap/integer-mult-bounds/pull/104), gives + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{7237}{78125000}=9.26336\times10^{-5}. +$$ + +It applies the stopped whole-projector bit interface to the physical deferred +word of Zhihao Chen's PR #97, based on Swapnil Jain's witness. The new complex +producer combines cyclic interval contractions, pair-first cube assembly, +compatible frame enlargement and partial source gauges. Every residual, +endpoint correction and target-data transition is charged. The bound retains +the analytic and fixed-tape hypotheses of the preceding construction. + +[Proof source](notes/partial-gauge-note.tex) · +[Exact certificate](certificates/partial-gauge-network.json) · +[Incremental reproduction](docs/partial-gauge.md) + +```sh +make partial-gauge-verify +``` + +## Stopped product-ring extension + +The new construction contributed by **icekylinx**, extending merged +[PR #36](https://github.com/CrocSwap/integer-mult-bounds/pull/36), gives + +$$ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{194869}{2500000000}=7.79476\times10^{-5}. +$$ + +It combines a stopped product-ring bit interchange on `(23,23)` with an +all-disjoint rational-center complex network on `(24,24)`. The new generic +opposite-bank factorization pays one reversed child per projector rank; +atom adapters, ordinary leaves, endpoint copies and the exact denominator-21 +grid are included in the proof. The bound retains the original analytic +and fixed-tape hypotheses. + +[Proof source](notes/stopped-product-note.tex) · +[Exact certificate](certificates/stopped-product-network.json) · +[Incremental reproduction](docs/stopped-product.md) + +```sh +make stopped-product-verify +``` + +The maintainer-reviewed community checkpoint below remains its own result +and validation record. + +## Reviewed community checkpoint + The reviewed community witness gives $$ diff --git a/SOURCES.json b/SOURCES.json index 6096d5aff9..e265f00978 100644 --- a/SOURCES.json +++ b/SOURCES.json @@ -234,5 +234,271 @@ } ], "continuing_analytic_dependencies": "See structured_bulk_extension.adopted and references/semantic-bulk/MANIFEST.json." + }, + "stopped_product_extension": { + "contributor": "icekylinx", + "base_commit": "56b66d58297deca1d7dd130247d720e960f77a37", + "proof_predecessor_PR": "https://github.com/CrocSwap/integer-mult-bounds/pull/36", + "proof_predecessor_commit": "11817ccacb564bb7f98789c20dc11d3fece207e3", + "predecessor_merged": true, + "archive": "integer_mult_round5_kappa_7_79476e-5_complete.zip", + "archive_sha256": "714cbffa0cccba3c18f046a63e62d6981683cb386b5d5cd09761be7b70f0b0be", + "kappa": "194869/2500000000", + "proof": "notes/stopped-product-note.tex", + "certificate": "certificates/stopped-product-network.json", + "producer": "scripts/stopped_product_producer.py", + "assistance": "Substantial OpenAI GPT-6 Astra and Codex assistance.", + "scope": "Conditional on the retained analytic and fixed-tape framework; new product-ring and exact rational-grid arguments supplied as written proofs.", + "continuing_dependencies": [ + "copied_centers_extension", + "structured_bulk_extension" + ], + "icekylinx_lineage": [ + { + "pr": 10, + "commit": "62691e395a0458ce089a1c7b5d89e74291e95e29" + }, + { + "pr": 18, + "commit": "f2ab41aebad47861caf6316282c1793e5513845e" + }, + { + "pr": 24, + "commit": "ed90fd940279c336ebc45968631bdebfb087b505" + }, + { + "pr": 32, + "commit": "0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52" + }, + { + "pr": 36, + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + } + ], + "curation": "Selected h23/h24 inputs, generator, exact certificate and proofs only; excludes raw graphs, research alternatives and recursive predecessor copies." + }, + "partial_gauge_extension": { + "contributor": "icekylinx", + "predecessor_pr": 104, + "predecessor_commit": "948ce1510df750f4c18b96bdaef436a86f8bf834", + "archive": "integer_mult_round6_kappa_9_26336e-5_complete.zip", + "archive_sha256": "e701a98b10864dc4b1414d9fcb1fc7c67b28e2363cb2a2292f9fed577a081d2d", + "kappa": "7237/78125000", + "proof": "notes/partial-gauge-note.tex", + "certificate": "certificates/partial-gauge-network.json", + "producer": "scripts/partial_gauge_producer.py", + "assistance": "Substantial OpenAI GPT-6 Astra and Codex assistance.", + "adopted": [ + { + "pr": 97, + "contributor": "Zhihao Chen (jacklightChen)", + "commit": "e15350b66e4bf796153a68c240a6cc1b788abe3e", + "role": "Actual deferred bit word, reflected physical ledger, fan-order clarification, gauged exits and signed endpoint correction" + }, + { + "contributor": "Swapnil Jain", + "repository": "Swapnil-jain/integer-mult-kappa", + "commit": "741e7aa078392553815df7926ee17ac5e25a8c38", + "role": "Underlying deferred readouts, V leaves, lifted frames and frozen witness" + }, + { + "pr": 62, + "contributor": "Avi Eisenberg (ikeboy)", + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "role": "Cyclic interval and core-aware pair primitives" + } + ], + "icekylinx_lineage": [ + { + "pr": 10, + "commit": "62691e395a0458ce089a1c7b5d89e74291e95e29" + }, + { + "pr": 18, + "commit": "f2ab41aebad47861caf6316282c1793e5513845e" + }, + { + "pr": 24, + "commit": "ed90fd940279c336ebc45968631bdebfb087b505" + }, + { + "pr": 32, + "commit": "0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52" + }, + { + "pr": 36, + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + }, + { + "pr": 104, + "commit": "948ce1510df750f4c18b96bdaef436a86f8bf834" + } + ], + "continuing_dependencies": [ + "stopped_product_extension", + "copied_centers_extension", + "structured_bulk_extension" + ], + "curation": "Selected generators, exact counts, proof sources and pinned dependencies; excludes alternatives, large generated graphs and recursive handoff copies.", + "scope": "Conditional on retained analytic and fixed-tape framework; finite verification and written proofs have separate scopes." + }, + "three_stage_cover_extension": { + "contributor": "icekylinx", + "predecessor_pr": 115, + "predecessor_commit": "cf60442983c153a3a0f5272ea4713f99eba13c86", + "archives": [ + { + "filename": "integer_mult_round7_kappa_1_080522e-4_incremental.zip", + "sha256": "ba7a7d10be57f614fdb4df4074ec5ffd2feddeac583f1fdf2da12ae7c02f6058" + }, + { + "filename": "integer_mult_round8_kappa_3_146011e-4_incremental.zip", + "sha256": "8e730754c2076bf3ee7ff1bd320486172ef6ab1c9897ddd633aef02a9ce5257a" + } + ], + "kappa": "3146011/10000000000", + "proof": "notes/three-stage-cover-note.tex", + "general_subspace_proof": "notes/general-clifford-frames.tex", + "certificate": "certificates/three-stage-cover-network.json", + "producer": "scripts/three_stage_cover_producer.py", + "assistance": "Construction supplied with substantial OpenAI GPT-6 Astra assistance; repository integration with Codex assistance.", + "adopted": [ + { + "pr": 117, + "contributor": "eumemic", + "commit": "cbb05ce504d571546d9b7794c186a613c659c3bf", + "role": "Pinned positive h24 local DAG and its exact support/label replay; original Claude disclosure retained", + "dag_sha256": "3c034d0aae388ef567a454826f4f48b26fd8a94c71e8ffed4835271b349a783b" + }, + { + "pr": 97, + "contributor": "Zhihao Chen (jacklightChen)", + "commit": "e15350b66e4bf796153a68c240a6cc1b788abe3e", + "role": "Retained physical deferred bit word and reflected ledger" + }, + { + "contributor": "Swapnil Jain", + "commit": "741e7aa078392553815df7926ee17ac5e25a8c38", + "role": "Underlying deferred word, lifted frames and frozen witness" + } + ], + "icekylinx_lineage": [ + { + "pr": 10, + "commit": "62691e395a0458ce089a1c7b5d89e74291e95e29" + }, + { + "pr": 18, + "commit": "f2ab41aebad47861caf6316282c1793e5513845e" + }, + { + "pr": 24, + "commit": "ed90fd940279c336ebc45968631bdebfb087b505" + }, + { + "pr": 32, + "commit": "0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52" + }, + { + "pr": 36, + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + }, + { + "pr": 104, + "commit": "948ce1510df750f4c18b96bdaef436a86f8bf834" + }, + { + "pr": 115, + "commit": "cf60442983c153a3a0f5272ea4713f99eba13c86" + } + ], + "continuing_dependencies": [ + "partial_gauge_extension", + "stopped_product_extension", + "structured_bulk_extension" + ], + "scope": "Conditional on retained analytic, precision, ordinary-leaf and fixed-tape contracts. New general Clifford frames, weighted routing, local-ring fallback and internal row borrowing supplied as written proofs.", + "curation": "Selected round7 PR117 input and frame theorem plus round8 three-stage cover only. Excludes PR112 reclaim, two-stage alternatives, half-sign motif, research screens, raw generated graphs and PDFs." + }, + "paired_cube_extension": { + "contributor": "icekylinx", + "predecessor_pr": 130, + "predecessor_commit": "6a9970a530119174507904e23592fd59ede19a5d", + "archive": "integer_mult_round9_kappa_4_609169e-4_incremental.zip", + "archive_sha256": "a1f7c33704ba7973290096538f181a1d7530f108c2585724b1abc4a732508631", + "kappa": "4611281/10000000000", + "proof": "notes/paired-cube-note.tex", + "certificate": "certificates/paired-cube-network.json", + "producer": "scripts/paired_cube_producer.py", + "bit_reconstruction": "scripts/paired_cube_bit.py", + "assistance": "Developed with substantial OpenAI GPT-6 Astra assistance; repository integration with Codex assistance.", + "adopted": [ + { + "pr": 128, + "contributor": "an664", + "commit": "530588a019b4a74f09180680c9e3961bf649ec89", + "assistance": "OpenAI Codex, as reported by the source", + "role": "Substantial conceptual dependency: completed-core workspace sharing. No partition, source code or serialized witness imported." + }, + { + "pr": 117, + "contributor": "eumemic", + "commit": "cbb05ce504d571546d9b7794c186a613c659c3bf", + "role": "Already adopted positive DAG; exact zero restrictions supply the selected coarse query modules. Original Claude disclosure retained." + }, + { + "pr": 97, + "contributor": "Zhihao Chen (jacklightChen)", + "commit": "e15350b66e4bf796153a68c240a6cc1b788abe3e", + "role": "Certified physical bit word and rational frames; this round selects a subset of its entrance gauges." + }, + { + "contributor": "Swapnil Jain", + "commit": "741e7aa078392553815df7926ee17ac5e25a8c38", + "role": "Underlying deferred word and frozen scalar/frame witness" + } + ], + "icekylinx_lineage": [ + { + "pr": 10, + "commit": "62691e395a0458ce089a1c7b5d89e74291e95e29" + }, + { + "pr": 18, + "commit": "f2ab41aebad47861caf6316282c1793e5513845e" + }, + { + "pr": 24, + "commit": "ed90fd940279c336ebc45968631bdebfb087b505" + }, + { + "pr": 32, + "commit": "0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52" + }, + { + "pr": 36, + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + }, + { + "pr": 104, + "commit": "948ce1510df750f4c18b96bdaef436a86f8bf834" + }, + { + "pr": 115, + "commit": "cf60442983c153a3a0f5272ea4713f99eba13c86" + }, + { + "pr": 130, + "commit": "6a9970a530119174507904e23592fd59ede19a5d" + } + ], + "continuing_dependencies": [ + "three_stage_cover_extension", + "partial_gauge_extension", + "stopped_product_extension", + "structured_bulk_extension" + ], + "scope": "Conditional on retained analytic, uniform-recursion and fixed-tape contracts; complete local paired-cube schedule, exact core sharing and scalar charge supplied in the proof.", + "curation": "Selected paired-coordinate cube only, compact frozen carrier arcs and bit subset, exact suppliers and assembly. Excludes fallback shared_core results, paired-five motifs, other candidate graphs, search screens and PDFs." } } diff --git a/certificates/joint-dual-kappa.json b/certificates/joint-dual-kappa.json index d92f653fe4..539f79b184 100644 --- a/certificates/joint-dual-kappa.json +++ b/certificates/joint-dual-kappa.json @@ -842,7 +842,7 @@ "scripts/experiments/pin_joint_dual_sources.py": "4d31cc0e38b7902709ca5f8f714cba109760d2592346dd7f8dc0b900a2d9fe00", "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985" }, - "source_manifest_sha256": "fd1aab7d75753b4b55b2377f26119dae74f367b0b4fab66cba42d944b3042cc9", + "source_manifest_sha256": "8516e98650c0e1e03f729cd1835f611301b7c04c0e3183e83670c338395c2ec3", "sources": [ { "files": { diff --git a/certificates/joint-dual-validation.json b/certificates/joint-dual-validation.json index 99adb4cf74..a6cfd1fb73 100644 --- a/certificates/joint-dual-validation.json +++ b/certificates/joint-dual-validation.json @@ -226,7 +226,7 @@ } }, "bit_saving": "2382370177/50000000000000", - "certificate_sha256": "2ed658f05365b28825e24a6e7bac9fc9cc015d5a5d63d9579f4ac6e0640ae559", + "certificate_sha256": "66de08b4a858867225ff87bc129fda13f9653c154b1d866e08aacc89082a4153", "kappa": "4764513337/100000000000000", "margins": 7, "producer_words_regenerated_and_matched": true, diff --git a/certificates/paired-cube-bit-input.json b/certificates/paired-cube-bit-input.json new file mode 100644 index 0000000000..27d657f001 --- /dev/null +++ b/certificates/paired-cube-bit-input.json @@ -0,0 +1,105 @@ +{ + "R": 28866, + "W_per_vertex": 32408, + "auxiliary_histogram": { + "0": 0, + "1": 54934, + "10": 158, + "11": 455, + "12": 195, + "13": 342, + "14": 110, + "15": 860, + "16": 768, + "17": 1447, + "18": 613, + "19": 760, + "2": 64843, + "20": 2387, + "21": 413, + "22": 0, + "3": 13324, + "4": 11006, + "5": 6031, + "6": 1625, + "7": 750, + "8": 1163, + "9": 494 + }, + "child_histogram": { + "1": 193950, + "10": 474, + "11": 1365, + "12": 585, + "13": 1059, + "14": 330, + "15": 2580, + "16": 3180, + "17": 4935, + "18": 3246, + "19": 9987, + "2": 200588, + "20": 7161, + "21": 1242, + "22": 75, + "3": 40116, + "4": 33642, + "48": 72, + "5": 18126, + "51": 131, + "54": 806, + "57": 3871, + "6": 4875, + "60": 1307, + "63": 1596, + "66": 1760, + "7": 2250, + "8": 3489, + "9": 1482 + }, + "copied_center_histogram": { + "22": 23 + }, + "deficit_per_vertex": 2024, + "h": 23, + "loss": 506, + "m": 69, + "omitted_roles": 2022, + "rank_per_vertex": 2234128, + "selected_rank_histogram": { + "16": 72, + "17": 131, + "18": 806, + "19": 3871, + "20": 1307, + "21": 1596, + "22": 1760 + }, + "selected_roles": 9543, + "selection_file": "references/paired-cube/pr97-subset/selection.json", + "selection_sha256": "5a41dee894702cb880385d826648a3e759b85a6de6824ecbef63b73b8c6e1354", + "source_data_histogram": { + "1": 5061, + "13": 11, + "16": 198, + "17": 22, + "19": 1540, + "3": 23, + "4": 208, + "5": 11 + }, + "source_manifest": "references/partial-gauge/pr97/SOURCE.json", + "source_manifest_sha256": "68fb539abcd6df21d142e4e204b6e9482eb7f9cd3907650f54bd058070266596", + "target_data_histogram": { + "1": 4655, + "16": 94, + "17": 176, + "18": 469, + "19": 1029, + "2": 839, + "21": 1, + "22": 2, + "3": 25 + }, + "v": 1771 +} diff --git a/certificates/paired-cube-complex-input.json b/certificates/paired-cube-complex-input.json new file mode 100644 index 0000000000..2f6fe0ae7b --- /dev/null +++ b/certificates/paired-cube-complex-input.json @@ -0,0 +1,86 @@ +{ + "R": 26417, + "W_per_vertex": 29937, + "c": 24767, + "child_histogram": { + "1": 79374, + "10": 5829, + "11": 3261, + "12": 3291, + "13": 2028, + "14": 6972, + "15": 2478, + "16": 6789, + "17": 4794, + "18": 1194, + "19": 11760, + "2": 81787, + "20": 11880, + "21": 2640, + "22": 2712, + "23": 0, + "24": 0, + "3": 34704, + "4": 29763, + "5": 22455, + "6": 8535, + "60": 4840, + "7": 7929, + "8": 7881, + "9": 3603 + }, + "copied_centers_already": true, + "deficit_per_vertex": 1936, + "h": 24, + "loss": 528, + "m": 72, + "matched": 6074, + "matching_frames": "coordinate", + "phase1_operations": 13616, + "q": 7724, + "rank_per_vertex": 2153528, + "remaining_internal_histogram": [ + 11459, + 19418, + 24329, + 11568, + 9921, + 7485, + 2845, + 2643, + 2627, + 1201, + 1943, + 1087, + 1097, + 676, + 2324, + 826, + 2263, + 1598, + 398, + 3920, + 440, + 880, + 904, + 0, + 0 + ], + "selected_rank_histogram": { + "20": 4840 + }, + "selected_roles": 4840, + "source_data_histogram": { + "1": 1760, + "2": 1760, + "20": 1760 + }, + "target_data_histogram": { + "0": 12760, + "1": 5280, + "20": 1760 + }, + "total_M_operations": 49424, + "untouched_non_source_roles": 15417, + "v": 1760 +} diff --git a/certificates/paired-cube-input.json b/certificates/paired-cube-input.json new file mode 100644 index 0000000000..5d521f8080 --- /dev/null +++ b/certificates/paired-cube-input.json @@ -0,0 +1,66 @@ +{ + "absorption_gap": "162320373182864259926389355983/1000923107880453381493189210570000000000", + "assembly_minimum": "46155393330338167781078943/100092310788045338149318921057", + "bit_child_multiplicities": { + "1": 193950, + "10": 474, + "11": 1365, + "12": 585, + "13": 1059, + "14": 330, + "15": 2580, + "16": 3180, + "17": 4935, + "18": 3246, + "19": 9987, + "2": 200588, + "20": 7161, + "21": 1242, + "22": 75, + "3": 40116, + "4": 33642, + "48": 72, + "5": 18126, + "51": 131, + "54": 806, + "57": 3871, + "6": 4875, + "60": 1307, + "63": 1596, + "66": 1760, + "7": 2250, + "8": 3489, + "9": 1482 + }, + "bit_moment_gap": "9683053551624097783276572314019807322107841/67308782636558677514166530014945948467200000000000000", + "complex_child_multiplicities": { + "1": 79374, + "10": 5829, + "11": 3261, + "12": 3291, + "13": 2028, + "14": 6972, + "15": 2478, + "16": 6789, + "17": 4794, + "18": 1194, + "19": 11760, + "2": 81787, + "20": 11880, + "21": 2640, + "22": 2712, + "3": 34704, + "4": 29763, + "5": 22455, + "6": 8535, + "60": 4840, + "7": 7929, + "8": 7881, + "9": 3603 + }, + "complex_group_order": 18646466226026462592952011788951531754110931481867826045386715225513339911071134170601952718216417488289150428632052202980863033609242977381747250264990084715296201847651908198681766675753160791649285107510691238985963706255089989456699920961342595095228775420538279717562788772643958616644258216248819271553295126895131993564379512367852197664617342277934678865080413621612751262266453859055432749295232782952753053108052418519375708005607816485667984223061786810719121526682978029691520838623314161409960947186213220855798991391576957539912643800234313922722815599751095827998877881904497464356201696239917156093128550867728502903876632148399699575860894114797305318253105534652030783324407335764468260764573859627847585742189622249940283054201241600000000000000000000, + "complex_moment_gap": "35983219312333093839004994137969/179068943294158619192045723836257040072704", + "kappa": "4611281/10000000000", + "row_coefficient": 20445, + "row_degree": 70000 +} diff --git a/certificates/paired-cube-network.json b/certificates/paired-cube-network.json new file mode 100644 index 0000000000..882f860552 --- /dev/null +++ b/certificates/paired-cube-network.json @@ -0,0 +1,337 @@ +{ + "assembly": { + "absorption_gap": "162320373182864259926389355983/1000923107880453381493189210570000000000", + "margins": { + "Gaussian_arithmetic": "55386772457959738794661850681078943/80073848630436270519455136845600000000", + "bulk_exposure": "9231078943/20000000000000", + "compact_phase_layer": "46155393330338167781078943/100092310788045338149318921057", + "coordinate_movement": "9231078943/20000000000000", + "dimension": "99999999000000000000000000000/100092310788045338149318921057", + "original_prefix": "4615639425344604823446043618921057/10009231078804533814931892105700000000", + "scalar_work": "73849330343959731409798696281078943/80073848630436270519455136845600000000" + }, + "minimum_margin": "46155393330338167781078943/100092310788045338149318921057", + "parameters": { + "C0": 2438297895238238078067153532774181517056757432347400101541316073462367574449073751020171780970576171154380735349271706038418996519245086247004593397209902684996163494963732874750837636031053333525559200351056474142919252944749147040985298113590026172650453601280416999010128730562642065096829826644992014749847188208921286993983067267835787953271628714200716747799129805127712034843634550832571657687100605940054554623925618316554564301453094049482732078439324249796023560257760641690077705747388611516217811026366050937813701604705309307081591330936839307264040416270832161185190910697871624314344508259872270741758998055212093026443282609318243232272217242654867245130373643305989027208560077852923762835488465765556716018170140096638971586369905683742568733384341630531184310184490034884632229164765076191834141506309797060192741568479707255856401197821841964061476704867524340979660005439639873543181712968007476652199361610255241432080130256573361140534301784674493015159823345635681191176891722063584872653196913097048339655095396909788602701083355075451797743471939962441796436641484198240345566878033021225790461139622858846209744886306410735906740427982410179221210903617690195421664309168568529447224284167172585567796503885189855962177602952126058535248977013010462587305744899947243392531883824246767090984294068115700621890166712154552335401981355652610153737356845755324733339650995526159274863347154160528547138530493882286731129799901852419564500606122460849703381860542347979393300339393333686064845010136901320943976051864021724109943723655668001065486776480333398640482109711803557792129999042618991947413310970433429688463893200654402255859845335550629418132508092160851328789548765764467107449421344809095221131472967130689090631392173930899990577603675663895883374287183943404707788773274506411222037777903140343343923706239600463638319388459497332645282124305816214922832353195056346071743514210674612762620519962890338101971320803948820985493961492541306267557170967614776245337184289754661833049821025098346061549953430864856635260492847299732451643763324035988414376540252876751756199989229946705088415817975504678395881853846464481170411390105890185362749257198746652566280299362166121260451725721343439647014442167063988898844564971428220793280764857628474764958348750790268587797528075962064010030397675481206040211656837949005124944767476058114700325973428517820020140479890647131233758055014766110030754139613797292753311689057341112872602924543366696262115832868394534998314834414003080663285457993691292931547219134308358057604620161498164969080166205025164637612352877803150808034837041703245203996519802062681587332674980756943912672103253409975292183104316292474801733932664495262489454944408791200251699702081142049467615773443463524311026448747681802229211640444471841161492846902645740134861538575827741883070469537450794888700098602754988395257933781726445800215020487604516801930599757674357640660897780419176223301329235888546870863963454024387678034904648600465687829097838971971757076158456058133288937981803662500396328970883284929021666215043418697687480445604824251453739165319718493991763085775533275001785086791933493863569504895962743458783842063822635234568278575852047183990875307288105059226187461895040899586801972787667139938183125575979831659717741979838487096265811368210775155033456903855792813638327023389728951250652983157026413954419564249744129826574562878271247955172887207068855433338954263595747509599229241954361647521959741738272610814740379482694175765818384316944728198617438497232255738836145273219367076424375853873519074638681510139147251353654844049714602947445649190425338131052584282704672832151001747859022247208814085492068028634452139423467371943963589818457623822322111952599211215246751035865476535665863947377644522103086086026461175500540464893194576973858982881460649363248739124112579549202022667882859879560487874320335804206225167210483675245153541218131523629135129122794376484624918843696831910952228420095370936570435060436769279601776465966956835121565362855486539350193086801398801543715656157953734792692774101710986472600917096536861901432836106428842077310611562682851948420929609762475425795848384810410037838978203481220790502059909357509659467851051933535814778906660794882298358685174702860123493677255656918160138299677047576165944610522360615025545053955094247884235752555581108560149168681562368018765524528053069141303599583074812019240525564187208476060202959754505048585536677311615486173552618475823094991812177525297636580670121676784431080846892974899651386216736909951799304217098887505036465239884273129539089730484352236395062574898503596192614631699063290636485688299332269767653212066339919388038015477913949559909030240490418296143544838476097031168475861476943243455128707985670461752223666255606233065439533870589455857358654085579747160846095377776855367336320953813126604257651773965374242308954053246267193818904690785460156189654365431578654947353918880552459360257693678702689590553056466216439793633674485225902256339583637639116565446522127461992780400733143302473009686480370350746971806888420225391556129104236144477169090904720634999772231046564941756306582310600272375287951807656658449620766783678909831442394484962167996848630286325177298522488541494919422713893438872149245712380830823121484420089757935500099244737367860348360106319002647859431282272016624794143457090747671799955721849330556767480653894026783274299493111135897487613429107916481212981861337148830597835927030845303609794804787699469390521595792292853455747099559808427966815810053438917071917487420134216559391067302786643898676512430597985654214655652345569398659841927589282906698038022287795574357887976614612068583138939033975030569675076908924590974913120938119003740633881236457178038566311212468610413243099145557470012067710079954779378066997795586573804472409909042507469556769081975541717809799371830864649327607303067505525127843414131081669323257683651525793177596781575566966967691900505281946569268685554733005110588400604281359226952521944735914221992449772073743373474859040462652751692032686532373772817470686489874389538619507613525099765348974798232387090807583239869483552552612383558226845054983486608694912735530353537237525080820034498713335151706938234351193773757586829016491274672421640591717552843642587296819730299670670983969589854055248297937132748104224252778159243159575345943460498996688262409245025417019350864859637790239421836992971448496237009745185994649334080254860619323754726868681869249856444595378996702146935959404545307892129108096282944668460709772086550997284315252831376944968004622139858689209468595564262779229625643968471127925014478669190078406139534516986414883504595277316485872082795563795334920568572621111085326247596981148926235480843797954806351963870213060754695736487371970078258905316147862475168632458836107720155791513858399141396362884749355294496954291287395151697046459845437775652724926056106319241299605402834012284609386297744224462997829645921667804726137161044583606194001114713139175842038505551567682378197948640174158085369894681776751555637467075732973354567960170637737398196379825543689224436658016303377662397514335946013371414207538972315705739402329636593596510180772504518615985060420070917535377461957405376047575573431170636097144501733022676714026303964148970788262174983410012535669216724942154995771463841221943879626961857562326765011315782452106811450259883993482211053193424102576734541167764875598727136633698059880988988019723381943963375500259088714459356351111124604279931739943167473706909687775941432656240388069934380532644776088452052783177389648139202044460191486621235301411043942937653994273002471595368985216034015858221023451049386189547982082357551487855218115483599260499769537414667989514420826269144490360517260282915850063101625806708259231716273169136844614708091282298426087986641278622920161891884624764739790919619667740011274192898812698367651874560198658548645782025529560786143585100517779123560684084765314506330088253933488758836361805539852703642909655626176482064508329882908127731266624559710715744554904468511434199254356518389833135302011595220734980434684276499550699607927094464143120756546583101617186050975464846541536050038871232378309577767381852023282590070010166856152127551933832787254320771601437209236185495862167920567017681938222015881464149446724061346467555018856293392072527934547985199337645563019122872448150744876510212611593522855986953422973175651158876903126420579550204130157748675782117933921215494995109632230406625270882240226768266838620370574058091210106085724372794403002879147625330367524105628681552808222353727599296439563116454045252759603430704657560191271047680415713216235975855388980612239915230442865177785042419274201956992828730540667245415545631441875720907277343445097054861989043657216295483507866143922002532945378412989409192085200268649561147336822009411898827704834913137719160525092442632039279933672204531430797777681315875679496143335339008299234285883408496157317343723638077723602119328382396319769524832601650134788229160224533935283001461119620810351959615206984223562601722791860372941161135538237575287135931286093760310135230042924154150891582578249318979229931627624861667071516590152479444998372275364770648826337935226562228683610034340811348908301922733167246171689843662113223368152446424923597594023158860886569076546471982748099205724589805885320723410829143761866647877696583635713106055739071774600491766186616218503804506107647542422474957495206826158334434704585869195181830129651454512048095043330003331078511007057583470705543878478339473456952797239530495303062861921125488511188840372782679257878963660586911492011000253058688013676903079552640733159787918525729283216392229433947262969912847339182875821084930912643982106960118658658320198167303822920623752130744021997753324325166270927302939211382631963757455450568313708621020487062672735130552969910550872695345373758454711091016976818082472960235114723700516490871004195144338575727670187283186785184655068574781483697234679806248552191307698724813315853397646826783251826004257499120379149797239514703676460568010708619152945159254912071049794325753554239725381396965608913256514622092943947514474557156288852160462180067114244136217748987545020353131071263580820396285194680700376758129660434090340076389501825610452732854980672723989930607926329491964938925679361096244528900967270140710188736132763611952165965901992125552984688971082289935697104885045919372628810862227268177784143685251823721732540677971434662436272578527410396310578004876248981705806545757541549786208821858143433874390838325715400253161533382635906783049979328580663334189685048841221495414232685794910292848588909459268809296983109820862304226574095808779726142137770557484573699836456496266195341097725924590096765737450102420465264898811905465266269185207445060785462242805028903320125532119446362278828870436608909619979578785167557699907636978376097008484626420527488405924254063032557661368377488146543411652259387710375015017230088757735323483402702198193955078709490618133437706120345121280994106657754232703440445058403517540408320977100673490235072641888229822310433276656871801750237897376467911410765785672061950627148548422750196829611859831359341864457928476414045296595554896447212025898411794252154838236759151970232455580320754966664281748214798349123249776633235468959486306308088335886947282835736548611538943064351444251293701444362640369758061483297356782293601492843917471488318198558137311834215488084671837883166670800733981350139946453935063907578451481688799820016975607705048491126355512231855883907964115533761448151135028907776782064776307762150698842660948977901488886936074202154127495828828447920090764392963127200506991296723698996948795051828580428066811288664603958452553430979332122765746895230465407435333700357013935815950556684315640480059970547497284989376133109499056839485875471095923311617567579907098856507574036291407040438040584292662297401017008222909933550318060725841907486956759212439128806766743481732917779804816656029376232904969949369035585073729766219853350210883820634722268403094491597985408114708659673291026855622278822277368102793166407343660630204872729856012769691611035403997455704782156143479928012083478424938511308231300877524005737936755696824892091795189183429418597670749599033825701275471377937848654992733009343176145990639879931970806030828639747814283841735309444030924382955963400900062706900741344897739137262247131086498544581757797615357336500844957002094893513718937553308690115782325290966788446921405542688724876502360002423869768468326046771715088531540760384925088019026478550852810038431516523502505887095013536576170252221647389563145118842517473700426073042223833745084886896863804260259465798148502439577130756531501952033993366096143105697779476611496685255498706777768196944446332358359538526788922950095045775698606323687157652024680842558846852062658862174732630085395496833395240699741308143282693109515732728325695109739002848268341404261941915838714505169929124194487333961968854730280284260715956891372733821053726696227155833933763394213488963745627997539668817725244580704524384759418566907907796432698245474051587935319442374432858593567423521546304564961863668987697848518777386151183963591617380960909346132550002485481292495238752524613233471572476500142235396743158123314720548585172609410858282869694664800958078643760203301622057274343452125481975897312151429266049707696198898401112503036947466964236119376224601101967576427632109171618049876520076855385979649369633780017890217918716203305867290022988418408389071480440825717842716839139833065284411201246394260709670056708218940070100032396314815673753376368940338592588193603786223500153659963269662424644616355905008195873177318950031389863409162816319990978895615312760937488082394334861629555613312132416626609704101501483659026178024161017600908762970369655919778365742863701415337887463491218801235767789415244874623625069555462018402601226887757824, + "C1": 1, + "a_bit": "9231078943/20000000000000", + "a_complex": "4856569/10000000000", + "actual_bit_saving": "9231078943/20000000000000", + "alpha_squared_power": "69233590687838158550000000/100092310788045338149318921057", + "beta": "1/1000000", + "c": "46155394253446043618921057/100000000000000000000000000000", + "delta": "1/800000000", + "epsilon": "99999999000000000000000000000/100092310788045338149318921057", + "eta": "1/100000000", + "kappa": "4611281/10000000000", + "lambda_": "1999076892114931078943/2000000000000000000000", + "lambda_prime": "999538446062081078943/1000000000000000000000", + "q": "461553937918921057/1000000000000000000000", + "sigma": "9995143431/10000000000", + "tau": "19990768921057/20000000000000" + }, + "recurrence": { + "internal": "19990768921057/20000000000000", + "leaf": "9995143435856569/10000000000000000", + "reservations": "99953844605746553956381078943/100000000000000000000000000000" + }, + "strict_constraints": { + "Gaussian_arithmetic_above_kappa": "461561769482976479973487259805685541/2001846215760906762986378421140000000000", + "K_dominates_log": "4615539379189210108446062081078943/10009231078804533814931892105700000000", + "K_geometry": "4615639425344604823446043618921057/10009231078804533814931892105700000000", + "alpha_below_one": "100023077197357499990768921057/100092310788045338149318921057", + "alpha_below_one_fourth": "99815376425293985515118921057/400369243152181352597275684228", + "alpha_positive": "69233590687838158550000000/100092310788045338149318921057", + "artificial_boundary": "560609252301283853360210893461081078943/80073848630436270519455136845600000000", + "beta_below_one": "999999/1000000", + "beta_positive": "1/1000000", + "bit_positive": "9231078943/20000000000000", + "bulk_exposure_above_kappa": "8516943/20000000000000", + "c_below_one": "99953844605746553956381078943/100000000000000000000000000000", + "c_positive": "46155394253446043618921057/100000000000000000000000000000", + "cell_above_band": "99976920802642500009231078943/200184621576090676298637842114", + "compact_leaf": "24102476424178943/1000000000000000000000", + "compact_phase_layer_above_kappa": "162320373182864259926389355983/1000923107880453381493189210570000000000", + "compact_reservations": "461553937918921057/100000000000000000000000000000", + "complex_above_bit": "482059057/20000000000000", + "complex_below_one_over32": "307643431/10000000000", + "coordinate_movement_above_kappa": "8516943/20000000000000", + "delta_below_one_eighth": "99999999/800000000", + "delta_positive": "1/800000000", + "dimension_above_kappa": "999538436229016991505053470496389355983/1000923107880453381493189210570000000000", + "epsilon_below_one": "92311788045338149318921057/100092310788045338149318921057", + "epsilon_positive": "99999999000000000000000000000/100092310788045338149318921057", + "gamma_sublinear": "23078197357499990768921057/100092310788045338149318921057", + "guard_width": "92311788045338149318921057/100092310788045338149318921057", + "lambda_above_internal": "9231078943/2000000000000000000000", + "lambda_above_sigma": "48205914931078943/2000000000000000000000", + "lambda_above_tau": "9231078943/2000000000000000000000", + "lambda_prime_above_lambda": "9231078943/2000000000000000000000", + "lambda_prime_below_one": "461553937918921057/1000000000000000000000", + "leaf_saving_above_bit": "241024671931/10000000000000000", + "literal_scalar_guard": "32531354368216600227512879385747201538766692520724487452857024390628281444216905316995799500013579759631782797251132303442294425462561655407367524313611018350253109536400540155487893395958594914320630079624240507771717926758376533091719157472156113998042146889910840221394651912528384844611737944816829094299403450141209650601935845929956083042765575223213819674241055613188458323966082177693399435575245693114664673858221564555397392109780241767411765078779691554938575663160633620333042053391728268976455119353383572190696711486600173375193110317619994839271317942572577696867265120798908955641148076827176014770204837785735646491529927406154329718702380766035534239626230661758154006513989207579684538598647442911935796622652484996047158586150735990956325159978647334051992435984062226128606891569702714900395210927028082448680734699243723008457914513732085897964382514209122604928099849768874565782284717745762825692947427297788449905632510009326520703816047142001949060989435768137028178747842393568933454307238623196150858847591191761895343720986756584180877915128467837443101534425948418800022456143554539062545609859764460760534478812979312455552991215241015653906492863575884462244010459550197710269730343174849490898836787613863265071047145035903669555692012586377800138712754263358839017762183658263876653361936073544980881618970479746243198423220456341886525995112585259532178506328264817330647631511334915310317829896246433840281005827911549310239209573271678050284109239346117644319392878391723563131357710737057050217233758581478774994836163769811937856682252963873622106405970827378390254107575940276876035175451158460301349647172169461907783856388685366682944182362779216098265174591163265033373150428195998161335139548868645132211651385692470069955141898927733941850511685375532449530285765808515520564298759440353922982682471707422863169339094406412197161257918694477679432511264294574545718777488617000041089221215759427341123182107277352129596982293614954384688360153899603551775220011243896923949436857735369871560709839611694590473103629052410280101721824416467721046830822155713029932152786612633393456801414122916045085174008626623400865554414048357189501175937687089018611377554025718944984791791400562827158579298813761300283244181663757142583592282626024981988748479196826802321414704486408421165239282609324855079302388057334310486818433778770878307077224045886931513494348081649118423708015265546327949541059849238610128608860981041771106513861085263766801863362330960335556909069368617120916726404794873751037440549304738576265563097721210366949330424815611076388310364552169006089139235937391749309331235217441643542162922924322208635105328348937085775067059789748645687424337179151097117915512438159092516970917469740534732474795881784893061966587784816113974434770735367909088139619906220844017270129878712546491373526443360785464149435233145755521737502615751258861322537196619106690883559428558929087504289621908181020784685409445784934819523781240707056050834898450313263431385128663013226287378208817387367185096992541094516545218019588679618896923935170084000263267167614661940198349509920085354422095390635342907883634300171291699680163243973496934624989106253189831978110116065418442564696734264845151234183067277311427843288366909916263807498253040048509679468717637170157571344802215381373538729843118797748156473866292979000531219112475885245734097406514189618047791360206095215041056911386913566100770253944881654794558499048470273688276765228846245600247301947188984617573216417893243831117920207512825183271442644242069344411551095131533670550248635583619825247269775802307802652879648331867931845404887667305932104773133423196017457372237054815181902164882446951350494486381187141120586575191302761108598400852224406074600641508746666077173681797924035686817274015174374168214522926010892188440931823750909053681105378609382456962880469439705529620441533812798553280825348471642726213394325096354638254300242374895068446136203583740169882502305221386470757178983556402733741976037757633589578653544408729126954997363372492255458868036576382045542246473823007888625214924967524441307985448629092768114818592098084527920833348421193961486856610152511675403913932538751933930663968710166948113418581406114068134930051104918895157735725487381490617745195993208204580577090966769323282876699170969270324428243912089808315362492073173948838426818383129475802490211153672760103234938665729100559150598355762980041040301469223079502563209145288484759658884235395359556485447198530888607950645349036917800279633241633905016732643950083630032560578083585818380747438135932603647982879115733880410010949650448876677609601679562507165119258366709655868331040084518600636894812579413901081118074626815459378973679143621928776795141156650308516230648974944773444215229834076209952010150750620929864393011679022575113880365752564700090892720505508424816551122407182561613739659019946174982567180315088579203128331389395714525548347749432796011746091000314562057338509161467703579357157079481065092991223190943295244486971019334155405942913283835632167867362688047866571583726977516611175443230778267258371898547935735874287474070637851128786579036686374114156693761716898956153502783057388358657967336010358518128603476713366173725228793728716322188987313729012644146287470163224118093244276091738695119649244570771288738733047356147108397169650283326717486389380017404322994089998798010406859630003030310706456223635650653290650544293290516744072749427053206068277036573835014519846717980264816509783223683247092234376907931046478666198782875704416877993738410497866045618285984935306674447270172179994661236697668707228813113418419746356548899621713394104206067400272585673149060587266370373171239481978751243619440138884264452368664105252800321692367264307261885372069000596378150104595609332547314108853472572730985592698475844091063819541667894890573786859130833381531678670384241774512278478641561855323299278242763248737738642261361978887978723058710763301938723624171247937080497595258690699702050656384703492016639913990084070998796750194926127310241572190043392079224054673831237007405479285590181048055580974024254730732906354392089271542384925212063246057118719070068153481359982136683583151127652975230221933752561184530013787418177761992187253101452937512698576770769586735268446438057795118114184344258484583440766782073098887809134055761108955935481281186432280951557373358267687866926907153826105250739868376388587657604661092669121042116727183545497033896567572349664208871089536316441530779099928394887279932998657058567297195041205171344581292802369806038455258409988877061463810896308668422378506489094350148163380684573521410371448802911051280413300908136338086859829755513062922962774063660628015681792048591635074575819709198793323216439493565302423148762405333548186446671019423737738105735960446958136877147218714492012271656777215941298526284694522756821278970693933111557390115183506329387378182747777389233913142854823581955970722370110014520525861391676", + "original_prefix_above_kappa": "10171551451987398074858281461683/1000923107880453381493189210570000000000", + "phase_boundary": "55386772457959738794661850681078943/80073848630436270519455136845600000000", + "phase_local": "73849330343959731409798696281078943/80073848630436270519455136845600000000", + "prime_interval_packing": "92311788045338149318921057/100092310788045338149318921057", + "q_below_internal": "9231078943/1000000000000000000000", + "q_below_leaf": "24102476424178943/1000000000000000000000", + "q_below_reservations": "461553937918921057/100000000000000000000000000000", + "q_positive": "461553937918921057/1000000000000000000000", + "record_suffix": "92311788045338149318921057/100092310788045338149318921057", + "row_product_gap": "141461/5", + "scalar_work_above_kappa": "923125716632976295351908399805685541/2001846215760906762986378421140000000000", + "short_record_fallback": "1999076019977528262942880507518039247997249/2001846215760906762986378421140000000000000", + "small_field_exposure": "46156394714999981537842114/100092310788045338149318921057" + } + }, + "bit": { + "added_bad_moment_upper": "250086396087176408068814279467692677892159/67308782636558677514166530014945948467200000000000000", + "atom_exponent": "1/2000", + "bad_fraction": "1/10000000000000000", + "coarse": { + "exponent": "1249422793/1250000000", + "log_upper_bounds": { + "1": "5628092903045690774122945787520664993/1329227995784915872903807060280344576", + "10": "1283716167380495647207296169730161819/664613997892457936451903530140172288", + "11": "1220371687740894297695991898219712437/664613997892457936451903530140172288", + "12": "2325085417235377274594108013345743861/1329227995784915872903807060280344576", + "13": "1109345204668642272486871655318194831/664613997892457936451903530140172288", + "14": "265023002254963557127057704802014929/166153499473114484112975882535043072", + "15": "126779797609353856910299218018927371/83076749736557242056487941267521536", + "16": "485672588161761388304392139207687777/332306998946228968225951765070086144", + "17": "1862106408094767381413498702434099211/1329227995784915872903807060280344576", + "18": "893064922112023845372151581094129071/664613997892457936451903530140172288", + "19": "1714262180057299458633847387593028093/1329227995784915872903807060280344576", + "2": "2353371132723014734448300739924093261/664613997892457936451903530140172288", + "20": "1646081697161329989188248031787845167/1329227995784915872903807060280344576", + "21": "1581228445028378873166656787258633713/1329227995784915872903807060280344576", + "22": "1519392737882127290165639488766946403/1329227995784915872903807060280344576", + "3": "4167786692434699885046796628690700803/1329227995784915872903807060280344576", + "4": "1892695813923184081835128586087854025/664613997892457936451903530140172288", + "48": "241192071018027332070709699000393459/664613997892457936451903530140172288", + "5": "3488782972360652599640936647132802109/1329227995784915872903807060280344576", + "51": "200900098741888246168674771802067511/664613997892457936451903530140172288", + "54": "325823633613056801668154003358293969/1329227995784915872903807060280344576", + "57": "15872248090394285597356139297691495/83076749736557242056487941267521536", + "6": "811609013708759644955113080254555583/332306998946228968225951765070086144", + "60": "92887743275169550056049436478940497/664613997892457936451903530140172288", + "63": "30230558604346996022626907107167385/332306998946228968225951765070086144", + "66": "29543263635568200544745164968491115/664613997892457936451903530140172288", + "7": "3041534655639369762242805946088597903/1329227995784915872903807060280344576", + "8": "2864040990246706858443912864503229579/1329227995784915872903807060280344576", + "9": "1353740240911854497985323734930368307/664613997892457936451903530140172288" + }, + "moment_upper": "5384702610130043005316420465888044949897/5384702610924694201133322401195675877376", + "rounding_denominator": 1329227995784915872903807060280344576, + "saving": "577207/1250000000", + "strict_gap": "794651195816901935307630927479/5384702610924694201133322401195675877376" + }, + "coarse_saving": "577207/1250000000", + "counts": { + "W_per_vertex": 32408, + "child_multiplicities": { + "1": 193950, + "10": 474, + "11": 1365, + "12": 585, + "13": 1059, + "14": 330, + "15": 2580, + "16": 3180, + "17": 4935, + "18": 3246, + "19": 9987, + "2": 200588, + "20": 7161, + "21": 1242, + "22": 75, + "3": 40116, + "4": 33642, + "48": 72, + "5": 18126, + "51": 131, + "54": 806, + "57": 3871, + "6": 4875, + "60": 1307, + "63": 1596, + "66": 1760, + "7": 2250, + "8": 3489, + "9": 1482 + }, + "deficit_per_vertex": 2024, + "edge_count": 544280, + "local_dimension": 23, + "m": 69, + "maxchild": 66, + "rank_per_vertex": 2234128 + }, + "effective_saving": "9231078943/20000000000000", + "fallback_children_per_edge": 152352, + "ordinary_leaf_saving": "384599/10000000000", + "rank_mass_upper_per_vertex": "17454125000064782927/7812500000000", + "row_stock": "O(w log e) internally borrowed radix-q digits; retained stopped wrapper restores them", + "strict_gap": "9683053551624097783276572314019807322107841/67308782636558677514166530014945948467200000000000000" + }, + "complex": { + "N": 32817780557806574163595540748554695887235239408087373839880618796903478243485196140259436784060894779388904754392411877246318939152267640191875160466382549098921315251867358429679909349325562993302741789218816580615296123008958381443791860891962967367602644740147372302910508239853367165293894460597921917933799423335432308673307941767419867889726522409165034802541527974038442221588958791937561638759609697996845373470172256594101246089869757014775652232588744786865653886962041332257076675977032924081531267047735268706206224849175445270246253088412392503992155455561928657278025072151915537266914985382254194723906249527202165110822872581183471253515173642043257360125465740987574178650956910945464138945649992945011750906253735159894898175394185216000000000000000000000, + "W": 558219259408554210645204376925842006122818955772677108320742093706192856917736543665310658525244890346912296381957746800638096637159907013877367431183008166121822394713155175743936048972022374619604648263547563621522795474158629014365225533819713269365863849764654479904677207486642189106479158219840902532490996213859566491336829461756391241485649375774530481183912342590220934538470829178542490215651383823256568150895765253214550570563881202131442443685800711752498341144308313274875059345866156050130000875913665192760054405289639377872364817447614655904552930609748555802802407150574940590431610180334399901959989427327188191433354736626641806202547587114686929312543220390877845560382782410780886322509047635678873174363930721296462253793622569779200000000000000000000, + "counts": { + "W_per_vertex": 29937, + "child_multiplicities": { + "1": 79374, + "10": 5829, + "11": 3261, + "12": 3291, + "13": 2028, + "14": 6972, + "15": 2478, + "16": 6789, + "17": 4794, + "18": 1194, + "19": 11760, + "2": 81787, + "20": 11880, + "21": 2640, + "22": 2712, + "3": 34704, + "4": 29763, + "5": 22455, + "6": 8535, + "60": 4840, + "7": 7929, + "8": 7881, + "9": 3603 + }, + "deficit_per_vertex": 1936, + "edge_count": 346499, + "local_dimension": 24, + "m": 72, + "maxchild": 60, + "rank_per_vertex": 2153528 + }, + "deficit": 36099558613587231579955094823410165475958763348896111223868680676593826067833715754285380462466984257327795229831653064970950833067494404211062676513020804008813446777054094272647900284258119292633015968140698238676825735309854219588171046981159264104362909214162109533201559063838703881823283906657714109727179365668975539540638735944161854678699174650081538282795680771442286443747854671131317802635570667796529910817189482253511370698856732716253217455847619265552219275658245465482784343574736216489684393752508795576826847334092989797270878397253631754391371001118121523005827579367107090993606483920479614196296874479922381621905159839301818378866691006247583096138012315086331596516052602040010552840214992239512925996879108675884387992933603737600000000000000000000, + "exponent": "9995143431/10000000000", + "group_order_bits": 2556, + "log_upper_bounds": { + "1": "5684664334020965693831331240677363777/1329227995784915872903807060280344576", + "10": "1312001882868133107061488896308511211/664613997892457936451903530140172288", + "11": "2497314806457063515100369249596123659/1329227995784915872903807060280344576", + "12": "2381656848210652194302493466502442645/1329227995784915872903807060280344576", + "13": "1137630920156279732341064381896544223/664613997892457936451903530140172288", + "14": "272094431126872922090605886446602277/166153499473114484112975882535043072", + "15": "130315512045308539392073308841221045/83076749736557242056487941267521536", + "16": "499815445905580118231488502496862473/332306998946228968225951765070086144", + "17": "479669459767510575280471038897699499/332306998946228968225951765070086144", + "18": "1842701275199322610452688615344956943/1329227995784915872903807060280344576", + "19": "885416805516287189171116420374863439/664613997892457936451903530140172288", + "2": "2381656848210652194302493466502442653/664613997892457936451903530140172288", + "20": "1702653128136604908896633484944543951/1329227995784915872903807060280344576", + "21": "818899938001826896437521120207666249/664613997892457936451903530140172288", + "22": "1575964168857402209874024941923645187/1329227995784915872903807060280344576", + "3": "4224358123409974804755182081847399587/1329227995784915872903807060280344576", + "4": "3841963058821643083378642625332406835/1329227995784915872903807060280344576", + "5": "1772677201667963759674661050144750447/664613997892457936451903530140172288", + "6": "825751871452578374882209443543730279/332306998946228968225951765070086144", + "60": "121173458762807009910242163057289889/664613997892457936451903530140172288", + "7": "3098106086614644681951191399245296687/1329227995784915872903807060280344576", + "8": "730153105305495444538074579414982091/332306998946228968225951765070086144", + "9": "1382025956399491957839516461508717707/664613997892457936451903530140172288" + }, + "moment_upper": "179068943258175399879712629997252045934735/179068943294158619192045723836257040072704", + "rounding_denominator": 1329227995784915872903807060280344576, + "saving": "4856569/10000000000", + "strict_gap": "35983219312333093839004994137969/179068943294158619192045723836257040072704", + "total_rank": 40155687118802315934874760043837214275367006052283855687869562066169291872009197428148082033355165120720357544271126116580972007042445810594959392368663567156762398972570118559290747625701352853318901659007283882510964448404111434814708067388038196130237834273840960443603557379974398911784676107921887268229624548032219811836711082510516007532288055881116113106958892985724465000326151846183927977724264064606676376953677908749194129709900589820747602727921803626914328343114540310325521488558788499392870378672031385083147090333519942217012995977831001593373419632900777896278767487262028615420082326500156313326922941893077627401579635877278908228204559581251211327406973855828118548751044280974183804667811214776639355628206132824669397885147891420364800000000000000000000, + "vertices_per_stage": 18646466226026462592952011788951531754110931481867826045386715225513339911071134170601952718216417488289150428632052202980863033609242977381747250264990084715296201847651908198681766675753160791649285107510691238985963706255089989456699920961342595095228775420538279717562788772643958616644258216248819271553295126895131993564379512367852197664617342277934678865080413621612751262266453859055432749295232782952753053108052418519375708005607816485667984223061786810719121526682978029691520838623314161409960947186213220855798991391576957539912643800234313922722815599751095827998877881904497464356201696239917156093128550867728502903876632148399699575860894114797305318253105534652030783324407335764468260764573859627847585742189622249940283054201241600000000000000000000 + }, + "finite_bridge": { + "bit_uniform": { + "atom_beta": "1/2000", + "coarse_saving": "577207/1250000000", + "external_stock": "The q-adic group-size factor is not inserted into external polynomial row stock", + "old_atom_saving": "384599/10000000000", + "ordinary_saving": "9231078943/20000000000000", + "selector_stock": "O(w log e) internal borrowed rows; retained stopped wrapper restores them" + }, + "complex": { + "N": 32817780557806574163595540748554695887235239408087373839880618796903478243485196140259436784060894779388904754392411877246318939152267640191875160466382549098921315251867358429679909349325562993302741789218816580615296123008958381443791860891962967367602644740147372302910508239853367165293894460597921917933799423335432308673307941767419867889726522409165034802541527974038442221588958791937561638759609697996845373470172256594101246089869757014775652232588744786865653886962041332257076675977032924081531267047735268706206224849175445270246253088412392503992155455561928657278025072151915537266914985382254194723906249527202165110822872581183471253515173642043257360125465740987574178650956910945464138945649992945011750906253735159894898175394185216000000000000000000000, + "W": 558219259408554210645204376925842006122818955772677108320742093706192856917736543665310658525244890346912296381957746800638096637159907013877367431183008166121822394713155175743936048972022374619604648263547563621522795474158629014365225533819713269365863849764654479904677207486642189106479158219840902532490996213859566491336829461756391241485649375774530481183912342590220934538470829178542490215651383823256568150895765253214550570563881202131442443685800711752498341144308313274875059345866156050130000875913665192760054405289639377872364817447614655904552930609748555802802407150574940590431610180334399901959989427327188191433354736626641806202547587114686929312543220390877845560382782410780886322509047635678873174363930721296462253793622569779200000000000000000000, + "auxiliary_banks_after_sharing": 1, + "coefficient_bound": 28, + "coefficient_denominator_divides": 6, + "finite_group_router_upper": 7980695182156349383405243897748612016710851157704344752387478967796122046006819098795144341849129352869066562133661108460833223447129569627155878985187077244413945014039237105793349824012638695429514956307363011555312557880303886534693850746023902804738327213003227078400475798802914890752078339668745545223041775278602829140758120234085481067583283819551181601717620742775404795239383623615814118934023767750211110681568888530073533214020008384432598067475020537960961380251388333250641336465214224019282954581283946880841578904391305574411708931284842792837752267770290059686292054784022176610159630401679099878912126937700608419786185282696874944205032940222975232497689695644619045011694598807355669832336232974144468818464328689155303976023785348613651706029466921730111274594356378344384571018482980973656999806970179424377511962063645886179783536349731346663118898632415273963517906124371445341116565793240187641813515917775583712296244644254322853005941716999285472456683476970626636148979479592125047803531390523022260168029414947814287107839780383099535446280557376064821330189986597793289491537828029431513870246464276191983884624239282680786875364898529736565889882269400048705494638747389224631594029842715639326364358150604476186798800745948019959666826638678876954889163961871383720642631353226138627532389331280878635169157920474814566350625222415862875956414296096872189487828992306752004987279074875891529088024851295822993053130827865538070317726244959567529310511061164007936362678576199543295492812051258779713221346330135806150287905478947061984230248531125695799249051502101848664257981721968985037730973715684578952711806751675934831767610376093738106751326908691876565486773201960055562178137654354080733864980334334937983176396252304827912708551672865964224907137642221640765953729037579046584910070238749446142063486905046101062004156346205535407975709114133482114899640775811282855375258271420165643895089541286833882834188747648108468231857762159304352979348316930308999173804340163596371422142458249624626427807259979257855451806278527628792107695096853241511721551235503988052612875060629225089963934281281693433238902198461293074198217501316813582335173371389355021927378969683288569212139959538157566522880279279141798087621574186345558779127223063580871370146581767378133730866076057600000000000024897088, + "halving_degree": 4, + "invocations_per_stage": 18646466226026462592952011788951531754110931481867826045386715225513339911071134170601952718216417488289150428632052202980863033609242977381747250264990084715296201847651908198681766675753160791649285107510691238985963706255089989456699920961342595095228775420538279717562788772643958616644258216248819271553295126895131993564379512367852197664617342277934678865080413621612751262266453859055432749295232782952753053108052418519375708005607816485667984223061786810719121526682978029691520838623314161409960947186213220855798991391576957539912643800234313922722815599751095827998877881904497464356201696239917156093128550867728502903876632148399699575860894114797305318253105534652030783324407335764468260764573859627847585742189622249940283054201241600000000000000000000, + "local_group_upper": 18389275589940, + "logical_group_upper": 1028685306951962604076888723020819886965875524819498986400778345662704157368942550324339681555176742515764155227670685947326656560589143055568041890723990679762990067104069689771136260035863082467348716000560780764558112208123104196337553949184489613801853840459000636905644427848387234718376295864605653931837704101096267559313860605756042762233671391760454161998649276688500073700818368934199695170367788506265567108979461746766166819735289279134413126185483806116008802021955588818566305213582281153201684368102953892743335624424221574531047748965211683924061734903549016056819103775685028884130643239401735817635307995104667194286135123145738231894614157471166806431030799294131945105837593243619411341230374989559396319043270183499102319948564476481017531596800000000000000000000, + "m": 72, + "maxchild": 60, + "original_X_involution_scalar_group_upper": 56320, + "routing_charge": "64*(m+1)^3*(K+1)*(W+1)^2; one full W-role permutation per logical group overcharged", + "s": 40155687118802315934874760043837214275367006052283855687869562066169291872009197428148082033355165120720357544271126116580972007042445810594959392368663567156762398972570118559290747625701352853318901659007283882510964448404111434814708067388038196130237834273840960443603557379974398911784676107921887268229624548032219811836711082510516007532288055881116113106958892985724465000326151846183927977724264064606676376953677908749194129709900589820747602727921803626914328343114540310325521488558788499392870378672031385083147090333519942217012995977831001593373419632900777896278767487262028615420082326500156313326922941893077627401579635877278908228204559581251211327406973855828118548751044280974183804667811214776639355628206132824669397885147891420364800000000000000000000, + "scalar_group_upper": 7980695182156349383405243897748612016710851157704344752387478967796122046006819098795144341849129352869066562133661108460833223447129569627155878985187077244413945014039237105793349824012638695429514956307363011555312557880303886534693850746023902804738327213003227078400475798802914890752078339668745545223041775278602829140758120234085481067583283819551181601717620742775404795239383623615814118934023767750211110681568888530073533214020008384432598067475020537960961380251388333250641336465214224019282954581283946880841578904391305574411708931284842792837752267770290059686292054784022176610159630401679099878912126937700608419786185282696874944205032940222975232497689695644619045011694598807355669832336232974144468818464328689155303976023785348613651706029466921730111274594356378344384571018482980973656999806970179424377511962063645886179783536349731346663118898632415273963517906124371445341116565793240187641813515917775583712296244644254322853005941716999285472456683476970626636148979479592125047803531390523022260168029414947814287107839780383099535446280557376064821330189986597793289491537828029431513870246464276191983884624239282680786875364898529736565889882269400048705494638747389224631594029842715639326364358150604476186798800745948019959666826638678876954889163961871383720642631353226138627532389331280878635169157920474814566350625222415862875956414296096872189487828992306752004987279074875891529088024851295822993053130827865538070317726244959567529310511061164007936362678576199543295492812051258779713221346330135806150287905478947061984230248531125695799249051502101848664257981721968985037730973715684578952711806751675934831767610376093738106751326908691876565486773201960055562178137654354080733864980334334937983176396252304827912708551672865964224907137642221640765953729037579046584910070238749446142063486905046101062004156346205535407975709114133482114899640775811282855375258271420165643895089541286833882834188747648108468231857762159304352979348316930308999173804340163596371422142458249624626427807259979257855451806278527628792107695096853241511721551235503988052612875060629225089963934281281693433238902198461293074198217501316813582335173371389355021927378969683288569212139959538157566522880279279141798087621574186345558779127223063580871370146581767378133730866076057600000000000024897088, + "stages": 3, + "wire_bits": 2571 + }, + "conservative_old_coarse_row_reserve": 9909, + "ordinary_leaf_row_degree": 252, + "rows": { + "coefficient": 20445, + "complex_coefficient": 10284, + "contract": "Finite complex role stock plus unchanged conservative bit reserves; q-adic selectors internally borrowed and restored; one prefix and one padding; sequential reuse", + "degree": 70000, + "degree_gap": "141461/5", + "suffix_slope": 280000 + }, + "semantic": { + "B": 32531354368216600227512879385747201538766692520724487452857024390628281444216905316995799500013579759631782797251132303442294425462561655407367524313611018350253109536400540155487893395958594914320630079624240507771717926758376533091719157472156113998042146889910840221394651912528384844611737944816829094299403450141209650601935845929956083042765575223213819674241055613188458323966082177693399435575245693114664673858221564555397392109780241767411765078779691554938575663160633620333042053391728268976455119353383572190696711486600173375193110317619994839271317942572577696867265120798908955641148076827176014770204837785735646491529927406154329718702380766035534239626230661758154006513989207579684538598647442911935796622652484996047158586150735990956325159978647334051992435984062226128606891569702714900395210927028082448680734699243723008457914513732085897964382514209122604928099849768874565782284717745762825692947427297788449905632510009326520703816047142001949060989435768137028178747842393568933454307238623196150858847591191761895343720986756584180877915128467837443101534425948418800022456143554539062545609859764460760534478812979312455552991215241015653906492863575884462244010459550197710269730343174849490898836787613863265071047145035903669555692012586377800138712754263358839017762183658263876653361936073544980881618970479746243198423220456341886525995112585259532178506328264817330647631511334915310317829896246433840281005827911549310239209573271678050284109239346117644319392878391723563131357710737057050217233758581478774994836163769811937856682252963873622106405970827378390254107575940276876035175451158460301349647172169461907783856388685366682944182362779216098265174591163265033373150428195998161335139548868645132211651385692470069955141898927733941850511685375532449530285765808515520564298759440353922982682471707422863169339094406412197161257918694477679432511264294574545718777488617000041089221215759427341123182107277352129596982293614954384688360153899603551775220011243896923949436857735369871560709839611694590473103629052410280101721824416467721046830822155713029932152786612633393456801414122916045085174008626623400865554414048357189501175937687089018611377554025718944984791791400562827158579298813761300283244181663757142583592282626024981988748479196826802321414704486408421165239282609324855079302388057334310486818433778770878307077224045886931513494348081649118423708015265546327949541059849238610128608860981041771106513861085263766801863362330960335556909069368617120916726404794873751037440549304738576265563097721210366949330424815611076388310364552169006089139235937391749309331235217441643542162922924322208635105328348937085775067059789748645687424337179151097117915512438159092516970917469740534732474795881784893061966587784816113974434770735367909088139619906220844017270129878712546491373526443360785464149435233145755521737502615751258861322537196619106690883559428558929087504289621908181020784685409445784934819523781240707056050834898450313263431385128663013226287378208817387367185096992541094516545218019588679618896923935170084000263267167614661940198349509920090328130860595616115991410892132695549974850836079095441222025282996998801971315057398276620042666057558981645819697792547973852294546378518189556098176585305400476399445310148094180718380562693513427097130574619466097344246818028301235461856997341873044937225853618895188621062726773358850509271734884020618447331306896089425236647050086484479044469568864048396809457326715458314267029469986891490860195384386067036442681637449631559347166432384133324426385296087991238633671884614066203176859838415585018332863061715672062565874848243325796457046873511654753740701831425579160745800716205995193267903000147484362866264037461707455661283753801788846512166674886762495152832390424279588787136591937444051012684292325069490337109771775385847108774883870062919111628030075523385158688558905730049867021788706586023868038327894956722104535757835490319120475905457202581344747352223768308196183531148543885001643930223411277354033398117241846708323261877418137480913118596204334939753545454627239591923822312696516620557790712459583511068514358984743029629997242348459028439676439911348369696571816058413425579129824733948253050198379564957164707228444658171175172387537468299581788413660793098153343094047863729446915457143070611820024652443120263861437508279404914142455749593973806961858826506656548497297173524857347973112350597441901519578479569506632932590287193166590388850777885039693309421188469535466840995553171956677572412898774929198970683940204055855933181546310511586344162449130686605556049655730878046991986782615111107996574297976507108535137735566735607300768966804584573380333496257269616727636728050632348788034448548047961165208659560885000143948483853129670967775483418688520768543482458072672237002826329854322478219015360677117953198362719721223226558452426565674316724092144469714010976598345128591746749606564993264909725330738687434830333078268849443682766016499746532542717820145440187504922705021734417610934022531719368854717813012291292339624300475165339575337183457900260648548913507401021582906307534586545737098308344993620144788418694993721700732083950655491536907080168767233290739377893718748318383558293226605689329627588323113159734660956461211495388217601006552788935274497615501691929426192774038078609895736525005784082315596582986928491167200599123802093258537177383937626222698978473943944386528914863254628484729291701994324515803224704955554537213080060047032065500670431878782289087381570601762188383046481710878062311274297565968497720523873399656655605573910727855660032807077164681913622480295851364494428718574005743430876580267032149836252532210682911206284519112324984933372842586813917980495815492410440447792362400286077063005863519045649474200414232188079289454472048044047228342497817020986639239968893647477419384453000464566594717442705498203621491986458392626701528446664075731665747517937443829643690753802446822780137088004736155878692735548973108213334253148148214748017427334800736233997100426316405095831709257756704782595742592537097926762351592586104211580553806033038853117586837782522700854251515391537730545034723671997326004655175910563601669276742068719553654193665236088761373269499611936760715038567070091628816333911826153366687962399283525816222053253644817023717409794996888857032944085385589104335507776492135980297994226010465458882986038096718013646199531586489344733894886979948752164120449451075811901706441516327980677545690478656117489797365565558106567559761878393867215985836711228629532450297250753830341464386654245224924628099509122093640551544715863388133291195553324109312980981883791841320771152828994310807989532505438902774863737671203422814303061616687333834381928303032697376072543657290857181318714460815019153903865369215930670793777525668117662435480119458336676855549356309421134792739084556562878908095291100293332983230844942875750558758477856074705253563461483784770110014520525861393984, + "C0": 2438297895238238078067153532774181517056757432347400101541316073462367574449073751020171780970576171154380735349271706038418996519245086247004593397209902684996163494963732874750837636031053333525559200351056474142919252944749147040985298113590026172650453601280416999010128730562642065096829826644992014749847188208921286993983067267835787953271628714200716747799129805127712034843634550832571657687100605940054554623925618316554564301453094049482732078439324249796023560257760641690077705747388611516217811026366050937813701604705309307081591330936839307264040416270832161185190910697871624314344508259872270741758998055212093026443282609318243232272217242654867245130373643305989027208560077852923762835488465765556716018170140096638971586369905683742568733384341630531184310184490034884632229164765076191834141506309797060192741568479707255856401197821841964061476704867524340979660005439639873543181712968007476652199361610255241432080130256573361140534301784674493015159823345635681191176891722063584872653196913097048339655095396909788602701083355075451797743471939962441796436641484198240345566878033021225790461139622858846209744886306410735906740427982410179221210903617690195421664309168568529447224284167172585567796503885189855962177602952126058535248977013010462587305744899947243392531883824246767090984294068115700621890166712154552335401981355652610153737356845755324733339650995526159274863347154160528547138530493882286731129799901852419564500606122460849703381860542347979393300339393333686064845010136901320943976051864021724109943723655668001065486776480333398640482109711803557792129999042618991947413310970433429688463893200654402255859845335550629418132508092160851328789548765764467107449421344809095221131472967130689090631392173930899990577603675663895883374287183943404707788773274506411222037777903140343343923706239600463638319388459497332645282124305816214922832353195056346071743514210674612762620519962890338101971320803948820985493961492541306267557170967614776245337184289754661833049821025098346061549953430864856635260492847299732451643763324035988414376540252876751756199989229946705088415817975504678395881853846464481170411390105890185362749257198746652566280299362166121260451725721343439647014442167063988898844564971428220793280764857628474764958348750790268587797528075962064010030397675481206040211656837949005124944767476058114700325973428517820020140479890647131233758055014766110030754139613797292753311689057341112872602924543366696262115832868394534998314834414003080663285457993691292931547219134308358057604620161498164969080166205025164637612352877803150808034837041703245203996519802062681587332674980756943912672103253409975292183104316292474801733932664495262489454944408791200251699702081142049467615773443463524311026448747681802229211640444471841161492846902645740134861538575827741883070469537450794888700098602754988395257933781726445800215020487604516801930599757674357640660897780419176223301329235888546870863963454024387678034904648600465687829097838971971757076158456058133288937981803662500396328970883284929021666215043418697687480445604824251453739165319718493991763085775533275001785086791933493863569504895962743458783842063822635234568278575852047183990875307288105059226187461895040899586801972787667139938183125575979831659717741979838487096265811368210775155033456903855792813638327023389728951250652983157026413954419564249744129826574562878271247955172887207068855433338954263595747509599229241954361647521959741738272610814740379482694175765818384316944728198617438497232255738836145273219367076424375853873519074638681510139147251353654844049714602947445649190425338131052584282704672832151001747859022247208814085492068028634452139423467371943963589818457623822322111952599211215246751035865476535665863947377644522103086086026461175500540464893194576973858982881460649363248739124112579549202022667882859879560487874320335804206225167210483675245153541218131523629135129122794376484624918843696831910952228420095370936570435060436769279601776465966956835121565362855486539350193086801398801543715656157953734792692774101710986472600917096536861901432836106428842077310611562682851948420929609762475425795848384810410037838978203481220790502059909357509659467851051933535814778906660794882298358685174702860123493677255656918160138299677047576165944610522360615025545053955094247884235752555581108560149168681562368018765524528053069141303599583074812019240525564187208476060202959754505048585536677311615486173552618475823094991812177525297636580670121676784431080846892974899651386216736909951799304217098887505036465239884273129539089730484352236395062574898503596192614631699063290636485688299332269767653212066339919388038015477913949559909030240490418296143544838476097031168475861476943243455128707985670461752223666255606233065439533870589455857358654085579747160846095377776855367336320953813126604257651773965374242308954053246267193818904690785460156189654365431578654947353918880552459360257693678702689590553056466216439793633674485225902256339583637639116565446522127461992780400733143302473009686480370350746971806888420225391556129104236144477169090904720634999772231046564941756306582310600272375287951807656658449620766783678909831442394484962167996848630286325177298522488541494919422713893438872149245712380830823121484420089757935500099244737367860348360106319002647859431282272016624794143457090747671799955721849330556767480653894026783274299493111135897487613429107916481212981861337148830597835927030845303609794804787699469390521595792292853455747099559808427966815810053438917071917487420134216559391067302786643898676512430597985654214655652345569398659841927589282906698038022287795574357887976614612068583138939033975030569675076908924590974913120938119003740633881236457178038566311212468610413243099145557470012067710079954779378066997795586573804472409909042507469556769081975541717809799371830864649327607303067505525127843414131081669323257683651525793177596781575566966967691900505281946569268685554733005110588400604281359226952521944735914221992449772073743373474859040462652751692032686532373772817470686489874389538619507613525099765348974798232387090807583239869483552552612383558226845054983486608694912735530353537237525080820034498713335151706938234351193773757586829016491274672421640591717552843642587296819730299670670983969589854055248297937132748104224252778159243159575345943460498996688262409245025417019350864859637790239421836992971448496237009745185994649334080254860619323754726868681869249856444595378996702146935959404545307892129108096282944668460709772086550997284315252831376944968004622139858689209468595564262779229625643968471127925014478669190078406139534516986414883504595277316485872082795563795334920568572621111085326247596981148926235480843797954806351963870213060754695736487371970078258905316147862475168632458836107720155791513858399141396362884749355294496954291287395151697046459845437775652724926056106319241299605402834012284609386297744224462997829645921667804726137161044583606194001114713139175842038505551567682378197948640174158085369894681776751555637467075732973354567960170637737398196379825543689224436658016303377662397514335946013371414207538972315705739402329636593596510180772504518615985060420070917535377461957405376047575573431170636097144501733022676714026303964148970788262174983410012535669216724942154995771463841221943879626961857562326765011315782452106811450259883993482211053193424102576734541167764875598727136633698059880988988019723381943963375500259088714459356351111124604279931739943167473706909687775941432656240388069934380532644776088452052783177389648139202044460191486621235301411043942937653994273002471595368985216034015858221023451049386189547982082357551487855218115483599260499769537414667989514420826269144490360517260282915850063101625806708259231716273169136844614708091282298426087986641278622920161891884624764739790919619667740011274192898812698367651874560198658548645782025529560786143585100517779123560684084765314506330088253933488758836361805539852703642909655626176482064508329882908127731266624559710715744554904468511434199254356518389833135302011595220734980434684276499550699607927094464143120756546583101617186050975464846541536050038871232378309577767381852023282590070010166856152127551933832787254320771601437209236185495862167920567017681938222015881464149446724061346467555018856293392072527934547985199337645563019122872448150744876510212611593522855986953422973175651158876903126420579550204130157748675782117933921215494995109632230406625270882240226768266838620370574058091210106085724372794403002879147625330367524105628681552808222353727599296439563116454045252759603430704657560191271047680415713216235975855388980612239915230442865177785042419274201956992828730540667245415545631441875720907277343445097054861989043657216295483507866143922002532945378412989409192085200268649561147336822009411898827704834913137719160525092442632039279933672204531430797777681315875679496143335339008299234285883408496157317343723638077723602119328382396319769524832601650134788229160224533935283001461119620810351959615206984223562601722791860372941161135538237575287135931286093760310135230042924154150891582578249318979229931627624861667071516590152479444998372275364770648826337935226562228683610034340811348908301922733167246171689843662113223368152446424923597594023158860886569076546471982748099205724589805885320723410829143761866647877696583635713106055739071774600491766186616218503804506107647542422474957495206826158334434704585869195181830129651454512048095043330003331078511007057583470705543878478339473456952797239530495303062861921125488511188840372782679257878963660586911492011000253058688013676903079552640733159787918525729283216392229433947262969912847339182875821084930912643982106960118658658320198167303822920623752130744021997753324325166270927302939211382631963757455450568313708621020487062672735130552969910550872695345373758454711091016976818082472960235114723700516490871004195144338575727670187283186785184655068574781483697234679806248552191307698724813315853397646826783251826004257499120379149797239514703676460568010708619152945159254912071049794325753554239725381396965608913256514622092943947514474557156288852160462180067114244136217748987545020353131071263580820396285194680700376758129660434090340076389501825610452732854980672723989930607926329491964938925679361096244528900967270140710188736132763611952165965901992125552984688971082289935697104885045919372628810862227268177784143685251823721732540677971434662436272578527410396310578004876248981705806545757541549786208821858143433874390838325715400253161533382635906783049979328580663334189685048841221495414232685794910292848588909459268809296983109820862304226574095808779726142137770557484573699836456496266195341097725924590096765737450102420465264898811905465266269185207445060785462242805028903320125532119446362278828870436608909619979578785167557699907636978376097008484626420527488405924254063032557661368377488146543411652259387710375015017230088757735323483402702198193955078709490618133437706120345121280994106657754232703440445058403517540408320977100673490235072641888229822310433276656871801750237897376467911410765785672061950627148548422750196829611859831359341864457928476414045296595554896447212025898411794252154838236759151970232455580320754966664281748214798349123249776633235468959486306308088335886947282835736548611538943064351444251293701444362640369758061483297356782293601492843917471488318198558137311834215488084671837883166670800733981350139946453935063907578451481688799820016975607705048491126355512231855883907964115533761448151135028907776782064776307762150698842660948977901488886936074202154127495828828447920090764392963127200506991296723698996948795051828580428066811288664603958452553430979332122765746895230465407435333700357013935815950556684315640480059970547497284989376133109499056839485875471095923311617567579907098856507574036291407040438040584292662297401017008222909933550318060725841907486956759212439128806766743481732917779804816656029376232904969949369035585073729766219853350210883820634722268403094491597985408114708659673291026855622278822277368102793166407343660630204872729856012769691611035403997455704782156143479928012083478424938511308231300877524005737936755696824892091795189183429418597670749599033825701275471377937848654992733009343176145990639879931970806030828639747814283841735309444030924382955963400900062706900741344897739137262247131086498544581757797615357336500844957002094893513718937553308690115782325290966788446921405542688724876502360002423869768468326046771715088531540760384925088019026478550852810038431516523502505887095013536576170252221647389563145118842517473700426073042223833745084886896863804260259465798148502439577130756531501952033993366096143105697779476611496685255498706777768196944446332358359538526788922950095045775698606323687157652024680842558846852062658862174732630085395496833395240699741308143282693109515732728325695109739002848268341404261941915838714505169929124194487333961968854730280284260715956891372733821053726696227155833933763394213488963745627997539668817725244580704524384759418566907907796432698245474051587935319442374432858593567423521546304564961863668987697848518777386151183963591617380960909346132550002485481292495238752524613233471572476500142235396743158123314720548585172609410858282869694664800958078643760203301622057274343452125481975897312151429266049707696198898401112503036947466964236119376224601101967576427632109171618049876520076855385979649369633780017890217918716203305867290022988418408389071480440825717842716839139833065284411201246394260709670056708218940070100032396314815673753376368940338592588193603786223500153659963269662424644616355905008195873177318950031389863409162816319990978895615312760937488082394334861629555613312132416626609704101501483659026178024161017600908762970369655919778365742863701415337887463491218801235767789415244874623625069555462018402601226887757824, + "C1": 1, + "E": 32531354368216600227512879385747201538766692520724487452857024390628281444216905316995799500013579759631782797251132303442294425462561655407367524313611018350253109536400540155487893395958594914320630079624240507771717926758376533091719157472156113998042146889910840221394651912528384844611737944816829094299403450141209650601935845929956083042765575223213819674241055613188458323966082177693399435575245693114664673858221564555397392109780241767411765078779691554938575663160633620333042053391728268976455119353383572190696711486600173375193110317619994839271317942572577696867265120798908955641148076827176014770204837785735646491529927406154329718702380766035534239626230661758154006513989207579684538598647442911935796622652484996047158586150735990956325159978647334051992435984062226128606891569702714900395210927028082448680734699243723008457914513732085897964382514209122604928099849768874565782284717745762825692947427297788449905632510009326520703816047142001949060989435768137028178747842393568933454307238623196150858847591191761895343720986756584180877915128467837443101534425948418800022456143554539062545609859764460760534478812979312455552991215241015653906492863575884462244010459550197710269730343174849490898836787613863265071047145035903669555692012586377800138712754263358839017762183658263876653361936073544980881618970479746243198423220456341886525995112585259532178506328264817330647631511334915310317829896246433840281005827911549310239209573271678050284109239346117644319392878391723563131357710737057050217233758581478774994836163769811937856682252963873622106405970827378390254107575940276876035175451158460301349647172169461907783856388685366682944182362779216098265174591163265033373150428195998161335139548868645132211651385692470069955141898927733941850511685375532449530285765808515520564298759440353922982682471707422863169339094406412197161257918694477679432511264294574545718777488617000041089221215759427341123182107277352129596982293614954384688360153899603551775220011243896923949436857735369871560709839611694590473103629052410280101721824416467721046830822155713029932152786612633393456801414122916045085174008626623400865554414048357189501175937687089018611377554025718944984791791400562827158579298813761300283244181663757142583592282626024981988748479196826802321414704486408421165239282609324855079302388057334310486818433778770878307077224045886931513494348081649118423708015265546327949541059849238610128608860981041771106513861085263766801863362330960335556909069368617120916726404794873751037440549304738576265563097721210366949330424815611076388310364552169006089139235937391749309331235217441643542162922924322208635105328348937085775067059789748645687424337179151097117915512438159092516970917469740534732474795881784893061966587784816113974434770735367909088139619906220844017270129878712546491373526443360785464149435233145755521737502615751258861322537196619106690883559428558929087504289621908181020784685409445784934819523781240707056050834898450313263431385128663013226287378208817387367185096992541094516545218019588679618896923935170084000263267167614661940198349509920090328130860595616115991410892132695549974850836079095441222025282996998801971315057398276620042666057558981645819697792547973852294546378518189556098176585305400476399445310148094180718380562693513427097130574619466097344246818028301235461856997341873044937225853618895188621062726773358850509271734884020618447331306896089425236647050086484479044469568864048396809457326715458314267029469986891490860195384386067036442681637449631559347166432384133324426385296087991238633671884614066203176859838415585018332863061715672062565874848243325796457046873511654753740701831425579160745800716205995193267903000147484362866264037461707455661283753801788846512166674886762495152832390424279588787136591937444051012684292325069490337109771775385847108774883870062919111628030075523385158688558905730049867021788706586023868038327894956722104535757835490319120475905457202581344747352223768308196183531148543885001643930223411277354033398117241846708323261877418137480913118596204334939753545454627239591923822312696516620557790712459583511068514358984743029629997242348459028439676439911348369696571816058413425579129824733948253050198379564957164707228444658171175172387537468299581788413660793098153343094047863729446915457143070611820024652443120263861437508279404914142455749593973806961858826506656548497297173524857347973112350597441901519578479569506632932590287193166590388850777885039693309421188469535466840995553171956677572412898774929198970683940204055855933181546310511586344162449130686605556049655730878046991986782615111107996574297976507108535137735566735607300768966804584573380333496257269616727636728050632348788034448548047961165208659560885000143948483853129670967775483418688520768543482458072672237002826329854322478219015360677117953198362719721223226558452426565674316724092144469714010976598345128591746749606564993264909725330738687434830333078268849443682766016499746532542717820145440187504922705021734417610934022531719368854717813012291292339624300475165339575337183457900260648548913507401021582906307534586545737098308344993620144788418694993721700732083950655491536907080168767233290739377893718748318383558293226605689329627588323113159734660956461211495388217601006552788935274497615501691929426192774038078609895736525005784082315596582986928491167200599123802093258537177383937626222698978473943944386528914863254628484729291701994324515803224704955554537213080060047032065500670431878782289087381570601762188383046481710878062311274297565968497720523873399656655605573910727855660032807077164681913622480295851364494428718574005743430876580267032149836252532210682911206284519112324984933372842586813917980495815492410440447792362400286077063005863519045649474200414232188079289454472048044047228342497817020986639239968893647477419384453000464566594717442705498203621491986458392626701528446664075731665747517937443829643690753802446822780137088004736155878692735548973108213334253148148214748017427334800736233997100426316405095831709257756704782595742592537097926762351592586104211580553806033038853117586837782522700854251515391537730545034723671997326004655175910563601669236586381600751338258790476044924158994132605884476859350697508025459524461902628725218605929044118405095864508982518700442745402752551078262073551716722021947573108803922017421007246600309112605564084379089434131135235083182377909919186819591910556033882615177234851458102884136353581765761014370734230221567741017525886755723050795883351208453548655347513419343338357768105876464060502399040996650375245057486964174591037954638939161485652734288565378253961988214406442809714454000482468043946650403381993358999172037731155971283167391617368932325201695782699124024390079285039946973552990538483783042715774357466854583775040035033900483581057768627344796728169923465332110700734760359344246819319149178563033728099111203130271723250035855678313592364405310014520525861393984, + "exact_grid": "One common dyadic grid times 3^(-K), K=G*(D_complex+1); no child rounding", + "fixed_odd_divisor": 3, + "induction_gap": 748221150468981805232796225872185635391633927976663211415711560984450473216988822290903388500312334471531004336776042979172771785638918074369453059213053422055821519337212423576221548107047683029374491831357531678749512315442660261109540621859590621954969378467949325092076993988152851426069972730787069168886279353247821963844524456388989909983608230133917852507544279103334541451219890086948187018230650941637287498739095984774140018524945560650470596811932905763587240252694573267659967228009750186458467745127822160386024364191803987629441537305259881303240312679169287027947097778374905979746405767025048339714711269071919869305188330341549583530154757618817287511403305220437542149821751774332744387768891186974523322321007154909084647481466927791995478679508888683195826027633431200957958506103162442709089851321645896319656898082605629194532033815837975653180797826809819913346296544684115012992548508152544990937790827849134347829547730214509976187769084266044828402757022667151648111200375052085469449066488333511469753494597410523592905582695401436160192047954760261191335291796813632400516491301754398438549026774582597492293012698524186477718797950543360039849335862245342631612240569654547336203797893021538290673246115118855096634084335825784399780916289486689403190393348057253297408530224140069163027324529691534560277236321034163593563734070495863390097887589460969240105645550090798604895524760703052137310087613667978326463134041965634135501820185248595156534512504960705819346036203009641952021227346952312154996376447374011824881231766705674570703691818169093308447337329029702975844474246626368148809035376644586931041884959897623879028696939763433707716194343921970260099015596755095767582459848507957710708209623978838040867981870926811608968263675337880662561768763637246339196572613595856972978871467128140228601696849270725852894799171347480534708932129972986626947759078775214551531882238191000945052087962466828845833188467379098980730592753143950847832283539690881690830060258609629250837047727913507045896326311068975580881383468205436442339601961578757584077108909581399688439514092090568049506432524827069036959002198412338219907751523112215358527046566803047428061683742591535734650211202212945024647323872716509906514616178266414279422622500398574585741215021527016453392538203187393686800503500014471666823954925318689141196823976911730201062776153055399424810370005877929723745284351107565542839444376532488032958003802563960735449818804961066636442857333612087717808908595478193781084707310282096273861132634008987254107951247587838439834599770759054756931138384699887140050202426560010234114618410001157801469747227259410798607422552025552972826542375164218850810759755120475233712056786077659127890331101804032298846920305281052540425231519050770621411999726913461909027211257843079412397212987210388569301591108197298065675437010362352376999962560162278953810418355522239453890321866856855369012598661303888163478047764417253053500849046968536262289169202664357205058921857959249304204609698802799909445257230828445173880540014450539631234629250508911932006055144855137224624562038728162077547009793699170667802450519051997649421569229819195148106581508930972445340246320160362260981319323856577853853049228603398602774566705918359790258061462024210957187242133406166156522752941950808823234003216247720238917676814650928415622710938863080033556194633234589338284442715787253561713249902332474224288620058610056780442882151989143018022800083873113126617518514455541228141677809698504289784493840879541838181677661341525864984827944835066461806861810023798488574453346123522673067776283558455421655850419460457439015121509596493318512078090768059336036142122788320697153416472737889445161769003392140345924072861619271480209526337441143469779833522395537388515144979758430542104141614561213173291738723476598277753524750833874483501822329011447139567444691737037858649836854831791146941501140251478548964881541584004608404322430216277339770945825515659370929189101146671088512221216416509355037810395138459379142768156696562474291435023180617162061001727712699703614331545456426510614247913192019882272829186386570420754575830256649089681489936574014557654112558117961012503021151769343508788319985968880809820154562729994014788266254227137937028964913361770890381133514198241257526891163100865777279055514290624071860567006191766068813062690426313025276482240661397560122753009653100615437834991071719003381584063741163734950305030098652557449576605442831578943567891355912946116687334799315737342897722955003584165496671823371576325730624693284686463175565141766485915736330005791927789142081810195080815696000147555483921208853459663496308167918034918967917686236505445187747670413917201184735644745164544022124792316605103106799799169900355003310815128621982432258836118629835977676500096535671461451065005586649416999037353295573712923562342553588134210844405811010509284654119322803422252461761937957610175240950994845092923682606989811001097660800183537204703618379494170248482509863345124312613222215499891605051482518229545483658509699282699723811358910928802810232755219531705994916625010670223496406845073295490551953261091934853263330133629984855599116837930865076305348862843881646365687005691555531211322821840744211930854581434531431602673897201998607864393929004823150714145511313445156538914376802433802875808027601940075133033893258721408699355296845613779847448144946355079830565403122076504900710720890165041854856455148773709145869463863474168213977754355900841381081737506515419933211992649009776123840530332810069079350195433159308844017275447572049088192103078928199946740680180754562774787684013317046804581383371860527202132098910161346141739446233808240845706957744543939583474653467575379496720113551403756325440130299224335206579772449134860938049937906609527340325823657452857105013086251877449791482692702519284553891980645842419010685031678501182226458683294315688543030414135154273273741828312192912561208081804887337456276923943153024108931585209932917626381488906687822407408939204400828700416933381933309805277317204129312928404209999702079628353252315534086629480396866352737538759893621704497268998022119647784854005367802535798644455938498107069045942962838393365067580549734046454300430041511585198491074545496445887042612107462775679972001527433823135183521093773107224833830791545500425284928443711757713963868549399716678859319127546853867198240705554308678876224514313862589226489254928879582400538821299774770337374743673739248154875543555583550881009090702265339408007836451053874523203058945967674244358258479246356836767338097853680893047640173266446288709808153732685528464857927065697497726454514198562583327212350377736515066869148583759247625094763821865966437678724728970417183808678190784350969752039649668504117689715170330432598745440539788903491966405428256883090366706236016042747541743567677635195116686100232998944800946214886191695306746658614309433686142262851444990689718220831959614127049712530333972094812061632, + "literal_charge": 4973708765204980773083527257832524258275170672835121944287400293890745612139336947282211201600101360824716800668463609480696540866703090151279639834369087052360427889765841430457010560809217891298045723591844776347299596090344162008256461325778229397159691491756212380999003014935413152755294230677972633704881230536642144543581852491587436008770781292098819550563857079413511125282411896770473597616364266465859523617498366006987317277822020833038192892714745839355655013846637344290400869057185535936686464931216310784395259942743470192373261029416139417698925519929260696713794450221719614006126782413572293060105155439060855231255209153160280099846089501204964571117145573150264414412968377414518040120495851393245739428056090670007237726317920989593479406098409633989572360135278080381578224295575312260927513400073594714347209467311699286735380306022954897359958276595044784751793449789172506127368054351569866868624906443119878474216067803009381561098867576349730511931864920239702272067482514327247887527789675893867485426540593525636321835668510385738306516764272525978809617762641152089703258631016406152542138982063449513852245812070708932683793681769792272306373583833083702131384019811171164558477645132714826699730216337080628190687488669852586531012979947103762653289098723271717882768196614374258992210132309557140432296498977006297487644105527534282354993491221399592494778532580518890117804077752892323435938507882042285248887053907643477772347363165563073450411558801147807489822169245719928396543110105005509428434067132857248741825481867235695522782168329909771993966432415139194989912177349076953205166105671752906804514900143330236025199175039637899836891565531408537770147613618065060993214427712449488569913518924467956612444773546168598816043996838686906654370549109577289398922397395216797202351035081016645515476929318992596434515771020930340282215062437142589453061652727154216996561627460534763398276778616588806085019085645144928604291757728891438362058726008014669482381290541608853085847032020060515907885969521765956933770674262001232004801775930447872434148548422201431222932221249290242034952209833064432876973007438601009384147090514668991048271270124356730461050240154848370930920640687459726681931501498566874722457364829207202969524168173110600325791686398907174353626919766475342823290653735984621572737884411979864648788256238766650869941034690495099795230522282276987184786547912179450524123095989600170777294000068572863799699922879434538938092982208335401730733194423335138369935868800204060549494815594807005179901537363476307681359000775665265840309739966802540361081365493233958322361549316390562692088748080528055138400704994005267140895544878591081684873970435981899317058454529866653725957167097572074003073690560253619618932887924333200930985925142850424603069327423285683415337993023486155958555850920632043039144884056512916756799075381097476858273406162677868444656198108103437250729737437246905500189094854259519214364625558541068761300090521283066002405056155999579781778308120211232445693251158469326303328291673426315653603843844644673039226980450541583611151378817585697605946031136740816370613697223757897759995326882753692315893456772167871249000290911520250497935259675963329653663269128017790607766086466291922371641065863633888332621245678656930552984183391266858694594720305258094150470868439306699069680200954890530534472144710676224697929203451121639346130245953757065992228586156167248377310766220616973532319312847466475183440935230100341706822678980475080240889791258254587964242362839762467202681574913498306471627594170726954981023687629318332730983490245682564336208591571908170139001985256289133821601241316879706398787106319519060045304610038397019896446897892816319408471309400991411403498201885228942575289421764066426232689429203965672233646349916363425741037810107181032096357621642035200000000000000002308, + "strict_literal_gap": 32531354368216600227512879385747201538766692520724487452857024390628281444216905316995799500013579759631782797251132303442294425462561655407367524313611018350253109536400540155487893395958594914320630079624240507771717926758376533091719157472156113998042146889910840221394651912528384844611737944816829094299403450141209650601935845929956083042765575223213819674241055613188458323966082177693399435575245693114664673858221564555397392109780241767411765078779691554938575663160633620333042053391728268976455119353383572190696711486600173375193110317619994839271317942572577696867265120798908955641148076827176014770204837785735646491529927406154329718702380766035534239626230661758154006513989207579684538598647442911935796622652484996047158586150735990956325159978647334051992435984062226128606891569702714900395210927028082448680734699243723008457914513732085897964382514209122604928099849768874565782284717745762825692947427297788449905632510009326520703816047142001949060989435768137028178747842393568933454307238623196150858847591191761895343720986756584180877915128467837443101534425948418800022456143554539062545609859764460760534478812979312455552991215241015653906492863575884462244010459550197710269730343174849490898836787613863265071047145035903669555692012586377800138712754263358839017762183658263876653361936073544980881618970479746243198423220456341886525995112585259532178506328264817330647631511334915310317829896246433840281005827911549310239209573271678050284109239346117644319392878391723563131357710737057050217233758581478774994836163769811937856682252963873622106405970827378390254107575940276876035175451158460301349647172169461907783856388685366682944182362779216098265174591163265033373150428195998161335139548868645132211651385692470069955141898927733941850511685375532449530285765808515520564298759440353922982682471707422863169339094406412197161257918694477679432511264294574545718777488617000041089221215759427341123182107277352129596982293614954384688360153899603551775220011243896923949436857735369871560709839611694590473103629052410280101721824416467721046830822155713029932152786612633393456801414122916045085174008626623400865554414048357189501175937687089018611377554025718944984791791400562827158579298813761300283244181663757142583592282626024981988748479196826802321414704486408421165239282609324855079302388057334310486818433778770878307077224045886931513494348081649118423708015265546327949541059849238610128608860981041771106513861085263766801863362330960335556909069368617120916726404794873751037440549304738576265563097721210366949330424815611076388310364552169006089139235937391749309331235217441643542162922924322208635105328348937085775067059789748645687424337179151097117915512438159092516970917469740534732474795881784893061966587784816113974434770735367909088139619906220844017270129878712546491373526443360785464149435233145755521737502615751258861322537196619106690883559428558929087504289621908181020784685409445784934819523781240707056050834898450313263431385128663013226287378208817387367185096992541094516545218019588679618896923935170084000263267167614661940198349509920085354422095390635342907883634300171291699680163243973496934624989106253189831978110116065418442564696734264845151234183067277311427843288366909916263807498253040048509679468717637170157571344802215381373538729843118797748156473866292979000531219112475885245734097406514189618047791360206095215041056911386913566100770253944881654794558499048470273688276765228846245600247301947188984617573216417893243831117920207512825183271442644242069344411551095131533670550248635583619825247269775802307802652879648331867931845404887667305932104773133423196017457372237054815181902164882446951350494486381187141120586575191302761108598400852224406074600641508746666077173681797924035686817274015174374168214522926010892188440931823750909053681105378609382456962880469439705529620441533812798553280825348471642726213394325096354638254300242374895068446136203583740169882502305221386470757178983556402733741976037757633589578653544408729126954997363372492255458868036576382045542246473823007888625214924967524441307985448629092768114818592098084527920833348421193961486856610152511675403913932538751933930663968710166948113418581406114068134930051104918895157735725487381490617745195993208204580577090966769323282876699170969270324428243912089808315362492073173948838426818383129475802490211153672760103234938665729100559150598355762980041040301469223079502563209145288484759658884235395359556485447198530888607950645349036917800279633241633905016732643950083630032560578083585818380747438135932603647982879115733880410010949650448876677609601679562507165119258366709655868331040084518600636894812579413901081118074626815459378973679143621928776795141156650308516230648974944773444215229834076209952010150750620929864393011679022575113880365752564700090892720505508424816551122407182561613739659019946174982567180315088579203128331389395714525548347749432796011746091000314562057338509161467703579357157079481065092991223190943295244486971019334155405942913283835632167867362688047866571583726977516611175443230778267258371898547935735874287474070637851128786579036686374114156693761716898956153502783057388358657967336010358518128603476713366173725228793728716322188987313729012644146287470163224118093244276091738695119649244570771288738733047356147108397169650283326717486389380017404322994089998798010406859630003030310706456223635650653290650544293290516744072749427053206068277036573835014519846717980264816509783223683247092234376907931046478666198782875704416877993738410497866045618285984935306674447270172179994661236697668707228813113418419746356548899621713394104206067400272585673149060587266370373171239481978751243619440138884264452368664105252800321692367264307261885372069000596378150104595609332547314108853472572730985592698475844091063819541667894890573786859130833381531678670384241774512278478641561855323299278242763248737738642261361978887978723058710763301938723624171247937080497595258690699702050656384703492016639913990084070998796750194926127310241572190043392079224054673831237007405479285590181048055580974024254730732906354392089271542384925212063246057118719070068153481359982136683583151127652975230221933752561184530013787418177761992187253101452937512698576770769586735268446438057795118114184344258484583440766782073098887809134055761108955935481281186432280951557373358267687866926907153826105250739868376388587657604661092669121042116727183545497033896567572349664208871089536316441530779099928394887279932998657058567297195041205171344581292802369806038455258409988877061463810896308668422378506489094350148163380684573521410371448802911051280413300908136338086859829755513062922962774063660628015681792048591635074575819709198793323216439493565302423148762405333548186446671019423737738105735960446958136877147218714492012271656777215941298526284694522756821278970693933111557390115183506329387378182747777389233913142854823581955970722370110014520525861391676 + } + }, + "kappa": "4611281/10000000000", + "predecessor_commit": "6a9970a530119174507904e23592fd59ede19a5d", + "scope": "Exact inventories, supplier moments, full fallback/router charge and semantic assembly. Local scalar/frame verification is separate; paired source scheduling, completed-core sharing and inherited uniform-recursion/analytic/tape contracts are written proof dependencies.", + "source_sha256": { + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "certificates/paired-cube-bit-input.json": "23461b66f3a87d4dc87ef209105df4de41d2ef076568ff29b9ea0a0747f01d96", + "certificates/paired-cube-complex-input.json": "11894aa8fd4d5e258ec534726eba5fc9c9fa7b826f993e229425c31ee2ad2440", + "certificates/paired-cube-input.json": "76f52fad6de108efff2d3194fcb2f06d0d7dcd65d22f42e1403dcaf9357a967c", + "certificates/partial-gauge-bit-input.json": "367b9844db23f8fa64002637903bcc5ce28ffc8879d274b5c54c0390fb0234e4", + "certificates/three-stage-cover-network.json": "bfca1f225394c8b50f3360b71920652baf9bd885ce84f9c0a9184c3ba7dd35ab", + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "notes/paired-cube-assembly.tex": "1929c46e24925b795431f62ad53025e149b4c48dbd2c9a668f240498b3abb54e", + "notes/paired-cube-bit.tex": "bed3841c349b1b897cab338b9800dc6030afcdcff0bc7cfdb437501e84fdcd19", + "notes/paired-cube-construction.tex": "fb478cda034c1934c62230487008c0a753867e1b153b7d0088878d6fa06856b4", + "notes/paired-cube-note.tex": "2f7eb4c667ff6a220f974ac630fed92efc2d41bc971f4128c7074f1542799987", + "notes/paired-cube-sharing.tex": "57fd2290d98528bce00f2ed51b1988e917748f43b2ec25acceacaf2beae1d7e2", + "references/paired-cube/pr97-subset/selection.json": "5a41dee894702cb880385d826648a3e759b85a6de6824ecbef63b73b8c6e1354", + "references/paired-cube/selected-module/README.md": "bd3f5176ef31bbf78240066fd5a5dae52dc31dd734273409671440a568d18155", + "references/paired-cube/selected-module/SOURCE.json": "51739341346433c85f1c01f4bfbdf8d5f8971dd640899da854b5deb7dc740646", + "references/paired-cube/selected-module/matching-arcs.json": "22c90ed078d765e58ac824d6f9558cc4620961b48644a32c0115bdb9852de771", + "references/partial-gauge/pr97/SOURCE.json": "68fb539abcd6df21d142e4e204b6e9482eb7f9cd3907650f54bd058070266596", + "scripts/paired_cube/README.md": "bf2adf1d1c5a412730be66e019bd73a08826ef8dcd6ffc833b9d1656b755dfb2", + "scripts/paired_cube/__init__.py": "b5fb17c79fd41a75c0648e7a5f99076f9f42a619857d5e34e71699bf00ef0c91", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube/gauges.py": "8a501c66e1330f054e0e11a35e9321d2deea7b51cd03ca56b6a41765e43fe061", + "scripts/paired_cube/graph.py": "c757d47997f2fa42a95c16f6e6855cf8b125216ae3335b3891e305cf1da82855", + "scripts/paired_cube/modules.py": "18a1ad8af0a7832b7c5c4791f5b95f76386cfa7e82ad52bfd2758c081ada68c4", + "scripts/paired_cube/verify.py": "e13747916a58b631f10c36eaae230b91b63b427d0a80aa3a530dd9dd90159147", + "scripts/paired_cube_bit.py": "306b3100b97885c0e8b8439a425deac77915d25a7f5bea5bc30d1ee837709efc", + "scripts/paired_cube_network.py": "085662de3b011275dcb0966ae1fd83d646aaf933466de68ea6f8f0e237742b53", + "scripts/paired_cube_producer.py": "c84ea3e3ce3eb9563906b6ee4b7411d93dcddfed4bdbc2d4e39936642261cab2", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/three_stage_cover_network.py": "7e0ad6fd1921b6905a53ce1eeaa03d3bb3a8a8bbaa0382516ea98b636f46335e" + }, + "status": "Conditional paired-cube multiplication witness" +} diff --git a/certificates/partial-gauge-bit-input.json b/certificates/partial-gauge-bit-input.json new file mode 100644 index 0000000000..f01ac32417 --- /dev/null +++ b/certificates/partial-gauge-bit-input.json @@ -0,0 +1,142 @@ +{ + "N": 3136441, + "R": 28866, + "W": 108516254, + "deficit": 1344189, + "dimensions": [ + 23, + 23 + ], + "exit_nullity_histogram": { + "1": 1760, + "10": 96, + "11": 335, + "12": 28, + "13": 116, + "14": 36, + "15": 319, + "16": 5, + "17": 91, + "18": 4, + "19": 164, + "2": 1596, + "20": 83, + "21": 49, + "22": 154, + "23": 17301, + "3": 1307, + "4": 3871, + "5": 806, + "6": 177, + "7": 447, + "8": 30, + "9": 91 + }, + "local_rank_histograms": { + "aux": { + "1": 55349, + "10": 162, + "11": 299, + "12": 208, + "13": 202, + "14": 38, + "15": 649, + "16": 208, + "17": 1309, + "18": 599, + "19": 533, + "2": 64873, + "20": 2310, + "21": 413, + "3": 13926, + "4": 11248, + "5": 6151, + "6": 1617, + "7": 883, + "8": 1243, + "9": 458 + }, + "center": { + "22": 23 + }, + "data": { + "1": 11386, + "10": 86, + "11": 93, + "12": 97, + "13": 65, + "14": 26, + "15": 43, + "16": 218, + "17": 38, + "18": 8, + "19": 1547, + "2": 2402, + "21": 1, + "22": 2, + "3": 1144, + "4": 2013, + "5": 521, + "6": 475, + "7": 276, + "8": 382, + "9": 130 + } + }, + "m": 529, + "max_child": 528, + "rank_mass": 57403754177, + "schema": 1, + "source": "PR97 e15350b66e4bf796153a68c240a6cc1b788abe3e; opposite-bank whole-projector compiler applied to its actual physical idempotent increments.", + "source_manifest": "references/partial-gauge/pr97/SOURCE.json", + "source_manifest_sha256": "68fb539abcd6df21d142e4e204b6e9482eb7f9cd3907650f54bd058070266596", + "v": 1771, + "whole_projector_histogram": { + "1": 239511811, + "10": 878416, + "11": 1388464, + "12": 1080310, + "13": 945714, + "14": 226688, + "15": 2451064, + "16": 1508892, + "17": 4771074, + "18": 2149994, + "19": 7367360, + "2": 238288050, + "20": 8182020, + "21": 1466388, + "22": 88550, + "3": 53377940, + "4": 46970462, + "484": 6272882, + "5": 23632224, + "506": 61280142, + "507": 545468, + "508": 173558, + "509": 293986, + "510": 580888, + "511": 14168, + "512": 322322, + "513": 17710, + "514": 1129898, + "515": 127512, + "516": 410872, + "517": 99176, + "518": 1186570, + "519": 340032, + "520": 322322, + "521": 106260, + "522": 1583274, + "523": 626934, + "524": 2854852, + "525": 13711082, + "526": 4629394, + "527": 5653032, + "528": 6233920, + "6": 7409864, + "7": 4105178, + "8": 5755750, + "9": 2082696 + } +} diff --git a/certificates/partial-gauge-complex-input.json b/certificates/partial-gauge-complex-input.json new file mode 100644 index 0000000000..b404923928 --- /dev/null +++ b/certificates/partial-gauge-complex-input.json @@ -0,0 +1,101 @@ +{ + "h": 24, + "v": 2024, + "R": 34307, + "q": 8120, + "c": 146284, + "matched": 120097, + "loss": 552, + "selected_roles": 6341, + "selected_rank_histogram": { + "22": 850, + "21": 70, + "20": 770, + "19": 81, + "18": 1503, + "16": 761, + "14": 487, + "12": 406, + "10": 374, + "8": 257, + "6": 294, + "4": 252, + "2": 236 + }, + "remaining_internal_histogram": [ + 27033, + 203910, + 83148, + 13608, + 17316, + 6534, + 5740, + 2708, + 2218, + 787, + 642, + 404, + 288, + 218, + 223, + 1296, + 352, + 1944, + 305, + 1566, + 852, + 188, + 22, + 24, + 0 + ], + "source_data_histogram": { + "23": 2024 + }, + "target_data_histogram": { + "23": 18, + "12": 188, + "11": 4, + "16": 82, + "2": 5576, + "3": 802, + "10": 239, + "6": 641, + "4": 3354, + "8": 634, + "1": 908, + "5": 141, + "7": 82, + "14": 89, + "9": 63, + "13": 2, + "17": 1, + "19": 3, + "18": 8 + }, + "copied_centers_already": true, + "phase1_operations": 32446, + "total_M_operations": 178567, + "untouched_non_source_roles": 8079, + "selection": "Descending first-frame rank; intersect all incident latest target frames; retain maximal nondegenerate summand", + "partial_first_transition_histogram": { + "0": 2241, + "1": 371, + "2": 1793, + "3": 221, + "4": 636, + "5": 150, + "7": 25, + "6": 534, + "8": 259, + "10": 73, + "12": 5, + "9": 29, + "13": 2, + "11": 2 + }, + "distinct_caps": 2278, + "repaired_caps": 369, + "scalar_readout": "Exact rational C=J M; Boolean support is a safe superset only", + "chronological_contract": "Nondeferred reads at0; source V; center-closed M phase1; copied centers at0; selected partial-gauge reads in reverse selection order; remaining M; side scatter; inverse M/V atfull F" +} diff --git a/certificates/partial-gauge-input.json b/certificates/partial-gauge-input.json new file mode 100644 index 0000000000..158600c7e9 --- /dev/null +++ b/certificates/partial-gauge-input.json @@ -0,0 +1,170 @@ +{ + "assembly": { + "absorption_gap": "210905811144819709520320681/5352018951262406227316993998984375000", + "margins": { + "Gaussian_arithmetic": "7615340165060206281200290342476813/54804674060927039767726018549600000000", + "bulk_exposure": "92650807349/1000000000000000", + "compact_phase_layer": "6345945518457246442476813/68505842576158799709657523187", + "coordinate_movement": "92650807349/1000000000000000", + "dimension": "68493150000000000000000000000/68505842576158799709657523187", + "original_prefix": "634663057688300803047390957523187/6850584257615879970965752318700000000", + "scalar_work": "10153992421197191567218839942476813/54804674060927039767726018549600000000" + }, + "minimum_margin": "6345945518457246442476813/68505842576158799709657523187", + "parameters": { + "C0": 316603394779621611419893923923079016464961761204405165715149703864163276249149334956086075455540666229511598112768, + "C1": 1, + "a_bit": "92650807349/1000000000000000", + "a_complex": "92651/1000000000", + "actual_bit_saving": "1240183559/10000000000000", + "alpha_squared_power": "9519260838628478050000000/68505842576158799709657523187", + "beta": "1/1000000", + "c": "463254032112459539899192651/5000000000000000000000000000000", + "delta": "1/800000000", + "epsilon": "68493150000000000000000000000/68505842576158799709657523187", + "eta": "1/100000000", + "kappa": "7237/78125000", + "lambda_": "99990734919357750807349/100000000000000000000000", + "lambda_prime": "49995367459725200807349/50000000000000000000000", + "q": "4632540274799192651/50000000000000000000000", + "sigma": "999907349/1000000000", + "tau": "999907349192651/1000000000000000" + }, + "recurrence": { + "internal": "999907349192651/1000000000000000", + "leaf": "999907349092651/1000000000000000", + "reservations": "4999536745967887540460100807349/5000000000000000000000000000000" + }, + "strict_constraints": { + "Gaussian_arithmetic_above_kappa": "63464647749247881254316635764014661/1370116851523175994193150463740000000000", + "K_dominates_log": "634594558191670162704927742476813/6850584257615879970965752318700000000", + "K_geometry": "634663057688300803047390957523187/6850584257615879970965752318700000000", + "alpha_below_one": "68496323315320171231607523187/68505842576158799709657523187", + "alpha_below_one_fourth": "68467765532804285797457523187/274023370304635198838630092748", + "alpha_positive": "9519260838628478050000000/68505842576158799709657523187", + "artificial_boundary": "383645411071166612550935367236742476813/54804674060927039767726018549600000000", + "beta_below_one": "999999/1000000", + "beta_positive": "1/1000000", + "bit_positive": "92650807349/1000000000000000", + "bulk_exposure_above_kappa": "17207349/1000000000000000", + "c_below_one": "4999536745967887540460100807349/5000000000000000000000000000000", + "c_positive": "463254032112459539899192651/5000000000000000000000000000000", + "cell_above_band": "68489976684679828768392476813/137011685152317599419315046374", + "compact_leaf": "5092650807349/50000000000000000000000", + "compact_phase_layer_above_kappa": "210905811144819709520320681/5352018951262406227316993998984375000", + "compact_reservations": "4632540274799192651/5000000000000000000000000000000", + "complex_above_bit": "192651/1000000000000000", + "complex_below_one_over32": "31157349/1000000000", + "coordinate_movement_above_kappa": "17207349/1000000000000000", + "delta_below_one_eighth": "99999999/800000000", + "delta_positive": "1/800000000", + "dimension_above_kappa": "5350531566967276338766501208504695681/5352018951262406227316993998984375000", + "epsilon_below_one": "12692576158799709657523187/68505842576158799709657523187", + "epsilon_positive": "68493150000000000000000000000/68505842576158799709657523187", + "gamma_sublinear": "3173315320171231607523187/68505842576158799709657523187", + "guard_width": "12692576158799709657523187/68505842576158799709657523187", + "lambda_above_internal": "92650807349/100000000000000000000000", + "lambda_above_sigma": "19357750807349/100000000000000000000000", + "lambda_above_tau": "92650807349/100000000000000000000000", + "lambda_prime_above_lambda": "92650807349/100000000000000000000000", + "lambda_prime_below_one": "4632540274799192651/50000000000000000000000", + "leaf_saving_above_bit": "1/10000000000", + "literal_scalar_guard": "4144494358077648199882179832972772983517776031870487164", + "original_prefix_above_kappa": "1719395050360604223446088341467/171264606440396999274143807967500000000", + "phase_boundary": "7615340165060206281200290342476813/54804674060927039767726018549600000000", + "phase_local": "10153992421197191567218839942476813/54804674060927039767726018549600000000", + "prime_interval_packing": "12692576158799709657523187/68505842576158799709657523187", + "q_below_internal": "92650807349/50000000000000000000000", + "q_below_leaf": "5092650807349/50000000000000000000000", + "q_below_reservations": "4632540274799192651/5000000000000000000000000000000", + "q_positive": "4632540274799192651/50000000000000000000000", + "record_suffix": "12692576158799709657523187/68505842576158799709657523187", + "row_product_gap": "196189/25", + "scalar_work_above_kappa": "126930954152672513404780375764014661/1370116851523175994193150463740000000000", + "short_record_fallback": "68486802878377195389187669443684432762498737/68505842576158799709657523187000000000000000", + "small_field_exposure": "6346630640342463215046374/68505842576158799709657523187" + } + }, + "bit_moment_gap": "2345601674306500121278928059/20544779051332707747863228438542286848", + "complex_children": { + "1": 833199840, + "10": 3566288, + "11": 1651584, + "12": 1926848, + "13": 890560, + "14": 1262976, + "15": 5246208, + "16": 1756832, + "17": 7873360, + "18": 1267024, + "19": 6351312, + "2": 359154752, + "20": 3448896, + "21": 761024, + "22": 89056, + "23": 8363168, + "3": 58331680, + "4": 83672160, + "5": 27020400, + "529": 8193152, + "552": 113206368, + "554": 955328, + "556": 1020096, + "558": 1190112, + "560": 1040336, + "562": 1513952, + "564": 1643488, + "566": 1971376, + "568": 3080528, + "570": 6084144, + "571": 327888, + "572": 3116960, + "573": 283360, + "574": 3440800, + "6": 25830288, + "7": 11293920, + "8": 11544896, + "9": 3440800 + }, + "complex_moment_gap": "6947945558372714213404511085632686811861949217860391879028915309604480988411792203593654326893420995161697220962982459380483297217453126140766882894450707727872135725750714093424451390422155481794610385088421430349919862961400734121438410175507282680663373459309957086540191130088180658275438367642668711397505393879394098039098682461552387767220901721149553580423917366079258626166642510006729132879146700629636588392951851953971879190591805102214143246580666019441282051332500197714419089886096021915668614902179480238040948226365454770137923895463114114185382271238145181098303472869639639530600622478928996375011894122390381864017062683331911338976682281294666432146822560930028375258667985523681323914572020123776804960736030357054532314591192452677528611229466742011541822395019902459/167852999431527138668457861376200612707328488672519882138889232846747479926088857765945414575361982185609633426543097157912490128124910372999225579642156258283421237016089680301794258163909517608838521439800122744227600202644475417848450879443411364263972083620854461752803585992206375722588207612958331938749304200543152875805119794945451095437837541676814955673989171040600685943867630086954353447234398681746181800111132168899079225441657090373821768884273857085436195465138227878901247795252436006727813935800658126959810773997881702000283632464353818559774489796750339762225905607282924984001191963169994170327205763462351020551718167078118315983767319570891176632402601675415585523151673218915561491262533667533095664389192097063006529840051822018304057629587556989230316224000000000000000000000", + "finite_bridge": { + "bit_coarse": { + "W": 108516254, + "halving_degree": 367, + "m": 529, + "maxchild": 528, + "wire_bits": 27 + }, + "complex": { + "W": 147067888, + "coefficient_bound": 28, + "coefficient_denominator_divides": 42, + "halving_degree": 200, + "local_group_upper": 99202668726680, + "m": 576, + "maxchild": 574, + "s": 84709241408, + "scalar_group_upper": 401572403009697216, + "wire_bits": 28 + }, + "ordinary_leaf_row_degree": 252, + "rows": { + "coefficient": 15761, + "contract": "W_complex^D_complex * W_coarse^D_coarse * W_old^D_old; one preceding prefix and one padding; sequential reuse", + "degree": 40000, + "degree_gap": "196189/25", + "suffix_slope": 160000 + }, + "semantic": { + "B": 4144494358077648199899551022812574000922568626809480832, + "C0": 316603394779621611419893923923079016464961761204405165715149703864163276249149334956086075455540666229511598112768, + "C1": 1, + "E": 4144494358077648199899551022812574000922568542100239424, + "exact_grid": "One common dyadic grid times the fixed odd divisor to K=G*(D_complex+1); no child rounding", + "fixed_odd_divisor": 21, + "induction_gap": 12433483074232944599698653068437722002767705880428442496, + "literal_charge": 17371189839801017404792510229752260, + "strict_literal_gap": 4144494358077648199882179832972772983517776031870487164 + } + } +} diff --git a/certificates/partial-gauge-network.json b/certificates/partial-gauge-network.json new file mode 100644 index 0000000000..fae9fef678 --- /dev/null +++ b/certificates/partial-gauge-network.json @@ -0,0 +1,557 @@ +{ + "assembly": { + "absorption_gap": "210905811144819709520320681/5352018951262406227316993998984375000", + "margins": { + "Gaussian_arithmetic": "7615340165060206281200290342476813/54804674060927039767726018549600000000", + "bulk_exposure": "92650807349/1000000000000000", + "compact_phase_layer": "6345945518457246442476813/68505842576158799709657523187", + "coordinate_movement": "92650807349/1000000000000000", + "dimension": "68493150000000000000000000000/68505842576158799709657523187", + "original_prefix": "634663057688300803047390957523187/6850584257615879970965752318700000000", + "scalar_work": "10153992421197191567218839942476813/54804674060927039767726018549600000000" + }, + "minimum_margin": "6345945518457246442476813/68505842576158799709657523187", + "parameters": { + "C0": 316603394779621611419893923923079016464961761204405165715149703864163276249149334956086075455540666229511598112768, + "C1": 1, + "a_bit": "92650807349/1000000000000000", + "a_complex": "92651/1000000000", + "actual_bit_saving": "1240183559/10000000000000", + "alpha_squared_power": "9519260838628478050000000/68505842576158799709657523187", + "beta": "1/1000000", + "c": "463254032112459539899192651/5000000000000000000000000000000", + "delta": "1/800000000", + "epsilon": "68493150000000000000000000000/68505842576158799709657523187", + "eta": "1/100000000", + "kappa": "7237/78125000", + "lambda_": "99990734919357750807349/100000000000000000000000", + "lambda_prime": "49995367459725200807349/50000000000000000000000", + "q": "4632540274799192651/50000000000000000000000", + "sigma": "999907349/1000000000", + "tau": "999907349192651/1000000000000000" + }, + "recurrence": { + "internal": "999907349192651/1000000000000000", + "leaf": "999907349092651/1000000000000000", + "reservations": "4999536745967887540460100807349/5000000000000000000000000000000" + }, + "strict_constraints": { + "Gaussian_arithmetic_above_kappa": "63464647749247881254316635764014661/1370116851523175994193150463740000000000", + "K_dominates_log": "634594558191670162704927742476813/6850584257615879970965752318700000000", + "K_geometry": "634663057688300803047390957523187/6850584257615879970965752318700000000", + "alpha_below_one": "68496323315320171231607523187/68505842576158799709657523187", + "alpha_below_one_fourth": "68467765532804285797457523187/274023370304635198838630092748", + "alpha_positive": "9519260838628478050000000/68505842576158799709657523187", + "artificial_boundary": "383645411071166612550935367236742476813/54804674060927039767726018549600000000", + "beta_below_one": "999999/1000000", + "beta_positive": "1/1000000", + "bit_positive": "92650807349/1000000000000000", + "bulk_exposure_above_kappa": "17207349/1000000000000000", + "c_below_one": "4999536745967887540460100807349/5000000000000000000000000000000", + "c_positive": "463254032112459539899192651/5000000000000000000000000000000", + "cell_above_band": "68489976684679828768392476813/137011685152317599419315046374", + "compact_leaf": "5092650807349/50000000000000000000000", + "compact_phase_layer_above_kappa": "210905811144819709520320681/5352018951262406227316993998984375000", + "compact_reservations": "4632540274799192651/5000000000000000000000000000000", + "complex_above_bit": "192651/1000000000000000", + "complex_below_one_over32": "31157349/1000000000", + "coordinate_movement_above_kappa": "17207349/1000000000000000", + "delta_below_one_eighth": "99999999/800000000", + "delta_positive": "1/800000000", + "dimension_above_kappa": "5350531566967276338766501208504695681/5352018951262406227316993998984375000", + "epsilon_below_one": "12692576158799709657523187/68505842576158799709657523187", + "epsilon_positive": "68493150000000000000000000000/68505842576158799709657523187", + "gamma_sublinear": "3173315320171231607523187/68505842576158799709657523187", + "guard_width": "12692576158799709657523187/68505842576158799709657523187", + "lambda_above_internal": "92650807349/100000000000000000000000", + "lambda_above_sigma": "19357750807349/100000000000000000000000", + "lambda_above_tau": "92650807349/100000000000000000000000", + "lambda_prime_above_lambda": "92650807349/100000000000000000000000", + "lambda_prime_below_one": "4632540274799192651/50000000000000000000000", + "leaf_saving_above_bit": "1/10000000000", + "literal_scalar_guard": "4144494358077648199882179832972772983517776031870487164", + "original_prefix_above_kappa": "1719395050360604223446088341467/171264606440396999274143807967500000000", + "phase_boundary": "7615340165060206281200290342476813/54804674060927039767726018549600000000", + "phase_local": "10153992421197191567218839942476813/54804674060927039767726018549600000000", + "prime_interval_packing": "12692576158799709657523187/68505842576158799709657523187", + "q_below_internal": "92650807349/50000000000000000000000", + "q_below_leaf": "5092650807349/50000000000000000000000", + "q_below_reservations": "4632540274799192651/5000000000000000000000000000000", + "q_positive": "4632540274799192651/50000000000000000000000", + "record_suffix": "12692576158799709657523187/68505842576158799709657523187", + "row_product_gap": "196189/25", + "scalar_work_above_kappa": "126930954152672513404780375764014661/1370116851523175994193150463740000000000", + "short_record_fallback": "68486802878377195389187669443684432762498737/68505842576158799709657523187000000000000000", + "small_field_exposure": "6346630640342463215046374/68505842576158799709657523187" + } + }, + "bit": { + "counts": { + "N": 3136441, + "W": 108516254, + "child_multiplicities": { + "1": 239511811, + "10": 878416, + "11": 1388464, + "12": 1080310, + "13": 945714, + "14": 226688, + "15": 2451064, + "16": 1508892, + "17": 4771074, + "18": 2149994, + "19": 7367360, + "2": 238288050, + "20": 8182020, + "21": 1466388, + "22": 88550, + "3": 53377940, + "4": 46970462, + "484": 6272882, + "5": 23632224, + "506": 61280142, + "507": 545468, + "508": 173558, + "509": 293986, + "510": 580888, + "511": 14168, + "512": 322322, + "513": 17710, + "514": 1129898, + "515": 127512, + "516": 410872, + "517": 99176, + "518": 1186570, + "519": 340032, + "520": 322322, + "521": 106260, + "522": 1583274, + "523": 626934, + "524": 2854852, + "525": 13711082, + "526": 4629394, + "527": 5653032, + "528": 6233920, + "6": 7409864, + "7": 4105178, + "8": 5755750, + "9": 2082696 + }, + "deficit": 1344189, + "dimensions": [ + 23, + 23 + ], + "m": 529, + "maxchild": 528, + "total_rank": 57403754177 + }, + "exponent": "124984487/125000000", + "logarithm_upper_bounds": { + "1": "1987355562417364065669439618237/316912650057057350374175801344", + "10": "2515274437229490418617839725263/633825300114114700748351602688", + "11": "4909728867822167960512763283247/1267650600228229401496703205376", + "12": "2399714421777289519579293961239/633825300114114700748351602688", + "13": "4697962657128327885574713503543/1267650600228229401496703205376", + "14": "1151004910436491358992364195459/316912650057057350374175801344", + "15": "2258280393397031167285649759463/633825300114114700748351602688", + "16": "2217374245868088984102352158015/633825300114114700748351602688", + "17": "4357897653501964928993364503311/1267650600228229401496703205376", + "18": "4285440755889660536494207989699/1267650600228229401496703205376", + "19": "1054225602598430741931079593279/316912650057057350374175801344", + "2": "3535376905093068344529747466859/633825300114114700748351602688", + "20": "4151880434975661263617415911297/1267650600228229401496703205376", + "21": "4090031554081046933305076849055/1267650600228229401496703205376", + "22": "4031060428338848386894499744017/1267650600228229401496703205376", + "3": "6556765722521218186395115000937/1267650600228229401496703205376", + "4": "6192085370702817115441231394489/1267650600228229401496703205376", + "484": "28174651752060127777810254067/316912650057057350374175801344", + "5": "1477304328485575102713485747439/316912650057057350374175801344", + "506": "28174651752060127777810254067/633825300114114700748351602688", + "507": "13461634359740358047256265827/316912650057057350374175801344", + "508": "51348702935746093527376467017/1267650600228229401496703205376", + "509": "24427890298974148366428397635/633825300114114700748351602688", + "510": "46367751143251427268642011075/1267650600228229401496703205376", + "511": "1371393606332916105007939035/39614081257132168796771975168", + "512": "20703147159790050056693309941/633825300114114700748351602688", + "513": "19466414474504369438193979723/633825300114114700748351602688", + "514": "36464180456598060831658809501/1267650600228229401496703205376", + "515": "8500082529457066293647807479/316912650057057350374175801344", + "516": "3942657414643595698964051979/158456325028528675187087900672", + "517": "7271737386783571020444791587/316912650057057350374175801344", + "518": "13318691203824549237528752541/633825300114114700748351602688", + "519": "24192539605019349297275627047/1267650600228229401496703205376", + "520": "21752402951213312896107403843/1267650600228229401496703205376", + "521": "19316954363029548999871947393/1267650600228229401496703205376", + "522": "16886175861292832110759445655/1267650600228229401496703205376", + "523": "3615012392514444337161355435/316912650057057350374175801344", + "524": "12038557715820072556759192101/1267650600228229401496703205376", + "525": "9621682626735229657445885033/1267650600228229401496703205376", + "526": "901175841480596175664643281/158456325028528675187087900672", + "527": "2400856280154877413264946061/633825300114114700748351602688", + "528": "2398582740651589757065655499/1267650600228229401496703205376", + "6": "1419524320759474653194212865427/316912650057057350374175801344", + "7": "2741344040614642504793860160533/633825300114114700748351602688", + "8": "5313416931219497541822967855259/1267650600228229401496703205376", + "9": "161378412355405628441014735279/39614081257132168796771975168" + }, + "moment_upper": "20544779048987106073556728317263358789/20544779051332707747863228438542286848", + "rank_moment": "1409269/1409302", + "rounding_denominator": 1267650600228229401496703205376, + "saving": "15513/125000000", + "stopped_adapter": { + "atom_exponent": "1/1000", + "base_ordinary_saving": "384599/10000000000", + "coarse_toll_exponent": "999/1000", + "coarse_toll_subordinate_gap": "109487/125000000", + "effective_saving": "1240183559/10000000000000" + }, + "strict_gap": "2345601674306500121278928059/20544779051332707747863228438542286848" + }, + "complex": { + "child_width_multiplicities": [ + [ + 1, + 833199840 + ], + [ + 2, + 359154752 + ], + [ + 3, + 58331680 + ], + [ + 4, + 83672160 + ], + [ + 5, + 27020400 + ], + [ + 6, + 25830288 + ], + [ + 7, + 11293920 + ], + [ + 8, + 11544896 + ], + [ + 9, + 3440800 + ], + [ + 10, + 3566288 + ], + [ + 11, + 1651584 + ], + [ + 12, + 1926848 + ], + [ + 13, + 890560 + ], + [ + 14, + 1262976 + ], + [ + 15, + 5246208 + ], + [ + 16, + 1756832 + ], + [ + 17, + 7873360 + ], + [ + 18, + 1267024 + ], + [ + 19, + 6351312 + ], + [ + 20, + 3448896 + ], + [ + 21, + 761024 + ], + [ + 22, + 89056 + ], + [ + 23, + 8363168 + ], + [ + 529, + 8193152 + ], + [ + 552, + 113206368 + ], + [ + 554, + 955328 + ], + [ + 556, + 1020096 + ], + [ + 558, + 1190112 + ], + [ + 560, + 1040336 + ], + [ + 562, + 1513952 + ], + [ + 564, + 1643488 + ], + [ + 566, + 1971376 + ], + [ + 568, + 3080528 + ], + [ + 570, + 6084144 + ], + [ + 571, + 327888 + ], + [ + 572, + 3116960 + ], + [ + 573, + 283360 + ], + [ + 574, + 3440800 + ] + ], + "counts": { + "L": 2234496, + "N": 4096576, + "W": 147067888, + "child_multiplicities": { + "1": 833199840, + "10": 3566288, + "11": 1651584, + "12": 1926848, + "13": 890560, + "14": 1262976, + "15": 5246208, + "16": 1756832, + "17": 7873360, + "18": 1267024, + "19": 6351312, + "2": 359154752, + "20": 3448896, + "21": 761024, + "22": 89056, + "23": 8363168, + "3": 58331680, + "4": 83672160, + "5": 27020400, + "529": 8193152, + "552": 113206368, + "554": 955328, + "556": 1020096, + "558": 1190112, + "560": 1040336, + "562": 1513952, + "564": 1643488, + "566": 1971376, + "568": 3080528, + "570": 6084144, + "571": 327888, + "572": 3116960, + "573": 283360, + "574": 3440800, + "6": 25830288, + "7": 11293920, + "8": 11544896, + "9": 3440800 + }, + "deficit": 1862080, + "dimensions": [ + 24, + 24 + ], + "m": 576, + "maxchild": 574, + "total_rank": 84709241408 + }, + "enclosure": "1+u+u^2/(2(1-u/3))", + "exponent": "999907349/1000000000", + "logarithm_upper_bounds": { + "1": "794513457587/125000000000", + "10": "2026761283851/500000000000", + "11": "1979106193949/500000000000", + "12": "967800252727/250000000000", + "13": "758231660647/200000000000", + "14": "3717050331081/1000000000000", + "15": "1824028729797/500000000000", + "16": "3583518938457/1000000000000", + "17": "22018089479/6250000000", + "18": "8664339757/2500000000", + "19": "341166868153/100000000000", + "2": "707870060017/125000000000", + "20": "1680187693571/500000000000", + "21": "3311585222973/1000000000000", + "22": "1632532603669/500000000000", + "23": "3220613444767/1000000000000", + "3": "1314373843007/250000000000", + "4": "4969813299577/1000000000000", + "5": "2373334874131/500000000000", + "529": "42559614419/500000000000", + "552": "42559614419/1000000000000", + "554": "38942973949/1000000000000", + "556": "17669683223/500000000000", + "558": "6349739663/200000000000", + "560": "28170876967/1000000000000", + "562": "24605810803/1000000000000", + "564": "10526704599/500000000000", + "566": "17513582493/1000000000000", + "568": "559449679/40000000000", + "570": "2617824967/250000000000", + "571": "54490319/6250000000", + "572": "6968669317/1000000000000", + "573": "2610971991/500000000000", + "574": "3478264377/1000000000000", + "6": "1141087047867/250000000000", + "7": "4410197511641/1000000000000", + "8": "4276666119017/1000000000000", + "9": "25993019271/6250000000" + }, + "moment_upper": "167852999424579193110085147162796101621695801860657932921028840967718564616484376777533622371768327858716212431381399936949507668744427075781772453501389375388970529288217544576043544070485066218416365958005512359139178772294555554887050145321972954088464800940191088293493628905666184592500026954682893571106635489145647481925725696906352412976285153909594053952839617460176768577788371460787710937227669548867035099481495580506127373487685211183229963782059713838855529445696945827568747597538016916841717913884989512057631293759840753773918177694215894664311375682564957490987760426184621511131552323639393547848276767087339126429327785214101253300435408231914494351107935243268762962221644843656893505738852343618523644265415292102270499482997289703712865176910028378000849481988458177604980097541/167852999431527138668457861376200612707328488672519882138889232846747479926088857765945414575361982185609633426543097157912490128124910372999225579642156258283421237016089680301794258163909517608838521439800122744227600202644475417848450879443411364263972083620854461752803585992206375722588207612958331938749304200543152875805119794945451095437837541676814955673989171040600685943867630086954353447234398681746181800111132168899079225441657090373821768884273857085436195465138227878901247795252436006727813935800658126959810773997881702000283632464353818559774489796750339762225905607282924984001191963169994170327205763462351020551718167078118315983767319570891176632402601675415585523151673218915561491262533667533095664389192097063006529840051822018304057629587556989230316224000000000000000000000", + "saving": "92651/1000000000", + "strict_gap": "6947945558372714213404511085632686811861949217860391879028915309604480988411792203593654326893420995161697220962982459380483297217453126140766882894450707727872135725750714093424451390422155481794610385088421430349919862961400734121438410175507282680663373459309957086540191130088180658275438367642668711397505393879394098039098682461552387767220901721149553580423917366079258626166642510006729132879146700629636588392951851953971879190591805102214143246580666019441282051332500197714419089886096021915668614902179480238040948226365454770137923895463114114185382271238145181098303472869639639530600622478928996375011894122390381864017062683331911338976682281294666432146822560930028375258667985523681323914572020123776804960736030357054532314591192452677528611229466742011541822395019902459/167852999431527138668457861376200612707328488672519882138889232846747479926088857765945414575361982185609633426543097157912490128124910372999225579642156258283421237016089680301794258163909517608838521439800122744227600202644475417848450879443411364263972083620854461752803585992206375722588207612958331938749304200543152875805119794945451095437837541676814955673989171040600685943867630086954353447234398681746181800111132168899079225441657090373821768884273857085436195465138227878901247795252436006727813935800658126959810773997881702000283632464353818559774489796750339762225905607282924984001191963169994170327205763462351020551718167078118315983767319570891176632402601675415585523151673218915561491262533667533095664389192097063006529840051822018304057629587556989230316224000000000000000000000" + }, + "finite_bridge": { + "bit_coarse": { + "W": 108516254, + "halving_degree": 367, + "m": 529, + "maxchild": 528, + "wire_bits": 27 + }, + "complex": { + "W": 147067888, + "coefficient_bound": 28, + "coefficient_denominator_divides": 42, + "halving_degree": 200, + "local_group_upper": 99202668726680, + "m": 576, + "maxchild": 574, + "s": 84709241408, + "scalar_group_upper": 401572403009697216, + "wire_bits": 28 + }, + "ordinary_leaf_row_degree": 252, + "rows": { + "coefficient": 15761, + "contract": "W_complex^D_complex * W_coarse^D_coarse * W_old^D_old; one preceding prefix and one padding; sequential reuse", + "degree": 40000, + "degree_gap": "196189/25", + "suffix_slope": 160000 + }, + "semantic": { + "B": 4144494358077648199899551022812574000922568626809480832, + "C0": 316603394779621611419893923923079016464961761204405165715149703864163276249149334956086075455540666229511598112768, + "C1": 1, + "E": 4144494358077648199899551022812574000922568542100239424, + "exact_grid": "One common dyadic grid times the fixed odd divisor to K=G*(D_complex+1); no child rounding", + "fixed_odd_divisor": 21, + "induction_gap": 12433483074232944599698653068437722002767705880428442496, + "literal_charge": 17371189839801017404792510229752260, + "strict_literal_gap": 4144494358077648199882179832972772983517776031870487164 + } + }, + "kappa": "7237/78125000", + "predecessor_commit": "948ce1510df750f4c18b96bdaef436a86f8bf834", + "scope": "Exact moments, stopped bit saving and semantic assembly. Finite producer/frame checks are separate; common-basis, fixed-tape and analytic transfer remain written proof dependencies.", + "source_sha256": { + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "certificates/partial-gauge-bit-input.json": "367b9844db23f8fa64002637903bcc5ce28ffc8879d274b5c54c0390fb0234e4", + "certificates/partial-gauge-complex-input.json": "ce3c9e3e35a95d1926eee5cc83d020cb7130836e997074378609dbc74e4d9523", + "certificates/partial-gauge-input.json": "f1692977d2d3f59b02d89b4f08a1d56574168139536e5900dc8524b452a57b5e", + "certificates/stopped-product-network.json": "43ddb7ee033d316375102cf2d97bb2cf47f879f36a005d3726fa6647a2cbecc5", + "notes/partial-gauge-assembly.tex": "ef27afc3a70656d3139bf3661ac0b2088622f37221141cc386d41324b7c563d0", + "notes/partial-gauge-construction.tex": "2fcc68553131170c5082707970017f52c1de19a5123b0987f99fc381e543c028", + "notes/partial-gauge-frames.tex": "c27001764091825c99720b7d49e8520d3117fdbef24a8148b5221ddfe822c0b8", + "notes/partial-gauge-note.tex": "0740cc6702d165df899af097afeee6a9060689de808b62ed3e951dc6f2043a95", + "references/partial-gauge/pr62/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "references/partial-gauge/pr62/NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "references/partial-gauge/pr62/PROOF.md": "30685624bf922bb9d9f7ed4b0d367a660fe373cc9ee28fec33585bd8c7023e75", + "references/partial-gauge/pr62/SOURCE.json": "9946b96d382b26e9efc4d87e9b733186c089a4de74289b8f2fffbc9adb59e443", + "references/partial-gauge/pr97/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "references/partial-gauge/pr97/NOTICE": "1c53970fb4face631a1b331ec66d33111eccd280a129f9b64c2da6df96861c3f", + "references/partial-gauge/pr97/PROOF.md": "f2c95747d9a5858da43932d857be999e6166d4740f25e2c57f99ce05a8902352", + "references/partial-gauge/pr97/README.md": "6e1729758a88a1e01011054afcb6ea10770bf0a117e3d0b3d019222dbd3b5348", + "references/partial-gauge/pr97/SOURCE.json": "68fb539abcd6df21d142e4e204b6e9482eb7f9cd3907650f54bd058070266596", + "references/partial-gauge/pr97/bit-ledger-result.json": "c3dd79e5e6d72e49d8d1be2d4d9ad808cd7d24b7a725190d24100cbd3644394a", + "references/partial-gauge/pr97/check_frames.py": "1cb2b8cde2a8b3f12008da0d335dcdd38005cc692367423d9589aa1f4d6306e8", + "references/partial-gauge/pr97/check_lifted.py": "c3e87ad6b31f377df549421f53d22b99131d2228dcd08a1956913211383cbd6c", + "references/partial-gauge/pr97/deferred-readout.tex": "4e848f7f06c975045629da7cca9f79e10f255d08dc17a72629c9bed522565d52", + "references/partial-gauge/pr97/deferred.py": "9b2acaeb6f1beb2a53c15e00c027f9ba22397a12071ad0b71131e12012a98036", + "references/partial-gauge/pr97/deferred_23.json.gz": "8c38e947ff9e021e308000dd82bb5e2194eb265d8b75194e22ce783d3e75317c", + "references/partial-gauge/pr97/linalg.py": "56cc779911a3c5c901bc5194ccaf97f720157a2c4ba602b07ee8642af2676b8b", + "references/partial-gauge/pr97/round7_literal_frame_ledger.py": "02617ba608f971e3bdd2b45d4cbfc3d0d629873a0b9f7c22b12f347d099fdb59", + "references/partial-gauge/pr97/witness_23.json.gz": "b2486aa2bb222bacea6e52162a3920780e45dd8edc5d7cb03eabea336a1c6588", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2", + "scripts/paired_triple_circuit.py": "8f5f2de32fdbd8e0005154638660ff416e5a8cd59623bd0dc03f6f7f97ce2fb1", + "scripts/partial_gauge/README.md": "8725c7c0d3b2287904026caea8e94d62c2f66dbbd085e4fd6e5c10933ad9a72f", + "scripts/partial_gauge/__init__.py": "298aa57fbc2de1ff3f9fcfea0fcc02ee7f6758576c52879cb60e9b9c38d471ee", + "scripts/partial_gauge/binary.py": "b29e2f37d7f32a959a378190d7f1da3c2da534fbdaf878044800301957bffc03", + "scripts/partial_gauge/cube.py": "304b653ae6a30f08cee07b5285d48c3793559d63e623bb9bbe8383d8ce68aa24", + "scripts/partial_gauge/interval.py": "c7cf97aa327c92feedfcc098c77d51f3ba8075ccc6f94ecb064bb7a27e44df0a", + "scripts/partial_gauge/lift.py": "895874399113faa090d168d6168f0664136df6e21205671e7f7f9239cad93d1d", + "scripts/partial_gauge/match.cpp": "12b8b7c93bb78324e7328e624b166be2067ae8861540531c024040220d86f368", + "scripts/partial_gauge/scalar.py": "c9fb22e8643ab6d63f7f64ed8143bc5c469794a53e4914cf482e9ad7fcc10cc4", + "scripts/partial_gauge/select.py": "e23f6af42ee5e96d7b2eb29fccf15892f210253a45623255642a62ba93e20cf7", + "scripts/partial_gauge/verify.py": "d31683af845c1de75ac90c0a208b2d335806b6fb346f9960279204812f92bc63", + "scripts/partial_gauge/word.py": "96015b7b08a261673ab8be1ea47f89302f8a1d62a822d657a09f6a1fcfb51e58", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/partial_gauge_network.py": "76b09c4b8f9570766d94b77b265914e4662f8f782e5fa7b4749a1092972b0d68", + "scripts/partial_gauge_producer.py": "8d9284b02ed5915008bfe2e8186ef18f882306192ddd4873b7856341b061305f", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d" + }, + "status": "Conditional partial-gauge multiplication witness" +} diff --git a/certificates/stopped-product-bit-axis.json b/certificates/stopped-product-bit-axis.json new file mode 100644 index 0000000000..5824891de9 --- /dev/null +++ b/certificates/stopped-product-bit-axis.json @@ -0,0 +1,38 @@ +{ + "h": 23, + "v": 1771, + "c": 34764, + "q": 5336, + "baseline_R": 40100, + "matching": 1324, + "R": 38776, + "loss": 506, + "histogram": [ + 9840, + 38409, + 32471, + 8898, + 9754, + 2116, + 5737, + 1725, + 4145, + 1547, + 3128, + 1551, + 2893, + 1925, + 2841, + 2450, + 2327, + 3096, + 2344, + 3628, + 9435, + 2110, + 23, + 23 + ], + "label_source": "positive", + "description": "Retained-total aligned triple producer, base-two recursion, original maximum carrier matching, and compatible positive labels." +} diff --git a/certificates/stopped-product-complex-input.json b/certificates/stopped-product-complex-input.json new file mode 100644 index 0000000000..7b1d99c518 --- /dev/null +++ b/certificates/stopped-product-complex-input.json @@ -0,0 +1,41 @@ +{ + "h": 24, + "v": 2024, + "c": 45764, + "q": 8120, + "baseline_R": 53884, + "matched": 8966, + "R": 44918, + "orientation_changes": 7338, + "rank_sum": 1079136, + "loss": 552, + "histogram": [ + 8930, + 49042, + 30844, + 15972, + 11883, + 8272, + 6399, + 4356, + 6682, + 2263, + 5109, + 1808, + 5317, + 1733, + 5391, + 1757, + 4908, + 3290, + 6233, + 4363, + 4056, + 264, + 564, + 24, + 24 + ], + "central_disjoint": 24, + "center_denominator": 21 +} diff --git a/certificates/stopped-product-input.json b/certificates/stopped-product-input.json new file mode 100644 index 0000000000..f0a910a495 --- /dev/null +++ b/certificates/stopped-product-input.json @@ -0,0 +1,253 @@ +{ + "bit": { + "dimensions": [ + 23, + 23 + ], + "m": 529, + "N": 3136441, + "W": 143617474, + "L": 1792252, + "total_rank": 75972299557, + "deficit": 1344189, + "maxchild": 506, + "child_multiplicities": { + "1": 139262585, + "2": 115012282, + "3": 31516716, + "4": 34548668, + "5": 7494872, + "6": 20320454, + "7": 6109950, + "8": 14681590, + "9": 5479474, + "10": 11079376, + "11": 5493642, + "12": 10247006, + "13": 6818350, + "14": 10062822, + "15": 8677900, + "16": 8242234, + "17": 10966032, + "18": 8302448, + "19": 12850376, + "20": 33418770, + "21": 7473620, + "22": 12627230, + "484": 6272882, + "506": 137344592 + } + }, + "complex": { + "dimensions": [ + 24, + 24 + ], + "m": 576, + "N": 4096576, + "B1": 90914032, + "B2": 90914032, + "W": 190021216, + "L": 2234496, + "total_rank": 109450358336, + "deficit": 1862080, + "child_multiplicities": { + "552": 181828064, + "529": 8193152, + "1": 202715744, + "2": 124856512, + "3": 64654656, + "4": 48102384, + "5": 33485056, + "6": 25903152, + "7": 17633088, + "8": 27048736, + "9": 9160624, + "10": 20681232, + "11": 7318784, + "12": 21523216, + "13": 7015184, + "14": 21822768, + "15": 7112336, + "16": 19867584, + "17": 13317920, + "18": 25231184, + "19": 17661424, + "20": 16418688, + "21": 1068672, + "22": 2283072, + "23": 16483456 + }, + "maxchild": 552, + "copied_histogram": [ + 8930, + 49066, + 30844, + 15972, + 11883, + 8272, + 6399, + 4356, + 6682, + 2263, + 5109, + 1808, + 5317, + 1733, + 5391, + 1757, + 4908, + 3290, + 6233, + 4363, + 4056, + 264, + 564, + 24, + 0 + ] + }, + "bit_moment_gap": "5833629405069796335513229037/13595148940731587639987765177686687744", + "complex_moment_gap": "5499421901694541095908997425024101371546537414283732387206104389099738183215366564793192567257041780652609318673168302647523216560182242981533611801155442603608986943408777543208667066118724847925169249370145237707441178592436788856344246441565482324551821454604550454953780270300756671351666361036963486701477553679079126088067165335949185500960812006586245961913848693714754073033035419679174118868763905107326417918471742975833959733450001524553321932789312500612407132407690299/41230077325513267360846956938521502341474073689326505257121676970478810391277326276471865083362032190646188250982499628351612283105589897175543987487125650452330304348151388045812369968133964037865011250349179368669257862504666828211703334554008512518414563221340357395437053315115874615168412042904680012697363239611038021437069048505672439008745508864584512067644825937731293242352557278635159598633861792145775836588122497044363982384099548431927704944786606529202786560000000000000000000", + "finite_bridge": { + "bit_coarse": { + "m": 529, + "W": 143617474, + "maxchild": 506, + "halving_degree": 16, + "wire_bits": 28 + }, + "ordinary_leaf_row_degree": 252, + "complex": { + "m": 576, + "W": 190021216, + "s": 109450358336, + "maxchild": 552, + "halving_degree": 17, + "wire_bits": 28, + "scalar_terms": [ + { + "h": 24, + "v": 2024, + "c": 45764, + "invocations": 2024, + "local_group_upper": 408200, + "copied_center_extra_groups": 48 + }, + { + "h": 24, + "v": 2024, + "c": 45764, + "invocations": 2024, + "local_group_upper": 408200, + "copied_center_extra_groups": 48 + } + ], + "scalar_group_upper": 1656684480 + }, + "semantic": { + "E": 403063477262941121443761178688, + "literal_charge": 119639333593035096270287748, + "strict_literal_gap": 402943837929348086347490890940, + "B": 403063477262941121553211537024, + "C0": 2994465792675104952757349965746759652008778122322142627817848832, + "C1": 1, + "induction_gap": 18943983431358232713000942240128, + "fixed_odd_divisor": 21, + "exact_grid": "One common dyadic grid times the fixed odd divisor to K=G*(D_complex+1); no child rounding" + }, + "rows": { + "coefficient": 1176, + "degree": 4000, + "suffix_slope": 16000, + "degree_gap": "40024/25", + "contract": "W_complex^D_complex * W_coarse^D_coarse * W_old^D_old; one preceding prefix and one padding; sequential reuse" + } + }, + "assembly": { + "parameters": { + "actual_bit_saving": "803380799/10000000000000", + "a_bit": "1948995551/25000000000000", + "a_complex": "1949/25000000", + "tau": "24998051004449/25000000000000", + "sigma": "24998051/25000000", + "eta": "1/100000000", + "beta": "1/1000000", + "q": "97449775601004449/1250000000000000000000", + "c": "9744977657550220501004449/125000000000000000000000000000", + "epsilon": "124999998750000000000000000000/125019489955217650665401004449", + "lambda_": "2499805100446848995551/2500000000000000000000", + "lambda_prime": "1249902550224398995551/1250000000000000000000", + "alpha_squared_power": "14618091340150667350000000/125019489955217650665401004449", + "delta": "1/800000000", + "C0": 2994465792675104952757349965746759652008778122322142627817848832, + "C1": 1, + "kappa": "194869/2500000000" + }, + "strict_constraints": { + "bit_positive": "1948995551/25000000000000", + "complex_above_bit": "4449/25000000000000", + "complex_below_one_over32": "779301/25000000", + "beta_positive": "1/1000000", + "beta_below_one": "999999/1000000", + "leaf_saving_above_bit": "1/10000000000", + "q_positive": "97449775601004449/1250000000000000000000", + "q_below_internal": "1948995551/1250000000000000000000", + "q_below_leaf": "126948995551/1250000000000000000000", + "c_positive": "9744977657550220501004449/125000000000000000000000000000", + "c_below_one": "124990255022342449779498995551/125000000000000000000000000000", + "q_below_reservations": "97449775601004449/125000000000000000000000000000", + "lambda_above_tau": "1948995551/2500000000000000000000", + "lambda_above_sigma": "446848995551/2500000000000000000000", + "lambda_above_internal": "1948995551/2500000000000000000000", + "lambda_prime_above_lambda": "1948995551/2500000000000000000000", + "compact_leaf": "126948995551/1250000000000000000000", + "compact_reservations": "97449775601004449/125000000000000000000000000000", + "lambda_prime_below_one": "97449775601004449/1250000000000000000000", + "epsilon_positive": "124999998750000000000000000000/125019489955217650665401004449", + "epsilon_below_one": "19491205217650665401004449/125019489955217650665401004449", + "guard_width": "19491205217650665401004449/125019489955217650665401004449", + "K_geometry": "974622765755022147550220501004449/12501948995521765066540100444900000000", + "K_dominates_log": "974497756010044392550224398995551/12501948995521765066540100444900000000", + "record_suffix": "19491205217650665401004449/125019489955217650665401004449", + "phase_local": "15592839154630577103152893798995551/100015591964174120532320803559200000000", + "phase_boundary": "11694348052630578662349334598995551/100015591964174120532320803559200000000", + "gamma_sublinear": "4873113877499998051004449/125019489955217650665401004449", + "cell_above_band": "124995125636122500001948995551/250038979910435301330802008898", + "prime_interval_packing": "19491205217650665401004449/125019489955217650665401004449", + "alpha_positive": "14618091340150667350000000/125019489955217650665401004449", + "alpha_below_one": "125004871863877499998051004449/125019489955217650665401004449", + "alpha_below_one_fourth": "124961017589857047996001004449/500077959820870602661604017796", + "delta_positive": "1/800000000", + "delta_below_one_eighth": "99999999/800000000", + "short_record_fallback": "3124756306320288991609616461252697967793601/3125487248880441266635025111225000000000000", + "small_field_exposure": "9746227754999996102008898/125019489955217650665401004449", + "artificial_boundary": "700128635079475474301789581367398995551/100015591964174120532320803559200000000", + "literal_scalar_guard": "402943837929348086347490890940", + "row_product_gap": "40024/25", + "original_prefix_above_kappa": "786538948061330309871047284761/78137181222011031665875627780625000000", + "coordinate_movement_above_kappa": "305551/25000000000000", + "compact_phase_layer_above_kappa": "20668543364879972849164027819/312548724888044126663502511122500000000", + "bulk_exposure_above_kappa": "305551/25000000000000", + "Gaussian_arithmetic_above_kappa": "97459317411097999618605138287111327/2500389799104353013308020088980000000000", + "scalar_work_above_kappa": "194921594961097960638694118287111327/2500389799104353013308020088980000000000", + "dimension_above_kappa": "312475634452011916691632483971664027819/312548724888044126663502511122500000000" + }, + "margins": { + "original_prefix": "974622765755022147550220501004449/12501948995521765066540100444900000000", + "coordinate_movement": "1948995551/25000000000000", + "compact_phase_layer": "9744977462650669298995551/125019489955217650665401004449", + "bulk_exposure": "1948995551/25000000000000", + "Gaussian_arithmetic": "11694348052630578662349334598995551/100015591964174120532320803559200000000", + "scalar_work": "15592839154630577103152893798995551/100015591964174120532320803559200000000", + "dimension": "124999998750000000000000000000/125019489955217650665401004449" + }, + "minimum_margin": "9744977462650669298995551/125019489955217650665401004449", + "absorption_gap": "20668543364879972849164027819/312548724888044126663502511122500000000", + "recurrence": { + "internal": "24998051004449/25000000000000", + "leaf": "24998051001949/25000000000000", + "reservations": "124990255022342449779498995551/125000000000000000000000000000" + } + } +} diff --git a/certificates/stopped-product-network.json b/certificates/stopped-product-network.json new file mode 100644 index 0000000000..998a8a7ea2 --- /dev/null +++ b/certificates/stopped-product-network.json @@ -0,0 +1,482 @@ +{ + "assembly": { + "absorption_gap": "20668543364879972849164027819/312548724888044126663502511122500000000", + "margins": { + "Gaussian_arithmetic": "11694348052630578662349334598995551/100015591964174120532320803559200000000", + "bulk_exposure": "1948995551/25000000000000", + "compact_phase_layer": "9744977462650669298995551/125019489955217650665401004449", + "coordinate_movement": "1948995551/25000000000000", + "dimension": "124999998750000000000000000000/125019489955217650665401004449", + "original_prefix": "974622765755022147550220501004449/12501948995521765066540100444900000000", + "scalar_work": "15592839154630577103152893798995551/100015591964174120532320803559200000000" + }, + "minimum_margin": "9744977462650669298995551/125019489955217650665401004449", + "parameters": { + "C0": 2994465792675104952757349965746759652008778122322142627817848832, + "C1": 1, + "a_bit": "1948995551/25000000000000", + "a_complex": "1949/25000000", + "actual_bit_saving": "803380799/10000000000000", + "alpha_squared_power": "14618091340150667350000000/125019489955217650665401004449", + "beta": "1/1000000", + "c": "9744977657550220501004449/125000000000000000000000000000", + "delta": "1/800000000", + "epsilon": "124999998750000000000000000000/125019489955217650665401004449", + "eta": "1/100000000", + "kappa": "194869/2500000000", + "lambda_": "2499805100446848995551/2500000000000000000000", + "lambda_prime": "1249902550224398995551/1250000000000000000000", + "q": "97449775601004449/1250000000000000000000", + "sigma": "24998051/25000000", + "tau": "24998051004449/25000000000000" + }, + "recurrence": { + "internal": "24998051004449/25000000000000", + "leaf": "24998051001949/25000000000000", + "reservations": "124990255022342449779498995551/125000000000000000000000000000" + }, + "strict_constraints": { + "Gaussian_arithmetic_above_kappa": "97459317411097999618605138287111327/2500389799104353013308020088980000000000", + "K_dominates_log": "974497756010044392550224398995551/12501948995521765066540100444900000000", + "K_geometry": "974622765755022147550220501004449/12501948995521765066540100444900000000", + "alpha_below_one": "125004871863877499998051004449/125019489955217650665401004449", + "alpha_below_one_fourth": "124961017589857047996001004449/500077959820870602661604017796", + "alpha_positive": "14618091340150667350000000/125019489955217650665401004449", + "artificial_boundary": "700128635079475474301789581367398995551/100015591964174120532320803559200000000", + "beta_below_one": "999999/1000000", + "beta_positive": "1/1000000", + "bit_positive": "1948995551/25000000000000", + "bulk_exposure_above_kappa": "305551/25000000000000", + "c_below_one": "124990255022342449779498995551/125000000000000000000000000000", + "c_positive": "9744977657550220501004449/125000000000000000000000000000", + "cell_above_band": "124995125636122500001948995551/250038979910435301330802008898", + "compact_leaf": "126948995551/1250000000000000000000", + "compact_phase_layer_above_kappa": "20668543364879972849164027819/312548724888044126663502511122500000000", + "compact_reservations": "97449775601004449/125000000000000000000000000000", + "complex_above_bit": "4449/25000000000000", + "complex_below_one_over32": "779301/25000000", + "coordinate_movement_above_kappa": "305551/25000000000000", + "delta_below_one_eighth": "99999999/800000000", + "delta_positive": "1/800000000", + "dimension_above_kappa": "312475634452011916691632483971664027819/312548724888044126663502511122500000000", + "epsilon_below_one": "19491205217650665401004449/125019489955217650665401004449", + "epsilon_positive": "124999998750000000000000000000/125019489955217650665401004449", + "gamma_sublinear": "4873113877499998051004449/125019489955217650665401004449", + "guard_width": "19491205217650665401004449/125019489955217650665401004449", + "lambda_above_internal": "1948995551/2500000000000000000000", + "lambda_above_sigma": "446848995551/2500000000000000000000", + "lambda_above_tau": "1948995551/2500000000000000000000", + "lambda_prime_above_lambda": "1948995551/2500000000000000000000", + "lambda_prime_below_one": "97449775601004449/1250000000000000000000", + "leaf_saving_above_bit": "1/10000000000", + "literal_scalar_guard": "402943837929348086347490890940", + "original_prefix_above_kappa": "786538948061330309871047284761/78137181222011031665875627780625000000", + "phase_boundary": "11694348052630578662349334598995551/100015591964174120532320803559200000000", + "phase_local": "15592839154630577103152893798995551/100015591964174120532320803559200000000", + "prime_interval_packing": "19491205217650665401004449/125019489955217650665401004449", + "q_below_internal": "1948995551/1250000000000000000000", + "q_below_leaf": "126948995551/1250000000000000000000", + "q_below_reservations": "97449775601004449/125000000000000000000000000000", + "q_positive": "97449775601004449/1250000000000000000000", + "record_suffix": "19491205217650665401004449/125019489955217650665401004449", + "row_product_gap": "40024/25", + "scalar_work_above_kappa": "194921594961097960638694118287111327/2500389799104353013308020088980000000000", + "short_record_fallback": "3124756306320288991609616461252697967793601/3125487248880441266635025111225000000000000", + "small_field_exposure": "9746227754999996102008898/125019489955217650665401004449" + } + }, + "base_commit": "56b66d58297deca1d7dd130247d720e960f77a37", + "bit": { + "counts": { + "B1": 68672296, + "B2": 68672296, + "L": 1792252, + "N": 3136441, + "W": 143617474, + "child_multiplicities": { + "1": 139262585, + "10": 11079376, + "11": 5493642, + "12": 10247006, + "13": 6818350, + "14": 10062822, + "15": 8677900, + "16": 8242234, + "17": 10966032, + "18": 8302448, + "19": 12850376, + "2": 115012282, + "20": 33418770, + "21": 7473620, + "22": 12627230, + "3": 31516716, + "4": 34548668, + "484": 6272882, + "5": 7494872, + "506": 137344592, + "6": 20320454, + "7": 6109950, + "8": 14681590, + "9": 5479474 + }, + "copied_histogram": [ + 9840, + 38432, + 32471, + 8898, + 9754, + 2116, + 5737, + 1725, + 4145, + 1547, + 3128, + 1551, + 2893, + 1925, + 2841, + 2450, + 2327, + 3096, + 2344, + 3628, + 9435, + 2110, + 23, + 0 + ], + "deficit": 1344189, + "dimensions": [ + 23, + 23 + ], + "m": 529, + "maxchild": 506, + "total_rank": 75972299557 + }, + "exponent": "49995981/50000000", + "logarithm_upper_bounds": { + "1": "1987355562417364065669439618237/316912650057057350374175801344", + "10": "2515274437229490418617839725263/633825300114114700748351602688", + "11": "4909728867822167960512763283247/1267650600228229401496703205376", + "12": "2399714421777289519579293961239/633825300114114700748351602688", + "13": "4697962657128327885574713503543/1267650600228229401496703205376", + "14": "1151004910436491358992364195459/316912650057057350374175801344", + "15": "2258280393397031167285649759463/633825300114114700748351602688", + "16": "2217374245868088984102352158015/633825300114114700748351602688", + "17": "4357897653501964928993364503311/1267650600228229401496703205376", + "18": "4285440755889660536494207989699/1267650600228229401496703205376", + "19": "1054225602598430741931079593279/316912650057057350374175801344", + "2": "3535376905093068344529747466859/633825300114114700748351602688", + "20": "4151880434975661263617415911297/1267650600228229401496703205376", + "21": "4090031554081046933305076849055/1267650600228229401496703205376", + "22": "4031060428338848386894499744017/1267650600228229401496703205376", + "3": "6556765722521218186395115000937/1267650600228229401496703205376", + "4": "6192085370702817115441231394489/1267650600228229401496703205376", + "484": "28174651752060127777810254067/316912650057057350374175801344", + "5": "1477304328485575102713485747439/316912650057057350374175801344", + "506": "28174651752060127777810254067/633825300114114700748351602688", + "6": "1419524320759474653194212865427/316912650057057350374175801344", + "7": "2741344040614642504793860160533/633825300114114700748351602688", + "8": "5313416931219497541822967855259/1267650600228229401496703205376", + "9": "161378412355405628441014735279/39614081257132168796771975168" + }, + "moment_upper": "13595148934897958234917968842173458707/13595148940731587639987765177686687744", + "rank_moment": "1865129/1865162", + "rounding_denominator": 1267650600228229401496703205376, + "saving": "4019/50000000", + "stopped_adapter": { + "atom_exponent": "1/1000", + "base_ordinary_saving": "384599/10000000000", + "coarse_toll_exponent": "999/1000", + "coarse_toll_subordinate_gap": "45981/50000000", + "effective_saving": "803380799/10000000000000" + }, + "strict_gap": "5833629405069796335513229037/13595148940731587639987765177686687744" + }, + "complex": { + "child_width_multiplicities": [ + [ + 1, + 202715744 + ], + [ + 2, + 124856512 + ], + [ + 3, + 64654656 + ], + [ + 4, + 48102384 + ], + [ + 5, + 33485056 + ], + [ + 6, + 25903152 + ], + [ + 7, + 17633088 + ], + [ + 8, + 27048736 + ], + [ + 9, + 9160624 + ], + [ + 10, + 20681232 + ], + [ + 11, + 7318784 + ], + [ + 12, + 21523216 + ], + [ + 13, + 7015184 + ], + [ + 14, + 21822768 + ], + [ + 15, + 7112336 + ], + [ + 16, + 19867584 + ], + [ + 17, + 13317920 + ], + [ + 18, + 25231184 + ], + [ + 19, + 17661424 + ], + [ + 20, + 16418688 + ], + [ + 21, + 1068672 + ], + [ + 22, + 2283072 + ], + [ + 23, + 16483456 + ], + [ + 529, + 8193152 + ], + [ + 552, + 181828064 + ] + ], + "counts": { + "B1": 90914032, + "B2": 90914032, + "L": 2234496, + "N": 4096576, + "W": 190021216, + "child_multiplicities": { + "1": 202715744, + "10": 20681232, + "11": 7318784, + "12": 21523216, + "13": 7015184, + "14": 21822768, + "15": 7112336, + "16": 19867584, + "17": 13317920, + "18": 25231184, + "19": 17661424, + "2": 124856512, + "20": 16418688, + "21": 1068672, + "22": 2283072, + "23": 16483456, + "3": 64654656, + "4": 48102384, + "5": 33485056, + "529": 8193152, + "552": 181828064, + "6": 25903152, + "7": 17633088, + "8": 27048736, + "9": 9160624 + }, + "copied_histogram": [ + 8930, + 49066, + 30844, + 15972, + 11883, + 8272, + 6399, + 4356, + 6682, + 2263, + 5109, + 1808, + 5317, + 1733, + 5391, + 1757, + 4908, + 3290, + 6233, + 4363, + 4056, + 264, + 564, + 24, + 0 + ], + "deficit": 1862080, + "dimensions": [ + 24, + 24 + ], + "m": 576, + "maxchild": 552, + "total_rank": 109450358336 + }, + "enclosure": "1+u+u^2/(2(1-u/3))", + "exponent": "24998051/25000000", + "logarithm_upper_bounds": { + "1": "794513457587/125000000000", + "10": "2026761283851/500000000000", + "11": "1979106193949/500000000000", + "12": "967800252727/250000000000", + "13": "758231660647/200000000000", + "14": "3717050331081/1000000000000", + "15": "1824028729797/500000000000", + "16": "3583518938457/1000000000000", + "17": "22018089479/6250000000", + "18": "8664339757/2500000000", + "19": "341166868153/100000000000", + "2": "707870060017/125000000000", + "20": "1680187693571/500000000000", + "21": "3311585222973/1000000000000", + "22": "1632532603669/500000000000", + "23": "3220613444767/1000000000000", + "3": "1314373843007/250000000000", + "4": "4969813299577/1000000000000", + "5": "2373334874131/500000000000", + "529": "42559614419/500000000000", + "552": "42559614419/1000000000000", + "6": "1141087047867/250000000000", + "7": "4410197511641/1000000000000", + "8": "4276666119017/1000000000000", + "9": "25993019271/6250000000" + }, + "moment_upper": "41230077320013845459152415842612504916449972317779967842837944583272706002177588093256498518568839623389146470329890309678443980458066680615361744505592038651174861744542401102403592424925296971746286402424010119299112624797225649619266545697664266076849080896788535940832502860162094344867655371553013651660399752909560467757989922417605273672796323363623700061058579975817444548637803205602124178954687673277011931480796079125892239408265588698477703420233284596413474059387592867592309701/41230077325513267360846956938521502341474073689326505257121676970478810391277326276471865083362032190646188250982499628351612283105589897175543987487125650452330304348151388045812369968133964037865011250349179368669257862504666828211703334554008512518414563221340357395437053315115874615168412042904680012697363239611038021437069048505672439008745508864584512067644825937731293242352557278635159598633861792145775836588122497044363982384099548431927704944786606529202786560000000000000000000", + "saving": "1949/25000000", + "strict_gap": "5499421901694541095908997425024101371546537414283732387206104389099738183215366564793192567257041780652609318673168302647523216560182242981533611801155442603608986943408777543208667066118724847925169249370145237707441178592436788856344246441565482324551821454604550454953780270300756671351666361036963486701477553679079126088067165335949185500960812006586245961913848693714754073033035419679174118868763905107326417918471742975833959733450001524553321932789312500612407132407690299/41230077325513267360846956938521502341474073689326505257121676970478810391277326276471865083362032190646188250982499628351612283105589897175543987487125650452330304348151388045812369968133964037865011250349179368669257862504666828211703334554008512518414563221340357395437053315115874615168412042904680012697363239611038021437069048505672439008745508864584512067644825937731293242352557278635159598633861792145775836588122497044363982384099548431927704944786606529202786560000000000000000000" + }, + "finite_bridge": { + "bit_coarse": { + "W": 143617474, + "halving_degree": 16, + "m": 529, + "maxchild": 506, + "wire_bits": 28 + }, + "complex": { + "W": 190021216, + "halving_degree": 17, + "m": 576, + "maxchild": 552, + "s": 109450358336, + "scalar_group_upper": 1656684480, + "scalar_terms": [ + { + "c": 45764, + "copied_center_extra_groups": 48, + "h": 24, + "invocations": 2024, + "local_group_upper": 408200, + "v": 2024 + }, + { + "c": 45764, + "copied_center_extra_groups": 48, + "h": 24, + "invocations": 2024, + "local_group_upper": 408200, + "v": 2024 + } + ], + "wire_bits": 28 + }, + "ordinary_leaf_row_degree": 252, + "rows": { + "coefficient": 1176, + "contract": "W_complex^D_complex * W_coarse^D_coarse * W_old^D_old; one preceding prefix and one padding; sequential reuse", + "degree": 4000, + "degree_gap": "40024/25", + "suffix_slope": 16000 + }, + "semantic": { + "B": 403063477262941121553211537024, + "C0": 2994465792675104952757349965746759652008778122322142627817848832, + "C1": 1, + "E": 403063477262941121443761178688, + "exact_grid": "One common dyadic grid times the fixed odd divisor to K=G*(D_complex+1); no child rounding", + "fixed_odd_divisor": 21, + "induction_gap": 18943983431358232713000942240128, + "literal_charge": 119639333593035096270287748, + "strict_literal_gap": 402943837929348086347490890940 + } + }, + "kappa": "194869/2500000000", + "proof_predecessor_commit": "11817ccacb564bb7f98789c20dc11d3fece207e3", + "scope": "Exact finite moments, stopped savings and assembly; the new complex producer is checked separately. Opposite-bank factorization, atom streaming, ordinary conversion, common exact grid and retained analytic/tape interfaces are written proof dependencies.", + "source_sha256": { + "certificates/copied-centers-bit-axes.json": "ed307cef595091b11ba8f8e6ff11302ad8db190227a2fbf34c232fd680206254", + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "certificates/stopped-product-bit-axis.json": "52f493a0019b7e4ce69a4c26bd3d35af5d3397461126abc4be44d1430ae8930d", + "certificates/stopped-product-complex-input.json": "5bcf00402bbfb768bd2fc0935f32ad329ee0780a3dfe5827bb010831d7909c4d", + "certificates/stopped-product-input.json": "8185c7bf8c307728f32484c5972af9a1b948ac5d0838e02f85c86cb438060417", + "notes/stopped-product-assembly.tex": "1c3c7147851f30f1ff97679cfcda157b1cbe2655b8766e34f1345f20c630eaec", + "notes/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "notes/stopped-product-factorization.tex": "70d5a4405e1be9c7b6cfb326bb4ffdf88e5585d1fb3d16c7bb5ad62ac421fae3", + "notes/stopped-product-interface.tex": "454a8f3924afc26e575b2a8cec6d0860397cb7f2dc431f3ba63fb8a7142cc96b", + "notes/stopped-product-note.tex": "486d14c599f4c2551c019f3358898f72e6ecafeb04ad590726ea69ed987fe025", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/stopped_product/README.md": "6c1805dda45b01ed0ef420c674ec2cd0048fb9d7a1b015ab6cd837067fe66176", + "scripts/stopped_product/__init__.py": "7b794c22bccc00bb6ae8ba4d3379f469570565bbcb1a86090699133b8cf1b7d3", + "scripts/stopped_product/complex.py": "407650d56dceb5cb09d74928658cebed1bb42f4d7e28ca9e3fd36eea075f1ad0", + "scripts/stopped_product_network.py": "a8baaa87dd7679db4f2dd1a18a720397ee6f443262ad04fa26cf51b39909b74c", + "scripts/stopped_product_producer.py": "2c5c71399136ebcfebb8e5277317d5f334eb8df5716ad287391d0996fcc1492c", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d" + }, + "status": "Conditional stopped product-ring multiplication witness" +} diff --git a/certificates/three-stage-cover-bit-input.json b/certificates/three-stage-cover-bit-input.json new file mode 100644 index 0000000000..1956ae0e06 --- /dev/null +++ b/certificates/three-stage-cover-bit-input.json @@ -0,0 +1,84 @@ +{ + "R": 28866, + "center_loss": 506, + "description": "Unchanged exact physical local ranks from the previously adopted PR97 bit producer; the new construction changes ambient geometry, finite cover, and recursive weighted routing only.", + "exit_nullity_histogram": { + "1": 1760, + "10": 96, + "11": 335, + "12": 28, + "13": 116, + "14": 36, + "15": 319, + "16": 5, + "17": 91, + "18": 4, + "19": 164, + "2": 1596, + "20": 83, + "21": 49, + "22": 154, + "23": 17301, + "3": 1307, + "4": 3871, + "5": 806, + "6": 177, + "7": 447, + "8": 30, + "9": 91 + }, + "h": 23, + "local_rank_histograms": { + "aux": { + "1": 55349, + "10": 162, + "11": 299, + "12": 208, + "13": 202, + "14": 38, + "15": 649, + "16": 208, + "17": 1309, + "18": 599, + "19": 533, + "2": 64873, + "20": 2310, + "21": 413, + "3": 13926, + "4": 11248, + "5": 6151, + "6": 1617, + "7": 883, + "8": 1243, + "9": 458 + }, + "center": { + "22": 23 + }, + "data": { + "1": 11386, + "10": 86, + "11": 93, + "12": 97, + "13": 65, + "14": 26, + "15": 43, + "16": 218, + "17": 38, + "18": 8, + "19": 1547, + "2": 2402, + "21": 1, + "22": 2, + "3": 1144, + "4": 2013, + "5": 521, + "6": 475, + "7": 276, + "8": 382, + "9": 130 + } + }, + "source": "PR97 e15350b66e4bf796153a68c240a6cc1b788abe3e; matched to source-bound physical paths by partial_gauge_bit.reconstruct.", + "v": 1771 +} diff --git a/certificates/three-stage-cover-complex-input.json b/certificates/three-stage-cover-complex-input.json new file mode 100644 index 0000000000..d1b89bcb71 --- /dev/null +++ b/certificates/three-stage-cover-complex-input.json @@ -0,0 +1,115 @@ +{ + "h": 24, + "v": 2024, + "R": 28705, + "q": 8120, + "c": 91770, + "matched": 71185, + "loss": 552, + "selected_roles": 4599, + "selected_rank_histogram": { + "22": 120, + "21": 359, + "20": 794, + "19": 174, + "18": 381, + "17": 147, + "16": 409, + "15": 57, + "14": 157, + "12": 218, + "13": 57, + "11": 131, + "10": 190, + "7": 100, + "8": 187, + "9": 113, + "5": 126, + "6": 137, + "4": 126, + "3": 181, + "2": 184, + "1": 251 + }, + "remaining_internal_histogram": [ + 26680, + 69592, + 67235, + 29094, + 30564, + 11421, + 4563, + 2083, + 2592, + 1678, + 937, + 710, + 794, + 435, + 479, + 172, + 281, + 197, + 755, + 540, + 85, + 0, + 183, + 24, + 0 + ], + "source_data_histogram": { + "23": 2024 + }, + "target_data_histogram": { + "1": 1907, + "3": 1772, + "18": 23, + "4": 1500, + "15": 36, + "13": 70, + "2": 3107, + "11": 148, + "6": 695, + "5": 876, + "12": 168, + "19": 20, + "14": 81, + "9": 235, + "7": 426, + "10": 202, + "23": 14, + "8": 269, + "17": 14, + "16": 79, + "22": 4, + "21": 2, + "20": 16 + }, + "copied_centers_already": true, + "phase1_operations": 30251, + "total_M_operations": 118451, + "untouched_non_source_roles": 6401, + "selection": "Full unrestricted intersections and source gauges; descending first-frame rank, then reached-target count, then role index; general_clifford_subspace_frames.txt proves all required ranks", + "partial_first_transition_histogram": { + "0": 1425, + "1": 572, + "2": 536, + "3": 176, + "4": 274, + "6": 214, + "5": 205, + "7": 150, + "9": 244, + "8": 170, + "11": 185, + "10": 178, + "12": 157, + "13": 109, + "14": 4 + }, + "distinct_caps": 1792, + "repaired_caps": 0, + "scalar_readout": "Exact rational C=J M; Boolean support is a safe superset only", + "chronological_contract": "Nondeferred reads at0; source V; center-closed M phase1; copied centers at0; selected partial-gauge reads in reverse selection order; remaining M; side scatter; inverse M/V atfull F" +} \ No newline at end of file diff --git a/certificates/three-stage-cover-input.json b/certificates/three-stage-cover-input.json new file mode 100644 index 0000000000..4277c8ee2c --- /dev/null +++ b/certificates/three-stage-cover-input.json @@ -0,0 +1,105 @@ +{ + "absorption_gap": "427438661618132345110228739011/125078699795119603047628520369990000000000", + "assembly_minimum": "3934989696955306336847963001/12507869979511960304762852036999", + "bit_child_multiplicities": { + "1": 200205, + "10": 744, + "11": 1176, + "12": 915, + "13": 801, + "14": 192, + "15": 2076, + "16": 1278, + "17": 4041, + "18": 1821, + "19": 6240, + "2": 201825, + "20": 6930, + "21": 1242, + "22": 75, + "3": 45210, + "4": 39783, + "44": 51903, + "45": 462, + "46": 147, + "47": 249, + "48": 492, + "49": 12, + "5": 20016, + "50": 273, + "51": 15, + "52": 957, + "53": 108, + "54": 348, + "55": 84, + "56": 1005, + "57": 288, + "58": 273, + "59": 90, + "6": 6276, + "60": 1341, + "61": 531, + "62": 2418, + "63": 11613, + "64": 3921, + "65": 4788, + "66": 5280, + "7": 3477, + "8": 4875, + "9": 1764 + }, + "bit_moment_gap": "9940153528978648563021016615239768808198774866649/15679126900749033641597254460382631690240000000000000000", + "complex_child_multiplicities": { + "1": 214497, + "10": 3417, + "11": 2574, + "12": 2886, + "13": 1515, + "14": 1680, + "15": 624, + "16": 1080, + "17": 633, + "18": 2334, + "19": 1680, + "2": 211026, + "20": 303, + "21": 6, + "22": 561, + "23": 6186, + "3": 92598, + "4": 96192, + "46": 72318, + "47": 753, + "48": 552, + "49": 543, + "5": 36891, + "50": 378, + "51": 378, + "52": 411, + "53": 300, + "54": 561, + "55": 339, + "56": 570, + "57": 393, + "58": 654, + "59": 171, + "6": 15774, + "60": 471, + "61": 171, + "62": 1227, + "63": 441, + "64": 1143, + "65": 522, + "66": 2382, + "67": 1077, + "68": 360, + "7": 7527, + "8": 8583, + "9": 5739 + }, + "complex_group_order": 6689091708829555045758824829998182442380949567092062603242444969909078551334138157882363702009196947404919488369449744746991926866237084072342349052621959272314109341860982597079245951051060915136612492730495464103716652777049004952774932308881916158490684984763171132527532852346752575317647723807415492585356459791712931903073469266911277499226776278127225601421860692008492054366318924455033501842970829052238301059912292523870500029776308231873343329850749563566739947724729692531852159045336304497880188189155544256335559916592125266647930688623519281982850918244666405377532274750402883540845161453986633761588402168669904233211290018920284019914861652664495645151328501875434571709289695239534437990400000000000000000000, + "complex_moment_gap": "59660505965587856912406691094331138186546269153644104866458597552665571068577116382634727949704110939016528739306556665498819711235700737563102396203975205221339133504724694432491851145335328474764447111340057237370263560869716809394705046078151888885896465104252464291177722544058434227599509153650009184180706030887062493946461013321850105545236094560014790613346572797863224674797577418235580531379991780630697040554957397988009682182045601295362730851922874373402414598770202370029517008428953007230108852814349067642665708147118783306275789878773811811445256495511373788061555564732214081272243700795208443535449470081033281653673439322265496376162021685578206559390236098486450856162033470234056213985410270945906907471137066433711096177567495215981265605045461916455727272303712611652753551670063284645382934158696277492599602169286405620938102814288075749650451212554459344538961569338671639261965819931295434033557288521941097120781270873/258864312882296500031055289607308876918948194191739080393665208773437327950361705506204269262727624369607191381066070736950721387722343455305319397218060826215806055566676458467985854943815840460405474061110154037491708121904679791617548836252416330123113259519318454367469789088759143697885963048633822970601575393057295335974413285977207878402333467407939617985467006958820688402850530703846606121734476356557987835722081138227469842662438908972992927393171772790668096312894309081073575846448722623251554492048017857602287936132027784462360677641358992824901206117953947391105954258456029157280133485124255285284951748169636791141814335580522461373398332705279009190357387940809475590086743023351702184232232736981858998991300824787343216349598086601789879924718839538480440090437137911672142043373939595769029469714536428078367503524111596722215987131151839686520104495974436734700813521784031923667417309936799035132679343460868275000000000000000000000", + "kappa": "3146011/10000000000", + "row_coefficient": 68505, + "row_degree": 160000 +} diff --git a/certificates/three-stage-cover-network.json b/certificates/three-stage-cover-network.json new file mode 100644 index 0000000000..5fcdaf7420 --- /dev/null +++ b/certificates/three-stage-cover-network.json @@ -0,0 +1,592 @@ +{ + "assembly": { + "absorption_gap": "427438661618132345110228739011/125078699795119603047628520369990000000000", + "margins": { + "Gaussian_arithmetic": "4722025175696264927919695237147963001/10006295983609568243810281629599200000000", + "bulk_exposure": "786997963001/2500000000000000", + "compact_phase_layer": "3934989696955306336847963001/12507869979511960304762852036999", + "coordinate_movement": "786997963001/2500000000000000", + "dimension": "12499999875000000000000000000000/12507869979511960304762852036999", + "original_prefix": "393511477565510145645101062952036999/1250786997951196030476285203699900000000", + "scalar_work": "6296071101698264298321324836347963001/10006295983609568243810281629599200000000" + }, + "minimum_margin": "3934989696955306336847963001/12507869979511960304762852036999", + "parameters": { + "C0": 3069616589847390661646422921084421742076791020252975349036054045022876868816325360016884006766783194275238402685467560897379979538095659339914153411228923909333095982797289674916529618429267783546451504270618482414638463624294728177966618130024107087751376653321734853189117093266202030762618889547070961502205714597092709896013907425368392094475384221634319478984386904866724573994626804450216944973924004715129813965761596933326115776509943340157943174129272539823538050701622535963394690012758192847459689849972234337123874693385824686036508296575317079188160243598118725757652458188392322022844952575356424395442848095001566387040343856569269189917395657957736197073257203779373376889188640167448301868942509481176151204589988645494367063387585216101009063950625330703064826114491278166377864559802175046525033303468905874332453558086400872719885643863720883286117067041921620953698342288655741970429273531809582230991868701944130291351470030436263467358890906695434168397182790713738221001251836143805627527705706423299121278974890542200636743526283452050476661223881388407442978243431669478604808233403509060869050122348252528508652514546190870356725140776540043842433519776101118663309008418821694162806975376395055996154862940347526503831995965890962095517246160505917385844418501289372312929895261433044238853159640873178296074691588108407208060312941030713075650949796819720623617274671433189514444530605570317109481285852874851994767235546746412816105225612917279997364398814260806978260442672433634877529433763342817839622416123929066317965684395720963995844612459772496852858136114495501553052875918890493437720817467401959927795563460985161443838370327267773319262197676970128601037750371606747882081864991899478768652753719460664740703974322244254178850702689621313279552404919356570149678532057847416870830584864207747262934507734636621850863249283092432101857929907404597235734821317451725043998173780050102022316333191629802847635970200654831305961679321884238323949323545700727495913214847967853940828265964698218756505631346237825273777434498391411473506381159325514613731928748097685882747312386889119756084378600903991571078005055042046094316492423199198926541204285844748101819694175439766391894760923482807755851157024426217957400485561625345998966386010259637345603116709342194670474158578691919955704515843909721332395326584625955397922042204666852937101704587600533643647978023445793085383805879506200290001133205268542865652521678471024305612952671381449711629060543192466777247816868331366012703319698246037145296320423161788616663091652318823857575904196794797964398167338610177904877137492559370005420422792916547825887244857506972903189722341454322372425992499266566928072634528989945774494027467883853578920359196688045291344841920146816451269469235508593645730320230041166006942477439187092034202141157249063205216148696106347944143180271913682251003020961975747460268264152990294154845602977001034546573868730840030306106083066615893411507070172306418205365347514388388797818280149907416885905694557490327243356351213517064048360368083743926444159596486796654971962837266376087696736036630821397057759265435399001034219784548534301293246968481718896940728916586643216813696276995906818516031447282486976508491296289704612599444701418962843899412141286241116524383330689501164812645733598962642697378754768940828667023559332287032297181065740336402086342631379249524918280111183002518810569745674270883218352487398164117312518791310058222635531090696166659589283706956329197255219124344464109810607181914334024182373262741496913565784599455831294271786971532656044956865808927363230230333221117048299138478722770262564293401048323295690290576665049283594774564952983008328199450553465438747989935270451017153656365432531286748212897865565389174479692626368044817794835214853612348369456354164208860180288069919602131366281198492282525758164785175498335196238660843356185405464740133677928165863349772663124722360548211575171143108705321242747390208190455654032110752116075685358288616340116422198197003816643938163895854910801612506007028467740158364494675391779674117452943972234067245950780672757641835401762457813591085466472610760081694796364038455190850128858452726179344290731902979976155980178379086308794363749154375086244054353599953429957191632533404966135293427500650680626153605182642974405654605481434633806516552904430515471895807265037937668023677087429584949287059182611670560401700700017559374074319372739896109330961864733696592468618981296359696294503303358287423679181319508447833826703479290840941996672425175155521850976626815339256699939699024495134291200127894497828867785423243804361641141890614907969840399371178577763175489888290853519406409284426091492125845694430414786261517542690667830803552935505127879841490640594516473577535926907627698561130284717948267721725142670780954498243227867071651455284864010313916190216822966036405047107841054379533193963821395300030937635313039095961018619372045254622793379697689190925399960112892996991372336228690526514452230046164243049324160650581489248498500222753929695227387754386736440672728913118007774421009513295474455754364427533757831243295844710153706155070205909786228273972241529724104831779415023593765443975150793497820325243216093304681631402883418607554772638433704245678459883754743033745471774652338069116962895044695078686700345123049398507532493117764465922346580451143760984511302902981585134883827184510924906168237887159079675861767203290544665283031999497569196460493279382670817562203517598895210872352131152416726458789284102791986449492927809839090958584834275931170340360223550461701875498695258246098405728247328299409849521530984187679500797631982947884322803334600336640944451479355279962252221365803036612322834250440378838042973627611346346410854820147081053422165287359392144428924191577141110190356684154737790356559946358034320252924025437779851896882413629999493544862285292894044387815136197600402988751484543814749942284135745572486194981299872333341135624996173257514734626282063753231786816608227234776158060632003953104843780400337333260255864971865777127469201460859296674057408680269498549354590278046876148727941310202872912455674670533789863533029022169344424734365284287718190320177071534495772894370418338875123924491939556994692699881062472213584470276688679269148693894614969512596832727697762383836323100635728643771561802166985245437719618051192366607811242236996441689783585111902921696218444327698412739754761822433880837714238306908525912988329448663035458632195302481700045036959155396196236372066787792484509384384116474295222519883964470607396091587053756737832709585568331499654462614637079446418700364557528774701544907496792566061820917895585315031000913645970862233845370066562511481435508765949780756683491741750164653540069286344097126924143802863871779902290652059933085944629227727379408610025190800441296391906569513444994575126455593618267089467077827689732185269985079250319050076679453958934753744707007843823199510595879943330589299764820420085432240331515162141898514877775243105544504151899071862772251461445672747157367616055221204376870984757008164127865557093758931769160076096215883956485086634736788461990450409274051424488467778490841549841838379565387168414889221154325025923132489877617360674665439019065069536737526647995524603455961995829657709671871770971415869698449901037548861523639788538732019202410821869045247466022119269396873591901406501589466809011902113955944725931364985630260453207476044034314004728636469219193474412319169770242296001006322755471886187578722990029593301923214086469716417189708220507257480840631914486428036131029664266274054070774371908752523409123144852155288278515225447523155701970783062233545883414442554327153746583643906023363416916232392701827354121176877492838992440456164956179679443358539411221388963087058808445177118325775350312048733693358445116287887906606192536786225381289786497145312046361460760019755194835609268558177972799557297732412590508021286017552247345369421374698764558857788409156279929776872019178670914575258679644397927621365061627875356309930460839454975253784491950036961236504090374835903791529034088939005854961632766099386794358822295032891931730751727882738952839441412450491375781893151942344499288563967508918805392482653859015539304277916411077179137787165223790825601340401865299032334835346931478942739645108890462644437264408838886181985653244650945322080486048022815520910895177446529767723794159272835895952498245955570160616918096072192578199775204360236370243324892515167436333710103460833047971241733773567733079897717161610311543709521110070348559091682672244048258383086829662723791604182578271717814290366206438124002127827311226746288432087162447106404908864366021832107425929452521322690566872310257132832850634488314703996264159602039324672001175325228986531840, + "C1": 1, + "a_bit": "786997963001/2500000000000000", + "a_complex": "786999/2500000000", + "actual_bit_saving": "3731649599/10000000000000", + "alpha_squared_power": "5902547104457805549850000000/12507869979511960304762852036999", + "beta": "1/1000000", + "c": "3934989775655101062952036999/12500000000000000000000000000000", + "delta": "1/800000000", + "epsilon": "12499999875000000000000000000000/12507869979511960304762852036999", + "eta": "1/100000000", + "kappa": "3146011/10000000000", + "lambda_": "249921300204486897963001/250000000000000000000000", + "lambda_prime": "124960650102636947963001/125000000000000000000000", + "q": "39349897363052036999/125000000000000000000000", + "sigma": "2499213001/2500000000", + "tau": "2499213002036999/2500000000000000" + }, + "recurrence": { + "internal": "2499213002036999/2500000000000000", + "leaf": "2499213001786999/2500000000000000", + "reservations": "12496065010224344898937047963001/12500000000000000000000000000000" + }, + "strict_constraints": { + "Gaussian_arithmetic_above_kappa": "39350836308177819697297811129156553047/250157399590239206095257040739980000000000", + "K_dominates_log": "393498973630520330640102636947963001/1250786997951196030476285203699900000000", + "K_geometry": "393511477565510145645101062952036999/1250786997951196030476285203699900000000", + "alpha_below_one": "12501967432407502499213002036999/12507869979511960304762852036999", + "alpha_below_one_fourth": "12484259791094129082563452036999/50031479918047841219051408147996", + "alpha_positive": "5902547104457805549850000000/12507869979511960304762852036999", + "artificial_boundary": "70051942002294677970340694361629947963001/10006295983609568243810281629599200000000", + "beta_below_one": "999999/1000000", + "beta_positive": "1/1000000", + "bit_positive": "786997963001/2500000000000000", + "bulk_exposure_above_kappa": "495213001/2500000000000000", + "c_below_one": "12496065010224344898937047963001/12500000000000000000000000000000", + "c_positive": "3934989775655101062952036999/12500000000000000000000000000000", + "cell_above_band": "12498032317592497500786997963001/25015739959023920609525704073998", + "compact_leaf": "13286997963001/125000000000000000000000", + "compact_phase_layer_above_kappa": "427438661618132345110228739011/125078699795119603047628520369990000000000", + "compact_reservations": "39349897363052036999/12500000000000000000000000000000", + "complex_above_bit": "1036999/2500000000000000", + "complex_below_one_over32": "77338001/2500000000", + "coordinate_movement_above_kappa": "495213001/2500000000000000", + "delta_below_one_eighth": "99999999/800000000", + "delta_positive": "1/800000000", + "dimension_above_kappa": "124960648853457885598249652715100228739011/125078699795119603047628520369990000000000", + "epsilon_below_one": "7870104511960304762852036999/12507869979511960304762852036999", + "epsilon_positive": "12499999875000000000000000000000/12507869979511960304762852036999", + "gamma_sublinear": "1967557407502499213002036999/12507869979511960304762852036999", + "guard_width": "7870104511960304762852036999/12507869979511960304762852036999", + "lambda_above_internal": "786997963001/250000000000000000000000", + "lambda_above_sigma": "104486897963001/250000000000000000000000", + "lambda_above_tau": "786997963001/250000000000000000000000", + "lambda_prime_above_lambda": "786997963001/250000000000000000000000", + "lambda_prime_below_one": "39349897363052036999/125000000000000000000000", + "leaf_saving_above_bit": "1/10000000000", + "literal_scalar_guard": "37018435259192327026444362697176328284448078188231769953782205265560458994954198528128522271608574408355202540032255075117064968824327990197877830058875685381240368807405458918509373120982313431379572812796500814090858418296308982119821986030880818153842771889364723831622819356875189083770091903009992093953323267345008324543448535299659232847137164228817520156965454222496076346048075753934240004585336040743460323739361513753754219231885274556219650061408475985021071528358092463203549452302568664686135139295765432027153560598461589972523219970876048764263605385072846558138979410695263283436723795819749936298869629733885754380405293552951554248018338523862933278110049131111792477888007451534133694519797648709286837681549558235135639856222074605338489634655222341780048039966324013624302401090391595011077462555282587702669950720510047572110720022355583945737902393191417530355904864684514686083589233558409810569331377416983922386607960310165879036875161816637415611719601268127301986956088110556032607981930143972637860354756134494817601720717816880540330187822876112155436889663728626881438010883134476724020941093051927869881849985320024654243039856782905204990852015879595315962469380186943323565847050823297875741422603094472816484242240290243785520650512759964482686389175876608814679832488395605198592550183523227695326324405319213918836405829163433288721516691592464401780426918678712678566359382403598736803437089218194416547260565798719016237368522780663398147465400130525366093703741153740730666672158438685624352457229021962356229991191971318250920523218185693476105896703551775079542651896161265452199617211795522315929907395646527332413263943754129801436466974319834702834072148919264322454081750459895475104477616536838609829420698827304059941887830596458619634732807170576059221246507964888591019719797977539125941493193476568826575828467201554976985703195363813249443799091278368748023122746507243838701185788551895097555187799176505405330217221523438858770052561823484243062349027928194253313455936658290883075034994234670841334101876830842757559875559785336960995294225025590711035228135715921835886479635214597044456866850641935907674619887709756631997146089910706105350614066107662518278864879078188609934306561154439203820186577007063758335054868208097470677896322479230149468893532920886668062046508519338037367702546481906692666534263700579701097157684099440794072091751714916491351936398854188449078419239417576461940728251552665219271320031154864381081914286291446246407441412171120042675281401724510399879895551454109193833265775908426675338096712656946983397691325305991205325165437456433627793426115761717609823074027689024003258169697020781485149270323046705251108133559317163509160494936490719880315622808741104659691804694263424745347948804844535684592161072178886408741907438665899219084153326729659784189422120582613568611407111418747440942411997716486816008687947347765812981882029770967649609304814257180276768416178149729458451330956062884565286164625455908958003442623533507241840102403093505521093700581039327710259936108131519905723542645029376329370971230633299970846618310572688589209680410651838061589834725176701167511666867782761633723916061554499683831056078563875792795993435548942675754189912394664546776145094572633171346066631085860271623253147163049507137690906363879067117671882203031623686095154460524172675004074207470453267380396304129512273194827030030553734150726595395015555596412449195293143373754000470998909453484271698682840929769299525446336900245904959922214867236693272916644266224842367646165671888546176391688697464242473480563119282532994914118560530044282929092777092289297295282886335522645860631236865508320125629737964467760319515557023637159161157301387534028123269363779244538560277100181942752370716193293888169754073184110973259752294932453668403358688600730922141150108767150340928525165073926854276429979916485628800415665926169988981061363234930325828138070417399219948170895555129622235117039401738040897247746225923679766664907900266384520468299067019747580712810728628432960448834345005454492941970202466561765659601064228062077859526397359437870185538206495440555186683148867174514513090379560552113499628023502305380137970381434473232515469000739928340840152530854649249707331641656360534463623845195463365225831801928618554924169669604478814293979582949094281155555515219454524350384922556101029789696000000000000022904060", + "original_prefix_above_kappa": "1251214436612814162821395432438911/125078699795119603047628520369990000000000", + "phase_boundary": "4722025175696264927919695237147963001/10006295983609568243810281629599200000000", + "phase_local": "6296071101698264298321324836347963001/10006295983609568243810281629599200000000", + "prime_interval_packing": "7870104511960304762852036999/12507869979511960304762852036999", + "q_below_internal": "786997963001/125000000000000000000000", + "q_below_leaf": "13286997963001/125000000000000000000000", + "q_below_reservations": "39349897363052036999/12500000000000000000000000000000", + "q_positive": "39349897363052036999/125000000000000000000000", + "record_suffix": "7870104511960304762852036999/12507869979511960304762852036999", + "row_product_gap": "101249/5", + "scalar_work_above_kappa": "78701984458227803957338551109156553047/250157399590239206095257040739980000000000", + "short_record_fallback": "31240156019304642727636035264288506623514926001/31269674948779900761907130092497500000000000000", + "small_field_exposure": "3935114815004998426004073998/12507869979511960304762852036999" + } + }, + "bit": { + "added_bad_moment_upper": "355432716356049790883708977386812098509453/234016819414164681217869469557949726720000000000000000", + "atom_exponent": "1/1000", + "bad_fraction": "1/10000000000000000", + "coarse_saving": "747/2000000", + "edge_count_per_vertex": 637560, + "effective_saving": "3731649599/10000000000000", + "fallback_children_per_edge": 143648, + "good_moment_upper": "8027707883812705623527852084928925669880973/8027712973183505224497794283715907425402880", + "ideal_child_multiplicities": { + "1": 200205, + "10": 744, + "11": 1176, + "12": 915, + "13": 801, + "14": 192, + "15": 2076, + "16": 1278, + "17": 4041, + "18": 1821, + "19": 6240, + "2": 201825, + "20": 6930, + "21": 1242, + "22": 75, + "3": 45210, + "4": 39783, + "44": 51903, + "45": 462, + "46": 147, + "47": 249, + "48": 492, + "49": 12, + "5": 20016, + "50": 273, + "51": 15, + "52": 957, + "53": 108, + "54": 348, + "55": 84, + "56": 1005, + "57": 288, + "58": 273, + "59": 90, + "6": 6276, + "60": 1341, + "61": 531, + "62": 2418, + "63": 11613, + "64": 3921, + "65": 4788, + "66": 5280, + "7": 3477, + "8": 4875, + "9": 1764 + }, + "ideal_deficit": 2024, + "ideal_rank_mass_per_vertex": 6037356, + "local_dimension": 23, + "log_upper_bounds": { + "1": "2794497571682340957124877635297373985/664613997892457936451903530140172288", + "10": "2528334575079982434541401822534406615/1329227995784915872903807060280344576", + "11": "600411403950194933879698319878376963/332306998946228968225951765070086144", + "12": "1142993828777184207360458748209913419/664613997892457936451903530140172288", + "13": "2179592649656275685100552793710472639/1329227995784915872903807060280344576", + "14": "2081086258358699597143271121490202409/1329227995784915872903807060280344576", + "15": "1989379002068652850691596971376920913/1329227995784915872903807060280344576", + "16": "1903592592966036693344378039904834085/1329227995784915872903807060280344576", + "17": "56969020262929953798134630797130693/41538374868278621028243970633760768", + "18": "1747032084543038830871112645262341119/1329227995784915872903807060280344576", + "19": "1675164420376290598760656870667111071/1329227995784915872903807060280344576", + "2": "4667644505765020609023410962922269499/1329227995784915872903807060280344576", + "20": "100436496092520070582191094678870509/83076749736557242056487941267521536", + "21": "771065342673685006646733135166358345/664613997892457936451903530140172288", + "22": "370073744550279607573112242960257345/332306998946228968225951765070086144", + "3": "1032172233188422756293401527941195945/332306998946228968225951765070086144", + "4": "936573467041339825949266663812447757/332306998946228968225951765070086144", + "44": "558944340601457125066104664168550909/1329227995784915872903807060280344576", + "45": "529072791457661961615447812546956723/1329227995784915872903807060280344576", + "46": "62482226666290090497076791778946085/166153499473114484112975882535043072", + "47": "471271163267520201952459675426933081/1329227995784915872903807060280344576", + "48": "443286382355045804268228881074869895/1329227995784915872903807060280344576", + "49": "207939324276019945244737793865306895/664613997892457936451903530140172288", + "5": "3449685212679643739767746130206885087/1329227995784915872903807060280344576", + "50": "97256161098736065014848170536635937/332306998946228968225951765070086144", + "51": "362702437802767632464159026678217999/1329227995784915872903807060280344576", + "52": "21055710903559567165491511147844731/83076749736557242056487941267521536", + "53": "311571980432736537645489826843664601/1329227995784915872903807060280344576", + "54": "143362936966023970897481743216188473/664613997892457936451903530140172288", + "55": "32791960639467695129598017390705623/166153499473114484112975882535043072", + "56": "238384983159376986690582506145245467/1329227995784915872903807060280344576", + "57": "214858209765299709684507711837146897/1329227995784915872903807060280344576", + "58": "191740618457194915031832027360022815/1329227995784915872903807060280344576", + "59": "84509109531966808896832559394598335/664613997892457936451903530140172288", + "6": "3207338295154029719947261804092305309/1329227995784915872903807060280344576", + "60": "146677726869330240238908356031963971/1329227995784915872903807060280344576", + "61": "31176628991249730766489774720145975/332306998946228968225951765070086144", + "62": "51546288198091796558124099394123827/664613997892457936451903530140172288", + "63": "81824474736379124217317111502752517/1329227995784915872903807060280344576", + "64": "60891317766714082891689424559877143/1329227995784915872903807060280344576", + "65": "10070679742809377654635913330652443/332306998946228968225951765070086144", + "66": "19988767590127541216299813011065207/1329227995784915872903807060280344576", + "7": "187652305997397556398100964322667555/83076749736557242056487941267521536", + "8": "706235807641424499642680586894328139/332306998946228968225951765070086144", + "9": "2668382722142700136097456952934819591/1329227995784915872903807060280344576" + }, + "m": 67, + "maxchild": 66, + "ordinary_leaf_saving": "384599/10000000000", + "prime_choice": "Fixed odd q > 2^80 avoiding the finite rational denominator and rank-witness primes", + "rank_mass_upper_per_vertex": "47166843750071550171/7812500000000", + "roles_per_vertex": 90140, + "rounding_denominator": 1329227995784915872903807060280344576, + "row_stock": "O(w log e) internally borrowed radix-q digits, restored at the outer boundary", + "strict_gap": "9940153528978648563021016615239768808198774866649/15679126900749033641597254460382631690240000000000000000" + }, + "complex": { + "N": 13538721618671019412615861455916321263379041923794334708962708619095974987900295631553904132866614621547557044459766283367911659977263858162420914482506845567163757307926628776488393804927347292236503685286522819345922505220747186024416462993176998304785146409160658372235726493149827212442918992986208956992761474618426974171820701796228425658434995186929504617277846040625187918037429503096987807730172958001730321345262480068313892060267247861311646899617917116659081654194852897684468769907760680303709500894850821574823173271182461539695411713774003026733290258527204804484125324094815436286670606782868946733454925989387886168019650998294654856307679984992939185786288887795879573139602343164817702492569600000000000000000000, + "W": 603108575743199171590752923147126123552393555817721640496148565821912249423939898729147558464255224368869755829854697335623033102040534211214603217631553713869657040590211773900456052684616805291462392182059662529983404564337069433557046221765720206597995630281201798822079944566140252448365071721648003057973494484200213079176813209512521513162783829564785041900999225573561669097830413185639185626667778859836961938464872030829735894184721279110396254649333132899867973906704803267749386216004657222442371407698831336783983088759695790416777374678362369021419787341693857108054442488320575188693222292175796859846095104733784575379029541975909568087583671189188920853779231714594807289024686791882143532528435200000000000000000000, + "child_width_multiplicities": [ + [ + 1, + 214497 + ], + [ + 2, + 211026 + ], + [ + 3, + 92598 + ], + [ + 4, + 96192 + ], + [ + 5, + 36891 + ], + [ + 6, + 15774 + ], + [ + 7, + 7527 + ], + [ + 8, + 8583 + ], + [ + 9, + 5739 + ], + [ + 10, + 3417 + ], + [ + 11, + 2574 + ], + [ + 12, + 2886 + ], + [ + 13, + 1515 + ], + [ + 14, + 1680 + ], + [ + 15, + 624 + ], + [ + 16, + 1080 + ], + [ + 17, + 633 + ], + [ + 18, + 2334 + ], + [ + 19, + 1680 + ], + [ + 20, + 303 + ], + [ + 21, + 6 + ], + [ + 22, + 561 + ], + [ + 23, + 6186 + ], + [ + 46, + 72318 + ], + [ + 47, + 753 + ], + [ + 48, + 552 + ], + [ + 49, + 543 + ], + [ + 50, + 378 + ], + [ + 51, + 378 + ], + [ + 52, + 411 + ], + [ + 53, + 300 + ], + [ + 54, + 561 + ], + [ + 55, + 339 + ], + [ + 56, + 570 + ], + [ + 57, + 393 + ], + [ + 58, + 654 + ], + [ + 59, + 171 + ], + [ + 60, + 471 + ], + [ + 61, + 171 + ], + [ + 62, + 1227 + ], + [ + 63, + 441 + ], + [ + 64, + 1143 + ], + [ + 65, + 522 + ], + [ + 66, + 2382 + ], + [ + 67, + 1077 + ], + [ + 68, + 360 + ] + ], + "deficit": 16000307367520295669455108993355652402175231364484213746955928368022515894791258473654613975205999098192567416179723789434804689064039105101042898933871726579375349545731470372213556314914137709006777082611345150136090233442701219847037638082845543451109718483553505349005858582813432160159813355347337858264172651821777333112151738486451775778150448857280323638601090775284312994044234867296440136408386223092954016135310203717098236071224929290641037245002992956051641954957553424536190364436444440358929410148460061861154659320488363637821850207187458122502979396441242041663057201202963697429701626197936027957719457987458410925841405725257319375636349073173473583201977776486039495528620951012966375673036800000000000000000000, + "enclosure": "1+u+u^2/(2(1-u/3))", + "exponent": "2499213001/2500000000", + "group_order_bits": 2415, + "logarithm_upper_bounds": { + "1": "84969904841/20000000000", + "10": "30404846079/15625000000", + "11": "1850599969251/1000000000000", + "12": "881794296131/500000000000", + "13": "420886471147/250000000000", + "14": "321887582487/200000000000", + "15": "385111260237/250000000000", + "16": "147590651981/100000000000", + "17": "707640948997/500000000000", + "18": "679061742077/500000000000", + "19": "1304056262883/1000000000000", + "2": "355534806149/100000000000", + "20": "78297685531/62500000000", + "21": "601986402163/500000000000", + "22": "289363197173/250000000000", + "23": "1113001026121/1000000000000", + "3": "1574941476691/500000000000", + "4": "286220088093/100000000000", + "46": "419853845561/1000000000000", + "47": "19917382017/50000000000", + "48": "188647115571/500000000000", + "49": "356674943939/1000000000000", + "5": "164941083101/62500000000", + "50": "168236118311/500000000000", + "51": "158334804663/500000000000", + "52": "74312880867/250000000000", + "53": "139101664249/500000000000", + "54": "129755597743/500000000000", + "55": "241162056817/1000000000000", + "56": "44628710263/200000000000", + "57": "41088794843/200000000000", + "58": "188052231503/1000000000000", + "59": "667803899/3906250000", + "6": "1228367886411/500000000000", + "60": "38537669957/250000000000", + "61": "137621377877/1000000000000", + "62": "24272171401/200000000000", + "63": "52680257829/500000000000", + "64": "8961215869/100000000000", + "65": "37053986077/500000000000", + "66": "58840500023/1000000000000", + "67": "43802622659/1000000000000", + "68": "14493768437/500000000000", + "7": "460517018599/200000000000", + "8": "216905370037/100000000000", + "9": "1025635332357/500000000000" + }, + "m": 70, + "maxchild": 68, + "moment_upper": "258864312822635994065467432694902185824617056005192811240021103906978730397696134437627152880092896419903080442049541997644164722223523744069618659654958430011830850345337324963261160511323989315070145586345706926151650884534416230747832026857711284044961370633421989263217324797581421153827528821034313816951566208876589305087350792030746865080483361862703523425452216345474115604987306029049028703498895825177996055091384097672512444674429226790947326097809041938745221939491894482303373476419205614822601484817909004787938868489362076315241894335083202946127394306508690895594580470394473592547919403852011584489743304634187321060781053926849022051132836329116987504779181381419239491600292167189668713998176522996448728045393917316206149915886990424222384708737573933434978173981410639368429431721186044098966185069153493919671226031511994552929581510213736872232028746323985522146354177245070354328745670674833215201383909427310986478058902879218729127/258864312882296500031055289607308876918948194191739080393665208773437327950361705506204269262727624369607191381066070736950721387722343455305319397218060826215806055566676458467985854943815840460405474061110154037491708121904679791617548836252416330123113259519318454367469789088759143697885963048633822970601575393057295335974413285977207878402333467407939617985467006958820688402850530703846606121734476356557987835722081138227469842662438908972992927393171772790668096312894309081073575846448722623251554492048017857602287936132027784462360677641358992824901206117953947391105954258456029157280133485124255285284951748169636791141814335580522461373398332705279009190357387940809475590086743023351702184232232736981858998991300824787343216349598086601789879924718839538480440090437137911672142043373939595769029469714536428078367503524111596722215987131151839686520104495974436734700813521784031923667417309936799035132679343460868275000000000000000000000", + "per_vertex": { + "W": 90163, + "child_multiplicities": { + "1": 214497, + "10": 3417, + "11": 2574, + "12": 2886, + "13": 1515, + "14": 1680, + "15": 624, + "16": 1080, + "17": 633, + "18": 2334, + "19": 1680, + "2": 211026, + "20": 303, + "21": 6, + "22": 561, + "23": 6186, + "3": 92598, + "4": 96192, + "46": 72318, + "47": 753, + "48": 552, + "49": 543, + "5": 36891, + "50": 378, + "51": 378, + "52": 411, + "53": 300, + "54": 561, + "55": 339, + "56": 570, + "57": 393, + "58": 654, + "59": 171, + "6": 15774, + "60": 471, + "61": 171, + "62": 1227, + "63": 441, + "64": 1143, + "65": 522, + "66": 2382, + "67": 1077, + "68": 360, + "7": 7527, + "8": 8583, + "9": 5739 + }, + "deficit": 2392, + "rank": 6309018 + }, + "saving": "786999/2500000000", + "strict_gap": "59660505965587856912406691094331138186546269153644104866458597552665571068577116382634727949704110939016528739306556665498819711235700737563102396203975205221339133504724694432491851145335328474764447111340057237370263560869716809394705046078151888885896465104252464291177722544058434227599509153650009184180706030887062493946461013321850105545236094560014790613346572797863224674797577418235580531379991780630697040554957397988009682182045601295362730851922874373402414598770202370029517008428953007230108852814349067642665708147118783306275789878773811811445256495511373788061555564732214081272243700795208443535449470081033281653673439322265496376162021685578206559390236098486450856162033470234056213985410270945906907471137066433711096177567495215981265605045461916455727272303712611652753551670063284645382934158696277492599602169286405620938102814288075749650451212554459344538961569338671639261965819931295434033557288521941097120781270873/258864312882296500031055289607308876918948194191739080393665208773437327950361705506204269262727624369607191381066070736950721387722343455305319397218060826215806055566676458467985854943815840460405474061110154037491708121904679791617548836252416330123113259519318454367469789088759143697885963048633822970601575393057295335974413285977207878402333467407939617985467006958820688402850530703846606121734476356557987835722081138227469842662438908972992927393171772790668096312894309081073575846448722623251554492048017857602287936132027784462360677641358992824901206117953947391105954258456029157280133485124255285284951748169636791141814335580522461373398332705279009190357387940809475590086743023351702184232232736981858998991300824787343216349598086601789879924718839538480440090437137911672142043373939595769029469714536428078367503524111596722215987131151839686520104495974436734700813521784031923667417309936799035132679343460868275000000000000000000000", + "total_rank": 42201599994656421715683249511305472996265373675876030620983443679165834943781001652566674478522659706722690340673649089704177512453773355679921182335274888244296617491769092702659710131608262232693360675661565031948702229270152159129146197885517568918408584401200572412196590261047004239225395207160012876199880441242193138209264772927390054145616717620677672609431344699374032523854084688127446553730336133965494381676405731954364414356859264608437096788208316310034706531514378675317920844755889561130607069128769733513017661553858216965536594377278178373376882134522128755522147916981237299511095858826107844161268937873377461865606226532588412446755220634170050986181344242245150470736199454480737080901317427200000000000000000000, + "vertices_per_stage": 6689091708829555045758824829998182442380949567092062603242444969909078551334138157882363702009196947404919488369449744746991926866237084072342349052621959272314109341860982597079245951051060915136612492730495464103716652777049004952774932308881916158490684984763171132527532852346752575317647723807415492585356459791712931903073469266911277499226776278127225601421860692008492054366318924455033501842970829052238301059912292523870500029776308231873343329850749563566739947724729692531852159045336304497880188189155544256335559916592125266647930688623519281982850918244666405377532274750402883540845161453986633761588402168669904233211290018920284019914861652664495645151328501875434571709289695239534437990400000000000000000000 + }, + "finite_bridge": { + "bit_uniform": { + "atom_beta": "1/1000", + "coarse_saving": "747/2000000", + "external_stock": "No q-adic group-size factor is inserted into the external polynomial row stock", + "old_atom_saving": "384599/10000000000", + "ordinary_saving": "3731649599/10000000000000", + "selector_stock": "O(w log e) internal borrowed rows; restored by the uniform old-supplier wrapper" + }, + "complex": { + "N": 13538721618671019412615861455916321263379041923794334708962708619095974987900295631553904132866614621547557044459766283367911659977263858162420914482506845567163757307926628776488393804927347292236503685286522819345922505220747186024416462993176998304785146409160658372235726493149827212442918992986208956992761474618426974171820701796228425658434995186929504617277846040625187918037429503096987807730172958001730321345262480068313892060267247861311646899617917116659081654194852897684468769907760680303709500894850821574823173271182461539695411713774003026733290258527204804484125324094815436286670606782868946733454925989387886168019650998294654856307679984992939185786288887795879573139602343164817702492569600000000000000000000, + "W": 603108575743199171590752923147126123552393555817721640496148565821912249423939898729147558464255224368869755829854697335623033102040534211214603217631553713869657040590211773900456052684616805291462392182059662529983404564337069433557046221765720206597995630281201798822079944566140252448365071721648003057973494484200213079176813209512521513162783829564785041900999225573561669097830413185639185626667778859836961938464872030829735894184721279110396254649333132899867973906704803267749386216004657222442371407698831336783983088759695790416777374678362369021419787341693857108054442488320575188693222292175796859846095104733784575379029541975909568087583671189188920853779231714594807289024686791882143532528435200000000000000000000, + "coefficient_bound": 28, + "coefficient_denominator_divides": 42, + "finite_group_router_upper": 8331937966362142837469352279220030133647888688980039156181868875970232503770055710232664076515320301779070840687208708907877768434194450291773616323813450028207597595056380392181797744959838155981123580976290547490582874424242900417504391560675395758714331771072219691443675011548689712991796380033940322563804170759104462188040515147572247328536148268221300086684328655153181799979902670624839573095865950690891448461620344241538856726234094021396707694738001865781489939750833184712577948426044052007183538224384875418436165513267525063842522635703676193098523683534457639244273576970432751377741451959202109973313026260819615165583229463000176015007691411864854000841667680552860662260367153953521484451296005040756341027392125111377121693889355377294709675922433764122822727575590517988519713121391437639243919405081652733496336484304353702140273537410399427750130176824911380240639834015188843628057194629120734920665943414328311580037623858286808828983472490080084850623947846689395823852131194363044209310241356129379046222903993703988856016803468215649620763866295846177003428832516279528691754742359666527360792834485120446124501821634741362076672805325003218625804795259538195553058152557083984230647468708605304456161988839457480884590766899046784867314033572329875603962920454824316168548120381408594053547604250532306778568824963123590324901463438248680779358099674733376062203705110198748669552019499867872036032348160000000000000000000000000000000000000000, + "halving_degree": 24, + "invocations_per_stage": 6689091708829555045758824829998182442380949567092062603242444969909078551334138157882363702009196947404919488369449744746991926866237084072342349052621959272314109341860982597079245951051060915136612492730495464103716652777049004952774932308881916158490684984763171132527532852346752575317647723807415492585356459791712931903073469266911277499226776278127225601421860692008492054366318924455033501842970829052238301059912292523870500029776308231873343329850749563566739947724729692531852159045336304497880188189155544256335559916592125266647930688623519281982850918244666405377532274750402883540845161453986633761588402168669904233211290018920284019914861652664495645151328501875434571709289695239534437990400000000000000000000, + "local_group_upper": 55062438637392, + "m": 70, + "maxchild": 68, + "s": 42201599994656421715683249511305472996265373675876030620983443679165834943781001652566674478522659706722690340673649089704177512453773355679921182335274888244296617491769092702659710131608262232693360675661565031948702229270152159129146197885517568918408584401200572412196590261047004239225395207160012876199880441242193138209264772927390054145616717620677672609431344699374032523854084688127446553730336133965494381676405731954364414356859264608437096788208316310034706531514378675317920844755889561130607069128769733513017661553858216965536594377278178373376882134522128755522147916981237299511095858826107844161268937873377461865606226532588412446755220634170050986181344242245150470736199454480737080901317427200000000000000000000, + "scalar_group_upper": 8331937966362142837469352279220030133647888688980039156181868875970232503770055710232664076515320301779070840687208708907877768434194450291773616323813450028207597595056380392181797744959838155981123580976290547490582874424242900417504391560675395758714331771072219691443675011548689712991796380033940322563804170759104462188040515147572247328536148268221300086684328655153181799979902670624839573095865950690891448461620344241538856726234094021396707694738001865781489939750833184712577948426044052007183538224384875418436165513267525063842522635703676193098523683534457639244273576970432751377741451959202109973313026260819615165583229463000176015007691411864854000841667680552860662260367153953521484451296005040756341027392126216330226979372986242876343731371305885512477690589863995081930211901062947494805688707931377149741761307021746202667903079317772837837742630265571111031305973931914391619635997186891863513494867154092799078742813049075485474766192838873280088421446902727853059880494532586409019432281857588083013224995408020674088448197481646158602489724172973652642711481015241575686591532163960297046458938068261725654761128806353166897239289884136167205339452315528505368201445123930264832764688768700346727473200113158531507975282492788225652760032262081515133321352035920662987391386415698739641548957327720527962935019641323309199128339302438014055271601926317442238209982264516371312257139517641226846802767775049650554986823680000000000000000000000, + "stages": 3, + "wire_bits": 2431 + }, + "conservative_old_coarse_row_reserve": 9909, + "ordinary_leaf_row_degree": 252, + "rows": { + "coefficient": 68505, + "complex_coefficient": 58344, + "contract": "Finite complex group role stock plus conservative fixed legacy bit reserves; q-adic selectors borrowed internally and restored; one prefix and one padding; sequential reuse", + "degree": 160000, + "degree_gap": "101249/5", + "suffix_slope": 640000 + }, + "semantic": { + "B": 37018435259192327026444362697176328284448078188231769953782205265560458994954198528128522271608574408355202540032255075117064968824327990197877830058875685381240368807405458918509373120982313431379572812796500814090858418296308982119821986030880818153842771889364723831622819356875189083770091903009992093953323267345008324543448535299659232847137164228817520156965454222496076346048075753934240004585336040743460323739361513753754219231885274556219650061408475985021071528358092463203549452302568664686135139295765432027153560598461589972523219970876048764263605385072846558138979410695263283436723795819749936298869629733885754380405293552951554248018338523862933278110049131111792477888007451534133694519797648709286837681549558235135639856222074605338489634655222341780048039966324013624302401090391595011077462555282587702669950720510047572110720022355583945737902393191417530355904864684514686083589233558409810569331377416983922386607960310165879036875161816637415611719601268127301986956088110556032607981930143972637860354756134494817601720717816880540330187822876112155436889663728626881438010883134476724020941093051927869881849985320024654243039856782905204990852015879595315962469380186943323565847050823297875741422603094472816484242240290243785520650512759964482686389175876608814679832488395605198592550183523227695326324405319213918836405829163433288721516691592464401780426918678712678566359382403598736803437089218194416547260565798719016237368522780663398147471461447992846392617907566154366175707359264010265815033757522880616735188240500326586332116696419823686932953799566753222197486024561126186118343330587296238474139022833112265020444781192115498584792420933489474961630771687480286735456874855985661630110620019360347490277815884544440349945973897618015379741099514620546558532451665283502953310770385985494853827457952302380875704737283118931474575490442149207374784396721122337873721980447068204001471750774918685802568848862629144032190483132135512623692833119464674000061792103319557785695071892746425113146809416686514828600589614810756078133714080807393331689586136443874929160777745718251043099404230653067658292748193187300798217981433692598352097048615718524126487019458671337811169879492556087604675369999022896229620975252138963830278036923601043947482905899333261058990133592251960623541853762891294615000811468263211044449094921381202115109117335785946382498736014749017072230007514656134881364722930245487243635379824275198249782732298014985902773285627599866793825306640063333217950461082689841180144628015777720287339218784144353254423233037785326137389276418599473239903930128769785343454398786831571315781154093223257396440957705880274830618348534345024533000802236323615617001162025065300575996127993849940752960710120324216532541775112017396953323423450627982369974049596590379116692860898445454836250852853303025015830671119921653823000015513115046384705622638557606356875890362371915075761494905355931582474893276262116659468701517803832334453389407705282122188617354057227599038434185170662256090429963179552058995691237203307999893582029286652718459240152739777714785639499663290436519523987093942398584911721632632813255021682655336323585929420685705087825676508526577022032739617765599016754123576842327367511961218995296221951512081377941279472669829052210191027257723770554770539329378349643039072243734347421817323301137284090740656814691256709885378560768416696455996352754626053880893286649822565717679941966400457769587389810482991845944695307344101493718734851409047013331336619029648120092823292143936250876465820745470666739744553348685324612709960192902985497317753607106208192781856394963271023397485958898513952710680376925769328043163209444862286546497894980858084664032434530948238303005298765494224918834677139533052851073924396011642208465619086967753959435968457624870949449180227998445053181709439294201108632062848407411992911669005620297785903094596054485027637456994133475447120900669624133517093608474089699188817904176252998168315216846749739166023641277281532755806584114036763275240984118414603436117777693065223307493806186047945090438303066144919411289609662205472686739546949946337036430883392584922597316966922402870966595858247060560686612522943086254909933373114074580541047496904755619574063966171327587823657376669850262383030910965982786263717300688718481858967862770662579952920306244222416718403271760281600000000000022906304, + "C0": 3069616589847390661646422921084421742076791020252975349036054045022876868816325360016884006766783194275238402685467560897379979538095659339914153411228923909333095982797289674916529618429267783546451504270618482414638463624294728177966618130024107087751376653321734853189117093266202030762618889547070961502205714597092709896013907425368392094475384221634319478984386904866724573994626804450216944973924004715129813965761596933326115776509943340157943174129272539823538050701622535963394690012758192847459689849972234337123874693385824686036508296575317079188160243598118725757652458188392322022844952575356424395442848095001566387040343856569269189917395657957736197073257203779373376889188640167448301868942509481176151204589988645494367063387585216101009063950625330703064826114491278166377864559802175046525033303468905874332453558086400872719885643863720883286117067041921620953698342288655741970429273531809582230991868701944130291351470030436263467358890906695434168397182790713738221001251836143805627527705706423299121278974890542200636743526283452050476661223881388407442978243431669478604808233403509060869050122348252528508652514546190870356725140776540043842433519776101118663309008418821694162806975376395055996154862940347526503831995965890962095517246160505917385844418501289372312929895261433044238853159640873178296074691588108407208060312941030713075650949796819720623617274671433189514444530605570317109481285852874851994767235546746412816105225612917279997364398814260806978260442672433634877529433763342817839622416123929066317965684395720963995844612459772496852858136114495501553052875918890493437720817467401959927795563460985161443838370327267773319262197676970128601037750371606747882081864991899478768652753719460664740703974322244254178850702689621313279552404919356570149678532057847416870830584864207747262934507734636621850863249283092432101857929907404597235734821317451725043998173780050102022316333191629802847635970200654831305961679321884238323949323545700727495913214847967853940828265964698218756505631346237825273777434498391411473506381159325514613731928748097685882747312386889119756084378600903991571078005055042046094316492423199198926541204285844748101819694175439766391894760923482807755851157024426217957400485561625345998966386010259637345603116709342194670474158578691919955704515843909721332395326584625955397922042204666852937101704587600533643647978023445793085383805879506200290001133205268542865652521678471024305612952671381449711629060543192466777247816868331366012703319698246037145296320423161788616663091652318823857575904196794797964398167338610177904877137492559370005420422792916547825887244857506972903189722341454322372425992499266566928072634528989945774494027467883853578920359196688045291344841920146816451269469235508593645730320230041166006942477439187092034202141157249063205216148696106347944143180271913682251003020961975747460268264152990294154845602977001034546573868730840030306106083066615893411507070172306418205365347514388388797818280149907416885905694557490327243356351213517064048360368083743926444159596486796654971962837266376087696736036630821397057759265435399001034219784548534301293246968481718896940728916586643216813696276995906818516031447282486976508491296289704612599444701418962843899412141286241116524383330689501164812645733598962642697378754768940828667023559332287032297181065740336402086342631379249524918280111183002518810569745674270883218352487398164117312518791310058222635531090696166659589283706956329197255219124344464109810607181914334024182373262741496913565784599455831294271786971532656044956865808927363230230333221117048299138478722770262564293401048323295690290576665049283594774564952983008328199450553465438747989935270451017153656365432531286748212897865565389174479692626368044817794835214853612348369456354164208860180288069919602131366281198492282525758164785175498335196238660843356185405464740133677928165863349772663124722360548211575171143108705321242747390208190455654032110752116075685358288616340116422198197003816643938163895854910801612506007028467740158364494675391779674117452943972234067245950780672757641835401762457813591085466472610760081694796364038455190850128858452726179344290731902979976155980178379086308794363749154375086244054353599953429957191632533404966135293427500650680626153605182642974405654605481434633806516552904430515471895807265037937668023677087429584949287059182611670560401700700017559374074319372739896109330961864733696592468618981296359696294503303358287423679181319508447833826703479290840941996672425175155521850976626815339256699939699024495134291200127894497828867785423243804361641141890614907969840399371178577763175489888290853519406409284426091492125845694430414786261517542690667830803552935505127879841490640594516473577535926907627698561130284717948267721725142670780954498243227867071651455284864010313916190216822966036405047107841054379533193963821395300030937635313039095961018619372045254622793379697689190925399960112892996991372336228690526514452230046164243049324160650581489248498500222753929695227387754386736440672728913118007774421009513295474455754364427533757831243295844710153706155070205909786228273972241529724104831779415023593765443975150793497820325243216093304681631402883418607554772638433704245678459883754743033745471774652338069116962895044695078686700345123049398507532493117764465922346580451143760984511302902981585134883827184510924906168237887159079675861767203290544665283031999497569196460493279382670817562203517598895210872352131152416726458789284102791986449492927809839090958584834275931170340360223550461701875498695258246098405728247328299409849521530984187679500797631982947884322803334600336640944451479355279962252221365803036612322834250440378838042973627611346346410854820147081053422165287359392144428924191577141110190356684154737790356559946358034320252924025437779851896882413629999493544862285292894044387815136197600402988751484543814749942284135745572486194981299872333341135624996173257514734626282063753231786816608227234776158060632003953104843780400337333260255864971865777127469201460859296674057408680269498549354590278046876148727941310202872912455674670533789863533029022169344424734365284287718190320177071534495772894370418338875123924491939556994692699881062472213584470276688679269148693894614969512596832727697762383836323100635728643771561802166985245437719618051192366607811242236996441689783585111902921696218444327698412739754761822433880837714238306908525912988329448663035458632195302481700045036959155396196236372066787792484509384384116474295222519883964470607396091587053756737832709585568331499654462614637079446418700364557528774701544907496792566061820917895585315031000913645970862233845370066562511481435508765949780756683491741750164653540069286344097126924143802863871779902290652059933085944629227727379408610025190800441296391906569513444994575126455593618267089467077827689732185269985079250319050076679453958934753744707007843823199510595879943330589299764820420085432240331515162141898514877775243105544504151899071862772251461445672747157367616055221204376870984757008164127865557093758931769160076096215883956485086634736788461990450409274051424488467778490841549841838379565387168414889221154325025923132489877617360674665439019065069536737526647995524603455961995829657709671871770971415869698449901037548861523639788538732019202410821869045247466022119269396873591901406501589466809011902113955944725931364985630260453207476044034314004728636469219193474412319169770242296001006322755471886187578722990029593301923214086469716417189708220507257480840631914486428036131029664266274054070774371908752523409123144852155288278515225447523155701970783062233545883414442554327153746583643906023363416916232392701827354121176877492838992440456164956179679443358539411221388963087058808445177118325775350312048733693358445116287887906606192536786225381289786497145312046361460760019755194835609268558177972799557297732412590508021286017552247345369421374698764558857788409156279929776872019178670914575258679644397927621365061627875356309930460839454975253784491950036961236504090374835903791529034088939005854961632766099386794358822295032891931730751727882738952839441412450491375781893151942344499288563967508918805392482653859015539304277916411077179137787165223790825601340401865299032334835346931478942739645108890462644437264408838886181985653244650945322080486048022815520910895177446529767723794159272835895952498245955570160616918096072192578199775204360236370243324892515167436333710103460833047971241733773567733079897717161610311543709521110070348559091682672244048258383086829662723791604182578271717814290366206438124002127827311226746288432087162447106404908864366021832107425929452521322690566872310257132832850634488314703996264159602039324672001175325228986531840, + "C1": 1, + "E": 37018435259192327026444362697176328284448078188231769953782205265560458994954198528128522271608574408355202540032255075117064968824327990197877830058875685381240368807405458918509373120982313431379572812796500814090858418296308982119821986030880818153842771889364723831622819356875189083770091903009992093953323267345008324543448535299659232847137164228817520156965454222496076346048075753934240004585336040743460323739361513753754219231885274556219650061408475985021071528358092463203549452302568664686135139295765432027153560598461589972523219970876048764263605385072846558138979410695263283436723795819749936298869629733885754380405293552951554248018338523862933278110049131111792477888007451534133694519797648709286837681549558235135639856222074605338489634655222341780048039966324013624302401090391595011077462555282587702669950720510047572110720022355583945737902393191417530355904864684514686083589233558409810569331377416983922386607960310165879036875161816637415611719601268127301986956088110556032607981930143972637860354756134494817601720717816880540330187822876112155436889663728626881438010883134476724020941093051927869881849985320024654243039856782905204990852015879595315962469380186943323565847050823297875741422603094472816484242240290243785520650512759964482686389175876608814679832488395605198592550183523227695326324405319213918836405829163433288721516691592464401780426918678712678566359382403598736803437089218194416547260565798719016237368522780663398147471461447992846392617907566154366175707359264010265815033757522880616735188240500326586332116696419823686932953799566753222197486024561126186118343330587296238474139022833112265020444781192115498584792420933489474961630771687480286735456874855985661630110620019360347490277815884544440349945973897618015379741099514620546558532451665283502953310770385985494853827457952302380875704737283118931474575490442149207374784396721122337873721980447068204001471750774918685802568848862629144032190483132135512623692833119464674000061792103319557785695071892746425113146809416686514828600589614810756078133714080807393331689586136443874929160777745718251043099404230653067658292748193187300798217981433692598352097048615718524126487019458671337811169879492556087604675369999022896229620975252138963830278036923601043947482905899333261058990133592251960623541853762891294615000811468263211044449094921381202115109117335785946382498736014749017072230007514656134881364722930245487243635379824275198249782732298014985902773285627599866793825306640063333217950461082689841180144628015777720287339218784144353254423233037785326137389276418599473239903930128769785343454398786831571315781154093223257396440957705880274830618348534345024533000802236323615617001162025065300575996127993849940752960710120324216532541775112017396953323423450627982369974049596590379116692860898445454836250852853303025015830671119921653823000015513115046384705622638557606356875890362371915075761494905355931582474893276262116659468701517803832334453389407705282122188617354057227599038434185170662256090429963179552058995691237203307999893582029286652718459240152739777714785639499663290436519523987093942398584911721632632813255021682655336323585929420685705087825676508526577022032739617765599016754123576842327367511961218995296221951512081377941279472669829052210191027257723770554770539329378349643039072243734347421817323301137284090740656814691256709885378560768416696455996352754626053880893286649822565717679941966400457769587389810482991845944695307344101493718734851409047013331336619029648120092823292143936250876465820745470666739744553348685324612709960192902985497317753607106208192781856394963271023397485958898513952710638175325774671621447526195350981073501629607182208633411451087269072468061517763841658244356154479826330160733250746921938030953165313612074038253633182736626652831688458905742393471577831031968415271387186842380044209439735468138656756896710536916109228872592932903034924310408577129277868213266929686312618023735010805030105952073822349111878024559660855083197152769337389242717130033726475989564047356931257813112129780315990726023946206880310974192821453889162652033015435567661718510038636695361466709897793633137453578196693202343721075928565808076536556490979552451785525348987774382274552870312501479979496107731976884921165304739450197851270545468084311807981681426420334802449570044767935981322370442854400000000000022906304, + "exact_grid": "One common dyadic grid times 21^(-K), K=G*(D_complex+1); no child rounding", + "fixed_odd_divisor": 21, + "induction_gap": 111055305777576981079333088091528984853344234564695309861346615796681376984862595584385566814825723225065607620096765225351194906472983970593633490176627056143721106422216376755528119362946940294138718438389502442272575254888926946359465958092642454461528315668094171494868458070625567251310275709029976281859969802035024973630345605898977698541411492686452560470896362667488229038144227261802720013756008122230380971218084541261262657695655823668658950184225427955063214585074277389610648356907705994058405417887296296081460681795384769917569659912628146292790816155218539674416938232085789850310171387459249808896608889201657263141215880658854662744055015571588799834330147393335377433664022354602401083559392946127860513044648674705406919568666223816015468903965667025340144119898972040872907203271174785033232387665847763108009852161530142716332160067066751837213707179574252591067714594053544058250767700675229431707994132250951767159823880930497637110625485449912246835158803804381905960868264331668097823945790431917913581064268403484452805162153450641620990563468628336466310668991185880644314032649403430172062823279155783609645549955960073962729119570348715614972556047638785947887408140560829970697541152469893627224267809283418449452726720870731356561951538279893448059167527629826444039497465186815595777650550569683085978973215957641756509217487490299866164550074777393205341280756036138035699078147210796210410311267654583249641781697396157048712105568341990194442414384343978539177853722698463098527122077792030797445101272568641850205564721500979758996350089259471060798861398700259666592458073683378558355029991761888715422417068499336795061334343576346495754377262800468424884892315062440860206370624567956984890331860058081042470833447653633321049837921692854046139223298543861639675597354995850508859932311157956484561482373856907142627114211849356794423726471326447622124353190163367013621165941341204612004415252324756057407706546587887432096571449396406537871078499358394022000185376309958673357085215678239275339440428250059544485801768844432268234401142242422179995068758409331624787482333237154753129298212691959202974878244579561902394653944301077795056291145847155572379461058376014013433509638477668262814026109997068688688862925756416891490834110770803131842448717697999783176970400776755881870625561288673883845002434404789633133347284764143606345327352007357839147496208044247051216690022543968404644094168790736461730906139472825594749348196894044957708319856882799600381475919920189999653851383248069523540433884047333160862017656352433059763269699113355978412167829255798419719711790386309356030363196360494713947343462279669772189322873117640824491855045603035073599002406708970846851003486075195901727988383981549822258882130360972649597625325336052190859970270351883947109922148789771137350078582695336364508752558559909075047492013359764961469000046539345139154116867915672819070627671087115745227284484716067794747424679828786349978406104553411497003360168223115846366565852062171682797115302555511986768271289889538656176987073711609923999680746087859958155377720458219333144356918498989871309558571961281827195754735164897898439765065047966008970757788262057115263477029525579731066098218853296797050262370730526982102535883656985888665854536244133823838418009487156630573081773171311664311617988135048929117216731203042265451969903411852272221970444073770129656135682305250089367989058263878161642679859949467697153039825899201373308762169431448975537834085922032304481156204554227141039994009857088944360278469876431808752629397462236412000219233660046055973838129880578708956491953260821318624578345569184889813070192457876695541858132041130777307984129489628334586859639493684942574253992097303592844714909015896296482674756504031418599158553221773188034926625396857260903261878307905372874612848347540683995335159545128317882603325896188545222235978735007016860893357709283788163455082912370982400426341362702008872400551280825422269097566453712528758994504945650540249217498070923831844598267419752342110289825722952355243810308353333079195669922481418558143835271314909198434758233868828986616418060218640849839011109292650177754767791950900767208612899787574741181682059837568829258764729800119342223741623142490714266858722191898513982763470972130009550787149092732897948358791151902066155445576903588311987739858760918732667250155209815280844800000000000068718912, + "literal_charge": 6061317467480298914166412413635509035200825324641462576528500918260505197048529008335411593478234130210827057096014978142654834128399860733918726118791773922544231627186584932607180837437985697148325446613654772127558622768215964281375124396090186525633003482521737660857117057240380408058143301159395745008292344044487337285943700394911933590972408446368912334264475733554299876270081563954488872295078335957930985305442753589850599233939824365300285962223023588247381049686123738701973261608696653853640271295980430937712764175125304472239135234455542038111815182015673494498712783967998518258154295470432336395361110853163893932642029796415156619769016056023201425897551251393123598093723935966354950958705012418775872953351008819532305000414367477670368808844583692409434398245075205495223168715503573269586583420103111590096600671365292561495345243553257247298264986356518377914831220801501017951433236345152310406984299832525720293608660467685802945483512669025302907128271609978978462701143150604820858999336153620386383894468943290542669059358179441300249076561668526454073442875717677916326520380838342739697951112608267914738492672336157550028283025113961492707126404199254138271260685098789681348025487639773424867242919160106456506225534345420260373319252745281061156015856899471184592970267481712361162351271741573628066610930691160032539534168785670646828732270689456404423559701174212880588017796628230376017675290791793374993860591404265466456680648175654814058715126532658208137745454919267048288763951796324118745993820549985758936031091665141162389848923851841799059583105683402276350936999910323347488009519439806868167328926974701226839113335255880808750186544931465301588153899893702599669867866186021256769597944650784226039304068822923262564211182177780591366866646362124875884880995517669656219522666002703053336351359891487652867447175318019352977089273823249142319226929813637473276418387127197612183733738386142721845626159231038325296874200627272574306187965929458860133905538784309005014926007818655156818488946449124798464099925756731475826598449776290085204577274569078978042280310875204761493427427197988866936787709324177115415689567097667988137061963313037882715845129855200144933656979765875835424049864470446024907245877422963999708688816979203564558062413402109110136866845080992848753919979905561317141584585229824048025921909547308796975243130649305866894488417110756862463558580639319802212486767915649173681178903044454862485635704362237681574148245978149890284574577126487264579106426185408914448845493504091361788063449572056526660614284169584892130984109554414961055346550364120714926497961868347353913614754951268350956156592460248884512851335524123604981906157784294005113951272816555231962286602696050339075796628150139399920930876099280442740618192335848877634784032742506145082992546749815280528246791731174104728858887400270864819582995045694383013425221340653158400000000000000002244, + "strict_literal_gap": 37018435259192327026444362697176328284448078188231769953782205265560458994954198528128522271608574408355202540032255075117064968824327990197877830058875685381240368807405458918509373120982313431379572812796500814090858418296308982119821986030880818153842771889364723831622819356875189083770091903009992093953323267345008324543448535299659232847137164228817520156965454222496076346048075753934240004585336040743460323739361513753754219231885274556219650061408475985021071528358092463203549452302568664686135139295765432027153560598461589972523219970876048764263605385072846558138979410695263283436723795819749936298869629733885754380405293552951554248018338523862933278110049131111792477888007451534133694519797648709286837681549558235135639856222074605338489634655222341780048039966324013624302401090391595011077462555282587702669950720510047572110720022355583945737902393191417530355904864684514686083589233558409810569331377416983922386607960310165879036875161816637415611719601268127301986956088110556032607981930143972637860354756134494817601720717816880540330187822876112155436889663728626881438010883134476724020941093051927869881849985320024654243039856782905204990852015879595315962469380186943323565847050823297875741422603094472816484242240290243785520650512759964482686389175876608814679832488395605198592550183523227695326324405319213918836405829163433288721516691592464401780426918678712678566359382403598736803437089218194416547260565798719016237368522780663398147465400130525366093703741153740730666672158438685624352457229021962356229991191971318250920523218185693476105896703551775079542651896161265452199617211795522315929907395646527332413263943754129801436466974319834702834072148919264322454081750459895475104477616536838609829420698827304059941887830596458619634732807170576059221246507964888591019719797977539125941493193476568826575828467201554976985703195363813249443799091278368748023122746507243838701185788551895097555187799176505405330217221523438858770052561823484243062349027928194253313455936658290883075034994234670841334101876830842757559875559785336960995294225025590711035228135715921835886479635214597044456866850641935907674619887709756631997146089910706105350614066107662518278864879078188609934306561154439203820186577007063758335054868208097470677896322479230149468893532920886668062046508519338037367702546481906692666534263700579701097157684099440794072091751714916491351936398854188449078419239417576461940728251552665219271320031154864381081914286291446246407441412171120042675281401724510399879895551454109193833265775908426675338096712656946983397691325305991205325165437456433627793426115761717609823074027689024003258169697020781485149270323046705251108133559317163509160494936490719880315622808741104659691804694263424745347948804844535684592161072178886408741907438665899219084153326729659784189422120582613568611407111418747440942411997716486816008687947347765812981882029770967649609304814257180276768416178149729458451330956062884565286164625455908958003442623533507241840102403093505521093700581039327710259936108131519905723542645029376329370971230633299970846618310572688589209680410651838061589834725176701167511666867782761633723916061554499683831056078563875792795993435548942675754189912394664546776145094572633171346066631085860271623253147163049507137690906363879067117671882203031623686095154460524172675004074207470453267380396304129512273194827030030553734150726595395015555596412449195293143373754000470998909453484271698682840929769299525446336900245904959922214867236693272916644266224842367646165671888546176391688697464242473480563119282532994914118560530044282929092777092289297295282886335522645860631236865508320125629737964467760319515557023637159161157301387534028123269363779244538560277100181942752370716193293888169754073184110973259752294932453668403358688600730922141150108767150340928525165073926854276429979916485628800415665926169988981061363234930325828138070417399219948170895555129622235117039401738040897247746225923679766664907900266384520468299067019747580712810728628432960448834345005454492941970202466561765659601064228062077859526397359437870185538206495440555186683148867174514513090379560552113499628023502305380137970381434473232515469000739928340840152530854649249707331641656360534463623845195463365225831801928618554924169669604478814293979582949094281155555515219454524350384922556101029789696000000000000022904060 + } + }, + "kappa": "3146011/10000000000", + "predecessor_commit": "cf60442983c153a3a0f5272ea4713f99eba13c86", + "scope": "Exact local inventories, strict moments, contaminated fallback charge and semantic assembly. Local finite reconstruction is checked separately; group geometry, uniform weighted routing, borrowed rows and inherited analytic/tape contracts are written proof dependencies.", + "source_sha256": { + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "certificates/partial-gauge-bit-input.json": "367b9844db23f8fa64002637903bcc5ce28ffc8879d274b5c54c0390fb0234e4", + "certificates/partial-gauge-network.json": "e2e6c48bc283b1417c13adaa35c36d782191e21a33f7279a4ed1558ca60518be", + "certificates/stopped-product-network.json": "43ddb7ee033d316375102cf2d97bb2cf47f879f36a005d3726fa6647a2cbecc5", + "certificates/three-stage-cover-bit-input.json": "d0d496b64d45408d6e0773ebbcd4d5dcca918a596073a51e5fc186b82c3b8520", + "certificates/three-stage-cover-complex-input.json": "afecf8ce2d8eb259074e61cd0c386b464ca2f57c61b00979eac808fa26e0b770", + "certificates/three-stage-cover-input.json": "633e108352d3a880c3dc05e265f40270698ea7ebbe655706f5f8675070c86bd2", + "notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "notes/three-stage-cover-assembly.tex": "ccf34a6d37c4af14bebeab15be50ab204eb1caebe546385520050ec30089441d", + "notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "notes/three-stage-cover-complex.tex": "1c5b638aa9b75365b8addec9c8eeee6bc5e499722901079b94c65fce033fde8a", + "notes/three-stage-cover-note.tex": "db8078687825bcd43c6cc2fb69712ebb12840057b77cd5af8f67f53e4ffffa92", + "notes/three-stage-cover-rows.tex": "6ad97a5cd7d6aecf978a81226e1c2763d37840caca130c61f3bf5c4ac111c5c8", + "references/partial-gauge/pr97/SOURCE.json": "68fb539abcd6df21d142e4e204b6e9482eb7f9cd3907650f54bd058070266596", + "references/three-stage-cover/pr117/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "references/three-stage-cover/pr117/NOTICE": "a0030510cd3b5334fb113eae759aadd2c25951bd353dfb69ad9cb780ae5adf30", + "references/three-stage-cover/pr117/SOURCE.json": "74e9f4b4ae0529d21d19c159b2b50ee0923e93e0d7eb22cf208ad41dd5992275", + "references/three-stage-cover/pr117/dag.json.gz": "3c034d0aae388ef567a454826f4f48b26fd8a94c71e8ffed4835271b349a783b", + "references/three-stage-cover/pr117/replayed.py": "99c1e3694ae06a7ce7a370b04ecb45ea3fcfe69a6e6e7f4c4606e0a6c74c3184", + "scripts/partial_gauge/binary.py": "b29e2f37d7f32a959a378190d7f1da3c2da534fbdaf878044800301957bffc03", + "scripts/partial_gauge/lift.py": "895874399113faa090d168d6168f0664136df6e21205671e7f7f9239cad93d1d", + "scripts/partial_gauge/match.cpp": "12b8b7c93bb78324e7328e624b166be2067ae8861540531c024040220d86f368", + "scripts/partial_gauge/word.py": "96015b7b08a261673ab8be1ea47f89302f8a1d62a822d657a09f6a1fcfb51e58", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/three_stage_cover/README.md": "b39a28fa8da5d7d3188dfed4c0e0af1e2397f0f5c8f69cfb69671ed27ddca4bb", + "scripts/three_stage_cover/__init__.py": "b964b59af038e70cc15af655a22bcf6aaafc9c842b213765781bc8bea7166430", + "scripts/three_stage_cover/lift.py": "ae5f4c56cd32b5232d6dcdcaed1e24efb81fe20467a2d915ee51479bced06cfc", + "scripts/three_stage_cover/select.py": "457e636ced9bbd368198f78e015660a929ba1aaccbe34122d18da09ebb488f33", + "scripts/three_stage_cover/verify.py": "4bd2347e87e4edb699968bc31dfb94f2ab89bf1227576e59f43c779ba74e4e06", + "scripts/three_stage_cover_network.py": "7e0ad6fd1921b6905a53ce1eeaa03d3bb3a8a8bbaa0382516ea98b636f46335e", + "scripts/three_stage_cover_producer.py": "ea6dd4f06173304bbcb74b8e5bcc02357b7bb162a6d26b4a6f7a9e886158123f" + }, + "status": "Conditional three-stage cover multiplication witness" +} diff --git a/docs/paired-cube.md b/docs/paired-cube.md new file mode 100644 index 0000000000..8fa50de6aa --- /dev/null +++ b/docs/paired-cube.md @@ -0,0 +1,76 @@ +# Paired-cube and shared-core reproduction + +This extension inherits PR #130 at +`6a9970a530119174507904e23592fd59ede19a5d` and gives the conditional saving +`4611281/10000000000 = 4.611281e-4`. + +From the repository root with Python 3.11+: + +```sh +make paired-cube-verify +``` + +The selected incremental target uses only the Python standard library. +CI runs it in its own `paired-cube` matrix group. The checks are: + +- Rebuild the selected signed H-channel graph from exact zero restrictions of + the pinned PR #117 positive DAG. Replay the frozen 6,074 carrier arcs, + coordinate frames, full backward intersections, signed physical mixer, + center closure and 4,840 rank-20 partial gauges. Independent checks cover + every scalar coefficient of `H+K+B=I`, the original-source K involution and + inverse, actual frame containment and reverse target chains. +- Reconstruct the bit subset from the existing PR #97 witness and readout + order. Check the retained 9,543 and omitted 2,022 slots, moved zero-frame + dirty reads, changed first transitions and target subsequences. Unchanged + complete-basis and rational-frame suites remain inherited checks. +- Rebuild both shared-core child lists and certify strict moments, full + rare-class fallback, stopped bit saving, actual finite group/router charge, + semantic guard, row stock, 47 strict inequalities and seven assembly margins. + +For arithmetic and the selected bit reconstruction alone: + +```sh +make paired-cube-certificate +``` + +The new [proof](../notes/paired-cube-note.tex) supplies the original-source +schedule, complete dirty cores, orthogonal sharing and paid final corrections. +The completed core excludes the old independent-bank exterior tail; replacing +that tail is justified by the exact core operator, not by subtracting a rank +histogram term. The general Clifford, uniform weighted bit and restored-row +proofs from PR #130 are retained. + +The complex cover is specified mathematically and not materialized by the +verifier. Its full group order and finite routing allowance remain in the +certificate. The new signed dirty-response matrix is charged by a numerator +bitlength bound and binary expansion, without a positivity assumption. +Finite checks do not formalize the all-size analytic/tape theorem. + +To save a compact report and retain generated local files outside the repo: + +```sh +python3 scripts/paired_cube_producer.py --output /tmp/paired-cube-verification.json --work-dir /tmp/paired-cube-work +``` + +The compatible matching is frozen because different maximum-matching +implementations may choose different optima. No SciPy dependency or matching +optimality claim is needed. Only compact arcs, source pins and generators are +submitted; raw graph/frame dumps and unselected research are excluded. + +The contribution map in `SOURCES.json` and `NOTICE` explicitly credits an664's +PR #128 sharing principle, eumemic's PR #117 DAG and the PR #97 / Swapnil word. +Their source-specific legal and assistance notices remain unchanged. Proof +sources are included without a PDF. + +## Shared source bindings + +The final `Makefile`, `README.md` and `NOTICE` changes also update the inherited +joint-dual manifest. Explicitly refresh its hashes, regenerate joint arithmetic +and update the validation receipt's certificate digest. Its mathematical +fields and previous complete replay payload must remain equal when their +producer/verifier inputs are unchanged. The complete affected replay command, +when needed, is `make verify-joint`. + +Stage the final artifacts before the deterministic certificate regeneration +and require `git diff --exit-code` to remain clean. CI checks the committed +hashes and never silently refreshes source pins. diff --git a/docs/partial-gauge.md b/docs/partial-gauge.md new file mode 100644 index 0000000000..dd5c670a51 --- /dev/null +++ b/docs/partial-gauge.md @@ -0,0 +1,65 @@ +# Partial-gauge reproduction + +This extension inherits PR #104 at +`948ce1510df750f4c18b96bdaef436a86f8bf834` and gives the conditional saving +`7237/78125000 = 9.26336e-5`. Proofs are supplied as LaTeX source. + +From the repository root, with Python 3.11+ and a C++17 compiler: + +```sh +make partial-gauge-verify +``` + +CI runs this extension in its own `partial-gauge` matrix group. The +incremental target performs three checks: + +- `partial_gauge_bit.py` checks pinned PR #97 source hashes, reconstructs + auxiliary and data ranks from its actual frozen paths, matches the physical + ledger receipt, and rebuilds the whole-projector child list. The unchanged + upstream complete-basis scalar and rational frame audits are inherited. +- `partial_gauge_producer.py` rebuilds the selected h24 interval/cube DAG, + compatible matching, backward enlarged frames, physical word and partial + source gauges. Independent checks cover exact supports and signed decoder, + frame nondegeneracy and nesting, center closure, untouched source roles, + reverse readout order and every positive-rank transition. The deterministic + construction also reproduces the complete histogram, including zero-rank + no-ops; see [the producer guide](../scripts/partial_gauge/README.md). +- `partial_gauge_network.py` certifies both strict moments, the stopped + ordinary-bit saving, denominator-21 semantic charge, product row stock, + all 47 strict constraints and seven assembly margins. It writes the + deterministic, source-bound `certificates/partial-gauge-network.json`. + +For arithmetic and the pinned bit profile alone: + +```sh +make partial-gauge-certificate +``` + +Generated complex graphs are temporary by default. To retain them and a +compact report outside the repository: + +```sh +python3 scripts/partial_gauge_producer.py --work-dir /tmp/partial-gauge-work --output /tmp/partial-gauge-verification.json +``` + +The selected proof is [partial-gauge-note.tex](../notes/partial-gauge-note.tex). +The source notices and compact PR #97 witness remain under +`references/partial-gauge/`. Unselected experiments, large generated graphs, +recursive handoff copies and PDFs are excluded. + +## Shared source bindings + +The joint-dual manifest also binds `Makefile`, `README.md` and `NOTICE`. +This round refreshes those three digests and the two derived certificate +digests. Its producer, physical words, frame profiles and mathematical +certificate fields are unchanged from PR #104's successful local replay. +Incremental validation checks that equality and reruns the joint arithmetic; +it does not repeat the unchanged graph and complete-basis suites. + +After reviewing changes to those shared files, the explicit manifest refresh +is `python3 scripts/experiments/pin_joint_dual_sources.py`. Its derived +`joint-dual-kappa.json` and `joint-dual-validation.json` must also be updated. +The full affected replay command, when needed, is `make verify-joint`. +CI checks the committed source bindings and requires deterministic output; +it never silently repins sources. Stage the final artifacts before the +reproducibility check and require `git diff --exit-code` to remain clean. diff --git a/docs/reproducibility.md b/docs/reproducibility.md index e48f4190cd..f12e9752a1 100644 --- a/docs/reproducibility.md +++ b/docs/reproducibility.md @@ -1,5 +1,22 @@ # Reproducing the result +For the paired-cube/shared-core extension, run `make paired-cube-verify`. +The [incremental guide](paired-cube.md) covers the signed producer, selected +bit gauges, exact moments and assembly. + +For the three-stage cover extension, run `make three-stage-cover-verify`. +The [incremental guide](three-stage-cover.md) covers the new PR #117 local +word, cover moments and exact assembly. + +For the partial-gauge extension, run `make partial-gauge-verify`. Its +[incremental guide](partial-gauge.md) separates the pinned PR #97 bit input, +new complex producer and exact assembly. + +For the new stopped product-ring extension, run `make stopped-product-verify`. +Its [incremental reproduction guide](stopped-product.md) covers the h24 +rational-center producer, new moments, stopping parameters and assembly. +The community checkpoint and historical targets below retain their own scope. + The selected release is documented in the [joint-frame community review](research/community-round2-review.md) and [current status](research/current-status.md), with the [selected parameter certificate](../research/matrix-exponent-synthesis/candidate/arithmetic.json). diff --git a/docs/stopped-product.md b/docs/stopped-product.md new file mode 100644 index 0000000000..5bc1cbc88e --- /dev/null +++ b/docs/stopped-product.md @@ -0,0 +1,67 @@ +# Stopped product-ring reproduction + +The extension gives the conditional saving `194869/2500000000 = 7.79476e-5`. +It starts from merged PR #36 and is submitted on upstream main at +`56b66d58297deca1d7dd130247d720e960f77a37`. + +From the repository root, with Python 3.11+, Make and a C++17 compiler: + +```sh +make stopped-product-verify +``` + +The incremental checks: + +- Match the unchanged positive-label h23 bit producer to its verified + copied-center input, preserving the same matching and histogram. +- Rebuild only the new h24 all-disjoint complex producer with aligned pair + stars, exact rational center decoding, support and binary-frame checks, + then reproduce every matching count and histogram entry. +- Reconstruct both child lists and strict rational moments; derive the + stopped ordinary-bit saving and check that the atom-adapter toll is lower. +- Check the denominator-21 semantic charge, product row stock `p^4000`, + seven assembly margins and all 47 strict constraints. + +Intermediate DAGs and the matcher executable are temporary. To retain them: + +```sh +python3 scripts/stopped_product_producer.py --work-dir /tmp/stopped-product-producers +``` + +For arithmetic alone, use `make stopped-product-certificate`. The inherited +`make verify-producers` also includes this target; the full `make verify` +retains the community and historical checks. Those unchanged suites are +not part of this round's local incremental validation. + +The [proof](../notes/stopped-product-note.tex) is supplied as LaTeX source; +no PDF is generated. Its common-basis factorization, atom streaming and +stopping argument, outer ordinary conversion and shared exact rational +grid are written proofs. Finite checks verify the selected scalar data and +arithmetic, not the complete all-size theorem. + +[SOURCES.json](../SOURCES.json) and [NOTICE](../NOTICE) preserve contribution +credits and source pins. Existing two-stage, ordinary-leaf and semantic +proof dependencies remain in `references/copied-centers/` and +`references/semantic-bulk/`. Research alternatives, raw binary DAGs and +recursive predecessor copies are excluded from this submission. + +## Shared source bindings before submission + +The inherited `research/joint-dual/SOURCE.json` also binds the repository's +`Makefile`, `README.md` and `NOTICE`. Adding a verification target or editing +those documents therefore affects the joint-frame check even when its +mathematical construction is unchanged. + +After reviewing such source changes, refresh the manifest and regenerate +its dependent certificate and validation receipt: + +```sh +python3 scripts/experiments/pin_joint_dual_sources.py +make verify-joint +``` + +Include `research/joint-dual/SOURCE.json`, `certificates/joint-dual-kappa.json` +and `certificates/joint-dual-validation.json` in the same submission. Check +that their changes are the expected source bindings, then rerun the affected +check against the staged artifacts and require a clean diff. CI verifies +the committed bindings; it does not refresh them automatically. diff --git a/docs/three-stage-cover.md b/docs/three-stage-cover.md new file mode 100644 index 0000000000..38554e1fb3 --- /dev/null +++ b/docs/three-stage-cover.md @@ -0,0 +1,74 @@ +# Three-stage cover reproduction + +The extension inherits PR #115 at +`cf60442983c153a3a0f5272ea4713f99eba13c86` and gives the conditional saving +`3146011/10000000000 = 3.146011e-4`. + +From the repository root, using Python 3.11+ and a C++17 compiler: + +```sh +make three-stage-cover-verify +``` + +CI runs this target in its own `three-stage-cover` matrix group. Its +incremental scope is: + +- Rebuild the new pinned PR #117 local DAG, compatible matching, full backward + subspace intersections, actual scalar word and partial source gauges. + Independently check scalar supports, signed coefficients, divisor 21, + carrier containment, center closure, untouched source roles, actual frame + transitions and reverse target chains. Intermediate frames can be + degenerate; their validity follows from the new general Clifford proof. +- Reconstruct the unchanged PR #97 local physical ranks from its pinned + paths, then compose the new three-stage bit inventory. The unchanged + upstream complete-basis and rational-frame suites are inherited checks. +- Certify the bit moment with the full rare-class local-ring fallback, + stopped ordinary saving, complex moment, full finite group order and + router charge, exact semantic guard, row reserve, 47 strict inequalities + and seven assembly margins. + +For the moments and arithmetic alone: + +```sh +make three-stage-cover-certificate +``` + +The group is specified by a written construction; verification does not +materialize its vertices. The complex group size and finite routing allowance +remain in the certificate. The bit group depends on atom width; its uniform +batching, weighted children and internally borrowed rows are proved in +`notes/three-stage-cover-bit.tex` and `notes/three-stage-cover-rows.tex`. +Finite arithmetic does not by itself verify those all-size interfaces. + +To retain regenerated local files outside the repository: + +```sh +python3 scripts/three_stage_cover_producer.py --work-dir /tmp/three-stage-cover-work --output /tmp/three-stage-cover-verification.json +``` + +The [main proof](../notes/three-stage-cover-note.tex) includes +[general Clifford frames](../notes/general-clifford-frames.tex), exact data +chronology and phases, complete dirty cleanup, weighted factorization, +fallback, row restoration and final composition. Sources are included +without a PDF. `SOURCES.json`, `NOTICE` and `references/three-stage-cover/` +retain the adopted author's source pins and original legal notices. + +The previous submitted production code and certificates remain unchanged. +Unselected round7/round8 research and large generated graphs are excluded. +Only the new selected local construction and changed cover/assembly are +verified this round. + +## Shared source digests + +Changes to `Makefile`, `README.md` and `NOTICE` also affect the inherited +joint-dual source manifest. After reviewing their final content, explicitly +run `scripts/experiments/pin_joint_dual_sources.py`, regenerate the joint +arithmetic certificate, and update its validation receipt's certificate +digest. The unchanged mathematical fields and prior replay payload must +match the preceding submission. A full producer replay is required when +those producer or verifier inputs change; the full command is +`make verify-joint`. + +The final reproducibility check runs against staged artifacts and requires +`git diff --exit-code` to remain clean. CI verifies committed hashes and +does not silently refresh source pins. diff --git a/notes/general-clifford-frames.tex b/notes/general-clifford-frames.tex new file mode 100644 index 0000000000..0367eeb005 --- /dev/null +++ b/notes/general-clifford-frames.tex @@ -0,0 +1,102 @@ +\subsection{Preimage frames for arbitrary binary subspaces} +This frame construction is due to icekylinx with OpenAI GPT-6 Astra assistance; +the present exposition and integration use Codex. +Let $H=\mathbb F_2^h$ with the standard dot product. In the binary +symplectic space $H\oplus H$ put +\[ + L_0=\{(0,z)\},\qquad + F=\begin{pmatrix}I&I\\0&I\end{pmatrix},\qquad + L_F=FL_0=\{(z,z)\}. +\] +We also write $F$ for the exact Gaussian-dyadic operator $C^{\otimes h}$. +Its exact square is a Pauli translation; only its binary symplectic square +is the identity. For an exact Clifford operator $T$ the frame label is +$L(T)=T^{-1}L_0$. The physical transition from $T$ to $S$ is $ST^{-1}$, +and its Fourier rank is +$d(L(S),L(T))$, where $d(L,L')=h-\dim(L\cap L')$. +This follows by transporting the intersection by $S$: the intersection +with $L_0$ computes the kernel dimension of the $B$ block of $ST^{-1}$. + +\begin{lemma} +For every subspace $U\subseteq H$, including degenerate subspaces, +\[ + L_U=\{(u,u+v):u\in U,\ v\in U^\perp\} +\] +is Lagrangian, and +\[ + d(L_U,L_V)=\dim U+\dim V-2\dim(U\cap V),\qquad + FL_U=L_{U^\perp}. +\] +\end{lemma} +\begin{proof} +The displayed parametrization is injective and has dimension $h$. +Its symplectic pairing is $u\cdot v'+v\cdot u'=0$. +In an intersection, $u$ belongs to $U\cap V$ and $v$ to +$(U+V)^\perp$, giving the asserted dimension and distance. +Finally $F(u,u+v)=(v,u+v)$ proves the complement identity. +\end{proof} + +\subsection{Exact representatives and nested children} +Choose a deterministic invertible binary matrix $G$ carrying the first +$r=\dim U$ coordinate space $E_r$ to $U$, and set +\[ + K_G=\begin{pmatrix}G&0\\G+G^{-T}&G^{-T}\end{pmatrix},\qquad + T_U=K_G T_{E_r}K_G^{-1}. +\] +Here $T_{E_r}$ is the exact coordinate $C$ operator, and the $K_G$ are +exact Gaussian-dyadic Clifford lifts. The matrix $K_G$ is symplectic +because $G^TG+I$ is symmetric. It fixes both $L_0,L_F$ and maps $L_V$ +to $L_{GV}$. Thus both $K_G$ and $FK_GF^{-1}$ have Fourier rank zero; +their lifts are fixed binary address permutations with unit quadratic +phases. In particular, +\[ + L(T_U)=L_U,\quad \operatorname{rank}B(T_U)=r,\quad + \operatorname{rank}B(FT_UF^{-1})=r,\quad T_U^2\text{ is Pauli}. +\] +Set $V_U=GE_r^\perp$, a direct complement of $U$. The binary action gives +$T_U^{-1}L_F=L_{V_U}$ and hence +$\operatorname{rank}B(FT_U^{-1})=h-r$. +No assertion $V_U=U^\perp$ is needed. +For the norm-one source lines and their orthogonal target hyperplanes, +retain the inherited exact representatives; set $T_0=I,T_H=F$. +At every common scalar gate use one identical exact representative on all +incident registers. If separately transported representatives have the +same preimage, their physical ratio has rank zero and is implemented as +an actual left adapter before the gate. + +For $U\subseteq V$, the exact transition $T_VT_U^{-1}$ has rank +$\dim V-\dim U$. Clifford elimination expresses it as two rank-zero +adapters surrounding that many coordinate Fourier factors. These factors +are a single $C^{\otimes r}$ child: the scaled Hadamard satisfies +\[ + \frac{1+i}{2}\begin{pmatrix}1&1\\1&-1\end{pmatrix} + =SCS,\qquad S=\operatorname{diag}(1,i). +\] +Thus no new irrational field is introduced. All adapters are charged +finite movement and scalar operations. Exact transitions telescope; +commutativity between distinct $T_U$ is unnecessary. + +\subsection{Dirty tails and reverse/complement words} +A dirty role entering with gauge $T_\sigma$ and whose last active frame +is $T_U$, with $\sigma\subseteq U$, is assigned terminal gauge +$FT_\sigma$. Its logical value is restored by the complete transparent +scalar word, so its physical action is exactly $F$. The tail is +$FT_\sigma T_U^{-1}$. Its rank is +\[ + d(L_U,L_{V_\sigma})=h-\dim U+\dim\sigma. +\] +Indeed $H=\sigma\oplus V_\sigma$ and $U\supseteq\sigma$ imply +$\dim(U\cap V_\sigma)=\dim U-\dim\sigma$. +An inactive exterior adds $m-h$, giving $m-\dim U+\dim\sigma$. + +For the complete time-reversed word use +\[ + D_U=T_UF^{-1},\qquad L(D_U)=L_{U^\perp},\qquad + D_UD_V^{-1}=T_UT_V^{-1}. +\] +The last equality is exact, so reversal preserves every inverse transition +rank. Reverse the scalar signs and the whole transparent word, including +old-value corrections and final cleanup. The endpoints $D_0=F^{-1}$ +and $F$ differ by a Pauli, and the inherited norm-one endpoints are +reconciled by actual rank-zero adapters. Neither equality of binary +matrices nor equality of frame cosets substitutes for these operators. diff --git a/notes/paired-cube-assembly.tex b/notes/paired-cube-assembly.tex new file mode 100644 index 0000000000..7723490c39 --- /dev/null +++ b/notes/paired-cube-assembly.tex @@ -0,0 +1,130 @@ +\subsection{Strict suppliers and full finite group} +The selected local complex profile has +\[ + h=24,\quad v=1760,\quad c=24767,\quad q_{\rm roots}=7724, + \quad |\mathcal M|=6074,\quad R=26417,\quad\ell=528. +\] +The exact signed graph, frozen carrier arcs, coordinate frames and +chronological gauge list are reconstructed by +\path{scripts/paired_cube_producer.py}. Its complete shared inventory has +$m_c=72$, $w_c=29937$, $s_c=2153528$, deficit 1936 and largest child 60. +For $a_c=4856569/10^{10}$ the rational moment satisfies +\[ + \frac1{w_c}\sum_r n_r(r/72)^{1-a_c} + <1-2.0094617553\times10^{-10}. +\] +The bit subset has $m_b=69$, $w_b=32408$, $s_b=2234128$ and deficit 2024. +At coarse saving $a_0=4617656/10^{10}$ its moment includes the entire +$32\cdot69^2$-child local-ring fallback on a fraction $10^{-16}$ of every +ideal edge. Its gap exceeds $1.4386017949\times10^{-10}$; the rank moment +also contracts. With the tightened atom exponent $5\times 10^{-4}$, +\[ + a_b=\left(1-\frac1{2000}\right)a_0+\frac1{2000}\frac{384599}{10^{10}} + =\frac{46155394715}{10^{14}}. +\] +Both adapter and internally borrowed-row tolls are lower order since +$a_b<5\times 10^{-4}<1-a_b$. The weighted compiler, residue bound, full fallback +and ordinary outer wrapper are retained from +\path{notes/three-stage-cover-bit.tex} and +\path{notes/three-stage-cover-rows.tex}, now with ambient dimension 69. +Sharing routers are fixed right multiplications, batched on the same +complete high matrix field; the fresh-selector contract is unchanged. + +For the complex cover $V=|O(72,2)|$ the retained even-dimensional group +formula gives +\[ + V=2^{1296}\prod_{i=1}^{35}(2^{2i}-1). +\] +It has 2,556 bits, and full role stock $W=Vw_c$ has 2,571 bits. +Its full rank is $s=Vs_c$ and $N=Vv$. +The least halving degree for $72\to60$ is four, contributing 10,284 to +the row coefficient. Including the conservative preceding bit reserves, +\[ + 10284+9909+252=20445,\qquad + 70000-\frac{51}{25}\,20445=\frac{141461}{5}>0. +\] +Thus the fixed external reserve $p^{70000}$ suffices. The q-adic bit +selector stock is borrowed and restored internally, not multiplied into +this external polynomial reserve. + +\subsection{Literal charge, sharing routers and exact precision} +Let $M=49424$ be the actual local mixer-operation count. Put +\[ + L=4(c+v)+10v+4hv+4h^2+8h+8+2h + +8Rv(M+16)+32v. +\] +The last term pays both original-source involutions and their inverses. +Every mixer update has signed unit coefficients. Starting from the identity, +each entry of its exact matrix is therefore bounded by $2^M$. +There are $q_{\rm roots}=7724$ decoder roots; after clearing denominator +six, their scatter coefficients have absolute numerator at most three. +Thus each numerator of $6JM$ is bounded by +$3q_{\rm roots}2^M<2^{M+15}$. Including the sign, $M+16$ bits suffice. +Binary expansion pays each direct dirty readout inside the displayed +$8Rv(M+16)$ allowance. No positivity or small-coefficient claim is made +for the full dirty-response matrix. The remaining elementary coefficients, +including the original-source blocks, are bounded by $h+4$ with +scalar denominators dividing six. +Charge every logical group and completed-core sharing permutation by +\[ + K=3VL+8W+4N+8m_cRV,\qquad + G=64(m_c+1)^3(K+1)(W+1)^2. +\] +A full $W$-role permutation costs at most $W^2$ elementary exchanges; +the polynomial factor also pays its fixed binary matrix and phase +adapters. This finite charge is not removed by normalization. +Define +\[ + E=64(W+m_c+G+1)^3,\quad B=s+E,\quad C_0=32m_cB^2. +\] +The exact receipt proves +\[ + 2GW^2+8s+4W+4+32m_ca$, so the actual bit saving is available without further +weakening. All 47 strict constraints hold. The seven final savings are +\[ + 1-\epsilon(1+c_0),\ a,\ g,\ a,\ + \min(1-\epsilon-\delta,r-\delta),\ 1-\epsilon-\delta,\ \epsilon. +\] +Their minimum $g$ exceeds $4611281/10^{10}$ by more than +$1.6217067215\times10^{-10}$. +\begin{theorem} +Under the retained analytic, semantic-precision, exact-recovery, +uniform-recursion and fixed-tape interfaces, the selected construction gives +\[ + T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad + \boxed{\kappa=\frac{4611281}{10000000000}=4.611281\times10^{-4}}. +\] +\end{theorem} +\begin{proof} +The source schedule completes the paired-cube identity shear with arbitrary +dirty restoration. The shared cores and their paid corrections give the +completed full tensor on every role. The selected bit word supplies the +ordinary interchange with its restored internal rows. The literal finite +guard and external reserve satisfy the unchanged precision and row +contracts. Substitution into the retained semantic/bulk transfer gives the +seven savings above; their strict excess absorbs its fixed logarithmic +overheads and proves the conditional bound. +\end{proof} diff --git a/notes/paired-cube-bit.tex b/notes/paired-cube-bit.tex new file mode 100644 index 0000000000..dd84535b21 --- /dev/null +++ b/notes/paired-cube-bit.tex @@ -0,0 +1,61 @@ +% Copyright 2026 icekylinx. Apache-2.0. +% Construction with GPT-6 Astra; integration with OpenAI Codex. +% Retained PR97 ledger: Zhihao Chen; frozen scalar/frame witness: Swapnil Jain. +% Their original licenses, credits and assistance disclosures remain pinned. +\subsection{Selected inherited bit gauges} +The bit supplier uses the pinned PR97 word at $h=23$, with $v=1771$ data +ports and $R=28866$ dirty roles. Its compressed witness, frame reader, +physical-ledger receipt and original notices remain under +\texttt{references/partial-gauge/pr97/}. The finite selection in +\texttt{references/paired-cube/pr97-subset/selection.json} retains $9543$ +of the $11565$ certified entrance gauges, in their original readout order, +and omits $2022$. This selects actual inherited frames, rather than +optimizing an unattached multiset of ranks. + +For an omitted role with entrance frame $\sigma_s$ of dimension $f_s$, +perform its old-value correction at the common initial zero frame, +before any positive-rank operation. Its exact scalar coefficients are +the coefficients of the original word's adjoint, including copied-center +readouts. Both ends of each moved dirty read have frame zero, so arbitrary +dirty inputs are allowed. Its subsequent first-use frame is unchanged. +All ordinary scalar operations, positive-rank $V$ injections, source-data +paths, copied centers and later role frames retain their pinned values. +Retained dirty readouts form the original subsequence. Deleting members +of a certified nested target chain preserves actual subspace nesting; +dimension monotonicity alone would not establish that assertion. + +If the original first-use dimension of an omitted role is $r_s$, its +first auxiliary transition changes from $r_s-f_s$ to $r_s$, and its +shared-core exterior child of width $3f_s$ disappears. Target chains +retain precisely the positive integer adjoint supports of the chosen +readouts. This is the inherited conservative support convention; an even +coefficient would merely give a zero bit read with a retained frame. +The source histogram and all $23$ copied-center transitions of width $22$ +are unchanged. The selected gauge dimensions have multiplicities +\[ + (22,1760),\ (21,1596),\ (20,1307),\ (19,3871),\ + (18,806),\ (17,131),\ (16,72). +\] + +In the cross-stage orthogonal sharing architecture, $m=3h=69$ and +$W=2v+R=32408$ per cover vertex. There are three copies of each local +auxiliary, source, target and copied-center transition, one exterior child +of width $3f_s$ per selected gauge, and $2v$ final children of width $2$. +Consequently the selected profile has +\[ + \ell=h(h-1)=506,\qquad + \sum_r r C_r=2234128=Wm-2024,\qquad + 2024=2v-3\ell. +\] +Its largest child is $66$. The strict supplier moment below also charges +the retained rare-class fallback and stopped atom wrapper. + +\texttt{scripts/paired\_cube\_bit.py} reconstructs this profile from the +existing pinned inputs. It checks their hashes, the exact selected slot +partition and inherited order, the integer target-incidence sweep, the +initial zero-frame corrections, and the changed transition histogram +against a direct reconstruction of the modified role chains. The +incremental review finds $72$ changed transition types and $9594$ moved +old-value reads. It repeats neither the complete-basis scalar replay nor +the inherited exact rational frame and lifted-witness audits. The +original frozen witnesses and scripts remain unchanged. diff --git a/notes/paired-cube-construction.tex b/notes/paired-cube-construction.tex new file mode 100644 index 0000000000..9dd1f10cb7 --- /dev/null +++ b/notes/paired-cube-construction.tex @@ -0,0 +1,140 @@ +\subsection{The selected paired-cube identity} +Let $h=2p$ and partition the binary address coordinates into $p$ pairs. +A port $S$ selects one coordinate from each of three distinct pairs; +thus $v=8\binom p3$. Its address $q_S=\chi_S$ has norm one. +Ports with the same three pair labels form an eight-port cube. +Define the rational scalar matrix +\[ + B_{T,S}=\frac{|T\cap S|-1}{2},\qquad + B_{\rm block}=\bigoplus_{\text{cubes }I}B|_I,\qquad + K=I-B_{\rm block},\quad H=B_{\rm block}-B. +\] +Consequently $K+H+B=I$. If distinct addresses are not orthogonal, +their intersection has size one, and $B_{T,S}=0$; also $B_{S,S}=1$. +Thus the side terms $K,H$ use only orthogonal source--target pairs. + +Within a cube let $P$ be antipodal permutation and $A$ distance-one +adjacency. Directly from intersection sizes, $K=(P-A)/2$. +Its Walsh eigenvalue in degree $d$ is +$((-1)^d-(3-2d))/2$, namely $-1,-1,1,1$ for $d=0,1,2,3$. +Hence $K^2=I$; its two opposite-parity $4\times4$ blocks are signed +Hadamard matrices divided by two. + +\subsection{A scalar producer with actual geometric supports} +For an input cube $I$ with selector $\epsilon$, form its total $F_I$, +its six half-cube sums $A_{I;i,a}$, and its twelve two-input edge sums +$E_{I;i,j;a,b}$. Use six signed channels +\[ + G_{I;i,j;0}=E_{I;i,j;0,0}-E_{I;i,j;1,1},\qquad + G_{I;i,j;1}=E_{I;i,j;0,1}-E_{I;i,j;1,0}. +\] +These require 25 binary additions per cube before sharing: twelve for +$E$, six for $A$, six for $G$, and one for $F$. +For a distinct target cube $J$ with selector $\eta$, the contribution of +$I$ to $H$ is respectively +\[ + \frac12F_I\quad(|I\cap J|=0),\qquad + \frac12A_{I;i,1-\eta_i}\quad(I\cap J=\{i\}),\qquad + \frac{2\eta_i-1}{2}G_{I;i,j;\eta_i\oplus\eta_j} + \quad(I\cap J=\{i,j\},\ i0}s_a\,\mathbf1_{r=3a}. +\] +Thus all three copies of the actual local word remain paid. In the local +auxiliary ledger the entrance gauges subtract $\sum_a as_a$ from the +forward/complement core rank, and copied centers add $\ell$; +the two data banks contribute $2v(h-1)$. Consequently +\begin{align*} + \sum_r rn_r + &=3\bigl(Rh-\sum_a as_a+\ell+2v(h-1)\bigr) + +4v+3\sum_a as_a\\ + &=mW_0-2v+3\ell. +\end{align*} +For the selected complex word, +\[ + m=72,\quad W_0=29937,\quad + \sum_r rn_r=2153528,\quad mW_0-\sum_r rn_r=1936. +\] +The 4,840 exterior children have width 60; all local internal children +have width at most 22, and final data children have width two. +Hence the largest child is 60. Full stock is $W=|\mathcal G|W_0$; +the group factor cancels from the normalized moment, not from routing, +scalar work, row stock or the finite semantic guard. + +The substantial completed-core sharing idea is adopted from an664's +\href{https://github.com/CrocSwap/integer-mult-bounds/pull/128}{PR128}, +commit \texttt{530588a019b4a74f09180680c9e3961bf649ec89}, whose source +reports OpenAI Codex assistance. The orthogonal cross-stage routing, +its integration with this paired-cube motif and its exact degenerate-frame +ledger are supplied here; this does not claim priority for the sharing idea. diff --git a/notes/partial-gauge-assembly.tex b/notes/partial-gauge-assembly.tex new file mode 100644 index 0000000000..4a09f324a3 --- /dev/null +++ b/notes/partial-gauge-assembly.tex @@ -0,0 +1,101 @@ +\subsection{Literal two-stage inventory and semantic precision} +Let $B_a$ count selected gauges of dimension $a$, and $H_r$ the remaining +internal histogram, including each residual first transition. Let $D_r^x$ +and $D_r^y$ be the source and target data-chain histograms. Put +\[ + m=h^2=576,\quad N=v^2=4096576,\quad + W=2N+2vR=147067888. +\] +The child inventory consists of $2v(R-\sum_aB_a)$ exteriors of width +$m-h$, $2vB_a$ exteriors of width $m-h+a$, $2vH_r$ internal children, +$2v(D_r^x+D_r^y)$ data-chain children, $2N$ connectors of width +$(h-1)^2$, and $N$ paid correction children of width one. Zero-width +transitions require no recursive call. Per-role telescoping gives +\[ + s=\sum_r rn_r=Wm-N+2v\ell=84709241408, + \qquad r_{\max}=574. +\] +Writing $F$ for the full transform and $T$ for the source-line transform, +the retained signed endpoint is +$X'=-Fy$, $Y'=FT^{-2}x+FT^{-1}y$. +Pretranslate the initial $x$ bank by the fixed Pauli translation $T^2$, +then add $T^{-1}X'$ to $Y'$ using the paid rank-one copy. Sign and bank +corrections yield both $F$ outputs. The translation $T^2$ is retained. + +The rational logarithm and exponential enclosures in +\path{scripts/partial_gauge_network.py} prove, for $b=92651/10^9$, +\[ + \frac1W\sum_r n_r(r/m)^{1-b} + <1-4.1393037848\times10^{-11}. +\] +The finite receipt supplies a scalar-operation bound +$G=401572403009697216$, including direct rational dirty reads and the +signed correction. Set +\[ + E=64(W+m+G+1)^3,\quad B=s+E,\quad C_0=32mB^2. +\] +It verifies $2GW^2+8s+4W+4+32ms+E$. Thus the inherited completed-child induction applies +with semantic $C_1=1$. On one exact grid $2^{-P}21^{-K}$, +$K=G(D_c+1)$, unfinished calls can accumulate at most $K$ odd-denominator +factors. Completed children are Gaussian-dyadic $C^{\otimes u}$ and add +none. The root dyadic-input divisibility invariant makes each local +21-division exact; only the outer boundary scales and unscales, at cost +$O(V_{\rm bits}\log d)$. No recursive boundary rounds or re-encodes values. + +\subsection{Joint rows and conditional transfer} +The coarse bit, ordinary leaf and complex families have respective +halving-degree and wire-bit pairs $(367,27),(9,28),(200,28)$. +Their product stock has coefficient +\[ + 367\cdot27+9\cdot28+200\cdot28=15761, + \qquad40000-\frac{51}{25}\,15761=\frac{196189}{25}>0. +\] +One $p^{40000}$ reserve, one preceding prefix and one final padding suffice +under the retained eventual row contract. Sequential calls reuse restored +rows and preserve complete spectators. + +Choose +\[ + \eta=10^{-8},\quad\beta=10^{-6},\quad + a=(1-\beta)b-10^{-10}=\frac{92650807349}{10^{15}}, + \quad\tau=1-a,\quad\sigma=1-b, +\] +\[ + q_0=a(1-2\eta),\quad c=q_0(1+\eta),\quad + \epsilon=\frac{1-\eta}{1+c+q_0},\quad + \lambda'=1-q_0,\quad\lambda=(\tau+\lambda')/2, +\] +\[ + g=\epsilon q_0,\qquad r=(g+1-\epsilon)/2,\qquad\delta=\eta/8. +\] +Here $a0. +\] +\begin{theorem} +Under the retained analytic, semantic-precision, exact-recovery and +fixed-tape interfaces, the selected construction gives +\[ + T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad + \boxed{\kappa=\frac{7237}{78125000}=9.26336\times10^{-5}}. +\] +\end{theorem} +\begin{proof} +The stopped word supplies the required ordinary interchange contract; +the signed framed program supplies the exact completed complex tensor +contract. The common grid and product reserve meet the retained precision +and row requirements. Substitution of the displayed parameters into the +unchanged semantic/bulk transfer yields its seven savings. Their strict +excess over $\kappa$ absorbs the fixed logarithmic overheads, including +outer grid conversions, and proves the stated conditional bound. +\end{proof} diff --git a/notes/partial-gauge-construction.tex b/notes/partial-gauge-construction.tex new file mode 100644 index 0000000000..147fc5ab91 --- /dev/null +++ b/notes/partial-gauge-construction.tex @@ -0,0 +1,60 @@ +\subsection{Stopped opposite-bank bit word} +Apply the factorization in \path{notes/stopped-product-factorization.tex} +to each rank increment of PR97's literal deferred word: a rank-$r$ +projector increment is one recursive rank-$r$ reversed child, with the +fixed atom adapters charged as in \path{notes/stopped-product-interface.tex}. +The selected finite profile has +\[ + m_b=529,\quad W_b=108516254,\quad s_b=57403754177, + \qquad r_{\max,b}=528. +\] +Its rational moment certificate proves coarse saving +$15513/125000000$, with normalized gap exceeding $1.1417\times10^{-10}$. +The atom exponent $10^{-3}$ and retained ordinary leaf saving +$384599/10^{10}$ give the stopped ordinary saving +\[ + a_b=(1-10^{-3})\frac{15513}{125000000} + +10^{-3}\frac{384599}{10^{10}} + =\frac{1240183559}{10^{13}}. +\] +The exact inputs and calculation are +\path{certificates/partial-gauge-bit-input.json}, checked by +\path{scripts/partial_gauge_bit.py}. + +\subsection{Interval and pair-first cube producer} +For disjoint strip values $v_0,\ldots,v_{k-1}$ construct cyclic intervals +$I(a,1)=v_a$ and $I(a,l)=I(a,l-1)+v_{a+l-1\bmod k}$ for $2\le l2r_j^{t_j}$ gives depth at most +$t_j\lceil\log_2\max(2,e)\rceil$ plus a fixed constant. +The new coarse bit family has $(t_j,\operatorname{bitlength}W_j)=(16,28)$, +the ordinary leaf family $(9,28)$, and the complex family $(17,28)$. +The required reserve is the product of all three stocks: +\[ + Q=W_c^{D_c}W_b^{D_b}W_{\rm old}^{D_{\rm old}}. +\] +After the complex and coarse divisions, the old stock remains available +to every peeled-atom or stopped-leaf call. Sequential copies and outer +ordinary wrappers reuse restored rows; they introduce no independent +row factor. The combined coefficient is +\[ + 16\cdot28+9\cdot28+17\cdot28=1176, + \qquad4000-\frac{51}{25}\,1176=\frac{40024}{25}>0. +\] +Thus the retained logarithmic comparison, for eventual $e\le Cp$, +supplies a sufficient $p^{4000}$ stock including the fixed constants. +Use one physically preceding transformed prefix and one complete-row +padding, as in \path{notes/structured-bulk-assembly.tex}. Complete +spectators and parked fields are preserved by every descendant. +The suffix condition +$b_{\rm in}^{1-\epsilon}>16000(\log_2b_{\rm in}+8)$ is eventual +for every fixed $\epsilon<1$. + +\subsection{Analytic transfer and selected parameters} +The retained analytic proof map in +\path{notes/structured-bulk-assembly.tex} supplies the active-masked +arbitrary-source router with paid repair scans, the rounded phase-cell +inverse, persistent bulk halos with original period cuts, sequential +overlap tapes and factor pages, prime packing and exact recovery. +The new ordinary bit primitive has precisely the arbitrary-width, +complete-spectator and restored-row contract consumed by that router. +The new complex primitive supplies the exact completed tensor contract +on one common grid. Its outer grid conversions add only logarithmic +work. The changed finite implementations therefore meet the same +analytic interfaces, including the full bulk bound +\[ + O\!\left(Tp\left[p^\tau\operatorname{polylog}p+ + d\operatorname{polylog}p+dp^\delta+w_G^2p^\delta+ + dw_G^2p^\delta/L\right]\right)+n^{o(1)}, +\] +where $L=2^{\lceil8\log_2p\rceil}$, Gaussian band width +$w_G^2=O(p^{1-r})$, and normalization retains $\epsilon+r<1$. +Here $w_G$ is unrelated to the address atom width. + +Use the proved ordinary bit saving $a_b=803380799/10^{13}$ and complex +saving $b=1949/25000000$. To instantiate the retained assembly, weaken +the bit parameter explicitly to +\[ + \beta=10^{-6},\qquad + a=(1-\beta)b-10^{-10}=\frac{1948995551}{25000000000000}6.6129027953\times10^{-11}>0. +\] +The strict gaps absorb fixed logarithms, including the common-grid +conversions. The stopped atom recurrence supplies the ordinary +interchange interface, the rational-center construction supplies the +exact complex interface, and the product stock supports all nested +recursions. The unchanged analytic transfer then proves the stated +bound, with its constructive setup, descriptor and catalogue domination, +prime-existence and exact-recovery thresholds retained as eventual +conditions. +\end{proof} diff --git a/notes/stopped-product-complex.tex b/notes/stopped-product-complex.tex new file mode 100644 index 0000000000..4a9037137c --- /dev/null +++ b/notes/stopped-product-complex.tex @@ -0,0 +1,137 @@ +\subsection{All-disjoint retained centers} +Use two factors $h=24$. For triple inputs write $G=\sum_TX_T$, +$T_i=\sum_{T\ni i}X_T$, and retain all $A_i=G-T_i$. +Each input triple avoids exactly 21 points, so +\[ + \sum_{i=1}^{24}A_i=21G,\qquad G=\frac1{21}\sum_i A_i. +\] +For a target triple $S$ the central correction is +\[ + G-\frac12\sum_{i\in S}A_i + =\frac{\sum_{i\in S}T_i-G}{2}. +\] +An input triple meeting $S$ in $j$ points has central coefficient +$(j-1)/2$. Adding half the disjoint sum and subtracting half the +intersection-two sum leaves coefficient one exactly when $j=3$. +The scalar source-to-scatter transfer is therefore the identity. +The transparent old-value subtraction and new-value addition use this +identity only on fresh contributions and restore arbitrary old values. + +The base-two paired exclusion and aligned pair-star producer retains +nested binary labels: common-pair supports have their orthonormal triple +span, other ordinary sums have their coordinate cover. Each retained +$A_i$ has the nondegenerate coordinate hyperplane excluding $i$, +of dimension 23. Hence all copied-center arguments and general +nondegenerate binary residuals of the preceding proof apply. The +selected local counts are +\[ + v=2024,\quad c_h=45764,\quad q_h=8120,\quad + |\mathcal M|=8966,\quad R=44918,\quad\ell=552. +\] +The old internal histogram, starting at rank zero, is +\begin{small}\begin{align*} +[&8930,49042,30844,15972,11883,8272,6399,4356,6682,2263,\\ + &5109,1808,5317,1733,5391,1757,4908,3290,6233,4363,\\ + &4056,264,564,24,24]. +\end{align*}\end{small} +It has rank mass $24R+2\ell$. Replace 24 rank-24 original transitions +by 24 rank-one transitions; all rank-23 copied transforms remain. +The new mass is $24R+\ell$. + +\subsection{Physical endpoints and strict complex moment} +The copied-center two-stage complex contract in +\path{notes/copied-centers-complex.tex} is unchanged by the scalar +center decoding. For the tensor triple line $U$, let +$T=C_U$, $F=C_I$, $E=C_{U^\perp}=FT^{-1}$. +The two data outputs are $A=-Fy$ and $B=FT^{-2}x+Ey$. +Add $T^{-1}$ applied to a copy of $A$ into $B$, paying one rank-one +child per data pair. The inherited input/output $Z$ phases and +$i^{9f}$ scalar normalize $FT^{-2}$ to $F$; sign and bank corrections +complete the exact tensor $C$. Auxiliary source/sink operators remain +$C_{D_0}$ and $FC_{D_0}$ in the second stage. Every original role +therefore returns the exact selected-axis tensor operation on arbitrary +inputs. This algebraic statement holds over $\mathbb Q(i)$ as well as +over Gaussian dyadics. + +With $m_c=576$, $N_c=v^2=4096576$, $B_c=vR=90914032$, put +\[ + W_c=2N_c+2B_c=190021216,\quad L_c=2v\ell=2234496, +\] +\[ + s_c=W_cm_c-N_c+L_c=109450358336,\qquad N_c-L_c=1862080. +\] +The complete list is $2B_c$ width-552 auxiliary exteriors, +$2N_c$ width-529 data macros, $2vH'_r$ width-$r$ internal children, +$4N_c$ width-23 data fronts, and $N_c$ width-one endpoint copies. +These disjoint classes include both kinds of paid copies and sum to +$s_c$. All binary residuals, including alternating forms, use the retained +one-child Gauss normal form with paid bit adapters and unit phases. +At $a_c=1949/25000000$ the exact rational enclosure gives +\[ + \sum_r\frac{n_r}{W_c}(r/m_c)^{1-a_c} + <1-1.3338373969\times10^{-10}. +\] + +\subsection{One exact odd-denominator grid} +The only new odd divisor is 21. Let $d$ bound the root axis count, +$D$ bound its maximum complex recursion depth, and $G_0$ bound the +number of grouped scalar operations per node. Choose +\[ + K=G_0(D+1),\qquad \text{common grid }2^{-P}21^{-K}. +\] +Root inputs and arbitrary dirty auxiliaries start Gaussian dyadic. +Multiply their integer numerators by $21^K$ once at the outer boundary. +Every local coefficient contains at most one factor 21 in its denominator, +so a local finite program adds at most $G_0$ to the odd-denominator +exponent. A completed $u$-axis child has Gaussian-dyadic coefficients +and therefore preserves its input's existing odd-denominator exponent; +it adds no new odd factor. Only the active chain of unfinished calls +can accumulate new factors. Its length is at most $D+1$, proving that +all intermediates lie on the common grid and every local division by +21 is an exact integer division of its encoded numerator. + +This divisibility claim uses the root dyadic-input invariant, not an +assumption about arbitrary numerators on the finest grid. Internal values +may have odd denominators. They are neither rounded nor re-encoded when +a child returns. At the completed outer return the operator is the exact +Gaussian-dyadic tensor on root dyadic inputs, so the final numerators +are divisible by $21^K$; exact unscaling restores dyadic encoding. + +Since the largest child is $552<576$, $D=O(\log d)$ and +$K=O(\log d)$ with fixed constants. Constant-divisor long division +is linear in numerator length. Initial and final scaling by $K$ +successive constant multiplications/divisions cost $O(V\log d)$ and +occur only at the outer boundary. The extra numerator length is +$O(\log d)$, preserving the retained $O(p)$ word bound. This overhead +is subordinate to the positive-power complex layer bound. + +For explicit semantic constants use +\[ + g_h=4(c_h+v)+10v+4hv+4h^2+8h+8=408200, +\] +\[ + G_0=N_c+2v(g_h+2h)=1656684480, +\] +where endpoint additions and copied-center scalar work are included. +The complete child contributes at most $u$ binary denominator bits +and row-norm factor $2^u$, with no additional odd exponent. A local +21-division contributes fewer than five denominator-height bits, +covered by the fixed scalar charge. Set +\[ +\begin{aligned} + E_0&=64(W_c+m_c+G_0+1)^3=403063477262941121443761178688,\\ + \mathcal E&=2G_0W_c^2+8s_c+4W_c+4+32m_c\\ + &=1196393335930350962702877484.2909639537\times10^{-10}. +\] +It uses the retained 24-term positive atanh-series logarithm enclosure, +its geometric tail, range reduction and upward rational exponential +bound. Also $\mu_1=s_b/(W_bm_b)<1$. These are the two gaps used below. diff --git a/notes/stopped-product-interface.tex b/notes/stopped-product-interface.tex new file mode 100644 index 0000000000..20c44ce486 --- /dev/null +++ b/notes/stopped-product-interface.tex @@ -0,0 +1,95 @@ +\subsection{Paid atom adapters and remainders} +Expand each fixed lower-triangular formal factor into unit scalings and +additions from earlier to later formal fields. Execute intrabank targets +in descending formal-field order, so earlier controls still have their +required original values. Every atom update reads only physically earlier +controls. In a cross-bank shear the update is +\[ + D_{i,t}\leftarrow D_{i,t}+k_{ij}H_{j,f-1-t}. +\] +Even with the reversed source index, the source lies in the earlier head +bank. The retained ordered-affine streaming primitive applies to each +ordinary width-$w$ atom update, costing $O(V)$ per pass. +There are $O(f)$ passes per fixed matrix and thus $O(Vn)$ per finite +node. The reversed control is an indexed earlier atom, not a reversed +field operation. Atom loops use binary descriptors on a fixed tape set; +all inactive digits remain complete spectators. The inherited parking +schedule never scans through parked ancestors, and polynomial descriptor +work is absorbed by the complete stream volume. + +For $n=m_bf+\delta$, $0\le\deltaa_b$, the paid adapter term is strictly lower order. +All bounded widths use the old interface. Numerical padding of a binary +chunk range to the least suitable radix-$q$ range has volume factor +below $q^2$; it preserves numerical order and is removed after the +completed ordinary wrapper, whose endpoint is ordinary interchange. + +If external rows are unavailable, use the inherited ordinary high-digit +borrowing construction from \path{notes/batched-bit-rows.tex}. +Borrow $O(\log e)$ high digits, exchange and join them into a preceding +row field, pad that field once, act on the body, and separate the high +parts. It applies literally to the completed ordinary wrapper; no claim +about borrowed high positions is made for an unwrapped reversed call. +Single-digit moves cost $O(V\log e)$, and small widths use the old +algorithm. Atom indices and rational coefficients are finitely specified; +the algorithm uses the same fixed tape set and complete spectator ranges. diff --git a/notes/stopped-product-note.tex b/notes/stopped-product-note.tex new file mode 100644 index 0000000000..a8b23254c8 --- /dev/null +++ b/notes/stopped-product-note.tex @@ -0,0 +1,76 @@ +\documentclass[11pt]{article} +\usepackage[margin=1in]{geometry} +\usepackage[T1]{fontenc} +\usepackage{lmodern,amsmath,amssymb,amsthm,mathtools,booktabs,longtable,microtype} +\usepackage[hidelinks]{hyperref} +\setlength{\emergencystretch}{3em} +\allowdisplaybreaks +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{proposition}[theorem]{Proposition} +\title{A conditional integer-multiplication saving of $194869/2500000000$\\ +\large Stopped product-ring interchange and rational retained centers} +\author{icekylinx\\\small With substantial OpenAI GPT-6 Astra and Codex assistance} +\date{9 October 2026} +\begin{document}\maketitle +\begin{abstract} +A common rational basis and opposite bank orders reduce each projector +residual to one contiguous reversed child over a fixed atom product ring. +Ordered atom adapters are paid explicitly; stopping at a growing atom +width and using the retained ordinary primitive supplies an ordinary +bit interface. An independent 24-dimensional complex producer uses +rational retained-center decoding on one exact common grid. The selected +interfaces and retained semantic/bulk assembly give the conditional bound +$T(n)=O(n(\log n)^{1-\kappa})$, where +$\kappa=194869/2500000000=0.0000779476$. +\end{abstract} + +\section{Scope and retained dependencies} +The model is the retained fixed finite-alphabet multitape Turing machine. +Finite graphs, rational bases, address primes, coefficient tables and tape +counts are fixed independently of input length. Bit payload arithmetic is +binary, while its address geometry is rational and then evaluated on atom +rings. Complex payloads use exact Gaussian rational arithmetic with the +specified common grid; their address labels remain binary. + +The proof predecessor is icekylinx's merged copied-center PR36, +\texttt{11817ccacb564bb7f98789c20dc11d3fece207e3}, whose proof is +\path{notes/copied-centers-note.tex}. Its ordinary interchange saving +$a_{\rm old}=384599/10^{10}$, copied-center schedule in both orientations, +two-stage data and auxiliary endpoint identities, general binary residual +normal form, and fixed-tape complete-row contracts are retained. +The present opposite-bank factorization, stopped product-ring interface, +rational-center specialization and exact composition are by icekylinx, +with substantial OpenAI GPT-6 Astra assistance and Codex integration. +Earlier own contributions include PR10 batching, PR18 partial swaps, +PR24 endpoint gauges and PR32 structured blocks and semantic composition. + +Aurel Prosz (Paureel) supplies the two-stage topology and paid endpoint +copy, with Swapnil Jain's linked development credited by Zhihao Chen's +PR29. The retained leaf proof also credits Rohan Arun's PR31 corner method +and Dominik Scholz's PR33 parameterization. Zhihao Chen's PR21/23 and the +RaD/hipotures PR20 source provide the phase endpoints, semantic guard, +arbitrary-source routing, phase-cell inverse and bulk locality/tape +interfaces. Their pinned proof map remains in +\path{notes/structured-bulk-assembly.tex}; adopted sources and notices are +in \path{references/semantic-bulk/} and \path{references/copied-centers/}. +The underlying Douglas Colkitt framework, OpenAI manuscript, eumemic, +Bortlesboat, dleen, earlier finite contributions and Harvey--van der Hoeven +analytic work retain their credits and recorded AI assistance in +\texttt{NOTICE} and \texttt{SOURCES.json}. + +The conclusion remains conditional on those analytic, ordered-affine, +exact-recovery and machine interfaces and their eventual setup and +prime-existence thresholds. The new algebraic and tape constructions +below establish the changed finite interfaces; exact arithmetic certifies +their selected counts and margins. + +\section{One reversed child for each projector} +\input{notes/stopped-product-factorization.tex} +\section{Stopped atom recursion and ordinary interchange} +\input{notes/stopped-product-interface.tex} +\section{Rational centers and exact semantic precision} +\input{notes/stopped-product-complex.tex} +\section{Product rows and exact assembly} +\input{notes/stopped-product-assembly.tex} +\end{document} diff --git a/notes/three-stage-cover-assembly.tex b/notes/three-stage-cover-assembly.tex new file mode 100644 index 0000000000..983ffb6ac8 --- /dev/null +++ b/notes/three-stage-cover-assembly.tex @@ -0,0 +1,117 @@ +\subsection{Local inventory and strict supplier moments} +The selected complex local word has +\[ + h=24,\quad v=2024,\quad c=91770,\quad q_{\rm roots}=8120, + \quad |\mathcal M|=71185,\quad R=28705,\quad\ell=552. +\] +Its complete scalar word, full backward subspace intersections and 4,599 +partial source gauges are regenerated from the pinned compressed DAG by +\path{scripts/three_stage_cover_producer.py}. The source and target chains, +remaining first transitions, inverse cleanup and copied centers remain in +\path{certificates/three-stage-cover-complex-input.json}. +At each cover vertex its child inventory is exactly the three-stage table +proved above. Thus $m_c=70$, $w_c=90163$, $s_c=6309018$ and +$w_cm_c-s_c=2392$; the largest child is 68. + +For $a_c=786999/2500000000$, the rational enclosure proves +\[ + \frac1{w_c}\sum_r n_r(r/70)^{1-a_c} + <1-2.3047018455\times10^{-10}. +\] +The bit local ledger has $h=23,v=1771,R=28866,\ell=506$. +Three copies of its physical local increments and exteriors give +$m_b=67,w_b=90140,s_b=6037356$, with deficit 2024. +The contaminated moment includes the entire $32\cdot67^2$-child fallback +on a fraction $10^{-16}$ of every ideal edge. At $a_0=747/2000000$ its +strict gap exceeds $6.3397366396\times10^{-7}$, and its rank moment also +contracts. The stopped ordinary saving is +\[ + a_b=(1-10^{-3})a_0+10^{-3}\frac{384599}{10^{10}} + =\frac{3731649599}{10^{13}}. +\] +These are exact rational certificates; the lower tolerances displayed +here do not substitute for their saved fractions. + +\subsection{Full finite router and completed-child guard} +Let $V_0=|O(70,2)|$, $N=V_0v$, $W=V_0(2v+3R)$ and $s=V_0s_c$. +All these finite counts appear in the certificate. Define +\[ + L=4(c+v)+10v+4hv+4h^2+8h+8+2h + +8Rv(M+16), +\] +where $M$ is the number of actual local mixer operations. +The source-witness bound for the positive DAG gives dirty-readout +coefficients of magnitude at most $h+4$, with denominators dividing +$2(h-3)$. The last term conservatively pays their binary-addition +implementation. Include the finite group and fixed Clifford routers by +\[ + G=N+3V_0L+64(m_c+1)^3W^2. +\] +A fixed role permutation has at most $W^2$ elementary exchanges; the +polynomial factor also covers the binary matrix and quadratic-phase +adapters. These finite costs retain their ordinary movement charge. +Set +\[ + E=64(W+m_c+G+1)^3,\quad B=s+E,\quad C_0=32m_cB^2. +\] +The exact calculation checks +\[ + 2GW^2+8s+4W+4+32m_c0. +\] +Thus the fixed external reserve $p^{160000}$ meets the inherited product +stock contract. The width-dependent q-adic selectors are supplied by +the separate internal borrowing proof, rather than multiplied into this +external polynomial stock. One preceding prefix and one final padding +suffice, and sequential completed calls reuse restored rows. + +Put $b=a_c$, $\eta=10^{-8}$, $\beta=10^{-6}$ and +\[ + a=(1-\beta)b-10^{-10}2^{80}$ avoiding all fixed rational denominators and rank witnesses. +At atom width $w$ use the finite cover $\operatorname{GL}_m(R_w)$ and its +right-multiplication edges $g\mapsto gR_s$. Every vertex has the unique chart +\[ + g=g_0+qG_1,\quad g_0\in\operatorname{GL}_m(\mathbb F_q), + \quad G_1\in(\mathbb Z/q^{w-1}\mathbb Z)^{m^2}, +\] +using fixed representatives for $g_0$. Right multiplication permutes $g_0$ +and acts affinely on $G_1$, with a carry determined by $g_0$. Its fixed +dimensional rational linear part factors into fixed scalings, ordered +shifts and a constant number of old width-$O(w)$ interchanges. Thus each +fixed port routing costs $O(Vw^{1-a_{\rm old}})$. + +Let $W_0=|\operatorname{GL}_m(\mathbb F_q)|(2v+3R_{\rm loc})$. +The full role count is $W(w)=W_0q^{m^2(w-1)}$. Split preceding rows into +low role type, high matrix and unused stock. Batch \emph{all} high matrices +for each low type in one stream. A frame edge is one child on this whole +batch, of volume $V/W_0$, and routing is executed once per fixed operation +type. Consequently neither the number of tapes nor the number of child +programs grows with $w$. High cardinality cancels in the normalized moment, +but its $m^2(w-1)$ digits are charged in the row reserve. + +For each fixed projector require the leading minors of sizes $1$ through +$r$ to be units. Each cleared minor polynomial in $g_0$ is nonzero: +similarity to $\operatorname{diag}(I_r,0)$ supplies a witness after the +fixed rank is preserved modulo $q$. Their total degree is at most $m^3$. +The polynomial zero bound and conditioning on invertibility (a factor at +most two) give bad fraction at most $2m^3/q<10^{-16}$ for each edge type. +No simultaneous union bound over edge types is needed, since their moments +are averaged separately. Good classes use the whole-rank child; bad +classes use the full $32m^2$-child fallback just proved. + +Let $H_r$ be the three-stage histogram described above and +$W=2v+3R_{\rm loc}=90140$. The retained ledger gives +\[ + \sum_r rH_r=6037356,\qquad Wm-\sum_r rH_r=2024=2v-3\ell, + \qquad \max\{r:H_r>0\}=66. +\] +For $a=747/2000000$, $\tau=1-a$, and $b=10^{-16}$ the conservative moment is +\[ + \mu_\tau\le + \sum_r\frac{H_r}{W}(r/m)^\tau+ + b\frac{32m^2\sum_rH_r}{W}(1/m)^\tau<1. +\] +The entire fallback is added; no displaced good contribution is subtracted. +The exact script \path{scripts/three_stage_cover_network.py} and certificate +\path{certificates/three-stage-cover-network.json}, from the retained axis +\path{certificates/three-stage-cover-bit-input.json}, give +$1-\mu_\tau>6.3397366396\cdot10^{-7}$. +The certificate uses the 32-term positive atanh logarithm series with its +geometric tail, $\exp(u)\le1+u+u^2/(2(1-u/3))$, and upward rounding to +the grid $2^{-120}$. All inputs have $0\le u<3$; these are rational upper +bounds, not floating-point root estimates. Since every child ratio is at +most one and $\tau<1$, this same strict bound implies $\mu_1<1$. + +With $T(n,w)$ denoting time divided by logical volume, the fixed low-type +profile $\{c_r\}$, including fallback classes, satisfies +\[ + T(n,w)\le\sum_rc_rT(r\lfloor n/m\rfloor,w)+Cn+Cw^{1-a_{\rm old}} + \quad(n\ge m),\qquad + T(n,w)\le Cw^{1-a_{\rm old}}\quad(n2\,68^d$ is 24, so the complex row coefficient is +$24\cdot2431=58344$. These full finite role counts are retained in the +scalar guard and row stock. Group elements and involutions are specified +by their binary matrices; the definition needs no numerical enumeration. +All fixed address adapters, endpoint Paulis and invocation permutations +are implemented inside the finite scalar/router guard of the assembly. diff --git a/notes/three-stage-cover-note.tex b/notes/three-stage-cover-note.tex new file mode 100644 index 0000000000..f5ad09a450 --- /dev/null +++ b/notes/three-stage-cover-note.tex @@ -0,0 +1,63 @@ +\documentclass[11pt]{article} +\usepackage[margin=1in]{geometry} +\usepackage[T1]{fontenc} +\usepackage{lmodern,amsmath,amssymb,amsthm,mathtools,microtype} +\usepackage[hidelinks]{hyperref} +\setlength{\emergencystretch}{3em} +\allowdisplaybreaks +\newtheorem{theorem}{Theorem}[section] +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{proposition}[theorem]{Proposition} +\title{Three-stage covers for a conditional integer-multiplication saving\\ +\large $\kappa=3146011/10000000000$} +\author{icekylinx\\\small Construction with OpenAI GPT-6 Astra assistance; +integration with Codex assistance} +\date{9 October 2026} +\begin{document}\maketitle +\begin{abstract} +Three signed shears on a regular Cayley cover align all interstage data +frames. Arbitrary-subspace Clifford frames support the selected complex +word; weighted reversed interchanges on a batched finite local-ring cover +support the bit word. Exact rational moments and the retained semantic/bulk +assembly give the conditional saving $\kappa=3.146011\times10^{-4}$. +\end{abstract} + +\section{Scope and source continuity} +This extends icekylinx's +\href{https://github.com/CrocSwap/integer-mult-bounds/pull/115}{PR115}, +\texttt{cf60442983c153a3a0f5272ea4713f99eba13c86}, retaining +\path{notes/stopped-product-note.tex}, \path{notes/partial-gauge-note.tex} +and the semantic/analytic proof map in +\path{notes/structured-bulk-assembly.tex}. +The analytic reduction, exact recovery, ordered-affine streaming, +prime-packing, ordinary leaves and eventual fixed-tape setup remain +inherited hypotheses. The new group geometry, weighted compiler and +row-borrowing arguments are supplied below, rather than counted as free +operations. Finite arithmetic does not formalize the all-size theorem. + +The complex local DAG is eumemic's +\href{https://github.com/CrocSwap/integer-mult-bounds/pull/117}{PR117}, +\texttt{cbb05ce504d571546d9b7794c186a613c659c3bf}, with its original +Apache-2.0 notice and Claude assistance disclosure preserved. +The bit physical word is Zhihao Chen's +\href{https://github.com/CrocSwap/integer-mult-bounds/pull/97}{PR97}, +\texttt{e15350b66e4bf796153a68c240a6cc1b788abe3e}, based on Swapnil Jain's +\texttt{741e7aa078392553815df7926ee17ac5e25a8c38} witness. +The generalized Clifford theorem, cover construction, weighted interface +and composition are contributed by icekylinx with OpenAI GPT-6 Astra assistance; +this repository integration uses Codex assistance. +Prior Aurel Prosz/Paureel, Zhihao Chen, RaD/hipotures, Rohan Arun, +Dominik Scholz and framework credits remain recorded in +\texttt{NOTICE} and \texttt{SOURCES.json}. + +\section{Frames for every binary subspace} +\input{notes/general-clifford-frames.tex} +\section{Three-stage complex cover} +\input{notes/three-stage-cover-complex.tex} +\section{Weighted local-ring bit interface} +\input{notes/three-stage-cover-bit.tex} +\section{Uniform stock and ordinary output} +\input{notes/three-stage-cover-rows.tex} +\section{Finite precision and strict assembly} +\input{notes/three-stage-cover-assembly.tex} +\end{document} diff --git a/notes/three-stage-cover-rows.tex b/notes/three-stage-cover-rows.tex new file mode 100644 index 0000000000..590da4b892 --- /dev/null +++ b/notes/three-stage-cover-rows.tex @@ -0,0 +1,95 @@ +\subsection{Internal row reserve and ordinary conversion} +The finite cover requires a row divisor $W(w)$ at each coarse level. +All children have ratio at most $66/67$ and depth +$D(n)\le47\lceil\log_2\max(2,n)\rceil+O(1)$. +A sufficient common divisor is $W(w)^{D(n)}$ times the inherited old-leaf +reserve. The old supplier has its retained complete-row contract and +logarithmic reserve. Therefore a sufficient integer $S(e,w)$ satisfies +\[ + \log_qS(e,w)=O(w\log e). +\] +Unused stock is divided only into fresh descendant role fields; exposed +parent low/high fields are spectator prefixes. Their weights cannot depend +on those fresh roles. Every completed call restores its row coordinate, +so successive residuals and the outer wrapper reuse one reserve instead +of multiplying reserves for sequential calls. + +The unweighted reversed endpoint $F_n(H,D)=(C_nD,C_nH)$ converts to an +ordinary interchange by the chronological sequence +\[ + D\leftarrow D-H;\quad F_n;\quad D\leftarrow D+H;\quad + F_n;\quad D\leftarrow H-D. +\] +Indeed the successive values are $(H,D-H)$, $(C_n(D-H),C_nH)$, +$(C_n(D-H),C_nD)$, $(D,D-H)$, and $(D,H)$. +The three additive maps cost $O(Vn)$ in the atom model. The two calls +reuse restored rows; their constant multiplicity is outside the recursion +and does not multiply its characteristic moment. + +\subsection{Borrowing and restoring the stock} +Set $\beta=1/1000$, $w=\lceil e^\beta\rceil$, and +$k=\lceil\log_qS(e,w)\rceil=O(w\log e)$, using the depth bound for the +original width $e$. For sufficiently large $e$, $ka_{\rm bit}$ and $\beta<1-a_{\rm bit}$ make both +the atom-adapter and borrowing terms lower order. The remainder cost +$O(Vw^{1-a_{\rm old}})$ is also covered. Thus the ordinary radix-$q$ +interchange has cost $O(Ve^{1-a_{\rm bit}})$, without an externally supplied +superpolynomial stock of rows. + +For an original binary chunk range $[2^e]$, let +$t=\lceil e/\log_2q\rceil$ and embed it numerically into $[q^t]$. +Pad both exchanged ranges while retaining every spectator. The total +logical-volume increase is below $q^2$. Execute the completed ordinary +radix-$q$ interchange, then remove the padding. Its endpoint preserves the +rectangular genuine set $[2^e]\times[2^e]$; intermediate maps may mix genuine +and padded addresses, which does not affect this endpoint justification. +As $q$ is fixed and $t=\Theta(e)$, the binary interchange has the same +saving exponent. All schedules use a fixed number of finite-alphabet +tapes; low residue tables and port types are fixed independently of $w$. + +The conclusion retains the original local-producer, ordered-affine, +ordinary-leaf and multiplication-framework hypotheses. It adds no free +unit-scaling, dense chart transformation, or external row-stock primitive. diff --git a/references/paired-cube/pr97-subset/selection.json b/references/paired-cube/pr97-subset/selection.json new file mode 100644 index 0000000000..6e96820eeb --- /dev/null +++ b/references/paired-cube/pr97-subset/selection.json @@ -0,0 +1 @@ +{"retained_readout_order":[22967,23065,23159,23249,23335,23417,23495,23569,23836,23838,23840,23842,23844,23846,23848,23850,23852,23854,23857,23894,23896,23898,23900,23902,23904,23906,23908,23910,23913,24010,24094,24162,24173,24175,24187,24201,24213,24214,24247,24463,24466,24469,24472,24475,24667,24669,24895,25085,25087,25311,25487,25499,25501,25909,25911,26315,26317,26717,26719,27115,27117,27509,27511,27711,27899,27901,28097,28099,28285,28287,28297,28481,22918,22922,22924,22926,22928,22930,22932,22934,22969,22971,22973,22975,22977,22979,22981,23016,23020,23022,23024,23026,23028,23030,23032,23067,23069,23071,23073,23075,23077,23079,23161,23163,23165,23167,23169,23206,23208,23210,23212,23216,23251,23253,23255,23257,23259,23292,23294,23296,23298,23302,23337,23339,23341,23378,23380,23384,23419,23421,23423,23456,23458,23462,23497,23536,23571,23606,24189,24245,24250,24253,24256,24259,24668,24672,24675,24678,24681,24833,24835,25072,25086,25093,25096,25099,25251,25252,25488,25503,25507,25510,25513,25667,25669,25894,25913,25920,25923,26077,26078,26127,26302,26322,26326,26329,26485,26487,26700,26724,26731,26887,26888,26928,27100,27125,27129,27287,27289,27490,27519,27681,27682,27709,27713,27882,28073,28075,28264,28459,28460,28482,28648,23835,23837,23893,23895,23947,23949,23997,23999,24043,24045,24085,24087,24123,24125,24157,24159,24246,24249,24252,24255,24310,24311,24313,24314,24352,24353,24355,24356,24382,24383,24385,24386,24400,24401,24403,24404,24406,24407,24409,24410,24411,24412,24413,24414,24415,24416,24418,24420,24421,24422,24424,24426,24427,24428,24430,24432,24433,24434,24436,24438,24439,24440,24462,24465,24468,24471,24526,24527,24529,24530,24568,24569,24571,24572,24598,24599,24601,24602,24616,24617,24619,24620,24622,24623,24625,24626,24628,24631,24634,24637,24640,24643,24646,24649,24652,24654,24655,24656,24671,24674,24677,24731,24735,24736,24774,24775,24777,24778,24804,24805,24807,24808,24822,24823,24825,24826,24828,24829,24831,24832,24834,24836,24838,24840,24841,24842,24844,24846,24847,24848,24850,24852,24853,24854,24856,24858,24859,24860,24862,24882,24885,24888,24891,24946,24947,24949,24950,24988,24989,24991,24992,25018,25019,25021,25022,25036,25037,25039,25040,25042,25043,25044,25048,25051,25054,25057,25060,25063,25066,25069,25071,25073,25074,25075,25089,25092,25095,25149,25152,25192,25193,25195,25196,25222,25223,25225,25226,25240,25241,25243,25244,25246,25247,25249,25250,25254,25256,25257,25258,25260,25262,25263,25264,25266,25268,25269,25270,25272,25274,25275,25276,25278,25279,25298,25301,25304,25307,25362,25363,25365,25366,25404,25405,25407,25408,25434,25435,25437,25438,25452,25453,25455,25456,25457,25460,25464,25467,25470,25473,25476,25479,25482,25484,25485,25486,25489,25498,25500,25506,25509,25563,25566,25605,25609,25610,25636,25637,25639,25640,25654,25655,25657,25658,25660,25661,25663,25664,25665,25666,25668,25670,25672,25674,25675,25676,25678,25680,25681,25682,25684,25686,25687,25688,25690,25691,25692,25710,25713,25716,25719,25774,25775,25777,25778,25816,25817,25819,25820,25846,25847,25849,25850,25864,25865,25866,25869,25872,25876,25879,25882,25885,25888,25891,25893,25895,25896,25897,25898,25899,25907,25908,25910,25916,25919,25973,25976,26015,26018,26046,26047,26049,26050,26064,26065,26067,26068,26070,26071,26073,26074,26075,26076,26080,26082,26083,26084,26086,26088,26089,26090,26092,26094,26095,26096,26098,26099,26100,26101,26118,26121,26124,26182,26183,26185,26186,26224,26225,26227,26228,26254,26255,26257,26258,26271,26274,26277,26280,26284,26287,26290,26293,26296,26298,26299,26300,26303,26304,26305,26312,26313,26314,26316,26319,26325,26379,26382,26421,26424,26451,26455,26456,26470,26471,26473,26474,26476,26477,26479,26480,26481,26482,26483,26484,26486,26488,26490,26492,26493,26494,26496,26498,26499,26500,26502,26503,26504,26505,26506,26522,26525,26528,26531,26586,26587,26589,26590,26628,26629,26631,26632,26658,26659,26660,26675,26678,26681,26684,26688,26691,26694,26697,26699,26701,26702,26703,26704,26705,26706,26707,26713,26714,26715,26716,26718,26721,26727,26781,26784,26823,26826,26853,26856,26872,26873,26875,26876,26878,26879,26881,26882,26883,26884,26885,26886,26890,26892,26893,26894,26896,26898,26899,26900,26902,26903,26904,26905,26906,26907,26922,26925,26931,26986,26987,26989,26990,27028,27029,27031,27032,27057,27060,27075,27078,27081,27084,27088,27091,27094,27096,27097,27098,27101,27102,27103,27104,27105,27110,27111,27112,27113,27114,27116,27119,27122,27179,27182,27221,27224,27251,27254,27269,27273,27274,27276,27277,27279,27280,27281,27282,27283,27284,27285,27286,27288,27290,27292,27294,27295,27296,27298,27299,27300,27301,27302,27303,27304,27318,27321,27324,27327,27382,27383,27385,27386,27424,27425,27426,27453,27456,27471,27474,27477,27480,27484,27487,27489,27491,27492,27493,27494,27495,27496,27497,27498,27499,27503,27504,27505,27506,27507,27508,27510,27513,27516,27573,27576,27615,27618,27645,27648,27663,27666,27670,27671,27673,27674,27675,27676,27677,27678,27679,27680,27684,27686,27687,27688,27690,27691,27692,27693,27694,27695,27696,27697,27710,27716,27719,27774,27775,27777,27778,27815,27818,27845,27848,27863,27866,27869,27872,27875,27876,27877,27878,27879,27880,27883,27884,27885,27886,27887,27888,27889,27892,27893,27894,27895,27896,27897,27898,27900,27903,27906,27909,27963,27966,28005,28008,28035,28038,28053,28056,28059,28063,28064,28065,28066,28067,28068,28069,28070,28071,28072,28074,28076,28078,28079,28080,28081,28082,28083,28084,28085,28086,28098,28101,28104,28107,28162,28163,28164,28203,28206,28233,28236,28251,28254,28257,28260,28263,28265,28266,28267,28268,28269,28270,28271,28272,28273,28274,28275,28277,28278,28279,28280,28281,28282,28283,28284,28286,28289,28292,28295,28349,28352,28391,28394,28421,28424,28439,28442,28445,28448,28451,28452,28453,28454,28455,28456,28457,28458,28461,28462,28463,28464,28465,28466,28467,28468,28469,28470,28485,28488,28491,28545,28548,28587,28590,28617,28620,28635,28638,28641,28644,28647,28649,28650,28651,28652,28653,28654,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28687,28688,28689,28690,159,165,171,177,183,189,195,201,207,213,219,225,231,237,243,249,255,261,274,280,286,292,298,304,310,316,322,328,334,340,346,352,358,364,370,376,396,402,408,414,420,426,432,438,444,450,456,462,468,474,480,486,499,505,511,517,523,529,535,541,547,553,559,565,571,577,583,589,609,615,621,627,633,639,645,651,657,663,669,675,681,687,700,706,712,718,724,730,736,742,748,754,760,766,772,778,798,804,810,816,822,828,834,840,846,852,858,864,877,883,889,895,901,907,913,919,925,931,937,943,963,969,975,981,987,993,999,1005,1011,1017,1030,1036,1042,1048,1054,1060,1066,1072,1078,1084,1104,1110,1116,1122,1128,1134,1140,1146,1159,1165,1171,1177,1183,1189,1195,1201,1221,1227,1233,1239,1245,1251,1264,1270,1276,1282,1288,1294,1314,1320,1326,1332,1345,1351,1357,1363,1383,1389,1402,1408,1449,1455,1461,1467,1473,1479,1485,1491,1497,1503,1509,1515,1521,1527,1533,1539,1545,1551,1558,1564,1571,1577,1584,1590,1597,1603,1610,1616,1623,1629,1636,1642,1649,1655,1662,1668,1675,1684,1697,1703,1709,1715,1721,1727,1733,1739,1745,1751,1757,1763,1769,1775,1781,1787,1794,1800,1807,1813,1820,1826,1833,1839,1846,1852,1859,1865,1872,1878,1885,1891,1898,1907,1920,1926,1932,1938,1944,1950,1956,1962,1968,1974,1980,1986,1992,1998,2005,2011,2018,2024,2031,2037,2044,2050,2057,2063,2070,2076,2083,2089,2096,2105,2118,2124,2130,2136,2142,2148,2154,2160,2166,2172,2178,2184,2191,2197,2204,2210,2217,2223,2230,2236,2243,2249,2256,2262,2269,2278,2291,2297,2303,2309,2315,2321,2327,2333,2339,2345,2352,2358,2365,2371,2378,2384,2391,2397,2404,2410,2417,2426,2439,2445,2451,2457,2463,2469,2475,2481,2488,2494,2501,2507,2514,2520,2527,2533,2540,2549,2562,2568,2574,2580,2586,2592,2599,2605,2612,2618,2625,2631,2638,2647,2660,2666,2672,2678,2685,2691,2698,2704,2711,2720,2733,2739,2746,2752,2759,2768,2782,2791,2939,2945,2951,2957,2963,2969,2975,2981,2987,2993,2999,3005,3011,3017,3023,3029,3042,3048,3054,3060,3066,3072,3078,3084,3090,3096,3102,3108,3114,3120,3126,3132,3152,3158,3164,3170,3176,3182,3188,3194,3200,3206,3212,3218,3224,3230,3243,3249,3255,3261,3267,3273,3279,3285,3291,3297,3303,3309,3315,3321,3341,3347,3353,3359,3365,3371,3377,3383,3389,3395,3401,3407,3420,3426,3432,3438,3444,3450,3456,3462,3468,3474,3480,3486,3506,3512,3518,3524,3530,3536,3542,3548,3554,3560,3573,3579,3585,3591,3597,3603,3609,3615,3621,3627,3647,3653,3659,3665,3671,3677,3683,3689,3702,3708,3714,3720,3726,3732,3738,3744,3764,3770,3776,3782,3788,3794,3807,3813,3819,3825,3831,3837,3857,3863,3869,3875,3888,3894,3900,3906,3926,3932,3945,3951,3992,3998,4004,4010,4016,4022,4028,4034,4040,4046,4052,4058,4064,4070,4076,4082,4089,4095,4102,4108,4115,4121,4128,4134,4141,4147,4154,4160,4167,4173,4180,4186,4193,4202,4215,4221,4227,4233,4239,4245,4251,4257,4263,4269,4275,4281,4287,4293,4300,4306,4313,4319,4326,4332,4339,4345,4352,4358,4365,4371,4378,4384,4391,4400,4413,4419,4425,4431,4437,4443,4449,4455,4461,4467,4473,4479,4486,4492,4499,4505,4512,4518,4525,4531,4538,4544,4551,4557,4564,4573,4586,4592,4598,4604,4610,4616,4622,4628,4634,4640,4647,4653,4660,4666,4673,4679,4686,4692,4699,4705,4712,4721,4734,4740,4746,4752,4758,4764,4770,4776,4783,4789,4796,4802,4809,4815,4822,4828,4835,4844,4857,4863,4869,4875,4881,4887,4894,4900,4907,4913,4920,4926,4933,4942,4955,4961,4967,4973,4980,4986,4993,4999,5006,5015,5028,5034,5041,5047,5054,5063,5077,5086,5220,5226,5232,5238,5244,5250,5256,5262,5268,5274,5280,5286,5292,5298,5311,5317,5323,5329,5335,5341,5347,5353,5359,5365,5371,5377,5383,5389,5409,5415,5421,5427,5433,5439,5445,5451,5457,5463,5469,5475,5488,5494,5500,5506,5512,5518,5524,5530,5536,5542,5548,5554,5574,5580,5586,5592,5598,5604,5610,5616,5622,5628,5641,5647,5653,5659,5665,5671,5677,5683,5689,5695,5715,5721,5727,5733,5739,5745,5751,5757,5770,5776,5782,5788,5794,5800,5806,5812,5832,5838,5844,5850,5856,5862,5875,5881,5887,5893,5899,5905,5925,5931,5937,5943,5956,5962,5968,5974,5994,6000,6013,6019,6060,6066,6072,6078,6084,6090,6096,6102,6108,6114,6120,6126,6132,6138,6145,6151,6158,6164,6171,6177,6184,6190,6197,6203,6210,6216,6223,6229,6236,6245,6258,6264,6270,6276,6282,6288,6294,6300,6306,6312,6318,6324,6331,6337,6344,6350,6357,6363,6370,6376,6383,6389,6396,6402,6409,6418,6431,6437,6443,6449,6455,6461,6467,6473,6479,6485,6492,6498,6505,6511,6518,6524,6531,6537,6544,6550,6557,6566,6579,6585,6591,6597,6603,6609,6615,6621,6628,6634,6641,6647,6654,6660,6667,6673,6680,6689,6702,6708,6714,6720,6726,6732,6739,6745,6752,6758,6765,6771,6778,6787,6800,6806,6812,6818,6825,6831,6838,6844,6851,6860,6873,6879,6886,6892,6899,6908,6922,6931,7051,7057,7063,7069,7075,7081,7087,7093,7099,7105,7111,7117,7130,7136,7142,7148,7154,7160,7166,7172,7178,7184,7190,7196,7216,7222,7228,7234,7240,7246,7252,7258,7264,7270,7283,7289,7295,7301,7307,7313,7319,7325,7331,7337,7357,7363,7369,7375,7381,7387,7393,7399,7412,7418,7424,7430,7436,7442,7448,7454,7474,7480,7486,7492,7498,7504,7517,7523,7529,7535,7541,7547,7567,7573,7579,7585,7598,7604,7610,7616,7636,7642,7655,7661,7702,7708,7714,7720,7726,7732,7738,7744,7750,7756,7762,7768,7775,7781,7788,7794,7801,7807,7814,7820,7827,7833,7840,7846,7853,7862,7875,7881,7887,7893,7899,7905,7911,7917,7923,7929,7936,7942,7949,7955,7962,7968,7975,7981,7988,7994,8001,8010,8023,8029,8035,8041,8047,8053,8059,8065,8072,8078,8085,8091,8098,8104,8111,8117,8124,8133,8146,8152,8158,8164,8170,8176,8183,8189,8196,8202,8209,8215,8222,8231,8244,8250,8256,8262,8269,8275,8282,8288,8295,8304,8317,8323,8330,8336,8343,8352,8366,8375,8481,8487,8493,8499,8505,8511,8517,8523,8529,8535,8548,8554,8560,8566,8572,8578,8584,8590,8596,8602,8622,8628,8634,8640,8646,8652,8658,8664,8677,8683,8689,8695,8701,8707,8713,8719,8739,8745,8751,8757,8763,8769,8782,8788,8794,8800,8806,8812,8832,8838,8844,8850,8863,8869,8875,8881,8901,8907,8920,8926,8967,8973,8979,8985,8991,8997,9003,9009,9015,9021,9028,9034,9041,9047,9054,9060,9067,9073,9080,9086,9093,9102,9115,9121,9127,9133,9139,9145,9151,9157,9164,9170,9177,9183,9190,9196,9203,9209,9216,9225,9238,9244,9250,9256,9262,9268,9275,9281,9288,9294,9301,9307,9314,9323,9336,9342,9348,9354,9361,9367,9374,9380,9387,9396,9409,9415,9422,9428,9435,9444,9458,9467,9559,9565,9571,9577,9583,9589,9595,9601,9614,9620,9626,9632,9638,9644,9650,9656,9676,9682,9688,9694,9700,9706,9719,9725,9731,9737,9743,9749,9769,9775,9781,9787,9800,9806,9812,9818,9838,9844,9857,9863,9904,9910,9916,9922,9928,9934,9940,9946,9953,9959,9966,9972,9979,9985,9992,9998,10005,10014,10027,10033,10039,10045,10051,10057,10064,10070,10077,10083,10090,10096,10103,10112,10125,10131,10137,10143,10150,10156,10163,10169,10176,10185,10198,10204,10211,10217,10224,10233,10247,10256,10334,10340,10346,10352,10358,10364,10377,10383,10389,10395,10401,10407,10427,10433,10439,10445,10458,10464,10470,10476,10496,10502,10515,10521,10562,10568,10574,10580,10586,10592,10599,10605,10612,10618,10625,10631,10638,10647,10660,10666,10672,10678,10685,10691,10698,10704,10711,10720,10733,10739,10746,10752,10759,10768,10782,10791,10855,10861,10867,10873,10886,10892,10898,10904,10924,10930,10943,10949,10990,10996,11002,11008,11015,11021,11028,11034,11041,11050,11063,11069,11076,11082,11089,11098,11112,11121,11171,11177,11190,11196,11237,11243,11250,11256,11263,11272,11286,11295,11353,11362,23806,23808,23810,23812,23814,23816,23818,23820,23822,23824,23839,23841,23843,23845,23847,23849,23851,23853,23897,23899,23901,23903,23905,23907,23909,23951,23953,23955,23957,23959,23961,24001,24003,24005,24007,24009,24047,24049,24051,24053,24089,24091,24093,24127,24129,24161,24309,24312,24351,24354,24381,24384,24399,24402,24405,24408,24451,24452,24453,24454,24455,24456,24457,24458,24459,24460,24474,24477,24480,24483,24486,24489,24492,24495,24498,24501,24504,24507,24510,24513,24516,24519,24522,24531,24534,24537,24540,24543,24546,24549,24552,24555,24558,24561,24564,24573,24576,24579,24582,24585,24588,24591,24594,24603,24606,24609,24612,24657,24658,24659,24660,24661,24662,24663,24664,24665,24666,24683,24684,24685,24686,24687,24688,24695,24696,24697,24698,24699,24700,24707,24708,24709,24710,24711,24712,24719,24720,24721,24722,24723,24724,24732,24733,24734,24773,24776,24803,24806,24821,24824,24827,24830,24871,24872,24873,24874,24875,24876,24877,24878,24879,24880,24894,24936,24937,24938,24942,24943,24944,24978,24979,24980,24984,24985,24986,25008,25009,25010,25014,25015,25016,25026,25027,25028,25032,25033,25034,25045,25046,25076,25077,25078,25079,25080,25081,25082,25083,25084,25101,25102,25103,25104,25105,25106,25107,25108,25109,25110,25111,25112,25113,25114,25115,25116,25117,25118,25119,25120,25121,25122,25123,25124,25125,25126,25127,25128,25129,25130,25131,25132,25133,25134,25135,25136,25137,25138,25139,25140,25141,25142,25143,25144,25145,25146,25147,25148,25150,25151,25153,25154,25191,25194,25221,25224,25239,25242,25245,25248,25287,25288,25289,25290,25291,25292,25293,25294,25295,25296,25310,25349,25350,25351,25352,25353,25354,25355,25356,25357,25358,25359,25360,25391,25392,25393,25394,25395,25396,25397,25398,25399,25400,25401,25402,25421,25422,25423,25424,25425,25426,25427,25428,25429,25430,25431,25432,25439,25440,25441,25442,25443,25444,25445,25446,25447,25448,25449,25450,25458,25459,25461,25462,25490,25491,25492,25493,25494,25495,25496,25497,25515,25516,25517,25518,25519,25520,25521,25522,25523,25524,25525,25526,25527,25528,25529,25530,25531,25532,25533,25534,25535,25536,25537,25538,25539,25540,25541,25542,25543,25544,25545,25546,25547,25548,25549,25550,25551,25552,25553,25554,25555,25556,25557,25558,25559,25560,25561,25562,25564,25565,25567,25568,25569,25570,25571,25572,25573,25574,25581,25582,25583,25584,25585,25586,25593,25594,25595,25596,25597,25598,25606,25607,25608,25635,25638,25653,25656,25659,25662,25699,25700,25701,25702,25703,25704,25705,25706,25707,25708,25722,25752,25753,25754,25758,25759,25760,25761,25762,25763,25764,25765,25766,25767,25768,25769,25770,25771,25772,25794,25795,25796,25800,25801,25802,25803,25804,25805,25806,25807,25808,25809,25810,25811,25812,25813,25814,25824,25825,25826,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25867,25868,25870,25871,25873,25874,25900,25901,25902,25903,25904,25905,25906,25925,25926,25927,25928,25929,25930,25931,25932,25933,25934,25935,25936,25937,25938,25939,25940,25941,25942,25943,25944,25945,25946,25947,25948,25949,25950,25951,25952,25953,25954,25955,25956,25957,25958,25959,25960,25961,25962,25963,25964,25965,25966,25967,25968,25969,25970,25971,25972,25974,25975,25977,25978,25979,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25991,25992,25993,25994,25995,25996,25997,25998,25999,26000,26001,26002,26003,26004,26005,26006,26007,26008,26009,26010,26011,26012,26013,26014,26016,26017,26019,26020,26045,26048,26063,26066,26069,26072,26107,26108,26109,26110,26111,26112,26113,26114,26115,26116,26130,26157,26158,26159,26160,26161,26162,26163,26164,26165,26166,26167,26168,26169,26170,26171,26172,26173,26174,26175,26176,26177,26178,26179,26180,26199,26200,26201,26202,26203,26204,26205,26206,26207,26208,26209,26210,26211,26212,26213,26214,26215,26216,26217,26218,26219,26220,26221,26222,26229,26230,26231,26232,26233,26234,26235,26236,26237,26238,26239,26240,26241,26242,26243,26244,26245,26246,26247,26248,26249,26250,26251,26252,26259,26260,26261,26262,26263,26264,26265,26266,26267,26268,26269,26270,26272,26273,26275,26276,26278,26279,26281,26282,26306,26307,26308,26309,26310,26311,26331,26332,26333,26334,26335,26336,26337,26338,26339,26340,26341,26342,26343,26344,26345,26346,26347,26348,26349,26350,26351,26352,26353,26354,26355,26356,26357,26358,26359,26360,26361,26362,26363,26364,26365,26366,26367,26368,26369,26370,26371,26372,26373,26374,26375,26376,26377,26378,26380,26381,26383,26384,26385,26386,26387,26388,26389,26390,26391,26392,26393,26394,26395,26396,26397,26398,26399,26400,26401,26402,26403,26404,26405,26406,26407,26408,26409,26410,26411,26412,26413,26414,26415,26416,26417,26418,26419,26420,26422,26423,26425,26426,26427,26428,26429,26430,26431,26432,26439,26440,26441,26442,26443,26444,26452,26453,26454,26469,26472,26475,26478,26511,26512,26513,26514,26515,26516,26517,26518,26519,26520,26534,26552,26553,26554,26558,26559,26560,26561,26562,26563,26564,26565,26566,26567,26568,26569,26570,26571,26572,26573,26574,26575,26576,26577,26578,26579,26580,26581,26582,26583,26584,26594,26595,26596,26600,26601,26602,26603,26604,26605,26606,26607,26608,26609,26610,26611,26612,26613,26614,26615,26616,26617,26618,26619,26620,26621,26622,26623,26624,26625,26626,26633,26634,26635,26636,26637,26638,26639,26640,26641,26642,26643,26644,26645,26646,26647,26648,26649,26650,26651,26652,26653,26654,26655,26656,26661,26662,26663,26664,26665,26666,26667,26668,26669,26670,26671,26672,26673,26674,26676,26677,26679,26680,26682,26683,26685,26686,26708,26709,26710,26711,26712,26733,26734,26735,26736,26737,26738,26739,26740,26741,26742,26743,26744,26745,26746,26747,26748,26749,26750,26751,26752,26753,26754,26755,26756,26757,26758,26759,26760,26761,26762,26763,26764,26765,26766,26767,26768,26769,26770,26771,26772,26773,26774,26775,26776,26777,26778,26779,26780,26782,26783,26785,26786,26787,26788,26789,26790,26791,26792,26793,26794,26795,26796,26797,26798,26799,26800,26801,26802,26803,26804,26805,26806,26807,26808,26809,26810,26811,26812,26813,26814,26815,26816,26817,26818,26819,26820,26821,26822,26824,26825,26827,26828,26829,26830,26831,26832,26833,26834,26835,26836,26837,26838,26839,26840,26841,26842,26843,26844,26845,26846,26847,26848,26849,26850,26851,26852,26854,26855,26857,26858,26871,26874,26877,26880,26911,26912,26913,26914,26915,26916,26917,26918,26919,26920,26934,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26964,26965,26966,26967,26968,26969,26970,26971,26972,26973,26974,26975,26976,26977,26978,26979,26980,26981,26982,26983,26984,26991,26992,26993,26994,26995,26996,26997,26998,26999,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27010,27011,27012,27013,27014,27015,27016,27017,27018,27019,27020,27021,27022,27023,27024,27025,27026,27033,27034,27035,27036,27037,27038,27039,27040,27041,27042,27043,27044,27045,27046,27047,27048,27049,27050,27051,27052,27053,27054,27055,27056,27058,27059,27061,27062,27063,27064,27065,27066,27067,27068,27069,27070,27071,27072,27073,27074,27076,27077,27079,27080,27082,27083,27085,27086,27106,27107,27108,27109,27131,27132,27133,27134,27135,27136,27137,27138,27139,27140,27141,27142,27143,27144,27145,27146,27147,27148,27149,27150,27151,27152,27153,27154,27155,27156,27157,27158,27159,27160,27161,27162,27163,27164,27165,27166,27167,27168,27169,27170,27171,27172,27173,27174,27175,27176,27177,27178,27180,27181,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27222,27223,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27252,27253,27255,27256,27257,27258,27259,27260,27261,27262,27270,27271,27272,27275,27278,27307,27308,27309,27310,27311,27312,27313,27314,27315,27316,27330,27336,27337,27338,27342,27343,27344,27345,27346,27347,27348,27349,27350,27351,27352,27353,27354,27355,27356,27357,27358,27359,27360,27361,27362,27363,27364,27365,27366,27367,27368,27369,27370,27371,27372,27373,27374,27375,27376,27377,27378,27379,27380,27387,27388,27389,27390,27391,27392,27393,27394,27395,27396,27397,27398,27399,27400,27401,27402,27403,27404,27405,27406,27407,27408,27409,27410,27411,27412,27413,27414,27415,27416,27417,27418,27419,27420,27421,27422,27427,27428,27429,27430,27431,27432,27433,27434,27435,27436,27437,27438,27439,27440,27441,27442,27443,27444,27445,27446,27447,27448,27449,27450,27451,27452,27454,27455,27457,27458,27459,27460,27461,27462,27463,27464,27465,27466,27467,27468,27469,27470,27472,27473,27475,27476,27478,27479,27481,27482,27500,27501,27502,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27554,27555,27556,27557,27558,27559,27560,27561,27562,27563,27564,27565,27566,27567,27568,27569,27570,27571,27572,27574,27575,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27595,27596,27597,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,27608,27609,27610,27611,27612,27613,27614,27616,27617,27619,27620,27621,27622,27623,27624,27625,27626,27627,27628,27629,27630,27631,27632,27633,27634,27635,27636,27637,27638,27639,27640,27641,27642,27643,27644,27646,27647,27649,27650,27651,27652,27653,27654,27655,27656,27657,27658,27659,27660,27661,27662,27664,27665,27667,27668,27669,27672,27699,27700,27701,27702,27703,27704,27705,27706,27707,27708,27722,27725,27726,27727,27728,27729,27730,27731,27732,27733,27734,27735,27736,27737,27738,27739,27740,27741,27742,27743,27744,27745,27746,27747,27748,27749,27750,27751,27752,27753,27754,27755,27756,27757,27758,27759,27760,27761,27762,27763,27764,27765,27766,27767,27768,27769,27770,27771,27772,27779,27780,27781,27782,27783,27784,27785,27786,27787,27788,27789,27790,27791,27792,27793,27794,27795,27796,27797,27798,27799,27800,27801,27802,27803,27804,27805,27806,27807,27808,27809,27810,27811,27812,27813,27814,27816,27817,27819,27820,27821,27822,27823,27824,27825,27826,27827,27828,27829,27830,27831,27832,27833,27834,27835,27836,27837,27838,27839,27840,27841,27842,27843,27844,27846,27847,27849,27850,27851,27852,27853,27854,27855,27856,27857,27858,27859,27860,27861,27862,27864,27865,27867,27868,27870,27871,27873,27874,27890,27891,27912,27915,27916,27917,27918,27919,27920,27921,27922,27923,27924,27925,27926,27927,27928,27929,27930,27931,27932,27933,27934,27935,27936,27937,27938,27939,27940,27941,27942,27943,27944,27945,27946,27947,27948,27949,27950,27951,27952,27953,27954,27955,27956,27957,27958,27959,27960,27961,27962,27964,27965,27967,27968,27969,27970,27971,27972,27973,27974,27975,27976,27977,27978,27979,27980,27981,27982,27983,27984,27985,27986,27987,27988,27989,27990,27991,27992,27993,27994,27995,27996,27997,27998,27999,28000,28001,28002,28003,28004,28006,28007,28009,28010,28011,28012,28013,28014,28015,28016,28017,28018,28019,28020,28021,28022,28023,28024,28025,28026,28027,28028,28029,28030,28031,28032,28033,28034,28036,28037,28039,28040,28041,28042,28043,28044,28045,28046,28047,28048,28049,28050,28051,28052,28054,28055,28057,28058,28060,28061,28062,28087,28088,28089,28090,28091,28092,28093,28094,28095,28096,28110,28113,28114,28115,28116,28117,28118,28119,28120,28121,28122,28123,28124,28125,28126,28127,28128,28129,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28142,28143,28144,28145,28146,28147,28148,28149,28150,28151,28152,28153,28154,28155,28156,28157,28158,28159,28160,28165,28166,28167,28168,28169,28170,28171,28172,28173,28174,28175,28176,28177,28178,28179,28180,28181,28182,28183,28184,28185,28186,28187,28188,28189,28190,28191,28192,28193,28194,28195,28196,28197,28198,28199,28200,28201,28202,28204,28205,28207,28208,28209,28210,28211,28212,28213,28214,28215,28216,28217,28218,28219,28220,28221,28222,28223,28224,28225,28226,28227,28228,28229,28230,28231,28232,28234,28235,28237,28238,28239,28240,28241,28242,28243,28244,28245,28246,28247,28248,28249,28250,28252,28253,28255,28256,28258,28259,28261,28262,28276,28298,28301,28302,28303,28304,28305,28306,28307,28308,28309,28310,28311,28312,28313,28314,28315,28316,28317,28318,28319,28320,28321,28322,28323,28324,28325,28326,28327,28328,28329,28330,28331,28332,28333,28334,28335,28336,28337,28338,28339,28340,28341,28342,28343,28344,28345,28346,28347,28348,28350,28351,28353,28354,28355,28356,28357,28358,28359,28360,28361,28362,28363,28364,28365,28366,28367,28368,28369,28370,28371,28372,28373,28374,28375,28376,28377,28378,28379,28380,28381,28382,28383,28384,28385,28386,28387,28388,28389,28390,28392,28393,28395,28396,28397,28398,28399,28400,28401,28402,28403,28404,28405,28406,28407,28408,28409,28410,28411,28412,28413,28414,28415,28416,28417,28418,28419,28420,28422,28423,28425,28426,28427,28428,28429,28430,28431,28432,28433,28434,28435,28436,28437,28438,28440,28441,28443,28444,28446,28447,28449,28450,28471,28472,28473,28474,28475,28476,28477,28478,28479,28480,28494,28497,28498,28499,28500,28501,28502,28503,28504,28505,28506,28507,28508,28509,28510,28511,28512,28513,28514,28515,28516,28517,28518,28519,28520,28521,28522,28523,28524,28525,28526,28527,28528,28529,28530,28531,28532,28533,28534,28535,28536,28537,28538,28539,28540,28541,28542,28543,28544,28546,28547,28549,28550,28551,28552,28553,28554,28555,28556,28557,28558,28559,28560,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28572,28573,28574,28575,28576,28577,28578,28579,28580,28581,28582,28583,28584,28585,28586,28588,28589,28591,28592,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28618,28619,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28636,28637,28639,28640,28642,28643,28645,28646,28668,28670,28671,28673,28675,28676,28678,28680,28681,28683,28685,28686,28693,28695,28696,28698,28699,28701,28702,28704,28705,28707,28708,28710,28711,28713,28714,28716,28717,28719,28720,28722,28723,28725,28726,28728,28729,28731,28732,28734,28735,28737,28738,28740,28742,28745,28747,28749,28750,28752,28753,28755,28756,28758,28759,28761,28762,28764,28765,28767,28768,28770,28771,28773,28774,28776,28777,28779,28780,28782,28784,28787,28789,28791,28792,28794,28795,28797,28798,28800,28801,28803,28804,28806,28807,28809,28810,28812,28814,28817,28819,28821,28822,28824,28825,28827,28828,28830,28832,28835,28838,28841,268,383,384,493,596,597,694,785,786,871,950,951,1024,1091,1092,1153,1208,1209,1258,1301,1302,1339,1370,1371,1396,1415,1416,1429,1436,1437,1444,1685,1692,1908,1915,2106,2113,2279,2286,2427,2434,2550,2557,2648,2655,2721,2728,2769,2776,2792,3036,3139,3140,3237,3328,3329,3414,3493,3494,3567,3634,3635,3696,3751,3752,3801,3844,3845,3882,3913,3914,3939,3958,3959,3972,3979,3980,3987,4203,4210,4401,4408,4574,4581,4722,4729,4845,4852,4943,4950,5016,5023,5064,5071,5087,5305,5396,5397,5482,5561,5562,5635,5702,5703,5764,5819,5820,5869,5912,5913,5950,5981,5982,6007,6026,6027,6040,6047,6048,6055,6246,6253,6419,6426,6567,6574,6690,6697,6788,6795,6861,6868,6909,6916,6932,7124,7203,7204,7277,7344,7345,7406,7461,7462,7511,7554,7555,7592,7623,7624,7649,7668,7669,7682,7689,7690,7697,7863,7870,8011,8018,8134,8141,8232,8239,8305,8312,8353,8360,8376,8542,8609,8610,8671,8726,8727,8776,8819,8820,8857,8888,8889,8914,8933,8934,8947,8954,8955,8962,9103,9110,9226,9233,9324,9331,9397,9404,9445,9452,9468,9608,9663,9664,9713,9756,9757,9794,9825,9826,9851,9870,9871,9884,9891,9892,9899,10015,10022,10113,10120,10186,10193,10234,10241,10257,10371,10414,10415,10452,10483,10484,10509,10528,10529,10542,10549,10550,10557,10648,10655,10721,10728,10769,10776,10792,10880,10911,10912,10937,10956,10957,10970,10977,10978,10985,11051,11058,11099,11106,11122,11184,11203,11204,11217,11224,11225,11232,11273,11280,11296,11332,11339,11340,11347,11363,23866,23868,23870,23872,23874,23876,23878,23880,23882,23922,23924,23926,23928,23930,23932,23934,23936,23974,23976,23978,23980,23982,23984,23986,24022,24024,24026,24028,24030,24032,24066,24068,24070,24072,24074,24106,24108,24110,24112,24142,24144,24146,24174,24176,24202,24258,24261,24262,24263,24264,24265,24266,24267,24268,24269,24270,24271,24272,24273,24274,24275,24276,24277,24278,24279,24280,24281,24282,24283,24284,24285,24286,24287,24288,24289,24290,24291,24292,24293,24294,24295,24296,24297,24298,24299,24300,24301,24302,24303,24304,24305,24306,24307,24308,24315,24316,24317,24318,24319,24320,24321,24322,24323,24324,24325,24326,24327,24328,24329,24330,24331,24332,24333,24334,24335,24336,24337,24338,24339,24340,24341,24342,24343,24344,24345,24346,24347,24348,24349,24350,24357,24358,24359,24360,24361,24362,24363,24364,24365,24366,24367,24368,24369,24370,24371,24372,24373,24374,24375,24376,24377,24378,24379,24380,24387,24388,24389,24390,24391,24392,24393,24394,24395,24396,24397,24398,24441,24442,24443,24444,24445,24446,24447,24448,24449,24450,24478,24479,24481,24482,24484,24485,24487,24488,24490,24491,24493,24494,24496,24497,24499,24500,24502,24503,24505,24506,24508,24509,24511,24512,24514,24515,24517,24518,24520,24521,24523,24524,24525,24528,24532,24533,24535,24536,24538,24539,24541,24542,24544,24545,24547,24548,24550,24551,24553,24554,24556,24557,24559,24560,24562,24563,24565,24566,24567,24570,24574,24575,24577,24578,24580,24581,24583,24584,24586,24587,24589,24590,24592,24593,24595,24596,24597,24600,24604,24605,24607,24608,24610,24611,24613,24614,24615,24618,24621,24624,24680,24689,24690,24691,24692,24693,24694,24701,24702,24703,24704,24705,24706,24713,24714,24715,24716,24717,24718,24725,24726,24727,24728,24729,24730,24737,24738,24739,24740,24741,24742,24743,24744,24745,24746,24747,24748,24749,24750,24751,24752,24753,24754,24755,24756,24757,24758,24759,24760,24761,24762,24763,24764,24765,24766,24767,24768,24769,24770,24771,24772,24779,24780,24781,24782,24783,24784,24785,24786,24787,24788,24789,24790,24791,24792,24793,24794,24795,24796,24797,24798,24799,24800,24801,24802,24809,24810,24811,24812,24813,24814,24815,24816,24817,24818,24819,24820,24861,24863,24864,24865,24866,24867,24868,24869,24870,24897,24898,24899,24900,24901,24902,24903,24904,24905,24906,24907,24908,24909,24910,24911,24912,24913,24914,24915,24916,24917,24918,24919,24920,24921,24922,24923,24924,24925,24926,24927,24928,24929,24930,24931,24932,24933,24934,24935,24939,24940,24941,24945,24948,24951,24952,24953,24954,24955,24956,24957,24958,24959,24960,24961,24962,24963,24964,24965,24966,24967,24968,24969,24970,24971,24972,24973,24974,24975,24976,24977,24981,24982,24983,24987,24990,24993,24994,24995,24996,24997,24998,24999,25000,25001,25002,25003,25004,25005,25006,25007,25011,25012,25013,25017,25020,25023,25024,25025,25029,25030,25031,25035,25038,25041,25098,25155,25156,25157,25158,25159,25160,25161,25162,25163,25164,25165,25166,25167,25168,25169,25170,25171,25172,25173,25174,25175,25176,25177,25178,25179,25180,25181,25182,25183,25184,25185,25186,25187,25188,25189,25190,25197,25198,25199,25200,25201,25202,25203,25204,25205,25206,25207,25208,25209,25210,25211,25212,25213,25214,25215,25216,25217,25218,25219,25220,25227,25228,25229,25230,25231,25232,25233,25234,25235,25236,25237,25238,25277,25280,25281,25282,25283,25284,25285,25286,25313,25314,25315,25316,25317,25318,25319,25320,25321,25322,25323,25324,25325,25326,25327,25328,25329,25330,25331,25332,25333,25334,25335,25336,25337,25338,25339,25340,25341,25342,25343,25344,25345,25346,25347,25348,25361,25364,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25377,25378,25379,25380,25381,25382,25383,25384,25385,25386,25387,25388,25389,25390,25403,25406,25409,25410,25411,25412,25413,25414,25415,25416,25417,25418,25419,25420,25433,25436,25451,25454,25512,25575,25576,25577,25578,25579,25580,25587,25588,25589,25590,25591,25592,25599,25600,25601,25602,25603,25604,25611,25612,25613,25614,25615,25616,25617,25618,25619,25620,25621,25622,25623,25624,25625,25626,25627,25628,25629,25630,25631,25632,25633,25634,25641,25642,25643,25644,25645,25646,25647,25648,25649,25650,25651,25652,25689,25693,25694,25695,25696,25697,25698,25725,25726,25727,25728,25729,25730,25731,25732,25733,25734,25735,25736,25737,25738,25739,25740,25741,25742,25743,25744,25745,25746,25747,25748,25749,25750,25751,25755,25756,25757,25773,25776,25779,25780,25781,25782,25783,25784,25785,25786,25787,25788,25789,25790,25791,25792,25793,25797,25798,25799,25815,25818,25821,25822,25823,25827,25828,25829,25845,25848,25863,25922,26021,26022,26023,26024,26025,26026,26027,26028,26029,26030,26031,26032,26033,26034,26035,26036,26037,26038,26039,26040,26041,26042,26043,26044,26051,26052,26053,26054,26055,26056,26057,26058,26059,26060,26061,26062,26097,26102,26103,26104,26105,26106,26133,26134,26135,26136,26137,26138,26139,26140,26141,26142,26143,26144,26145,26146,26147,26148,26149,26150,26151,26152,26153,26154,26155,26156,26181,26184,26187,26188,26189,26190,26191,26192,26193,26194,26195,26196,26197,26198,26223,26226,26253,26256,26328,26433,26434,26435,26436,26437,26438,26445,26446,26447,26448,26449,26450,26457,26458,26459,26460,26461,26462,26463,26464,26465,26466,26467,26468,26501,26507,26508,26509,26510,26537,26538,26539,26540,26541,26542,26543,26544,26545,26546,26547,26548,26549,26550,26551,26555,26556,26557,26585,26588,26591,26592,26593,26597,26598,26599,26627,26630,26657,26730,26859,26860,26861,26862,26863,26864,26865,26866,26867,26868,26869,26870,26901,26908,26909,26910,26937,26938,26939,26940,26941,26942,26943,26944,26945,26946,26947,26948,26985,26988,27027,27030,27128,27263,27264,27265,27266,27267,27268,27297,27305,27306,27333,27334,27335,27339,27340,27341,27381,27384,27423,27522,27689,27698,27773,27776,28077,28161,28667,28669,28672,28674,28677,28679,28682,28684,28694,28697,28700,28703,28706,28709,28712,28715,28718,28721,28724,28727,28730,28733,28736,28739,28741,28743,28744,28746,28748,28751,28754,28757,28760,28763,28766,28769,28772,28775,28778,28781,28783,28785,28786,28788,28790,28793,28796,28799,28802,28805,28808,28811,28813,28815,28816,28818,28820,28823,28826,28829,28831,28833,28834,28836,28837,28839,28840,28842,5,12,19,26,33,40,47,54,61,68,75,82,89,96,103,110,117,124,131,138,154,160,166,172,178,184,190,196,202,208,214,220,226,232,238,244,250,256,262,269,275,281,287,293,299,305,311,317,323,329,335,341,347,353,359,365,371,377,391,397,403,409,415,421,427,433,439,445,451,457,463,469,475,481,487,494,500,506,512,518,524,530,536,542,548,554,560,566,572,578,584,590,604,610,616,622,628,634,640,646,652,658,664,670,676,682,688,695,701,707,713,719,725,731,737,743,749,755,761,767,773,779,793,799,805,811,817,823,829,835,841,847,853,859,865,872,878,884,890,896,902,908,914,920,926,932,938,944,958,964,970,976,982,988,994,1000,1006,1012,1018,1025,1031,1037,1043,1049,1055,1061,1067,1073,1079,1085,1099,1105,1111,1117,1123,1129,1135,1141,1147,1154,1160,1166,1172,1178,1184,1190,1196,1202,1216,1222,1228,1234,1240,1246,1252,1259,1265,1271,1277,1283,1289,1295,1309,1315,1321,1327,1333,1340,1346,1352,1358,1364,1378,1384,1390,1397,1403,1409,1423,1430,1450,1456,1462,1468,1474,1480,1486,1492,1498,1504,1510,1516,1522,1528,1534,1540,1546,1552,1559,1565,1572,1578,1585,1591,1598,1604,1611,1617,1624,1630,1637,1643,1650,1656,1663,1669,1676,1698,1704,1710,1716,1722,1728,1734,1740,1746,1752,1758,1764,1770,1776,1782,1788,1795,1801,1808,1814,1821,1827,1834,1840,1847,1853,1860,1866,1873,1879,1886,1892,1899,1921,1927,1933,1939,1945,1951,1957,1963,1969,1975,1981,1987,1993,1999,2006,2012,2019,2025,2032,2038,2045,2051,2058,2064,2071,2077,2084,2090,2097,2119,2125,2131,2137,2143,2149,2155,2161,2167,2173,2179,2185,2192,2198,2205,2211,2218,2224,2231,2237,2244,2250,2257,2263,2270,2292,2298,2304,2310,2316,2322,2328,2334,2340,2346,2353,2359,2366,2372,2379,2385,2392,2398,2405,2411,2418,2440,2446,2452,2458,2464,2470,2476,2482,2489,2495,2502,2508,2515,2521,2528,2534,2541,2563,2569,2575,2581,2587,2593,2600,2606,2613,2619,2626,2632,2639,2661,2667,2673,2679,2686,2692,2699,2705,2712,2734,2740,2747,2753,2760,2783,2799,2806,2813,2820,2827,2834,2841,2848,2855,2862,2869,2876,2883,2890,2897,2904,2911,2918,2934,2940,2946,2952,2958,2964,2970,2976,2982,2988,2994,3000,3006,3012,3018,3024,3030,3037,3043,3049,3055,3061,3067,3073,3079,3085,3091,3097,3103,3109,3115,3121,3127,3133,3147,3153,3159,3165,3171,3177,3183,3189,3195,3201,3207,3213,3219,3225,3231,3238,3244,3250,3256,3262,3268,3274,3280,3286,3292,3298,3304,3310,3316,3322,3336,3342,3348,3354,3360,3366,3372,3378,3384,3390,3396,3402,3408,3415,3421,3427,3433,3439,3445,3451,3457,3463,3469,3475,3481,3487,3501,3507,3513,3519,3525,3531,3537,3543,3549,3555,3561,3568,3574,3580,3586,3592,3598,3604,3610,3616,3622,3628,3642,3648,3654,3660,3666,3672,3678,3684,3690,3697,3703,3709,3715,3721,3727,3733,3739,3745,3759,3765,3771,3777,3783,3789,3795,3802,3808,3814,3820,3826,3832,3838,3852,3858,3864,3870,3876,3883,3889,3895,3901,3907,3921,3927,3933,3940,3946,3952,3966,3973,3993,3999,4005,4011,4017,4023,4029,4035,4041,4047,4053,4059,4065,4071,4077,4083,4090,4096,4103,4109,4116,4122,4129,4135,4142,4148,4155,4161,4168,4174,4181,4187,4194,4216,4222,4228,4234,4240,4246,4252,4258,4264,4270,4276,4282,4288,4294,4301,4307,4314,4320,4327,4333,4340,4346,4353,4359,4366,4372,4379,4385,4392,4414,4420,4426,4432,4438,4444,4450,4456,4462,4468,4474,4480,4487,4493,4500,4506,4513,4519,4526,4532,4539,4545,4552,4558,4565,4587,4593,4599,4605,4611,4617,4623,4629,4635,4641,4648,4654,4661,4667,4674,4680,4687,4693,4700,4706,4713,4735,4741,4747,4753,4759,4765,4771,4777,4784,4790,4797,4803,4810,4816,4823,4829,4836,4858,4864,4870,4876,4882,4888,4895,4901,4908,4914,4921,4927,4934,4956,4962,4968,4974,4981,4987,4994,5000,5007,5029,5035,5042,5048,5055,5078,5094,5101,5108,5115,5122,5129,5136,5143,5150,5157,5164,5171,5178,5185,5192,5199,5215,5221,5227,5233,5239,5245,5251,5257,5263,5269,5275,5281,5287,5293,5299,5306,5312,5318,5324,5330,5336,5342,5348,5354,5360,5366,5372,5378,5384,5390,5404,5410,5416,5422,5428,5434,5440,5446,5452,5458,5464,5470,5476,5483,5489,5495,5501,5507,5513,5519,5525,5531,5537,5543,5549,5555,5569,5575,5581,5587,5593,5599,5605,5611,5617,5623,5629,5636,5642,5648,5654,5660,5666,5672,5678,5684,5690,5696,5710,5716,5722,5728,5734,5740,5746,5752,5758,5765,5771,5777,5783,5789,5795,5801,5807,5813,5827,5833,5839,5845,5851,5857,5863,5870,5876,5882,5888,5894,5900,5906,5920,5926,5932,5938,5944,5951,5957,5963,5969,5975,5989,5995,6001,6008,6014,6020,6034,6041,6061,6067,6073,6079,6085,6091,6097,6103,6109,6115,6121,6127,6133,6139,6146,6152,6159,6165,6172,6178,6185,6191,6198,6204,6211,6217,6224,6230,6237,6259,6265,6271,6277,6283,6289,6295,6301,6307,6313,6319,6325,6332,6338,6345,6351,6358,6364,6371,6377,6384,6390,6397,6403,6410,6432,6438,6444,6450,6456,6462,6468,6474,6480,6486,6493,6499,6506,6512,6519,6525,6532,6538,6545,6551,6558,6580,6586,6592,6598,6604,6610,6616,6622,6629,6635,6642,6648,6655,6661,6668,6674,6681,6703,6709,6715,6721,6727,6733,6740,6746,6753,6759,6766,6772,6779,6801,6807,6813,6819,6826,6832,6839,6845,6852,6874,6880,6887,6893,6900,6923,6939,6946,6953,6960,6967,6974,6981,6988,6995,7002,7009,7016,7023,7030,7046,7052,7058,7064,7070,7076,7082,7088,7094,7100,7106,7112,7118,7125,7131,7137,7143,7149,7155,7161,7167,7173,7179,7185,7191,7197,7211,7217,7223,7229,7235,7241,7247,7253,7259,7265,7271,7278,7284,7290,7296,7302,7308,7314,7320,7326,7332,7338,7352,7358,7364,7370,7376,7382,7388,7394,7400,7407,7413,7419,7425,7431,7437,7443,7449,7455,7469,7475,7481,7487,7493,7499,7505,7512,7518,7524,7530,7536,7542,7548,7562,7568,7574,7580,7586,7593,7599,7605,7611,7617,7631,7637,7643,7650,7656,7662,7676,7683,7703,7709,7715,7721,7727,7733,7739,7745,7751,7757,7763,7769,7776,7782,7789,7795,7802,7808,7815,7821,7828,7834,7841,7847,7854,7876,7882,7888,7894,7900,7906,7912,7918,7924,7930,7937,7943,7950,7956,7963,7969,7976,7982,7989,7995,8002,8024,8030,8036,8042,8048,8054,8060,8066,8073,8079,8086,8092,8099,8105,8112,8118,8125,8147,8153,8159,8165,8171,8177,8184,8190,8197,8203,8210,8216,8223,8245,8251,8257,8263,8270,8276,8283,8289,8296,8318,8324,8331,8337,8344,8367,8383,8390,8397,8404,8411,8418,8425,8432,8439,8446,8453,8460,8476,8482,8488,8494,8500,8506,8512,8518,8524,8530,8536,8543,8549,8555,8561,8567,8573,8579,8585,8591,8597,8603,8617,8623,8629,8635,8641,8647,8653,8659,8665,8672,8678,8684,8690,8696,8702,8708,8714,8720,8734,8740,8746,8752,8758,8764,8770,8777,8783,8789,8795,8801,8807,8813,8827,8833,8839,8845,8851,8858,8864,8870,8876,8882,8896,8902,8908,8915,8921,8927,8941,8948,8968,8974,8980,8986,8992,8998,9004,9010,9016,9022,9029,9035,9042,9048,9055,9061,9068,9074,9081,9087,9094,9116,9122,9128,9134,9140,9146,9152,9158,9165,9171,9178,9184,9191,9197,9204,9210,9217,9239,9245,9251,9257,9263,9269,9276,9282,9289,9295,9302,9308,9315,9337,9343,9349,9355,9362,9368,9375,9381,9388,9410,9416,9423,9429,9436,9459,9475,9482,9489,9496,9503,9510,9517,9524,9531,9538,9554,9560,9566,9572,9578,9584,9590,9596,9602,9609,9615,9621,9627,9633,9639,9645,9651,9657,9671,9677,9683,9689,9695,9701,9707,9714,9720,9726,9732,9738,9744,9750,9764,9770,9776,9782,9788,9795,9801,9807,9813,9819,9833,9839,9845,9852,9858,9864,9878,9885,9905,9911,9917,9923,9929,9935,9941,9947,9954,9960,9967,9973,9980,9986,9993,9999,10006,10028,10034,10040,10046,10052,10058,10065,10071,10078,10084,10091,10097,10104,10126,10132,10138,10144,10151,10157,10164,10170,10177,10199,10205,10212,10218,10225,10248,10264,10271,10278,10285,10292,10299,10306,10313,10329,10335,10341,10347,10353,10359,10365,10372,10378,10384,10390,10396,10402,10408,10422,10428,10434,10440,10446,10453,10459,10465,10471,10477,10491,10497,10503,10510,10516,10522,10536,10543,10563,10569,10575,10581,10587,10593,10600,10606,10613,10619,10626,10632,10639,10661,10667,10673,10679,10686,10692,10699,10705,10712,10734,10740,10747,10753,10760,10783,10799,10806,10813,10820,10827,10834,10850,10856,10862,10868,10874,10881,10887,10893,10899,10905,10919,10925,10931,10938,10944,10950,10964,10971,10991,10997,11003,11009,11016,11022,11029,11035,11042,11064,11070,11077,11083,11090,11113,11129,11136,11143,11150,11166,11172,11178,11185,11191,11197,11211,11218,11238,11244,11251,11257,11264,11287,11303,11310,11326,11333,11354,28691,6,13,20,27,34,41,48,55,62,69,76,83,90,97,104,111,118,125,132,139,155,161,167,173,179,185,191,197,203,209,215,221,227,233,239,245,251,257,263,270,276,282,288,294,300,306,312,318,324,330,336,342,348,354,360,366,372,378,385,392,398,404,410,416,422,428,434,440,446,452,458,464,470,476,482,488,495,501,507,513,519,525,531,537,543,549,555,561,567,573,579,585,591,598,605,611,617,623,629,635,641,647,653,659,665,671,677,683,689,696,702,708,714,720,726,732,738,744,750,756,762,768,774,780,787,794,800,806,812,818,824,830,836,842,848,854,860,866,873,879,885,891,897,903,909,915,921,927,933,939,945,952,959,965,971,977,983,989,995,1001,1007,1013,1019,1026,1032,1038,1044,1050,1056,1062,1068,1074,1080,1086,1093,1100,1106,1112,1118,1124,1130,1136,1142,1148,1155,1161,1167,1173,1179,1185,1191,1197,1203,1210,1217,1223,1229,1235,1241,1247,1253,1260,1266,1272,1278,1284,1290,1296,1303,1310,1316,1322,1328,1334,1341,1347,1353,1359,1365,1372,1379,1385,1391,1398,1404,1410,1417,1424,1431,1438,1445,1451,1457,1463,1469,1475,1481,1487,1493,1499,1505,1511,1517,1523,1529,1535,1541,1547,1553,1560,1566,1573,1579,1586,1592,1599,1605,1612,1618,1625,1631,1638,1644,1651,1657,1664,1670,1677,1686,1693,1699,1705,1711,1717,1723,1729,1735,1741,1747,1753,1759,1765,1771,1777,1783,1789,1796,1802,1809,1815,1822,1828,1835,1841,1848,1854,1861,1867,1874,1880,1887,1893,1900,1909,1916,1922,1928,1934,1940,1946,1952,1958,1964,1970,1976,1982,1988,1994,2000,2007,2013,2020,2026,2033,2039,2046,2052,2059,2065,2072,2078,2085,2091,2098,2107,2114,2120,2126,2132,2138,2144,2150,2156,2162,2168,2174,2180,2186,2193,2199,2206,2212,2219,2225,2232,2238,2245,2251,2258,2264,2271,2280,2287,2293,2299,2305,2311,2317,2323,2329,2335,2341,2347,2354,2360,2367,2373,2380,2386,2393,2399,2406,2412,2419,2428,2435,2441,2447,2453,2459,2465,2471,2477,2483,2490,2496,2503,2509,2516,2522,2529,2535,2542,2551,2558,2564,2570,2576,2582,2588,2594,2601,2607,2614,2620,2627,2633,2640,2649,2656,2662,2668,2674,2680,2687,2693,2700,2706,2713,2722,2729,2735,2741,2748,2754,2761,2770,2777,2784,2793,2800,2807,2814,2821,2828,2835,2842,2849,2856,2863,2870,2877,2884,2891,2898,2905,2912,2919,2935,2941,2947,2953,2959,2965,2971,2977,2983,2989,2995,3001,3007,3013,3019,3025,3031,3038,3044,3050,3056,3062,3068,3074,3080,3086,3092,3098,3104,3110,3116,3122,3128,3134,3141,3148,3154,3160,3166,3172,3178,3184,3190,3196,3202,3208,3214,3220,3226,3232,3239,3245,3251,3257,3263,3269,3275,3281,3287,3293,3299,3305,3311,3317,3323,3330,3337,3343,3349,3355,3361,3367,3373,3379,3385,3391,3397,3403,3409,3416,3422,3428,3434,3440,3446,3452,3458,3464,3470,3476,3482,3488,3495,3502,3508,3514,3520,3526,3532,3538,3544,3550,3556,3562,3569,3575,3581,3587,3593,3599,3605,3611,3617,3623,3629,3636,3643,3649,3655,3661,3667,3673,3679,3685,3691,3698,3704,3710,3716,3722,3728,3734,3740,3746,3753,3760,3766,3772,3778,3784,3790,3796,3803,3809,3815,3821,3827,3833,3839,3846,3853,3859,3865,3871,3877,3884,3890,3896,3902,3908,3915,3922,3928,3934,3941,3947,3953,3960,3967,3974,3981,3988,3994,4000,4006,4012,4018,4024,4030,4036,4042,4048,4054,4060,4066,4072,4078,4084,4091,4097,4104,4110,4117,4123,4130,4136,4143,4149,4156,4162,4169,4175,4182,4188,4195,4204,4211,4217,4223,4229,4235,4241,4247,4253,4259,4265,4271,4277,4283,4289,4295,4302,4308,4315,4321,4328,4334,4341,4347,4354,4360,4367,4373,4380,4386,4393,4402,4409,4415,4421,4427,4433,4439,4445,4451,4457,4463,4469,4475,4481,4488,4494,4501,4507,4514,4520,4527,4533,4540,4546,4553,4559,4566,4575,4582,4588,4594,4600,4606,4612,4618,4624,4630,4636,4642,4649,4655,4662,4668,4675,4681,4688,4694,4701,4707,4714,4723,4730,4736,4742,4748,4754,4760,4766,4772,4778,4785,4791,4798,4804,4811,4817,4824,4830,4837,4846,4853,4859,4865,4871,4877,4883,4889,4896,4902,4909,4915,4922,4928,4935,4944,4951,4957,4963,4969,4975,4982,4988,4995,5001,5008,5017,5024,5030,5036,5043,5049,5056,5065,5072,5079,5088,5095,5102,5109,5116,5123,5130,5137,5144,5151,5158,5165,5172,5179,5186,5193,5200,5216,5222,5228,5234,5240,5246,5252,5258,5264,5270,5276,5282,5288,5294,5300,5307,5313,5319,5325,5331,5337,5343,5349,5355,5361,5367,5373,5379,5385,5391,5398,5405,5411,5417,5423,5429,5435,5441,5447,5453,5459,5465,5471,5477,5484,5490,5496,5502,5508,5514,5520,5526,5532,5538,5544,5550,5556,5563,5570,5576,5582,5588,5594,5600,5606,5612,5618,5624,5630,5637,5643,5649,5655,5661,5667,5673,5679,5685,5691,5697,5704,5711,5717,5723,5729,5735,5741,5747,5753,5759,5766,5772,5778,5784,5790,5796,5802,5808,5814,5821,5828,5834,5840,5846,5852,5858,5864,5871,5877,5883,5889,5895,5901,5907,5914,5921,5927,5933,5939,5945,5952,5958,5964,5970,5976,5983,5990,5996,6002,6009,6015,6021,6028,6035,6042,6049,6056,6062,6068,6074,6080,6086,6092,6098,6104,6110,6116,6122,6128,6134,6140,6147,6153,6160,6166,6173,6179,6186,6192,6199,6205,6212,6218,6225,6231,6238,6247,6254,6260,6266,6272,6278,6284,6290,6296,6302,6308,6314,6320,6326,6333,6339,6346,6352,6359,6365,6372,6378,6385,6391,6398,6404,6411,6420,6427,6433,6439,6445,6451,6457,6463,6469,6475,6481,6487,6494,6500,6507,6513,6520,6526,6533,6539,6546,6552,6559,6568,6575,6581,6587,6593,6599,6605,6611,6617,6623,6630,6636,6643,6649,6656,6662,6669,6675,6682,6691,6698,6704,6710,6716,6722,6728,6734,6741,6747,6754,6760,6767,6773,6780,6789,6796,6802,6808,6814,6820,6827,6833,6840,6846,6853,6862,6869,6875,6881,6888,6894,6901,6910,6917,6924,6933,6940,6947,6954,6961,6968,6975,6982,6989,6996,7003,7010,7017,7024,7031,7047,7053,7059,7065,7071,7077,7083,7089,7095,7101,7107,7113,7119,7126,7132,7138,7144,7150,7156,7162,7168,7174,7180,7186,7192,7198,7205,7212,7218,7224,7230,7236,7242,7248,7254,7260,7266,7272,7279,7285,7291,7297,7303,7309,7315,7321,7327,7333,7339,7346,7353,7359,7365,7371,7377,7383,7389,7395,7401,7408,7414,7420,7426,7432,7438,7444,7450,7456,7463,7470,7476,7482,7488,7494,7500,7506,7513,7519,7525,7531,7537,7543,7549,7556,7563,7569,7575,7581,7587,7594,7600,7606,7612,7618,7625,7632,7638,7644,7651,7657,7663,7670,7677,7684,7691,7698,7704,7710,7716,7722,7728,7734,7740,7746,7752,7758,7764,7770,7777,7783,7790,7796,7803,7809,7816,7822,7829,7835,7842,7848,7855,7864,7871,7877,7883,7889,7895,7901,7907,7913,7919,7925,7931,7938,7944,7951,7957,7964,7970,7977,7983,7990,7996,8003,8012,8019,8025,8031,8037,8043,8049,8055,8061,8067,8074,8080,8087,8093,8100,8106,8113,8119,8126,8135,8142,8148,8154,8160,8166,8172,8178,8185,8191,8198,8204,8211,8217,8224,8233,8240,8246,8252,8258,8264,8271,8277,8284,8290,8297,8306,8313,8319,8325,8332,8338,8345,8354,8361,8368,8377,8384,8391,8398,8405,8412,8419,8426,8433,8440,8447,8454,8461,8477,8483,8489,8495,8501,8507,8513,8519,8525,8531,8537,8544,8550,8556,8562,8568,8574,8580,8586,8592,8598,8604,8611,8618,8624,8630,8636,8642,8648,8654,8660,8666,8673,8679,8685,8691,8697,8703,8709,8715,8721,8728,8735,8741,8747,8753,8759,8765,8771,8778,8784,8790,8796,8802,8808,8814,8821,8828,8834,8840,8846,8852,8859,8865,8871,8877,8883,8890,8897,8903,8909,8916,8922,8928,8935,8942,8949,8956,8963,8969,8975,8981,8987,8993,8999,9005,9011,9017,9023,9030,9036,9043,9049,9056,9062,9069,9075,9082,9088,9095,9104,9111,9117,9123,9129,9135,9141,9147,9153,9159,9166,9172,9179,9185,9192,9198,9205,9211,9218,9227,9234,9240,9246,9252,9258,9264,9270,9277,9283,9290,9296,9303,9309,9316,9325,9332,9338,9344,9350,9356,9363,9369,9376,9382,9389,9398,9405,9411,9417,9424,9430,9437,9446,9453,9460,9469,9476,9483,9490,9497,9504,9511,9518,9525,9532,9539,9555,9561,9567,9573,9579,9585,9591,9597,9603,9610,9616,9622,9628,9634,9640,9646,9652,9658,9665,9672,9678,9684,9690,9696,9702,9708,9715,9721,9727,9733,9739,9745,9751,9758,9765,9771,9777,9783,9789,9796,9802,9808,9814,9820,9827,9834,9840,9846,9853,9859,9865,9872,9879,9886,9893,9900,9906,9912,9918,9924,9930,9936,9942,9948,9955,9961,9968,9974,9981,9987,9994,10000,10007,10016,10023,10029,10035,10041,10047,10053,10059,10066,10072,10079,10085,10092,10098,10105,10114,10121,10127,10133,10139,10145,10152,10158,10165,10171,10178,10187,10194,10200,10206,10213,10219,10226,10235,10242,10249,10258,10265,10272,10279,10286,10293,10300,10307,10314,10330,10336,10342,10348,10354,10360,10366,10373,10379,10385,10391,10397,10403,10409,10416,10423,10429,10435,10441,10447,10454,10460,10466,10472,10478,10485,10492,10498,10504,10511,10517,10523,10530,10537,10544,10551,10558,10564,10570,10576,10582,10588,10594,10601,10607,10614,10620,10627,10633,10640,10649,10656,10662,10668,10674,10680,10687,10693,10700,10706,10713,10722,10729,10735,10741,10748,10754,10761,10770,10777,10784,10793,10800,10807,10814,10821,10828,10835,10851,10857,10863,10869,10875,10882,10888,10894,10900,10906,10913,10920,10926,10932,10939,10945,10951,10958,10965,10972,10979,10986,10992,10998,11004,11010,11017,11023,11030,11036,11043,11052,11059,11065,11071,11078,11084,11091,11100,11107,11114,11123,11130,11137,11144,11151,11167,11173,11179,11186,11192,11198,11205,11212,11219,11226,11233,11239,11245,11252,11258,11265,11274,11281,11288,11297,11304,11311,11327,11334,11341,11348,11355,11364],"omitted_readout_order":[11591,11610,11632,11657,11815,11856,12097,12236,12252,12263,12282,12283,12366,12368,12557,12579,12604,13181,13197,13208,13227,13228,13241,13260,13261,13436,13461,13489,14000,14019,14020,14029,14048,14049,14060,14064,14079,14080,14228,14759,14778,14779,14788,14792,14807,14808,15591,15628,15892,15911,15932,15955,16088,16092,16125,16169,16212,16372,16391,16412,16435,16532,16536,16572,16576,16615,16619,16633,16635,16646,16648,16759,16778,16799,16889,16893,16932,16936,16949,16951,16961,16963,17053,17072,17159,17163,17175,17177,17186,17188,17254,17311,17313,17320,17321,17323,20163,20205,20208,20210,20301,20304,20306,20393,20402,20493,20498,20544,20589,20594,20733,20738,20784,20821,20829,20832,20880,20883,20917,20921,20928,20976,20979,21021,21072,21075,21109,21117,21168,21171,21246,21247,21290,21291,21493,21503,22287,22311,22335,22357,22379,22419,22437,22455,22471,22487,22501,22515,22527,22549,22567,22581,22591,23610,21244,21250,21252,21288,21294,21296,22036,22037,22054,22056,22057,22238,22242,22276,22280,22303,22308,22317,22354,22363,22380,22386,22388,22390,22392,22394,22400,22402,22405,22410,22414,22420,22432,22443,22450,22477,22517,22529,22535,22541,22555,22707,22711,22792,22818,22840,22842,22858,23611,11,25,39,53,1443,1914,2112,2433,4209,4407,4728,5100,5114,6054,6252,6573,6945,6959,7696,8017,20148,20151,20244,20247,20340,20343,20346,20436,20439,20532,20535,20538,20583,20631,20634,20679,20727,20730,20772,20775,20834,20868,20871,20930,20964,20967,20970,21024,21026,21060,21063,21120,21122,21156,21159,21216,21218,21223,21224,21269,21270,21311,21312,21349,21350,21383,21384,21450,21451,21470,21471,21486,21487,21498,21499,21506,21507,22399,22539,22559,22575,22587,23084,2285,4580,6425,6973,7869,8389,8403,8410,8424,8438,8452,8733,8961,9109,9481,9488,9502,9516,9530,9670,9898,10263,10277,10291,10305,10328,10421,10535,10798,10812,10826,10849,10963,11210,11302,11325,19712,21242,21262,21264,21266,21268,21286,21306,21308,21310,21317,21344,21346,21348,21382,21442,21444,21457,21464,21466,21468,21482,21484,21496,21948,21950,21952,21954,21962,21964,21966,21968,21970,21972,21999,22011,22015,22058,22060,22097,22099,22107,22131,22240,22244,22245,22247,22248,22251,22252,22255,22256,22257,22259,22261,22263,22265,22266,22269,22270,22271,22273,22274,22275,22277,22278,22284,22288,22292,22294,22324,22326,22330,22332,22338,22340,22342,22349,22355,22368,22370,22372,22376,22406,22408,22416,22430,22452,22493,22509,22523,22524,22531,22543,22545,22546,22551,22553,22561,22564,22571,22573,22577,22578,22583,22588,22669,22671,22743,22816,22838,22990,23115,23117,23178,23338,23390,23420,23468,23542,23580,23586,23589,23624,23633,23678,23721,23752,21509,21510,22595,22806,21898,21918,21963,21965,22041,22043,22051,22053,22241,22279,22296,22298,22300,22301,22302,22306,22307,22309,22312,22313,22315,22318,22319,22320,22322,22336,22344,22346,22348,22352,22353,22358,22359,22361,22364,22365,22366,22374,22403,22407,22428,22429,22438,22439,22441,22463,22473,22475,22503,22505,22585,22631,22665,22667,22673,22690,22717,22741,22745,22790,22794,22856,22870,22890,23085,23098,23119,23121,23123,23128,23129,23140,23143,23252,23361,23367,23396,23402,23498,23540,23541,23574,23575,23581,23587,23632,23676,23677,23718,23739,23740,22491,23579,23631,23657,23690,21887,21889,21891,21893,21895,21897,21900,21902,21904,21912,21913,21914,21915,21916,21920,21922,21925,21927,21929,21931,21939,21941,21943,21945,21947,21975,21977,21979,21987,21989,21991,21993,22001,22009,22017,22019,22021,22023,22031,22033,22035,22063,22071,22073,22076,22092,22110,22126,22138,22140,22142,22144,22152,22154,22156,22158,22166,22168,22170,22178,22180,22182,22190,22192,22200,22202,22210,22218,22239,22243,22281,22282,22283,22285,22289,22290,22291,22295,22297,22299,22304,22305,22314,22321,22323,22325,22327,22328,22329,22331,22333,22337,22347,22350,22351,22360,22362,22367,22369,22371,22373,22375,22377,22381,22401,22409,22411,22413,22415,22417,22433,22440,22453,22462,22464,22466,22467,22472,22474,22490,22492,22494,22496,22502,22504,22508,22510,22516,22518,22520,22522,22525,22528,22530,22532,22534,22540,22542,22544,22547,22550,22552,22554,22560,22562,22563,22565,22568,22569,22570,22576,22579,22582,22589,22592,22593,22646,22652,22654,22675,22677,22679,22688,22689,22691,22692,22696,22715,22719,22725,22729,22747,22749,22750,22751,22761,22762,22763,22775,22777,22779,22780,22788,22791,22793,22796,22798,22801,22803,22805,22807,22817,22819,22828,22836,22839,22841,22845,22854,22857,22868,22901,22919,22939,22940,22951,22957,23017,23025,23034,23035,23037,23038,23068,23094,23097,23103,23106,23111,23125,23127,23130,23131,23132,23134,23135,23137,23138,23141,23144,23162,23183,23184,23186,23189,23195,23209,23218,23219,23220,23221,23222,23228,23234,23240,23250,23254,23256,23258,23295,23304,23305,23307,23308,23340,23347,23348,23356,23362,23377,23386,23387,23389,23422,23427,23436,23442,23467,23479,23501,23503,23505,23508,23514,23517,23538,23554,23563,23564,23570,23573,23577,23578,23582,23583,23585,23588,23595,23608,23618,23622,23628,23630,23634,23635,23643,23645,23646,23663,23684,23708,23709,23710,23711,23712,23714,23715,23716,23720,23722,23738,23748,23750,23751,23756,23757,23758,23759,23761,22341,22343,22345,22383,22387,22476,22506,22521,22733,22776,22789,22795,22815,22898,22998,23036,23046,23049,23093,23179,23180,23241,23243,23272,23274,23398,23425,23441,23447,23466,23474,23480,23490,23523,23548,23619,22316,22389,22393,22395,22422,22424,22426,22442,22445,22447,22449,22451,22458,22460,22465,22479,22481,22483,22488,22681,22685,22686,22687,22694,22699,22759,22781,22782,22808,22907,22921,22925,22936,22989,23001,23007,23015,23019,23021,23023,23033,23040,23043,23050,23055,23092,23096,23113,23142,23177,23191,23192,23203,23205,23207,23235,23237,23268,23271,23277,23278,23293,23319,23322,23326,23329,23334,23336,23342,23344,23346,23352,23355,23375,23408,23411,23416,23418,23426,23432,23435,23448,23473,23482,23486,23489,23494,23496,23500,23502,23511,23524,23525,23527,23543,23544,23547,23556,23560,23568,23641,23642,23644,23686,23700,23702,23706,23707,23713,23717,23719,23747,23749,23760,23763,23764,22293,22339,22385,22457,22495,22774,22821,22938,22948,23104,23105,23107,23108,23109,23110,23133,23139,23230,23233,23345,23412,23507,23509,23561,23562,23746,24061,24101,22391,22404,22423,22444,22459,22461,22478,22621,22622,22623,22625,22627,22629,22633,22635,22637,22639,22643,22644,22647,22648,22649,22650,22655,22656,22657,22658,22659,22660,22661,22662,22668,22670,22698,22700,22701,22702,22705,22706,22708,22710,22712,22713,22714,22716,22718,22720,22723,22724,22726,22727,22728,22730,22732,22734,22735,22736,22737,22738,22742,22744,22746,22748,22752,22753,22754,22757,22758,22760,22764,22766,22768,22770,22773,22778,22783,22787,22797,22804,22809,22813,22814,22822,22825,22827,22829,22831,22835,22837,22847,22849,22853,22855,22861,22863,22867,22869,22873,22874,22877,22878,22885,22886,22887,22889,22891,22892,22893,22894,22895,22896,22897,22899,22900,22902,22904,22905,22908,22911,22912,22915,22917,22929,22931,22935,22937,22942,22945,22946,22947,22949,22950,22952,22954,22955,22956,22958,22959,22960,22961,22962,22963,22966,22968,22970,22972,22974,22976,22978,22980,22982,22985,22986,22987,22988,22992,22995,23004,23027,23029,23031,23044,23052,23053,23056,23059,23060,23064,23066,23070,23072,23074,23076,23078,23080,23082,23083,23088,23091,23146,23158,23160,23164,23166,23168,23170,23172,23173,23174,23175,23182,23211,23213,23215,23217,23224,23227,23236,23238,23239,23244,23260,23261,23262,23263,23264,23265,23266,23284,23286,23290,23291,23297,23299,23303,23310,23311,23313,23317,23330,23349,23351,23353,23359,23370,23374,23379,23381,23383,23385,23392,23393,23395,23399,23401,23404,23407,23409,23413,23414,23424,23429,23431,23433,23439,23451,23452,23454,23457,23459,23461,23463,23464,23465,23470,23487,23491,23492,23504,23506,23510,23512,23518,23528,23530,23531,23533,23537,23539,23558,23565,23566,23572,23576,23584,23590,23603,23609,23638,23640,23654,23661,23664,23667,23668,23671,23673,23674,23675,23680,23683,23692,23701,23704,23705,23725,23728,23731,23732,23735,23736,23737,23742,23745,23754,23762,23765,23766,23767,23768,23769,23770,23771,23772,23773,23774,23775,23776,23779,23780,23781,23782,23783,23784,23785,23786,23787,23788,23789,23790,23791,23792,23890,23969,24017,22421,22425,22427,22431,22446,22448,22480,22497,22628,22666,22693,22695,22697,22802,22830,22846,22848,22862,22964,22997,22999,23000,23002,23008,23011,23012,23045,23047,23048,23061,23081,23155,23245,23246,23267,23269,23270,23281,23306,23316,23324,23325,23327,23328,23331,23332,23354,23388,23406,23410,23434,23438,23445,23484,23488,23550,23553,23559,23602,23607,23620,23623,23629,23647,23648,23649,23650,23651,23652,23653,23655,23656,23658,23669,23670,23685,23687,23688,23689,23694,23695,23696,23697,23698,23699,23733,23734,23861,23917,24062,24102,24104,24121,24183,24186,24231,22991,22993,22994,22996,23003,23005,23051,23054,23057,23058,23062,23087,23089,23090,23095,23099,23100,23101,23102,23124,23136,23145,23147,23148,23149,23150,23151,23152,23153,23154,23156,23181,23242,23283,23314,23320,23358,23428,23453,23476,23526,23545,23591,23592,23593,23594,23596,23597,23598,23599,23600,23601,23613,23614,23615,23616,23617,23621,23625,23626,23627,23659,23660,23662,23665,23666,23679,23681,23682,23691,23693,23723,23724,23726,23727,23729,23730,23741,23744,23753,23863,23864,23891,23892,24197,24198,24199,24200,24209,24211,24212,22630,22632,22634,22636,22638,22640,22651,22653,22680,22731,22765,22767,22769,22784,22810,22826,22832,22850,22864,23112,23204,23376,23532,23637,23639,23672,23918,24083,24103,24184,22920,22965,23018,23063,23114,23116,23118,23120,23122,23126,23157,23247,23333,23415,23493,23567,23797,23803,23804,23805,23807,23809,23811,23813,23815,23817,23821,23823,23833,23834,23865,23867,23869,23871,23873,23875,23879,23914,23919,23920,23921,23923,23925,23927,23929,23933,23935,23942,23948,23952,23954,23956,23958,23962,23966,23971,23972,23973,23975,23977,23979,23983,23985,23992,23998,24002,24004,24014,24015,24019,24021,24023,24025,24029,24031,24037,24038,24041,24042,24044,24048,24050,24052,24054,24059,24063,24065,24067,24071,24073,24079,24086,24092,24099,24100,24105,24109,24111,24116,24117,24124,24130,24136,24137,24143,24145,24150,24155,24156,24158,24168,24169,24179,24180,24185,24205,24227,24417,24419,24423,24425,24429,24431,24435,24437,24473,24627,24629,24630,24632,24633,24635,24636,24638,24639,24641,24642,24644,24645,24647,24648,24650,24651,24653,24837,24839,24843,24845,24849,24851,24855,24857,24883,24886,24889,24892,24893,25047,25049,25050,25052,25053,25055,25056,25058,25059,25061,25062,25064,25065,25067,25068,25070,25090,25253,25255,25259,25261,25265,25267,25271,25273,25299,25302,25305,25308,25309,25463,25465,25466,25468,25469,25471,25472,25474,25475,25477,25478,25480,25481,25483,25502,25504,25671,25673,25677,25679,25683,25685,25711,25714,25717,25718,25720,25721,25723,25875,25877,25878,25880,25881,25883,25884,25886,25887,25889,25890,25892,25912,25914,25917,26079,26081,26085,26087,26091,26093,26119,26122,26125,26126,26128,26129,26131,26283,26285,26286,26288,26289,26291,26292,26294,26295,26297,26301,26318,26320,26321,26323,26489,26491,26495,26497,26523,26526,26527,26529,26530,26532,26533,26535,26687,26689,26690,26692,26693,26695,26696,26698,26720,26722,26723,26725,26728,26889,26891,26895,26897,26923,26926,26927,26929,26930,26932,26933,26935,27087,27089,27090,27092,27093,27095,27099,27118,27120,27121,27123,27124,27126,27291,27293,27319,27320,27322,27323,27325,27326,27328,27329,27331,27483,27485,27486,27488,27512,27514,27515,27517,27518,27520,27521,27523,27683,27685,27712,27714,27715,27717,27718,27720,27721,27723,27881,27902,27904,27905,27907,27908,27910,27911,27913,28100,28102,28103,28105,28106,28108,28109,28111,28288,28290,28291,28293,28294,28296,28299,28483,28484,28486,28487,28489,28490,28492,28493,28495,24248,24251,24254,24257,24461,24464,24467,24470,24670,24673,24676,24679,24881,24884,24887,24890,25088,25091,25094,25097,25297,25300,25303,25306,25505,25508,25511,25709,25712,25715,25915,25918,25921,26117,26120,26123,26324,26327,26521,26524,26726,26729,26921,26924,27127,27317],"source":"PR97 e15350b66e4bf796153a68c240a6cc1b788abe3e, already adopted; unchanged pinned frame witnesses and notices."} diff --git a/references/paired-cube/selected-module/README.md b/references/paired-cube/selected-module/README.md new file mode 100644 index 0000000000..ce3562bcf1 --- /dev/null +++ b/references/paired-cube/selected-module/README.md @@ -0,0 +1,13 @@ +# Frozen selected complex carrier matching + +`matching-arcs.json` contains the selected 6,074 carrier donor/use pairs from +the round-nine p=12 coordinate-frame witness. Node identifiers are one-based. +An ordinary use code is `2*node + operand`; a root use is `(1<<31) | root_index`. +`SOURCE.json` binds this exact list, the deterministically regenerated scalar +graph, and the unchanged PR117 witness in `references/three-stage-cover/pr117`. +The verifier reconstructs all frames and checks every arc, rather than trusting +the omitted large annihilator witness. Different maximum matching algorithms +need not reproduce this selected matching. + +Round-nine channel/matching work: icekylinx with OpenAI assistance, Apache-2.0. +Inherited PR117: eumemic with Claude assistance, existing LICENSE/NOTICE apply. diff --git a/references/paired-cube/selected-module/SOURCE.json b/references/paired-cube/selected-module/SOURCE.json new file mode 100644 index 0000000000..0ba9215073 --- /dev/null +++ b/references/paired-cube/selected-module/SOURCE.json @@ -0,0 +1,6 @@ +{ + "source_commit": "cbb05ce504d571546d9b7794c186a613c659c3bf", + "inherited_dag_sha256": "3c034d0aae388ef567a454826f4f48b26fd8a94c71e8ffed4835271b349a783b", + "matching_arcs_sha256": "22c90ed078d765e58ac824d6f9558cc4620961b48644a32c0115bdb9852de771", + "graph_sha256": "7a7a58df595dc245ebe8d2673abdd8c4eaae98e767885240715a61f43a2f4dff" +} diff --git a/references/paired-cube/selected-module/matching-arcs.json b/references/paired-cube/selected-module/matching-arcs.json new file mode 100644 index 0000000000..e9238210ab --- /dev/null +++ b/references/paired-cube/selected-module/matching-arcs.json @@ -0,0 +1 @@ +[[10436,20561],[10437,20567],[10438,20573],[10439,20579],[10453,20586],[10454,20592],[10455,20598],[10495,20607],[10496,20613],[10508,20620],[10939,21567],[10940,21573],[10941,21579],[10942,21585],[10956,21592],[10957,21598],[10958,21604],[10998,21613],[10999,21619],[11011,21626],[11442,22573],[11443,22579],[11444,22585],[11445,22591],[11459,22598],[11460,22604],[11461,22610],[11501,22619],[11502,22625],[11514,22632],[11945,23579],[11946,23585],[11947,23591],[11948,23597],[11962,23604],[11963,23610],[11964,23616],[12004,23625],[12005,23631],[12017,23638],[12448,24585],[12449,24591],[12450,24597],[12451,24603],[12465,24610],[12466,24616],[12467,24622],[12507,24631],[12508,24637],[12520,24644],[12951,25591],[12952,25597],[12953,25603],[12954,25609],[12968,25616],[12969,25622],[12970,25628],[13010,25637],[13011,25643],[13023,25650],[13454,26597],[13455,26603],[13456,26609],[13457,26615],[13471,26622],[13472,26628],[13473,26634],[13513,26643],[13514,26649],[13526,26656],[13957,27603],[13958,27609],[13959,27615],[13960,27621],[13974,27628],[13975,27634],[13976,27640],[14016,27649],[14017,27655],[14029,27662],[14460,28609],[14461,28615],[14462,28621],[14463,28627],[14477,28634],[14478,28640],[14479,28646],[14519,28655],[14520,28661],[14532,28668],[14963,29615],[14964,29621],[14965,29627],[14966,29633],[14980,29640],[14981,29646],[14982,29652],[15022,29661],[15023,29667],[15035,29674],[15466,30621],[15467,30627],[15468,30633],[15469,30639],[15483,30646],[15484,30652],[15485,30658],[15525,30667],[15526,30673],[15538,30680],[15969,31627],[15970,31633],[15971,31639],[15972,31645],[15986,31652],[15987,31658],[15988,31664],[16028,31673],[16029,31679],[16041,31686],[16472,32633],[16473,32639],[16474,32645],[16475,32651],[16489,32658],[16490,32664],[16491,32670],[16531,32679],[16532,32685],[16544,32692],[16975,33639],[16976,33645],[16977,33651],[16978,33657],[16992,33664],[16993,33670],[16994,33676],[17034,33685],[17035,33691],[17047,33698],[17478,34645],[17479,34651],[17480,34657],[17481,34663],[17495,34670],[17496,34676],[17497,34682],[17537,34691],[17538,34697],[17550,34704],[17981,35651],[17982,35657],[17983,35663],[17984,35669],[17998,35676],[17999,35682],[18000,35688],[18040,35697],[18041,35703],[18053,35710],[18484,36657],[18485,36663],[18486,36669],[18487,36675],[18501,36682],[18502,36688],[18503,36694],[18543,36703],[18544,36709],[18556,36716],[18987,37663],[18988,37669],[18989,37675],[18990,37681],[19004,37688],[19005,37694],[19006,37700],[19046,37709],[19047,37715],[19059,37722],[19490,38669],[19491,38675],[19492,38681],[19493,38687],[19507,38694],[19508,38700],[19509,38706],[19549,38715],[19550,38721],[19562,38728],[19993,39675],[19994,39681],[19995,39687],[19996,39693],[20010,39700],[20011,39706],[20012,39712],[20052,39721],[20053,39727],[20065,39734],[20496,40681],[20497,40687],[20498,40693],[20499,40699],[20513,40706],[20514,40712],[20515,40718],[20555,40727],[20556,40733],[20568,40740],[20999,41687],[21000,41693],[21001,41699],[21002,41705],[21016,41712],[21017,41718],[21018,41724],[21058,41733],[21059,41739],[21071,41746],[21502,42693],[21503,42699],[21504,42705],[21505,42711],[21519,42718],[21520,42724],[21521,42730],[21561,42739],[21562,42745],[21574,42752],[22005,43699],[22006,43705],[22007,43711],[22008,43717],[22022,43724],[22023,43730],[22024,43736],[22064,43745],[22065,43751],[22077,43758],[25520,20660],[25521,21190],[25522,21224],[25523,21258],[25524,20852],[25527,21328],[25528,21388],[25529,20942],[25530,20630],[25531,21448],[25532,21350],[25535,21392],[25536,20640],[25548,20629],[25562,21666],[25563,22196],[25564,22230],[25565,22264],[25566,21858],[25569,22334],[25570,22394],[25571,21948],[25572,21636],[25573,22454],[25574,22356],[25577,22398],[25578,21646],[25590,21635],[25604,22672],[25605,23202],[25606,23236],[25607,23270],[25608,22864],[25611,23340],[25612,23400],[25613,22954],[25614,22642],[25615,23460],[25616,23362],[25619,23404],[25620,22652],[25632,22641],[25646,23678],[25647,24208],[25648,24242],[25649,24276],[25650,23870],[25653,24346],[25654,24406],[25655,23960],[25656,23648],[25657,24466],[25658,24368],[25661,24410],[25662,23658],[25674,23647],[25688,24684],[25689,25214],[25690,25248],[25691,25282],[25692,24876],[25695,25352],[25696,25412],[25697,24966],[25698,24654],[25699,25472],[25700,25374],[25703,25416],[25704,24664],[25716,24653],[25730,25690],[25731,26220],[25732,26254],[25733,26288],[25734,25882],[25737,26358],[25738,26418],[25739,25972],[25740,25660],[25741,26478],[25742,26380],[25745,26422],[25746,25670],[25758,25659],[25772,26696],[25773,27226],[25774,27260],[25775,27294],[25776,26888],[25779,27364],[25780,27424],[25781,26978],[25782,26666],[25783,27484],[25784,27386],[25787,27428],[25788,26676],[25800,26665],[25814,27702],[25815,28232],[25816,28266],[25817,28300],[25818,27894],[25821,28370],[25822,28430],[25823,27984],[25824,27672],[25825,28490],[25826,28392],[25829,28434],[25830,27682],[25842,27671],[25856,28708],[25857,29238],[25858,29272],[25859,29306],[25860,28900],[25863,29376],[25864,29436],[25865,28990],[25866,28678],[25867,29496],[25868,29398],[25871,29440],[25872,28688],[25884,28677],[25898,29714],[25899,30244],[25900,30278],[25901,30312],[25902,29906],[25905,30382],[25906,30442],[25907,29996],[25908,29684],[25909,30502],[25910,30404],[25913,30446],[25914,29694],[25926,29683],[25940,30720],[25941,31250],[25942,31284],[25943,31318],[25944,30912],[25947,31388],[25948,31448],[25949,31002],[25950,30690],[25951,31508],[25952,31410],[25955,31452],[25956,30700],[25968,30689],[25982,31726],[25983,32256],[25984,32290],[25985,32324],[25986,31918],[25989,32394],[25990,32454],[25991,32008],[25992,31696],[25993,32514],[25994,32416],[25997,32458],[25998,31706],[26010,31695],[26024,32732],[26025,33262],[26026,33296],[26027,33330],[26028,32924],[26031,33400],[26032,33460],[26033,33014],[26034,32702],[26035,33520],[26036,33422],[26039,33464],[26040,32712],[26052,32701],[26066,33738],[26067,34268],[26068,34302],[26069,34336],[26070,33930],[26073,34406],[26074,34466],[26075,34020],[26076,33708],[26077,34526],[26078,34428],[26081,34470],[26082,33718],[26094,33707],[26108,34744],[26109,35274],[26110,35308],[26111,35342],[26112,34936],[26115,35412],[26116,35472],[26117,35026],[26118,34714],[26119,35532],[26120,35434],[26123,35476],[26124,34724],[26136,34713],[26150,35750],[26151,36280],[26152,36314],[26153,36348],[26154,35942],[26157,36418],[26158,36478],[26159,36032],[26160,35720],[26161,36538],[26162,36440],[26165,36482],[26166,35730],[26178,35719],[26192,36756],[26193,37286],[26194,37320],[26195,37354],[26196,36948],[26199,37424],[26200,37484],[26201,37038],[26202,36726],[26203,37544],[26204,37446],[26207,37488],[26208,36736],[26220,36725],[26234,37762],[26235,38292],[26236,38326],[26237,38360],[26238,37954],[26241,38430],[26242,38490],[26243,38044],[26244,37732],[26245,38550],[26246,38452],[26249,38494],[26250,37742],[26262,37731],[26276,38768],[26277,39298],[26278,39332],[26279,39366],[26280,38960],[26283,39436],[26284,39496],[26285,39050],[26286,38738],[26287,39556],[26288,39458],[26291,39500],[26292,38748],[26304,38737],[26318,39774],[26319,40304],[26320,40338],[26321,40372],[26322,39966],[26325,40442],[26326,40502],[26327,40056],[26328,39744],[26329,40562],[26330,40464],[26333,40506],[26334,39754],[26346,39743],[26360,40780],[26361,41310],[26362,41344],[26363,41378],[26364,40972],[26367,41448],[26368,41508],[26369,41062],[26370,40750],[26371,41568],[26372,41470],[26375,41512],[26376,40760],[26388,40749],[26402,41786],[26403,42316],[26404,42350],[26405,42384],[26406,41978],[26409,42454],[26410,42514],[26411,42068],[26412,41756],[26413,42574],[26414,42476],[26417,42518],[26418,41766],[26430,41755],[26444,42792],[26445,43322],[26446,43356],[26447,43390],[26448,42984],[26451,43460],[26452,43520],[26453,43074],[26454,42762],[26455,43580],[26456,43482],[26459,43524],[26460,42772],[26472,42761],[26486,43798],[26487,44328],[26488,44362],[26489,44396],[26490,43990],[26493,44466],[26494,44526],[26495,44080],[26496,43768],[26497,44586],[26498,44488],[26501,44530],[26502,43778],[26514,43767],[10320,21123],[10420,20560],[10421,20566],[10422,20572],[10423,20578],[10452,20563],[10465,20562],[10466,20587],[10467,20593],[10468,20599],[10481,20569],[10482,20589],[10483,20606],[10484,20612],[10493,20568],[10494,20588],[10505,20575],[10506,20595],[10507,20609],[10521,20574],[10522,20594],[10523,20608],[10524,20621],[10534,20581],[10535,20601],[10536,20615],[10537,20623],[10550,20580],[10551,20600],[10552,20614],[10553,20622],[10657,21076],[10689,21356],[10823,22129],[10923,21566],[10924,21572],[10925,21578],[10926,21584],[10955,21569],[10968,21568],[10969,21593],[10970,21599],[10971,21605],[10984,21575],[10985,21595],[10986,21612],[10987,21618],[10996,21574],[10997,21594],[11008,21581],[11009,21601],[11010,21615],[11024,21580],[11025,21600],[11026,21614],[11027,21627],[11037,21587],[11038,21607],[11039,21621],[11040,21629],[11053,21586],[11054,21606],[11055,21620],[11056,21628],[11160,22082],[11192,22362],[11326,23135],[11426,22572],[11427,22578],[11428,22584],[11429,22590],[11458,22575],[11471,22574],[11472,22599],[11473,22605],[11474,22611],[11487,22581],[11488,22601],[11489,22618],[11490,22624],[11499,22580],[11500,22600],[11511,22587],[11512,22607],[11513,22621],[11527,22586],[11528,22606],[11529,22620],[11530,22633],[11540,22593],[11541,22613],[11542,22627],[11543,22635],[11556,22592],[11557,22612],[11558,22626],[11559,22634],[11663,23088],[11695,23368],[11829,24141],[11929,23578],[11930,23584],[11931,23590],[11932,23596],[11961,23581],[11974,23580],[11975,23605],[11976,23611],[11977,23617],[11990,23587],[11991,23607],[11992,23624],[11993,23630],[12002,23586],[12003,23606],[12014,23593],[12015,23613],[12016,23627],[12030,23592],[12031,23612],[12032,23626],[12033,23639],[12043,23599],[12044,23619],[12045,23633],[12046,23641],[12059,23598],[12060,23618],[12061,23632],[12062,23640],[12166,24094],[12198,24374],[12332,25147],[12432,24584],[12433,24590],[12434,24596],[12435,24602],[12464,24587],[12477,24586],[12478,24611],[12479,24617],[12480,24623],[12493,24593],[12494,24613],[12495,24630],[12496,24636],[12505,24592],[12506,24612],[12517,24599],[12518,24619],[12519,24633],[12533,24598],[12534,24618],[12535,24632],[12536,24645],[12546,24605],[12547,24625],[12548,24639],[12549,24647],[12562,24604],[12563,24624],[12564,24638],[12565,24646],[12669,25100],[12701,25380],[12835,26153],[12935,25590],[12936,25596],[12937,25602],[12938,25608],[12967,25593],[12980,25592],[12981,25617],[12982,25623],[12983,25629],[12996,25599],[12997,25619],[12998,25636],[12999,25642],[13008,25598],[13009,25618],[13020,25605],[13021,25625],[13022,25639],[13036,25604],[13037,25624],[13038,25638],[13039,25651],[13049,25611],[13050,25631],[13051,25645],[13052,25653],[13065,25610],[13066,25630],[13067,25644],[13068,25652],[13172,26106],[13204,26386],[13338,27159],[13438,26596],[13439,26602],[13440,26608],[13441,26614],[13470,26599],[13483,26598],[13484,26623],[13485,26629],[13486,26635],[13499,26605],[13500,26625],[13501,26642],[13502,26648],[13511,26604],[13512,26624],[13523,26611],[13524,26631],[13525,26645],[13539,26610],[13540,26630],[13541,26644],[13542,26657],[13552,26617],[13553,26637],[13554,26651],[13555,26659],[13568,26616],[13569,26636],[13570,26650],[13571,26658],[13675,27112],[13707,27392],[13841,28165],[13941,27602],[13942,27608],[13943,27614],[13944,27620],[13973,27605],[13986,27604],[13987,27629],[13988,27635],[13989,27641],[14002,27611],[14003,27631],[14004,27648],[14005,27654],[14014,27610],[14015,27630],[14026,27617],[14027,27637],[14028,27651],[14042,27616],[14043,27636],[14044,27650],[14045,27663],[14055,27623],[14056,27643],[14057,27657],[14058,27665],[14071,27622],[14072,27642],[14073,27656],[14074,27664],[14178,28118],[14210,28398],[14344,29171],[14444,28608],[14445,28614],[14446,28620],[14447,28626],[14476,28611],[14489,28610],[14490,28635],[14491,28641],[14492,28647],[14505,28617],[14506,28637],[14507,28654],[14508,28660],[14517,28616],[14518,28636],[14529,28623],[14530,28643],[14531,28657],[14545,28622],[14546,28642],[14547,28656],[14548,28669],[14558,28629],[14559,28649],[14560,28663],[14561,28671],[14574,28628],[14575,28648],[14576,28662],[14577,28670],[14681,29124],[14713,29404],[14847,30177],[14947,29614],[14948,29620],[14949,29626],[14950,29632],[14979,29617],[14992,29616],[14993,29641],[14994,29647],[14995,29653],[15008,29623],[15009,29643],[15010,29660],[15011,29666],[15020,29622],[15021,29642],[15032,29629],[15033,29649],[15034,29663],[15048,29628],[15049,29648],[15050,29662],[15051,29675],[15061,29635],[15062,29655],[15063,29669],[15064,29677],[15077,29634],[15078,29654],[15079,29668],[15080,29676],[15184,30130],[15216,30410],[15350,31183],[15450,30620],[15451,30626],[15452,30632],[15453,30638],[15482,30623],[15495,30622],[15496,30647],[15497,30653],[15498,30659],[15511,30629],[15512,30649],[15513,30666],[15514,30672],[15523,30628],[15524,30648],[15535,30635],[15536,30655],[15537,30669],[15551,30634],[15552,30654],[15553,30668],[15554,30681],[15564,30641],[15565,30661],[15566,30675],[15567,30683],[15580,30640],[15581,30660],[15582,30674],[15583,30682],[15687,31136],[15719,31416],[15853,32189],[15953,31626],[15954,31632],[15955,31638],[15956,31644],[15985,31629],[15998,31628],[15999,31653],[16000,31659],[16001,31665],[16014,31635],[16015,31655],[16016,31672],[16017,31678],[16026,31634],[16027,31654],[16038,31641],[16039,31661],[16040,31675],[16054,31640],[16055,31660],[16056,31674],[16057,31687],[16067,31647],[16068,31667],[16069,31681],[16070,31689],[16083,31646],[16084,31666],[16085,31680],[16086,31688],[16190,32142],[16222,32422],[16356,33195],[16456,32632],[16457,32638],[16458,32644],[16459,32650],[16488,32635],[16501,32634],[16502,32659],[16503,32665],[16504,32671],[16517,32641],[16518,32661],[16519,32678],[16520,32684],[16529,32640],[16530,32660],[16541,32647],[16542,32667],[16543,32681],[16557,32646],[16558,32666],[16559,32680],[16560,32693],[16570,32653],[16571,32673],[16572,32687],[16573,32695],[16586,32652],[16587,32672],[16588,32686],[16589,32694],[16693,33148],[16725,33428],[16859,34201],[16959,33638],[16960,33644],[16961,33650],[16962,33656],[16991,33641],[17004,33640],[17005,33665],[17006,33671],[17007,33677],[17020,33647],[17021,33667],[17022,33684],[17023,33690],[17032,33646],[17033,33666],[17044,33653],[17045,33673],[17046,33687],[17060,33652],[17061,33672],[17062,33686],[17063,33699],[17073,33659],[17074,33679],[17075,33693],[17076,33701],[17089,33658],[17090,33678],[17091,33692],[17092,33700],[17196,34154],[17228,34434],[17362,35207],[17462,34644],[17463,34650],[17464,34656],[17465,34662],[17494,34647],[17507,34646],[17508,34671],[17509,34677],[17510,34683],[17523,34653],[17524,34673],[17525,34690],[17526,34696],[17535,34652],[17536,34672],[17547,34659],[17548,34679],[17549,34693],[17563,34658],[17564,34678],[17565,34692],[17566,34705],[17576,34665],[17577,34685],[17578,34699],[17579,34707],[17592,34664],[17593,34684],[17594,34698],[17595,34706],[17699,35160],[17731,35440],[17865,36213],[17965,35650],[17966,35656],[17967,35662],[17968,35668],[17997,35653],[18010,35652],[18011,35677],[18012,35683],[18013,35689],[18026,35659],[18027,35679],[18028,35696],[18029,35702],[18038,35658],[18039,35678],[18050,35665],[18051,35685],[18052,35699],[18066,35664],[18067,35684],[18068,35698],[18069,35711],[18079,35671],[18080,35691],[18081,35705],[18082,35713],[18095,35670],[18096,35690],[18097,35704],[18098,35712],[18202,36166],[18234,36446],[18368,37219],[18468,36656],[18469,36662],[18470,36668],[18471,36674],[18500,36659],[18513,36658],[18514,36683],[18515,36689],[18516,36695],[18529,36665],[18530,36685],[18531,36702],[18532,36708],[18541,36664],[18542,36684],[18553,36671],[18554,36691],[18555,36705],[18569,36670],[18570,36690],[18571,36704],[18572,36717],[18582,36677],[18583,36697],[18584,36711],[18585,36719],[18598,36676],[18599,36696],[18600,36710],[18601,36718],[18705,37172],[18737,37452],[18871,38225],[18971,37662],[18972,37668],[18973,37674],[18974,37680],[19003,37665],[19016,37664],[19017,37689],[19018,37695],[19019,37701],[19032,37671],[19033,37691],[19034,37708],[19035,37714],[19044,37670],[19045,37690],[19056,37677],[19057,37697],[19058,37711],[19072,37676],[19073,37696],[19074,37710],[19075,37723],[19085,37683],[19086,37703],[19087,37717],[19088,37725],[19101,37682],[19102,37702],[19103,37716],[19104,37724],[19208,38178],[19240,38458],[19374,39231],[19474,38668],[19475,38674],[19476,38680],[19477,38686],[19506,38671],[19519,38670],[19520,38695],[19521,38701],[19522,38707],[19535,38677],[19536,38697],[19537,38714],[19538,38720],[19547,38676],[19548,38696],[19559,38683],[19560,38703],[19561,38717],[19575,38682],[19576,38702],[19577,38716],[19578,38729],[19588,38689],[19589,38709],[19590,38723],[19591,38731],[19604,38688],[19605,38708],[19606,38722],[19607,38730],[19711,39184],[19743,39464],[19877,40237],[19977,39674],[19978,39680],[19979,39686],[19980,39692],[20009,39677],[20022,39676],[20023,39701],[20024,39707],[20025,39713],[20038,39683],[20039,39703],[20040,39720],[20041,39726],[20050,39682],[20051,39702],[20062,39689],[20063,39709],[20064,39723],[20078,39688],[20079,39708],[20080,39722],[20081,39735],[20091,39695],[20092,39715],[20093,39729],[20094,39737],[20107,39694],[20108,39714],[20109,39728],[20110,39736],[20214,40190],[20246,40470],[20380,41243],[20480,40680],[20481,40686],[20482,40692],[20483,40698],[20512,40683],[20525,40682],[20526,40707],[20527,40713],[20528,40719],[20541,40689],[20542,40709],[20543,40726],[20544,40732],[20553,40688],[20554,40708],[20565,40695],[20566,40715],[20567,40729],[20581,40694],[20582,40714],[20583,40728],[20584,40741],[20594,40701],[20595,40721],[20596,40735],[20597,40743],[20610,40700],[20611,40720],[20612,40734],[20613,40742],[20717,41196],[20749,41476],[20883,42249],[20983,41686],[20984,41692],[20985,41698],[20986,41704],[21015,41689],[21028,41688],[21029,41713],[21030,41719],[21031,41725],[21044,41695],[21045,41715],[21046,41732],[21047,41738],[21056,41694],[21057,41714],[21068,41701],[21069,41721],[21070,41735],[21084,41700],[21085,41720],[21086,41734],[21087,41747],[21097,41707],[21098,41727],[21099,41741],[21100,41749],[21113,41706],[21114,41726],[21115,41740],[21116,41748],[21220,42202],[21252,42482],[21386,43255],[21486,42692],[21487,42698],[21488,42704],[21489,42710],[21518,42695],[21531,42694],[21532,42719],[21533,42725],[21534,42731],[21547,42701],[21548,42721],[21549,42738],[21550,42744],[21559,42700],[21560,42720],[21571,42707],[21572,42727],[21573,42741],[21587,42706],[21588,42726],[21589,42740],[21590,42753],[21600,42713],[21601,42733],[21602,42747],[21603,42755],[21616,42712],[21617,42732],[21618,42746],[21619,42754],[21723,43208],[21755,43488],[21889,44261],[21989,43698],[21990,43704],[21991,43710],[21992,43716],[22021,43701],[22034,43700],[22035,43725],[22036,43731],[22037,43737],[22050,43707],[22051,43727],[22052,43744],[22053,43750],[22062,43706],[22063,43726],[22074,43713],[22075,43733],[22076,43747],[22090,43712],[22091,43732],[22092,43746],[22093,43759],[22103,43719],[22104,43739],[22105,43753],[22106,43761],[22119,43718],[22120,43738],[22121,43752],[22122,43760],[22226,44214],[22258,44494],[7283,18090],[7284,18000],[7286,18068],[7287,18046],[7290,18094],[7291,18004],[7293,18072],[7294,18050],[7297,18098],[7298,18008],[7300,18076],[7301,18054],[7304,17978],[7308,17940],[7311,17982],[7315,17944],[7318,17986],[7322,17948],[7325,18188],[7326,18166],[7328,18256],[7329,18112],[7332,18192],[7333,18170],[7335,18260],[7336,18116],[7339,18354],[7340,18332],[7342,18422],[7343,18278],[7358,18022],[7365,18026],[7372,18030],[7379,18212],[7382,18234],[7386,18216],[7389,18238],[7393,18378],[7396,18400],[7409,18700],[7410,18656],[7412,18594],[7413,18676],[7416,18704],[7417,18660],[7419,18598],[7420,18680],[7423,18862],[7424,18776],[7426,18802],[7427,18840],[7436,19144],[7437,19058],[7439,19084],[7440,19122],[7968,18184],[7969,18108],[7973,18208],[8038,18252],[8039,18162],[8043,18230],[8108,18346],[8109,18270],[8111,18350],[8112,18274],[8115,18370],[8118,18374],[8122,18858],[8123,18836],[8184,18414],[8185,18324],[8187,18418],[8188,18328],[8191,18392],[8194,18396],[8198,18798],[8199,18772],[8260,18458],[8261,18432],[8263,18462],[8264,18436],[8266,18466],[8267,18440],[8269,18558],[8272,18562],[8275,18566],[8278,18916],[8279,18994],[8281,18920],[8282,18998],[8284,19286],[8285,19264],[8344,18540],[8347,18544],[8350,18548],[8353,18494],[8354,18518],[8356,18498],[8357,18522],[8359,18502],[8360,18526],[8362,18876],[8363,18936],[8365,18880],[8366,18940],[8368,19228],[8369,19202],[8696,18696],[8705,18590],[8714,18854],[8723,18794],[8732,18912],[8741,18872],[8750,18672],[8759,18652],[8768,18832],[8777,18768],[8786,18990],[8795,18932],[8804,19136],[8805,19140],[8814,19076],[8815,19080],[8824,19278],[8825,19282],[8834,19220],[8835,19224],[8844,19114],[8845,19118],[8854,19050],[8855,19054],[8864,19256],[8865,19260],[8874,19194],[8875,19198],[8884,19380],[8885,19384],[8886,19388],[8895,19414],[8896,19418],[8897,19422],[8906,19358],[8907,19362],[8908,19366],[8917,19296],[8918,19300],[8919,19304],[8969,18107],[8988,18183],[9010,18207],[9044,18142],[9091,18644],[9103,18695],[9114,18589],[9125,18616],[9134,17942],[9172,17980],[9184,18853],[9195,18793],[9206,18758],[9215,17946],[9228,17984],[9246,18871],[9258,19728],[9269,18970],[9278,18911],[9294,19508],[9325,19454],[9335,19526],[9347,19560],[9383,19576],[9396,19586],[9415,19660],[9426,19612],[9435,19680],[9455,18028],[9465,19754],[9494,19714],[9524,19800],[9537,18394],[9556,19884],[9567,19836],[9596,19912],[9609,18496],[9627,19996],[9638,19948],[9647,20104],[9678,18398],[9689,18376],[9706,18500],[25525,20886],[25533,21332],[25567,21892],[25575,22338],[25609,22898],[25617,23344],[25651,23904],[25659,24350],[25693,24910],[25701,25356],[25735,25916],[25743,26362],[25777,26922],[25785,27368],[25819,27928],[25827,28374],[25861,28934],[25869,29380],[25903,29940],[25911,30386],[25945,30946],[25953,31392],[25987,31952],[25995,32398],[26029,32958],[26037,33404],[26071,33964],[26079,34410],[26113,34970],[26121,35416],[26155,35976],[26163,36422],[26197,36982],[26205,37428],[26239,37988],[26247,38434],[26281,38994],[26289,39440],[26323,40000],[26331,40446],[26365,41006],[26373,41452],[26407,42012],[26415,42458],[26449,43018],[26457,43464],[26491,44024],[26499,44470],[10394,20724],[10395,20678],[10396,20690],[10399,20708],[10400,20758],[10408,20634],[10409,20770],[10411,20716],[10414,20736],[10426,21232],[10442,21216],[10458,21402],[10471,21176],[10511,21254],[10538,21484],[10679,20928],[10897,21730],[10898,21684],[10899,21696],[10902,21714],[10903,21764],[10911,21640],[10912,21776],[10914,21722],[10917,21742],[10929,22238],[10945,22222],[10961,22408],[10974,22182],[11014,22260],[11041,22490],[11182,21934],[11400,22736],[11401,22690],[11402,22702],[11405,22720],[11406,22770],[11414,22646],[11415,22782],[11417,22728],[11420,22748],[11432,23244],[11448,23228],[11464,23414],[11477,23188],[11517,23266],[11544,23496],[11685,22940],[11903,23742],[11904,23696],[11905,23708],[11908,23726],[11909,23776],[11917,23652],[11918,23788],[11920,23734],[11923,23754],[11935,24250],[11951,24234],[11967,24420],[11980,24194],[12020,24272],[12047,24502],[12188,23946],[12406,24748],[12407,24702],[12408,24714],[12411,24732],[12412,24782],[12420,24658],[12421,24794],[12423,24740],[12426,24760],[12438,25256],[12454,25240],[12470,25426],[12483,25200],[12523,25278],[12550,25508],[12691,24952],[12909,25754],[12910,25708],[12911,25720],[12914,25738],[12915,25788],[12923,25664],[12924,25800],[12926,25746],[12929,25766],[12941,26262],[12957,26246],[12973,26432],[12986,26206],[13026,26284],[13053,26514],[13194,25958],[13412,26760],[13413,26714],[13414,26726],[13417,26744],[13418,26794],[13426,26670],[13427,26806],[13429,26752],[13432,26772],[13444,27268],[13460,27252],[13476,27438],[13489,27212],[13529,27290],[13556,27520],[13697,26964],[13915,27766],[13916,27720],[13917,27732],[13920,27750],[13921,27800],[13929,27676],[13930,27812],[13932,27758],[13935,27778],[13947,28274],[13963,28258],[13979,28444],[13992,28218],[14032,28296],[14059,28526],[14200,27970],[14418,28772],[14419,28726],[14420,28738],[14423,28756],[14424,28806],[14432,28682],[14433,28818],[14435,28764],[14438,28784],[14450,29280],[14466,29264],[14482,29450],[14495,29224],[14535,29302],[14562,29532],[14703,28976],[14921,29778],[14922,29732],[14923,29744],[14926,29762],[14927,29812],[14935,29688],[14936,29824],[14938,29770],[14941,29790],[14953,30286],[14969,30270],[14985,30456],[14998,30230],[15038,30308],[15065,30538],[15206,29982],[15424,30784],[15425,30738],[15426,30750],[15429,30768],[15430,30818],[15438,30694],[15439,30830],[15441,30776],[15444,30796],[15456,31292],[15472,31276],[15488,31462],[15501,31236],[15541,31314],[15568,31544],[15709,30988],[15927,31790],[15928,31744],[15929,31756],[15932,31774],[15933,31824],[15941,31700],[15942,31836],[15944,31782],[15947,31802],[15959,32298],[15975,32282],[15991,32468],[16004,32242],[16044,32320],[16071,32550],[16212,31994],[16430,32796],[16431,32750],[16432,32762],[16435,32780],[16436,32830],[16444,32706],[16445,32842],[16447,32788],[16450,32808],[16462,33304],[16478,33288],[16494,33474],[16507,33248],[16547,33326],[16574,33556],[16715,33000],[16933,33802],[16934,33756],[16935,33768],[16938,33786],[16939,33836],[16947,33712],[16948,33848],[16950,33794],[16953,33814],[16965,34310],[16981,34294],[16997,34480],[17010,34254],[17050,34332],[17077,34562],[17218,34006],[17436,34808],[17437,34762],[17438,34774],[17441,34792],[17442,34842],[17450,34718],[17451,34854],[17453,34800],[17456,34820],[17468,35316],[17484,35300],[17500,35486],[17513,35260],[17553,35338],[17580,35568],[17721,35012],[17939,35814],[17940,35768],[17941,35780],[17944,35798],[17945,35848],[17953,35724],[17954,35860],[17956,35806],[17959,35826],[17971,36322],[17987,36306],[18003,36492],[18016,36266],[18056,36344],[18083,36574],[18224,36018],[18442,36820],[18443,36774],[18444,36786],[18447,36804],[18448,36854],[18456,36730],[18457,36866],[18459,36812],[18462,36832],[18474,37328],[18490,37312],[18506,37498],[18519,37272],[18559,37350],[18586,37580],[18727,37024],[18945,37826],[18946,37780],[18947,37792],[18950,37810],[18951,37860],[18959,37736],[18960,37872],[18962,37818],[18965,37838],[18977,38334],[18993,38318],[19009,38504],[19022,38278],[19062,38356],[19089,38586],[19230,38030],[19448,38832],[19449,38786],[19450,38798],[19453,38816],[19454,38866],[19462,38742],[19463,38878],[19465,38824],[19468,38844],[19480,39340],[19496,39324],[19512,39510],[19525,39284],[19565,39362],[19592,39592],[19733,39036],[19951,39838],[19952,39792],[19953,39804],[19956,39822],[19957,39872],[19965,39748],[19966,39884],[19968,39830],[19971,39850],[19983,40346],[19999,40330],[20015,40516],[20028,40290],[20068,40368],[20095,40598],[20236,40042],[20454,40844],[20455,40798],[20456,40810],[20459,40828],[20460,40878],[20468,40754],[20469,40890],[20471,40836],[20474,40856],[20486,41352],[20502,41336],[20518,41522],[20531,41296],[20571,41374],[20598,41604],[20739,41048],[20957,41850],[20958,41804],[20959,41816],[20962,41834],[20963,41884],[20971,41760],[20972,41896],[20974,41842],[20977,41862],[20989,42358],[21005,42342],[21021,42528],[21034,42302],[21074,42380],[21101,42610],[21242,42054],[21460,42856],[21461,42810],[21462,42822],[21465,42840],[21466,42890],[21474,42766],[21475,42902],[21477,42848],[21480,42868],[21492,43364],[21508,43348],[21524,43534],[21537,43308],[21577,43386],[21604,43616],[21745,43060],[21963,43862],[21964,43816],[21965,43828],[21968,43846],[21969,43896],[21977,43772],[21978,43908],[21980,43854],[21983,43874],[21995,44370],[22011,44354],[22027,44540],[22040,44314],[22080,44392],[22107,44622],[22248,44066],[7577,14556],[7578,14570],[7579,14584],[7580,14598],[7581,14612],[7582,14626],[7583,14640],[7584,14654],[7585,14668],[7586,14682],[7588,15234],[7589,15244],[7599,15191],[7602,15241],[7612,15182],[7616,15218],[7620,15184],[7628,15181],[7629,15236],[7636,15278],[7641,14557],[7642,14571],[7643,14585],[7644,14599],[7645,14613],[7646,14627],[7647,14641],[7648,14655],[7649,14669],[7650,14683],[7652,15362],[7653,15372],[7663,15319],[7666,15369],[7676,15310],[7680,15346],[7684,15312],[7692,15309],[7693,15364],[7700,15406],[7705,14563],[7706,14577],[7707,14591],[7708,14605],[7709,14720],[7710,14734],[7711,14748],[7712,14762],[7713,14776],[7714,14790],[7716,15490],[7717,15500],[7727,15447],[7730,15497],[7740,15438],[7744,15474],[7748,15440],[7756,15437],[7757,15492],[7764,15534],[7769,14562],[7770,14576],[7771,14590],[7772,14604],[7773,14721],[7774,14735],[7775,14749],[7776,14763],[7777,14777],[7778,14791],[7780,15618],[7781,15628],[7791,15575],[7794,15625],[7804,15566],[7808,15602],[7812,15568],[7820,15565],[7821,15620],[7828,15662],[7836,14619],[7837,14633],[7838,14647],[7839,14727],[7840,14741],[7841,14755],[7842,14822],[7843,14836],[7844,14850],[7846,15750],[7847,15760],[7857,15707],[7860,15757],[7870,15698],[7874,15734],[7878,15700],[7886,15697],[7887,15752],[7894,15794],[7902,14618],[7903,14632],[7904,14646],[7905,14726],[7906,14740],[7907,14754],[7908,14823],[7909,14837],[7910,14851],[7912,15882],[7913,15892],[7923,15839],[7926,15889],[7936,15830],[7940,15866],[7944,15832],[7952,15829],[7953,15884],[7960,15926],[7971,14661],[7972,14675],[7976,14769],[7977,14783],[7978,14829],[7979,14843],[7980,14876],[7982,16022],[7983,16032],[7993,15979],[7996,16029],[8006,15970],[8010,16006],[8014,15972],[8022,15969],[8023,16024],[8030,16066],[8041,14660],[8042,14674],[8046,14768],[8047,14782],[8048,14828],[8049,14842],[8050,14877],[8052,16162],[8053,16172],[8063,16118],[8066,16169],[8076,16110],[8080,16146],[8084,16113],[8092,16109],[8093,16164],[8100,16206],[8114,14689],[8121,14797],[8125,14857],[8126,14883],[8128,16314],[8129,16324],[8139,16271],[8142,16321],[8152,16262],[8156,16298],[8160,16264],[8168,16261],[8169,16316],[8176,16358],[8190,14688],[8197,14796],[8201,14856],[8202,14882],[8204,16466],[8205,16476],[8215,16423],[8218,16473],[8228,16414],[8232,16450],[8236,16416],[8244,16413],[8245,16468],[8252,16510],[8288,16634],[8289,16644],[8299,16591],[8302,16641],[8312,16582],[8316,16618],[8320,16584],[8328,16581],[8329,16636],[8336,16678],[8373,16802],[8375,16798],[8376,16778],[8379,16837],[8382,16743],[8383,16808],[8384,16745],[8387,16820],[8391,16742],[8398,16744],[8401,16832],[8405,16754],[8410,16755],[8414,16780],[8416,16749],[8418,16784],[8422,16771],[9806,17430],[9830,17538],[9918,17612],[9942,17692],[9974,17652],[9998,17732],[10445,20882],[10460,20914],[10948,21888],[10963,21920],[11451,22894],[11466,22926],[11954,23900],[11969,23932],[12457,24906],[12472,24938],[12960,25912],[12975,25944],[13463,26918],[13478,26950],[13966,27924],[13981,27956],[14469,28930],[14484,28962],[14972,29936],[14987,29968],[15475,30942],[15490,30974],[15978,31948],[15993,31980],[16481,32954],[16496,32986],[16984,33960],[16999,33992],[17487,34966],[17502,34998],[17990,35972],[18005,36004],[18493,36978],[18508,37010],[18996,37984],[19011,38016],[19499,38990],[19514,39022],[20002,39996],[20017,40028],[20505,41002],[20520,41034],[21008,42008],[21023,42040],[21511,43014],[21526,43046],[22014,44020],[22029,44052],[25545,21004],[25587,22010],[25629,23016],[25671,24022],[25713,25028],[25755,26034],[25797,27040],[25839,28046],[25881,29052],[25923,30058],[25965,31064],[26007,32070],[26049,33076],[26091,34082],[26133,35088],[26175,36094],[26217,37100],[26259,38106],[26301,39112],[26343,40118],[26385,41124],[26427,42130],[26469,43136],[26511,44142],[10317,21130],[10323,21128],[10333,21122],[10336,21132],[10349,20744],[10350,20745],[10362,20649],[10363,20668],[10372,20638],[10375,20648],[10376,20670],[10379,20733],[10380,20809],[10385,20637],[10403,20643],[10429,20850],[10432,20862],[10440,20898],[10469,20956],[10473,20940],[10476,20950],[10488,20972],[10500,20996],[10509,21036],[10513,21020],[10529,21052],[10542,21078],[10564,21124],[10820,22136],[10826,22134],[10836,22128],[10839,22138],[10852,21750],[10853,21751],[10865,21655],[10866,21674],[10875,21644],[10878,21654],[10879,21676],[10882,21739],[10883,21815],[10888,21643],[10906,21649],[10932,21856],[10935,21868],[10943,21904],[10972,21962],[10976,21946],[10979,21956],[10991,21978],[11003,22002],[11012,22042],[11016,22026],[11032,22058],[11045,22084],[11067,22130],[11323,23142],[11329,23140],[11339,23134],[11342,23144],[11355,22756],[11356,22757],[11368,22661],[11369,22680],[11378,22650],[11381,22660],[11382,22682],[11385,22745],[11386,22821],[11391,22649],[11409,22655],[11435,22862],[11438,22874],[11446,22910],[11475,22968],[11479,22952],[11482,22962],[11494,22984],[11506,23008],[11515,23048],[11519,23032],[11535,23064],[11548,23090],[11570,23136],[11826,24148],[11832,24146],[11842,24140],[11845,24150],[11858,23762],[11859,23763],[11871,23667],[11872,23686],[11881,23656],[11884,23666],[11885,23688],[11888,23751],[11889,23827],[11894,23655],[11912,23661],[11938,23868],[11941,23880],[11949,23916],[11978,23974],[11982,23958],[11985,23968],[11997,23990],[12009,24014],[12018,24054],[12022,24038],[12038,24070],[12051,24096],[12073,24142],[12329,25154],[12335,25152],[12345,25146],[12348,25156],[12361,24768],[12362,24769],[12374,24673],[12375,24692],[12384,24662],[12387,24672],[12388,24694],[12391,24757],[12392,24833],[12397,24661],[12415,24667],[12441,24874],[12444,24886],[12452,24922],[12481,24980],[12485,24964],[12488,24974],[12500,24996],[12512,25020],[12521,25060],[12525,25044],[12541,25076],[12554,25102],[12576,25148],[12832,26160],[12838,26158],[12848,26152],[12851,26162],[12864,25774],[12865,25775],[12877,25679],[12878,25698],[12887,25668],[12890,25678],[12891,25700],[12894,25763],[12895,25839],[12900,25667],[12918,25673],[12944,25880],[12947,25892],[12955,25928],[12984,25986],[12988,25970],[12991,25980],[13003,26002],[13015,26026],[13024,26066],[13028,26050],[13044,26082],[13057,26108],[13079,26154],[13335,27166],[13341,27164],[13351,27158],[13354,27168],[13367,26780],[13368,26781],[13380,26685],[13381,26704],[13390,26674],[13393,26684],[13394,26706],[13397,26769],[13398,26845],[13403,26673],[13421,26679],[13447,26886],[13450,26898],[13458,26934],[13487,26992],[13491,26976],[13494,26986],[13506,27008],[13518,27032],[13527,27072],[13531,27056],[13547,27088],[13560,27114],[13582,27160],[13838,28172],[13844,28170],[13854,28164],[13857,28174],[13870,27786],[13871,27787],[13883,27691],[13884,27710],[13893,27680],[13896,27690],[13897,27712],[13900,27775],[13901,27851],[13906,27679],[13924,27685],[13950,27892],[13953,27904],[13961,27940],[13990,27998],[13994,27982],[13997,27992],[14009,28014],[14021,28038],[14030,28078],[14034,28062],[14050,28094],[14063,28120],[14085,28166],[14341,29178],[14347,29176],[14357,29170],[14360,29180],[14373,28792],[14374,28793],[14386,28697],[14387,28716],[14396,28686],[14399,28696],[14400,28718],[14403,28781],[14404,28857],[14409,28685],[14427,28691],[14453,28898],[14456,28910],[14464,28946],[14493,29004],[14497,28988],[14500,28998],[14512,29020],[14524,29044],[14533,29084],[14537,29068],[14553,29100],[14566,29126],[14588,29172],[14844,30184],[14850,30182],[14860,30176],[14863,30186],[14876,29798],[14877,29799],[14889,29703],[14890,29722],[14899,29692],[14902,29702],[14903,29724],[14906,29787],[14907,29863],[14912,29691],[14930,29697],[14956,29904],[14959,29916],[14967,29952],[14996,30010],[15000,29994],[15003,30004],[15015,30026],[15027,30050],[15036,30090],[15040,30074],[15056,30106],[15069,30132],[15091,30178],[15347,31190],[15353,31188],[15363,31182],[15366,31192],[15379,30804],[15380,30805],[15392,30709],[15393,30728],[15402,30698],[15405,30708],[15406,30730],[15409,30793],[15410,30869],[15415,30697],[15433,30703],[15459,30910],[15462,30922],[15470,30958],[15499,31016],[15503,31000],[15506,31010],[15518,31032],[15530,31056],[15539,31096],[15543,31080],[15559,31112],[15572,31138],[15594,31184],[15850,32196],[15856,32194],[15866,32188],[15869,32198],[15882,31810],[15883,31811],[15895,31715],[15896,31734],[15905,31704],[15908,31714],[15909,31736],[15912,31799],[15913,31875],[15918,31703],[15936,31709],[15962,31916],[15965,31928],[15973,31964],[16002,32022],[16006,32006],[16009,32016],[16021,32038],[16033,32062],[16042,32102],[16046,32086],[16062,32118],[16075,32144],[16097,32190],[16353,33202],[16359,33200],[16369,33194],[16372,33204],[16385,32816],[16386,32817],[16398,32721],[16399,32740],[16408,32710],[16411,32720],[16412,32742],[16415,32805],[16416,32881],[16421,32709],[16439,32715],[16465,32922],[16468,32934],[16476,32970],[16505,33028],[16509,33012],[16512,33022],[16524,33044],[16536,33068],[16545,33108],[16549,33092],[16565,33124],[16578,33150],[16600,33196],[16856,34208],[16862,34206],[16872,34200],[16875,34210],[16888,33822],[16889,33823],[16901,33727],[16902,33746],[16911,33716],[16914,33726],[16915,33748],[16918,33811],[16919,33887],[16924,33715],[16942,33721],[16968,33928],[16971,33940],[16979,33976],[17008,34034],[17012,34018],[17015,34028],[17027,34050],[17039,34074],[17048,34114],[17052,34098],[17068,34130],[17081,34156],[17103,34202],[17359,35214],[17365,35212],[17375,35206],[17378,35216],[17391,34828],[17392,34829],[17404,34733],[17405,34752],[17414,34722],[17417,34732],[17418,34754],[17421,34817],[17422,34893],[17427,34721],[17445,34727],[17471,34934],[17474,34946],[17482,34982],[17511,35040],[17515,35024],[17518,35034],[17530,35056],[17542,35080],[17551,35120],[17555,35104],[17571,35136],[17584,35162],[17606,35208],[17862,36220],[17868,36218],[17878,36212],[17881,36222],[17894,35834],[17895,35835],[17907,35739],[17908,35758],[17917,35728],[17920,35738],[17921,35760],[17924,35823],[17925,35899],[17930,35727],[17948,35733],[17974,35940],[17977,35952],[17985,35988],[18014,36046],[18018,36030],[18021,36040],[18033,36062],[18045,36086],[18054,36126],[18058,36110],[18074,36142],[18087,36168],[18109,36214],[18365,37226],[18371,37224],[18381,37218],[18384,37228],[18397,36840],[18398,36841],[18410,36745],[18411,36764],[18420,36734],[18423,36744],[18424,36766],[18427,36829],[18428,36905],[18433,36733],[18451,36739],[18477,36946],[18480,36958],[18488,36994],[18517,37052],[18521,37036],[18524,37046],[18536,37068],[18548,37092],[18557,37132],[18561,37116],[18577,37148],[18590,37174],[18612,37220],[18868,38232],[18874,38230],[18884,38224],[18887,38234],[18900,37846],[18901,37847],[18913,37751],[18914,37770],[18923,37740],[18926,37750],[18927,37772],[18930,37835],[18931,37911],[18936,37739],[18954,37745],[18980,37952],[18983,37964],[18991,38000],[19020,38058],[19024,38042],[19027,38052],[19039,38074],[19051,38098],[19060,38138],[19064,38122],[19080,38154],[19093,38180],[19115,38226],[19371,39238],[19377,39236],[19387,39230],[19390,39240],[19403,38852],[19404,38853],[19416,38757],[19417,38776],[19426,38746],[19429,38756],[19430,38778],[19433,38841],[19434,38917],[19439,38745],[19457,38751],[19483,38958],[19486,38970],[19494,39006],[19523,39064],[19527,39048],[19530,39058],[19542,39080],[19554,39104],[19563,39144],[19567,39128],[19583,39160],[19596,39186],[19618,39232],[19874,40244],[19880,40242],[19890,40236],[19893,40246],[19906,39858],[19907,39859],[19919,39763],[19920,39782],[19929,39752],[19932,39762],[19933,39784],[19936,39847],[19937,39923],[19942,39751],[19960,39757],[19986,39964],[19989,39976],[19997,40012],[20026,40070],[20030,40054],[20033,40064],[20045,40086],[20057,40110],[20066,40150],[20070,40134],[20086,40166],[20099,40192],[20121,40238],[20377,41250],[20383,41248],[20393,41242],[20396,41252],[20409,40864],[20410,40865],[20422,40769],[20423,40788],[20432,40758],[20435,40768],[20436,40790],[20439,40853],[20440,40929],[20445,40757],[20463,40763],[20489,40970],[20492,40982],[20500,41018],[20529,41076],[20533,41060],[20536,41070],[20548,41092],[20560,41116],[20569,41156],[20573,41140],[20589,41172],[20602,41198],[20624,41244],[20880,42256],[20886,42254],[20896,42248],[20899,42258],[20912,41870],[20913,41871],[20925,41775],[20926,41794],[20935,41764],[20938,41774],[20939,41796],[20942,41859],[20943,41935],[20948,41763],[20966,41769],[20992,41976],[20995,41988],[21003,42024],[21032,42082],[21036,42066],[21039,42076],[21051,42098],[21063,42122],[21072,42162],[21076,42146],[21092,42178],[21105,42204],[21127,42250],[21383,43262],[21389,43260],[21399,43254],[21402,43264],[21415,42876],[21416,42877],[21428,42781],[21429,42800],[21438,42770],[21441,42780],[21442,42802],[21445,42865],[21446,42941],[21451,42769],[21469,42775],[21495,42982],[21498,42994],[21506,43030],[21535,43088],[21539,43072],[21542,43082],[21554,43104],[21566,43128],[21575,43168],[21579,43152],[21595,43184],[21608,43210],[21630,43256],[21886,44268],[21892,44266],[21902,44260],[21905,44270],[21918,43882],[21919,43883],[21931,43787],[21932,43806],[21941,43776],[21944,43786],[21945,43808],[21948,43871],[21949,43947],[21954,43775],[21972,43781],[21998,43988],[22001,44000],[22009,44036],[22038,44094],[22042,44078],[22045,44088],[22057,44110],[22069,44134],[22078,44174],[22082,44158],[22098,44190],[22111,44216],[22133,44262],[7465,14896],[7473,14938],[7478,15096],[7479,14900],[7480,14895],[7483,14922],[7484,14916],[7485,14926],[7487,14920],[7488,14904],[7490,14939],[7491,14914],[7492,14912],[7497,14940],[7498,14942],[7499,19518],[7501,14902],[7503,14924],[7504,15101],[7508,14918],[7510,15076],[7516,14949],[7520,20486],[7524,14898],[7525,14894],[7526,14908],[7532,14948],[7542,14991],[7543,14963],[7544,14992],[7545,19790],[7546,14928],[7547,15030],[7549,18882],[7550,15108],[7551,15022],[7552,19716],[7553,14906],[7557,15005],[7561,15038],[7563,19902],[7565,15116],[7566,14952],[7567,19232],[7568,15072],[7569,14978],[7570,19566],[7571,15046],[7572,19088],[7573,15012],[7574,14929],[7576,18806],[8427,16860],[8428,16862],[8434,16874],[8435,16876],[8441,16888],[8442,16890],[8448,16902],[8449,16904],[8455,16916],[8456,16918],[8462,16930],[8463,16932],[8469,16944],[8470,16946],[8476,16958],[8477,16960],[8483,16972],[8484,16974],[8490,16986],[8491,16988],[8497,17000],[8498,17002],[8504,17014],[8505,17016],[8511,17028],[8512,17030],[8518,17042],[8519,17044],[8525,17056],[8526,17058],[8532,17070],[8533,17072],[8539,17084],[8540,17086],[8546,17098],[8547,17100],[8553,17112],[8554,17114],[8560,17126],[8561,17128],[8568,17142],[8569,17144],[8576,17158],[8577,17160],[8584,17174],[8585,17176],[8592,17190],[8593,17192],[8600,17206],[8601,17208],[8608,17222],[8609,17224],[8616,17238],[8617,17240],[8624,17254],[8625,17256],[8632,17270],[8633,17272],[8640,17286],[8641,17288],[8648,17302],[8649,17304],[8656,17318],[8657,17320],[8664,17334],[8665,17336],[8672,17350],[8673,17352],[8680,17366],[8681,17368],[8688,17382],[8689,17384],[8697,17400],[8698,17402],[8706,17418],[8707,17420],[8715,17436],[8716,17438],[8724,17454],[8725,17456],[8733,17472],[8734,17474],[8742,17490],[8743,17492],[8751,17508],[8752,17510],[8760,17526],[8761,17528],[8769,17544],[8770,17546],[8778,17562],[8779,17564],[8787,17580],[8788,17582],[8796,17598],[8797,17600],[8806,17618],[8807,17620],[8816,17638],[8817,17640],[8826,17658],[8827,17660],[8836,17678],[8837,17680],[8846,17698],[8847,17700],[8856,17718],[8857,17720],[8866,17738],[8867,17740],[8876,17758],[8877,17760],[8887,17780],[8888,17782],[8898,17802],[8899,17804],[8909,17824],[8910,17826],[8920,17846],[8921,17848],[8990,18732],[9046,18304],[9055,18272],[9093,18348],[9105,18372],[9127,19100],[9174,19014],[9197,19810],[9208,19040],[9217,18114],[9230,18190],[9248,19922],[9260,19986],[9271,19184],[9280,18214],[9296,19116],[9327,20188],[9337,18834],[9349,18856],[9385,20154],[9398,19078],[9417,20206],[9428,19138],[9437,19222],[9457,19280],[9467,20258],[9496,18678],[9526,20234],[9539,20176],[9558,20142],[9569,20218],[9598,20338],[9611,20280],[9629,18596],[9640,18702],[9649,20432],[9680,18800],[9691,18860],[9708,18878],[9884,15506],[10337,20650],[10338,20636],[10341,20657],[10342,20662],[10354,20692],[10355,20663],[10358,20656],[10359,20768],[10368,20772],[10369,21534],[10393,20644],[10397,20728],[10402,21334],[10410,20720],[10416,21264],[10418,20713],[10430,21249],[10677,20778],[10678,21408],[10742,21560],[10840,21656],[10841,21642],[10844,21663],[10845,21668],[10857,21698],[10858,21669],[10861,21662],[10862,21774],[10871,21778],[10872,22540],[10896,21650],[10900,21734],[10905,22340],[10913,21726],[10919,22270],[10921,21719],[10933,22255],[11180,21784],[11181,22414],[11245,22566],[11343,22662],[11344,22648],[11347,22669],[11348,22674],[11360,22704],[11361,22675],[11364,22668],[11365,22780],[11374,22784],[11375,23546],[11399,22656],[11403,22740],[11408,23346],[11416,22732],[11422,23276],[11424,22725],[11436,23261],[11683,22790],[11684,23420],[11748,23572],[11846,23668],[11847,23654],[11850,23675],[11851,23680],[11863,23710],[11864,23681],[11867,23674],[11868,23786],[11877,23790],[11878,24552],[11902,23662],[11906,23746],[11911,24352],[11919,23738],[11925,24282],[11927,23731],[11939,24267],[12186,23796],[12187,24426],[12251,24578],[12349,24674],[12350,24660],[12353,24681],[12354,24686],[12366,24716],[12367,24687],[12370,24680],[12371,24792],[12380,24796],[12381,25558],[12405,24668],[12409,24752],[12414,25358],[12422,24744],[12428,25288],[12430,24737],[12442,25273],[12689,24802],[12690,25432],[12754,25584],[12852,25680],[12853,25666],[12856,25687],[12857,25692],[12869,25722],[12870,25693],[12873,25686],[12874,25798],[12883,25802],[12884,26564],[12908,25674],[12912,25758],[12917,26364],[12925,25750],[12931,26294],[12933,25743],[12945,26279],[13192,25808],[13193,26438],[13257,26590],[13355,26686],[13356,26672],[13359,26693],[13360,26698],[13372,26728],[13373,26699],[13376,26692],[13377,26804],[13386,26808],[13387,27570],[13411,26680],[13415,26764],[13420,27370],[13428,26756],[13434,27300],[13436,26749],[13448,27285],[13695,26814],[13696,27444],[13760,27596],[13858,27692],[13859,27678],[13862,27699],[13863,27704],[13875,27734],[13876,27705],[13879,27698],[13880,27810],[13889,27814],[13890,28576],[13914,27686],[13918,27770],[13923,28376],[13931,27762],[13937,28306],[13939,27755],[13951,28291],[14198,27820],[14199,28450],[14263,28602],[14361,28698],[14362,28684],[14365,28705],[14366,28710],[14378,28740],[14379,28711],[14382,28704],[14383,28816],[14392,28820],[14393,29582],[14417,28692],[14421,28776],[14426,29382],[14434,28768],[14440,29312],[14442,28761],[14454,29297],[14701,28826],[14702,29456],[14766,29608],[14864,29704],[14865,29690],[14868,29711],[14869,29716],[14881,29746],[14882,29717],[14885,29710],[14886,29822],[14895,29826],[14896,30588],[14920,29698],[14924,29782],[14929,30388],[14937,29774],[14943,30318],[14945,29767],[14957,30303],[15204,29832],[15205,30462],[15269,30614],[15367,30710],[15368,30696],[15371,30717],[15372,30722],[15384,30752],[15385,30723],[15388,30716],[15389,30828],[15398,30832],[15399,31594],[15423,30704],[15427,30788],[15432,31394],[15440,30780],[15446,31324],[15448,30773],[15460,31309],[15707,30838],[15708,31468],[15772,31620],[15870,31716],[15871,31702],[15874,31723],[15875,31728],[15887,31758],[15888,31729],[15891,31722],[15892,31834],[15901,31838],[15902,32600],[15926,31710],[15930,31794],[15935,32400],[15943,31786],[15949,32330],[15951,31779],[15963,32315],[16210,31844],[16211,32474],[16275,32626],[16373,32722],[16374,32708],[16377,32729],[16378,32734],[16390,32764],[16391,32735],[16394,32728],[16395,32840],[16404,32844],[16405,33606],[16429,32716],[16433,32800],[16438,33406],[16446,32792],[16452,33336],[16454,32785],[16466,33321],[16713,32850],[16714,33480],[16778,33632],[16876,33728],[16877,33714],[16880,33735],[16881,33740],[16893,33770],[16894,33741],[16897,33734],[16898,33846],[16907,33850],[16908,34612],[16932,33722],[16936,33806],[16941,34412],[16949,33798],[16955,34342],[16957,33791],[16969,34327],[17216,33856],[17217,34486],[17281,34638],[17379,34734],[17380,34720],[17383,34741],[17384,34746],[17396,34776],[17397,34747],[17400,34740],[17401,34852],[17410,34856],[17411,35618],[17435,34728],[17439,34812],[17444,35418],[17452,34804],[17458,35348],[17460,34797],[17472,35333],[17719,34862],[17720,35492],[17784,35644],[17882,35740],[17883,35726],[17886,35747],[17887,35752],[17899,35782],[17900,35753],[17903,35746],[17904,35858],[17913,35862],[17914,36624],[17938,35734],[17942,35818],[17947,36424],[17955,35810],[17961,36354],[17963,35803],[17975,36339],[18222,35868],[18223,36498],[18287,36650],[18385,36746],[18386,36732],[18389,36753],[18390,36758],[18402,36788],[18403,36759],[18406,36752],[18407,36864],[18416,36868],[18417,37630],[18441,36740],[18445,36824],[18450,37430],[18458,36816],[18464,37360],[18466,36809],[18478,37345],[18725,36874],[18726,37504],[18790,37656],[18888,37752],[18889,37738],[18892,37759],[18893,37764],[18905,37794],[18906,37765],[18909,37758],[18910,37870],[18919,37874],[18920,38636],[18944,37746],[18948,37830],[18953,38436],[18961,37822],[18967,38366],[18969,37815],[18981,38351],[19228,37880],[19229,38510],[19293,38662],[19391,38758],[19392,38744],[19395,38765],[19396,38770],[19408,38800],[19409,38771],[19412,38764],[19413,38876],[19422,38880],[19423,39642],[19447,38752],[19451,38836],[19456,39442],[19464,38828],[19470,39372],[19472,38821],[19484,39357],[19731,38886],[19732,39516],[19796,39668],[19894,39764],[19895,39750],[19898,39771],[19899,39776],[19911,39806],[19912,39777],[19915,39770],[19916,39882],[19925,39886],[19926,40648],[19950,39758],[19954,39842],[19959,40448],[19967,39834],[19973,40378],[19975,39827],[19987,40363],[20234,39892],[20235,40522],[20299,40674],[20397,40770],[20398,40756],[20401,40777],[20402,40782],[20414,40812],[20415,40783],[20418,40776],[20419,40888],[20428,40892],[20429,41654],[20453,40764],[20457,40848],[20462,41454],[20470,40840],[20476,41384],[20478,40833],[20490,41369],[20737,40898],[20738,41528],[20802,41680],[20900,41776],[20901,41762],[20904,41783],[20905,41788],[20917,41818],[20918,41789],[20921,41782],[20922,41894],[20931,41898],[20932,42660],[20956,41770],[20960,41854],[20965,42460],[20973,41846],[20979,42390],[20981,41839],[20993,42375],[21240,41904],[21241,42534],[21305,42686],[21403,42782],[21404,42768],[21407,42789],[21408,42794],[21420,42824],[21421,42795],[21424,42788],[21425,42900],[21434,42904],[21435,43666],[21459,42776],[21463,42860],[21468,43466],[21476,42852],[21482,43396],[21484,42845],[21496,43381],[21743,42910],[21744,43540],[21808,43692],[21906,43788],[21907,43774],[21910,43795],[21911,43800],[21923,43830],[21924,43801],[21927,43794],[21928,43906],[21937,43910],[21938,44672],[21962,43782],[21966,43866],[21971,44472],[21979,43858],[21985,44402],[21987,43851],[21999,44387],[22246,43916],[22247,44546],[22311,44698],[7592,15242],[7598,15186],[7603,15254],[7608,15188],[7615,15208],[7621,15264],[7624,15201],[7625,18726],[7626,15227],[7631,19160],[7632,15226],[7634,15220],[7635,15219],[7638,19016],[7639,15200],[7656,15370],[7662,15314],[7667,15382],[7672,15316],[7679,15336],[7685,15392],[7688,15329],[7689,18780],[7690,15355],[7695,19214],[7696,15354],[7698,15348],[7699,15347],[7702,19070],[7703,15328],[7720,15498],[7726,15442],[7731,15510],[7736,15444],[7743,15464],[7747,19772],[7749,15520],[7752,15457],[7754,15483],[7760,15482],[7762,15476],[7763,15475],[7767,15456],[7784,15626],[7790,15570],[7795,15638],[7800,15572],[7807,15592],[7813,15648],[7816,15585],[7818,15611],[7819,18446],[7823,19698],[7824,15610],[7826,15604],[7827,18126],[7831,15584],[7832,18288],[7850,15758],[7856,15702],[7861,15770],[7866,15704],[7873,15724],[7879,15780],[7882,15717],[7884,15743],[7885,20272],[7889,19678],[7890,15742],[7891,19500],[7892,15736],[7893,15735],[7896,19589],[7897,15716],[7898,20168],[7916,15890],[7922,15834],[7927,15902],[7932,15836],[7939,15856],[7945,15912],[7948,15849],[7949,19666],[7950,15875],[7956,15874],[7958,15868],[7959,19519],[7963,15848],[7986,16030],[7992,15974],[7997,16042],[8002,15976],[8009,15996],[8015,16052],[8018,15989],[8020,16015],[8021,20254],[8025,19925],[8026,16014],[8027,19483],[8028,16008],[8029,16007],[8032,19813],[8033,15988],[8034,20150],[8056,16170],[8062,16114],[8067,16182],[8072,16116],[8079,16136],[8085,16192],[8088,16129],[8090,16155],[8095,19892],[8096,16154],[8097,19456],[8098,16148],[8099,16147],[8102,20004],[8103,16128],[8132,16322],[8138,16266],[8143,16334],[8148,16268],[8155,16288],[8161,16344],[8164,16281],[8166,16307],[8167,20518],[8172,16306],[8173,20072],[8174,16300],[8175,16299],[8179,16280],[8180,20398],[8208,16474],[8214,16418],[8219,16486],[8224,16420],[8231,16440],[8237,16496],[8240,16433],[8242,16459],[8243,20462],[8248,16458],[8250,16452],[8251,16451],[8255,16432],[8292,16642],[8298,16586],[8303,16654],[8308,16588],[8315,16608],[8321,16664],[8324,16601],[8326,16627],[8332,16626],[8333,20014],[8334,16620],[8335,16619],[8338,19766],[8339,16600],[8340,20340],[8374,16812],[8377,16818],[8378,16819],[8386,16790],[8399,16824],[8409,16792],[8411,16834],[8415,16787],[8417,16761],[8420,16786],[8426,20422],[8978,17988],[8984,18038],[8995,15112],[9017,17950],[9059,18172],[9066,18148],[9075,18174],[9086,18196],[9097,18134],[9140,18334],[9147,15055],[9156,18336],[9167,18358],[9178,15074],[9224,18506],[9234,18482],[9240,18504],[9254,18478],[9303,15119],[9312,18688],[9341,15035],[9364,18844],[9371,18786],[9389,18748],[9402,18842],[9403,18735],[9441,18968],[9443,18948],[9448,18956],[9473,18898],[9477,18924],[9505,19126],[9512,19068],[9530,19030],[9543,19124],[9544,19017],[9577,19268],[9584,19212],[9602,19174],[9615,19266],[9616,19161],[9653,14973],[9663,19312],[9667,19319],[9700,19332],[9724,19542],[9734,19494],[9741,19556],[9747,15001],[9756,15110],[9759,19530],[9765,19458],[9771,19496],[9783,19655],[9786,19628],[9791,19638],[9799,19629],[9812,19608],[9819,19600],[9827,19588],[9841,19762],[9850,19686],[9855,19742],[9858,19688],[9869,19732],[9881,19730],[9895,19879],[9898,19852],[9903,19862],[9911,19853],[9924,19832],[9931,19824],[9939,19812],[9951,14986],[9954,19964],[9959,19974],[9967,19965],[9980,19944],[9987,19936],[9995,19924],[10010,20030],[10015,20066],[10024,20100],[10029,20026],[10067,20190],[10073,20166],[10083,20208],[10090,15067],[10119,20294],[10125,20270],[10135,20312],[10142,20298],[10173,20356],[10178,20392],[10187,20426],[10192,20352],[10213,15080],[10228,15128],[10236,20488],[10243,20458],[10246,20502],[10266,15043],[10364,20693],[10373,20838],[10378,20826],[10383,21138],[10384,20734],[10388,20785],[10389,20784],[10390,20773],[10392,20834],[10413,21134],[10417,20763],[10419,20762],[10433,20856],[10435,21250],[10448,20888],[10463,20918],[10477,20944],[10490,20974],[10502,20998],[10517,21024],[10519,21031],[10531,21054],[10546,21082],[10548,21091],[10549,21088],[10557,21113],[10559,21112],[10567,21162],[10570,21352],[10590,21199],[10594,21205],[10606,21242],[10611,21225],[10631,21260],[10633,21251],[10646,21303],[10647,20687],[10665,21367],[10700,21381],[10713,21413],[10723,21469],[10753,21493],[10767,21557],[10770,21549],[10779,20741],[10867,21699],[10876,21844],[10881,21832],[10886,22144],[10887,21740],[10891,21791],[10892,21790],[10893,21779],[10895,21840],[10916,22140],[10920,21769],[10922,21768],[10936,21862],[10938,22256],[10951,21894],[10966,21924],[10980,21950],[10993,21980],[11005,22004],[11020,22030],[11022,22037],[11034,22060],[11049,22088],[11051,22097],[11052,22094],[11060,22119],[11062,22118],[11070,22168],[11073,22358],[11093,22205],[11097,22211],[11109,22248],[11114,22231],[11134,22266],[11136,22257],[11149,22309],[11150,21693],[11168,22373],[11203,22387],[11216,22419],[11226,22475],[11256,22499],[11270,22563],[11273,22555],[11282,21747],[11370,22705],[11379,22850],[11384,22838],[11389,23150],[11390,22746],[11394,22797],[11395,22796],[11396,22785],[11398,22846],[11419,23146],[11423,22775],[11425,22774],[11439,22868],[11441,23262],[11454,22900],[11469,22930],[11483,22956],[11496,22986],[11508,23010],[11523,23036],[11525,23043],[11537,23066],[11552,23094],[11554,23103],[11555,23100],[11563,23125],[11565,23124],[11573,23174],[11576,23364],[11596,23211],[11600,23217],[11612,23254],[11617,23237],[11637,23272],[11639,23263],[11652,23315],[11653,22699],[11671,23379],[11706,23393],[11719,23425],[11729,23481],[11759,23505],[11773,23569],[11776,23561],[11785,22753],[11873,23711],[11882,23856],[11887,23844],[11892,24156],[11893,23752],[11897,23803],[11898,23802],[11899,23791],[11901,23852],[11922,24152],[11926,23781],[11928,23780],[11942,23874],[11944,24268],[11957,23906],[11972,23936],[11986,23962],[11999,23992],[12011,24016],[12026,24042],[12028,24049],[12040,24072],[12055,24100],[12057,24109],[12058,24106],[12066,24131],[12068,24130],[12076,24180],[12079,24370],[12099,24217],[12103,24223],[12115,24260],[12120,24243],[12140,24278],[12142,24269],[12155,24321],[12156,23705],[12174,24385],[12209,24399],[12222,24431],[12232,24487],[12262,24511],[12276,24575],[12279,24567],[12288,23759],[12376,24717],[12385,24862],[12390,24850],[12395,25162],[12396,24758],[12400,24809],[12401,24808],[12402,24797],[12404,24858],[12425,25158],[12429,24787],[12431,24786],[12445,24880],[12447,25274],[12460,24912],[12475,24942],[12489,24968],[12502,24998],[12514,25022],[12529,25048],[12531,25055],[12543,25078],[12558,25106],[12560,25115],[12561,25112],[12569,25137],[12571,25136],[12579,25186],[12582,25376],[12602,25223],[12606,25229],[12618,25266],[12623,25249],[12643,25284],[12645,25275],[12658,25327],[12659,24711],[12677,25391],[12712,25405],[12725,25437],[12735,25493],[12765,25517],[12779,25581],[12782,25573],[12791,24765],[12879,25723],[12888,25868],[12893,25856],[12898,26168],[12899,25764],[12903,25815],[12904,25814],[12905,25803],[12907,25864],[12928,26164],[12932,25793],[12934,25792],[12948,25886],[12950,26280],[12963,25918],[12978,25948],[12992,25974],[13005,26004],[13017,26028],[13032,26054],[13034,26061],[13046,26084],[13061,26112],[13063,26121],[13064,26118],[13072,26143],[13074,26142],[13082,26192],[13085,26382],[13105,26229],[13109,26235],[13121,26272],[13126,26255],[13146,26290],[13148,26281],[13161,26333],[13162,25717],[13180,26397],[13215,26411],[13228,26443],[13238,26499],[13268,26523],[13282,26587],[13285,26579],[13294,25771],[13382,26729],[13391,26874],[13396,26862],[13401,27174],[13402,26770],[13406,26821],[13407,26820],[13408,26809],[13410,26870],[13431,27170],[13435,26799],[13437,26798],[13451,26892],[13453,27286],[13466,26924],[13481,26954],[13495,26980],[13508,27010],[13520,27034],[13535,27060],[13537,27067],[13549,27090],[13564,27118],[13566,27127],[13567,27124],[13575,27149],[13577,27148],[13585,27198],[13588,27388],[13608,27235],[13612,27241],[13624,27278],[13629,27261],[13649,27296],[13651,27287],[13664,27339],[13665,26723],[13683,27403],[13718,27417],[13731,27449],[13741,27505],[13771,27529],[13785,27593],[13788,27585],[13797,26777],[13885,27735],[13894,27880],[13899,27868],[13904,28180],[13905,27776],[13909,27827],[13910,27826],[13911,27815],[13913,27876],[13934,28176],[13938,27805],[13940,27804],[13954,27898],[13956,28292],[13969,27930],[13984,27960],[13998,27986],[14011,28016],[14023,28040],[14038,28066],[14040,28073],[14052,28096],[14067,28124],[14069,28133],[14070,28130],[14078,28155],[14080,28154],[14088,28204],[14091,28394],[14111,28241],[14115,28247],[14127,28284],[14132,28267],[14152,28302],[14154,28293],[14167,28345],[14168,27729],[14186,28409],[14221,28423],[14234,28455],[14244,28511],[14274,28535],[14288,28599],[14291,28591],[14300,27783],[14388,28741],[14397,28886],[14402,28874],[14407,29186],[14408,28782],[14412,28833],[14413,28832],[14414,28821],[14416,28882],[14437,29182],[14441,28811],[14443,28810],[14457,28904],[14459,29298],[14472,28936],[14487,28966],[14501,28992],[14514,29022],[14526,29046],[14541,29072],[14543,29079],[14555,29102],[14570,29130],[14572,29139],[14573,29136],[14581,29161],[14583,29160],[14591,29210],[14594,29400],[14614,29247],[14618,29253],[14630,29290],[14635,29273],[14655,29308],[14657,29299],[14670,29351],[14671,28735],[14689,29415],[14724,29429],[14737,29461],[14747,29517],[14777,29541],[14791,29605],[14794,29597],[14803,28789],[14891,29747],[14900,29892],[14905,29880],[14910,30192],[14911,29788],[14915,29839],[14916,29838],[14917,29827],[14919,29888],[14940,30188],[14944,29817],[14946,29816],[14960,29910],[14962,30304],[14975,29942],[14990,29972],[15004,29998],[15017,30028],[15029,30052],[15044,30078],[15046,30085],[15058,30108],[15073,30136],[15075,30145],[15076,30142],[15084,30167],[15086,30166],[15094,30216],[15097,30406],[15117,30253],[15121,30259],[15133,30296],[15138,30279],[15158,30314],[15160,30305],[15173,30357],[15174,29741],[15192,30421],[15227,30435],[15240,30467],[15250,30523],[15280,30547],[15294,30611],[15297,30603],[15306,29795],[15394,30753],[15403,30898],[15408,30886],[15413,31198],[15414,30794],[15418,30845],[15419,30844],[15420,30833],[15422,30894],[15443,31194],[15447,30823],[15449,30822],[15463,30916],[15465,31310],[15478,30948],[15493,30978],[15507,31004],[15520,31034],[15532,31058],[15547,31084],[15549,31091],[15561,31114],[15576,31142],[15578,31151],[15579,31148],[15587,31173],[15589,31172],[15597,31222],[15600,31412],[15620,31259],[15624,31265],[15636,31302],[15641,31285],[15661,31320],[15663,31311],[15676,31363],[15677,30747],[15695,31427],[15730,31441],[15743,31473],[15753,31529],[15783,31553],[15797,31617],[15800,31609],[15809,30801],[15897,31759],[15906,31904],[15911,31892],[15916,32204],[15917,31800],[15921,31851],[15922,31850],[15923,31839],[15925,31900],[15946,32200],[15950,31829],[15952,31828],[15966,31922],[15968,32316],[15981,31954],[15996,31984],[16010,32010],[16023,32040],[16035,32064],[16050,32090],[16052,32097],[16064,32120],[16079,32148],[16081,32157],[16082,32154],[16090,32179],[16092,32178],[16100,32228],[16103,32418],[16123,32265],[16127,32271],[16139,32308],[16144,32291],[16164,32326],[16166,32317],[16179,32369],[16180,31753],[16198,32433],[16233,32447],[16246,32479],[16256,32535],[16286,32559],[16300,32623],[16303,32615],[16312,31807],[16400,32765],[16409,32910],[16414,32898],[16419,33210],[16420,32806],[16424,32857],[16425,32856],[16426,32845],[16428,32906],[16449,33206],[16453,32835],[16455,32834],[16469,32928],[16471,33322],[16484,32960],[16499,32990],[16513,33016],[16526,33046],[16538,33070],[16553,33096],[16555,33103],[16567,33126],[16582,33154],[16584,33163],[16585,33160],[16593,33185],[16595,33184],[16603,33234],[16606,33424],[16626,33271],[16630,33277],[16642,33314],[16647,33297],[16667,33332],[16669,33323],[16682,33375],[16683,32759],[16701,33439],[16736,33453],[16749,33485],[16759,33541],[16789,33565],[16803,33629],[16806,33621],[16815,32813],[16903,33771],[16912,33916],[16917,33904],[16922,34216],[16923,33812],[16927,33863],[16928,33862],[16929,33851],[16931,33912],[16952,34212],[16956,33841],[16958,33840],[16972,33934],[16974,34328],[16987,33966],[17002,33996],[17016,34022],[17029,34052],[17041,34076],[17056,34102],[17058,34109],[17070,34132],[17085,34160],[17087,34169],[17088,34166],[17096,34191],[17098,34190],[17106,34240],[17109,34430],[17129,34277],[17133,34283],[17145,34320],[17150,34303],[17170,34338],[17172,34329],[17185,34381],[17186,33765],[17204,34445],[17239,34459],[17252,34491],[17262,34547],[17292,34571],[17306,34635],[17309,34627],[17318,33819],[17406,34777],[17415,34922],[17420,34910],[17425,35222],[17426,34818],[17430,34869],[17431,34868],[17432,34857],[17434,34918],[17455,35218],[17459,34847],[17461,34846],[17475,34940],[17477,35334],[17490,34972],[17505,35002],[17519,35028],[17532,35058],[17544,35082],[17559,35108],[17561,35115],[17573,35138],[17588,35166],[17590,35175],[17591,35172],[17599,35197],[17601,35196],[17609,35246],[17612,35436],[17632,35283],[17636,35289],[17648,35326],[17653,35309],[17673,35344],[17675,35335],[17688,35387],[17689,34771],[17707,35451],[17742,35465],[17755,35497],[17765,35553],[17795,35577],[17809,35641],[17812,35633],[17821,34825],[17909,35783],[17918,35928],[17923,35916],[17928,36228],[17929,35824],[17933,35875],[17934,35874],[17935,35863],[17937,35924],[17958,36224],[17962,35853],[17964,35852],[17978,35946],[17980,36340],[17993,35978],[18008,36008],[18022,36034],[18035,36064],[18047,36088],[18062,36114],[18064,36121],[18076,36144],[18091,36172],[18093,36181],[18094,36178],[18102,36203],[18104,36202],[18112,36252],[18115,36442],[18135,36289],[18139,36295],[18151,36332],[18156,36315],[18176,36350],[18178,36341],[18191,36393],[18192,35777],[18210,36457],[18245,36471],[18258,36503],[18268,36559],[18298,36583],[18312,36647],[18315,36639],[18324,35831],[18412,36789],[18421,36934],[18426,36922],[18431,37234],[18432,36830],[18436,36881],[18437,36880],[18438,36869],[18440,36930],[18461,37230],[18465,36859],[18467,36858],[18481,36952],[18483,37346],[18496,36984],[18511,37014],[18525,37040],[18538,37070],[18550,37094],[18565,37120],[18567,37127],[18579,37150],[18594,37178],[18596,37187],[18597,37184],[18605,37209],[18607,37208],[18615,37258],[18618,37448],[18638,37295],[18642,37301],[18654,37338],[18659,37321],[18679,37356],[18681,37347],[18694,37399],[18695,36783],[18713,37463],[18748,37477],[18761,37509],[18771,37565],[18801,37589],[18815,37653],[18818,37645],[18827,36837],[18915,37795],[18924,37940],[18929,37928],[18934,38240],[18935,37836],[18939,37887],[18940,37886],[18941,37875],[18943,37936],[18964,38236],[18968,37865],[18970,37864],[18984,37958],[18986,38352],[18999,37990],[19014,38020],[19028,38046],[19041,38076],[19053,38100],[19068,38126],[19070,38133],[19082,38156],[19097,38184],[19099,38193],[19100,38190],[19108,38215],[19110,38214],[19118,38264],[19121,38454],[19141,38301],[19145,38307],[19157,38344],[19162,38327],[19182,38362],[19184,38353],[19197,38405],[19198,37789],[19216,38469],[19251,38483],[19264,38515],[19274,38571],[19304,38595],[19318,38659],[19321,38651],[19330,37843],[19418,38801],[19427,38946],[19432,38934],[19437,39246],[19438,38842],[19442,38893],[19443,38892],[19444,38881],[19446,38942],[19467,39242],[19471,38871],[19473,38870],[19487,38964],[19489,39358],[19502,38996],[19517,39026],[19531,39052],[19544,39082],[19556,39106],[19571,39132],[19573,39139],[19585,39162],[19600,39190],[19602,39199],[19603,39196],[19611,39221],[19613,39220],[19621,39270],[19624,39460],[19644,39307],[19648,39313],[19660,39350],[19665,39333],[19685,39368],[19687,39359],[19700,39411],[19701,38795],[19719,39475],[19754,39489],[19767,39521],[19777,39577],[19807,39601],[19821,39665],[19824,39657],[19833,38849],[19921,39807],[19930,39952],[19935,39940],[19940,40252],[19941,39848],[19945,39899],[19946,39898],[19947,39887],[19949,39948],[19970,40248],[19974,39877],[19976,39876],[19990,39970],[19992,40364],[20005,40002],[20020,40032],[20034,40058],[20047,40088],[20059,40112],[20074,40138],[20076,40145],[20088,40168],[20103,40196],[20105,40205],[20106,40202],[20114,40227],[20116,40226],[20124,40276],[20127,40466],[20147,40313],[20151,40319],[20163,40356],[20168,40339],[20188,40374],[20190,40365],[20203,40417],[20204,39801],[20222,40481],[20257,40495],[20270,40527],[20280,40583],[20310,40607],[20324,40671],[20327,40663],[20336,39855],[20424,40813],[20433,40958],[20438,40946],[20443,41258],[20444,40854],[20448,40905],[20449,40904],[20450,40893],[20452,40954],[20473,41254],[20477,40883],[20479,40882],[20493,40976],[20495,41370],[20508,41008],[20523,41038],[20537,41064],[20550,41094],[20562,41118],[20577,41144],[20579,41151],[20591,41174],[20606,41202],[20608,41211],[20609,41208],[20617,41233],[20619,41232],[20627,41282],[20630,41472],[20650,41319],[20654,41325],[20666,41362],[20671,41345],[20691,41380],[20693,41371],[20706,41423],[20707,40807],[20725,41487],[20760,41501],[20773,41533],[20783,41589],[20813,41613],[20827,41677],[20830,41669],[20839,40861],[20927,41819],[20936,41964],[20941,41952],[20946,42264],[20947,41860],[20951,41911],[20952,41910],[20953,41899],[20955,41960],[20976,42260],[20980,41889],[20982,41888],[20996,41982],[20998,42376],[21011,42014],[21026,42044],[21040,42070],[21053,42100],[21065,42124],[21080,42150],[21082,42157],[21094,42180],[21109,42208],[21111,42217],[21112,42214],[21120,42239],[21122,42238],[21130,42288],[21133,42478],[21153,42325],[21157,42331],[21169,42368],[21174,42351],[21194,42386],[21196,42377],[21209,42429],[21210,41813],[21228,42493],[21263,42507],[21276,42539],[21286,42595],[21316,42619],[21330,42683],[21333,42675],[21342,41867],[21430,42825],[21439,42970],[21444,42958],[21449,43270],[21450,42866],[21454,42917],[21455,42916],[21456,42905],[21458,42966],[21479,43266],[21483,42895],[21485,42894],[21499,42988],[21501,43382],[21514,43020],[21529,43050],[21543,43076],[21556,43106],[21568,43130],[21583,43156],[21585,43163],[21597,43186],[21612,43214],[21614,43223],[21615,43220],[21623,43245],[21625,43244],[21633,43294],[21636,43484],[21656,43331],[21660,43337],[21672,43374],[21677,43357],[21697,43392],[21699,43383],[21712,43435],[21713,42819],[21731,43499],[21766,43513],[21779,43545],[21789,43601],[21819,43625],[21833,43689],[21836,43681],[21845,42873],[21933,43831],[21942,43976],[21947,43964],[21952,44276],[21953,43872],[21957,43923],[21958,43922],[21959,43911],[21961,43972],[21982,44272],[21986,43901],[21988,43900],[22002,43994],[22004,44388],[22017,44026],[22032,44056],[22046,44082],[22059,44112],[22071,44136],[22086,44162],[22088,44169],[22100,44192],[22115,44220],[22117,44229],[22118,44226],[22126,44251],[22128,44250],[22136,44300],[22139,44490],[22159,44337],[22163,44343],[22175,44380],[22180,44363],[22200,44398],[22202,44389],[22215,44441],[22216,43825],[22234,44505],[22269,44519],[22282,44551],[22292,44607],[22322,44631],[22336,44695],[22339,44687],[22348,43879],[7534,15129],[7541,17894],[8454,18820],[8468,19102],[8720,19614],[8774,19662],[8784,20156],[8802,20260],[8811,19838],[8831,19950],[8851,19886],[8871,19998],[8975,18018],[8977,15738],[8979,17994],[8981,18032],[8986,18104],[8992,18980],[8994,18082],[8996,18083],[9005,18064],[9007,18080],[9014,19774],[9018,18061],[9019,18060],[9028,15894],[9039,15870],[9048,18584],[9060,18202],[9061,18203],[9063,15603],[9067,18146],[9068,18147],[9070,18224],[9074,18246],[9076,18247],[9087,18262],[9088,18263],[9095,19158],[9101,16010],[9109,18241],[9110,18240],[9129,19244],[9131,16150],[9138,18438],[9141,18364],[9142,18365],[9144,18340],[9148,18308],[9149,18309],[9151,18386],[9155,18408],[9157,18409],[9168,18424],[9169,18425],[9176,18464],[9182,16302],[9188,18564],[9190,18403],[9191,18402],[9199,20068],[9210,19406],[9212,16454],[9221,16622],[9222,18476],[9223,18528],[9225,18529],[9232,19344],[9236,18552],[9239,16788],[9241,18580],[9242,18581],[9250,20082],[9252,18569],[9253,18568],[9255,18530],[9262,20092],[9267,16794],[9273,19324],[9275,18537],[9282,20018],[9289,18573],[9298,20246],[9300,18664],[9301,18665],[9306,18632],[9307,18633],[9309,18609],[9314,18662],[9316,15222],[9320,18622],[9321,18712],[9329,20292],[9332,15350],[9339,20310],[9342,18706],[9343,18707],[9344,18668],[9351,20322],[9355,18610],[9358,18648],[9359,18636],[9363,18826],[9365,18827],[9367,18756],[9368,18757],[9373,18816],[9374,18817],[9380,18754],[9387,20360],[9390,18846],[9391,18847],[9394,18814],[9400,20394],[9419,18996],[9421,18867],[9422,18866],[9430,18918],[9439,20408],[9444,18943],[9445,18942],[9449,18960],[9450,18961],[9459,20344],[9461,18892],[9469,20418],[9474,19000],[9475,19001],[9478,18979],[9479,18978],[9486,18907],[9491,18971],[9498,20440],[9501,18927],[9504,19108],[9506,19109],[9508,19038],[9509,19039],[9514,19098],[9515,19099],[9521,19036],[9528,20510],[9531,19128],[9532,19129],[9535,19096],[9541,19364],[9560,19262],[9562,19149],[9563,19148],[9571,19284],[9576,19250],[9578,19251],[9580,19182],[9581,19183],[9586,19242],[9587,19243],[9593,19180],[9600,20542],[9603,19270],[9604,19271],[9607,19240],[9613,19420],[9631,20476],[9633,19291],[9634,19290],[9642,19386],[9651,20470],[9654,19369],[9655,19368],[9659,19338],[9660,19339],[9666,19392],[9668,19393],[9669,15210],[9673,19331],[9682,20496],[9686,19397],[9687,19396],[9693,20530],[9698,15330],[9701,15202],[9702,19340],[9710,20524],[9712,15338],[9713,19390],[9725,19503],[9726,19502],[9728,19547],[9729,19546],[9735,19478],[9736,19479],[9739,15606],[9742,19555],[9743,19554],[9745,19538],[9748,19466],[9749,19465],[9750,19564],[9751,15478],[9757,19537],[9758,19536],[9760,19462],[9766,19552],[9772,19464],[9779,19524],[9784,19593],[9785,19592],[9787,19652],[9792,19642],[9794,19618],[9795,19619],[9801,19622],[9804,19636],[9815,19653],[9820,19606],[9822,19671],[9823,19670],[9828,19616],[9833,19632],[9834,19580],[9839,19773],[9842,19736],[9843,19753],[9844,19752],[9848,19744],[9849,19726],[9851,19727],[9856,19746],[9859,19759],[9860,19758],[9865,19781],[9866,19780],[9870,19783],[9871,19782],[9875,19704],[9883,19786],[9885,19724],[9896,19817],[9897,19816],[9899,19876],[9904,19866],[9906,19842],[9907,19843],[9913,19846],[9916,19860],[9927,19877],[9932,19830],[9934,19895],[9935,19894],[9940,19840],[9945,19856],[9946,19804],[9952,19929],[9953,19928],[9955,19988],[9960,19978],[9962,19954],[9963,19955],[9969,19958],[9972,19972],[9983,19989],[9988,19942],[9990,20007],[9991,20006],[9996,19952],[10001,19968],[10002,19916],[10007,20115],[10008,20114],[10011,20064],[10013,15466],[10019,20044],[10020,20045],[10025,20091],[10026,20090],[10030,20099],[10031,20098],[10033,20036],[10036,20029],[10038,20085],[10039,20084],[10043,20111],[10045,15586],[10048,20054],[10050,20074],[10051,15458],[10055,15594],[10066,16290],[10068,20229],[10069,20228],[10074,20212],[10075,20164],[10076,20165],[10082,16434],[10084,20221],[10085,20220],[10086,20227],[10092,20144],[10095,20204],[10097,20158],[10099,20230],[10104,20222],[10105,16282],[10108,20140],[10113,16442],[10118,16610],[10120,20333],[10121,20332],[10126,20316],[10127,20268],[10128,20269],[10134,16816],[10136,20325],[10137,20324],[10138,20331],[10144,20248],[10147,20308],[10149,20262],[10151,20334],[10156,20326],[10157,16602],[10160,20244],[10165,16826],[10170,20443],[10171,20442],[10174,20390],[10176,15726],[10182,20370],[10183,20371],[10188,20417],[10189,20416],[10193,20425],[10194,20424],[10196,20362],[10199,20355],[10201,20411],[10202,20410],[10206,20439],[10208,15850],[10211,16815],[10214,20400],[10215,15718],[10219,15858],[10229,15990],[10230,20520],[10231,20550],[10233,20498],[10239,16130],[10244,20526],[10245,20527],[10247,20506],[10252,20477],[10256,20529],[10257,20528],[10259,20544],[10264,15998],[10267,20484],[10273,16138],[10274,20540],[10427,21298],[10443,21308],[10528,21524],[10572,21233],[10586,20704],[10589,21196],[10621,21219],[10624,21275],[10639,21289],[10648,20857],[10663,21372],[10666,21346],[10676,21370],[10696,21406],[10704,21432],[10706,20919],[10710,20945],[10717,21418],[10732,21454],[10739,21452],[10744,21512],[10746,20975],[10750,20999],[10757,21498],[10763,21055],[10768,21555],[10769,21554],[10771,21550],[10778,21025],[10780,21532],[10930,22304],[10946,22314],[11031,22530],[11075,22239],[11089,21710],[11092,22202],[11124,22225],[11127,22281],[11142,22295],[11151,21863],[11166,22378],[11169,22352],[11179,22376],[11199,22412],[11207,22438],[11209,21925],[11213,21951],[11220,22424],[11235,22460],[11242,22458],[11247,22518],[11249,21981],[11253,22005],[11260,22504],[11266,22061],[11271,22561],[11272,22560],[11274,22556],[11281,22031],[11283,22538],[11433,23310],[11449,23320],[11534,23536],[11578,23245],[11592,22716],[11595,23208],[11627,23231],[11630,23287],[11645,23301],[11654,22869],[11669,23384],[11672,23358],[11682,23382],[11702,23418],[11710,23444],[11712,22931],[11716,22957],[11723,23430],[11738,23466],[11745,23464],[11750,23524],[11752,22987],[11756,23011],[11763,23510],[11769,23067],[11774,23567],[11775,23566],[11777,23562],[11784,23037],[11786,23544],[11936,24316],[11952,24326],[12037,24542],[12081,24251],[12095,23722],[12098,24214],[12130,24237],[12133,24293],[12148,24307],[12157,23875],[12172,24390],[12175,24364],[12185,24388],[12205,24424],[12213,24450],[12215,23937],[12219,23963],[12226,24436],[12241,24472],[12248,24470],[12253,24530],[12255,23993],[12259,24017],[12266,24516],[12272,24073],[12277,24573],[12278,24572],[12280,24568],[12287,24043],[12289,24550],[12439,25322],[12455,25332],[12540,25548],[12584,25257],[12598,24728],[12601,25220],[12633,25243],[12636,25299],[12651,25313],[12660,24881],[12675,25396],[12678,25370],[12688,25394],[12708,25430],[12716,25456],[12718,24943],[12722,24969],[12729,25442],[12744,25478],[12751,25476],[12756,25536],[12758,24999],[12762,25023],[12769,25522],[12775,25079],[12780,25579],[12781,25578],[12783,25574],[12790,25049],[12792,25556],[12942,26328],[12958,26338],[13043,26554],[13087,26263],[13101,25734],[13104,26226],[13136,26249],[13139,26305],[13154,26319],[13163,25887],[13178,26402],[13181,26376],[13191,26400],[13211,26436],[13219,26462],[13221,25949],[13225,25975],[13232,26448],[13247,26484],[13254,26482],[13259,26542],[13261,26005],[13265,26029],[13272,26528],[13278,26085],[13283,26585],[13284,26584],[13286,26580],[13293,26055],[13295,26562],[13445,27334],[13461,27344],[13546,27560],[13590,27269],[13604,26740],[13607,27232],[13639,27255],[13642,27311],[13657,27325],[13666,26893],[13681,27408],[13684,27382],[13694,27406],[13714,27442],[13722,27468],[13724,26955],[13728,26981],[13735,27454],[13750,27490],[13757,27488],[13762,27548],[13764,27011],[13768,27035],[13775,27534],[13781,27091],[13786,27591],[13787,27590],[13789,27586],[13796,27061],[13798,27568],[13948,28340],[13964,28350],[14049,28566],[14093,28275],[14107,27746],[14110,28238],[14142,28261],[14145,28317],[14160,28331],[14169,27899],[14184,28414],[14187,28388],[14197,28412],[14217,28448],[14225,28474],[14227,27961],[14231,27987],[14238,28460],[14253,28496],[14260,28494],[14265,28554],[14267,28017],[14271,28041],[14278,28540],[14284,28097],[14289,28597],[14290,28596],[14292,28592],[14299,28067],[14301,28574],[14451,29346],[14467,29356],[14552,29572],[14596,29281],[14610,28752],[14613,29244],[14645,29267],[14648,29323],[14663,29337],[14672,28905],[14687,29420],[14690,29394],[14700,29418],[14720,29454],[14728,29480],[14730,28967],[14734,28993],[14741,29466],[14756,29502],[14763,29500],[14768,29560],[14770,29023],[14774,29047],[14781,29546],[14787,29103],[14792,29603],[14793,29602],[14795,29598],[14802,29073],[14804,29580],[14954,30352],[14970,30362],[15055,30578],[15099,30287],[15113,29758],[15116,30250],[15148,30273],[15151,30329],[15166,30343],[15175,29911],[15190,30426],[15193,30400],[15203,30424],[15223,30460],[15231,30486],[15233,29973],[15237,29999],[15244,30472],[15259,30508],[15266,30506],[15271,30566],[15273,30029],[15277,30053],[15284,30552],[15290,30109],[15295,30609],[15296,30608],[15298,30604],[15305,30079],[15307,30586],[15457,31358],[15473,31368],[15558,31584],[15602,31293],[15616,30764],[15619,31256],[15651,31279],[15654,31335],[15669,31349],[15678,30917],[15693,31432],[15696,31406],[15706,31430],[15726,31466],[15734,31492],[15736,30979],[15740,31005],[15747,31478],[15762,31514],[15769,31512],[15774,31572],[15776,31035],[15780,31059],[15787,31558],[15793,31115],[15798,31615],[15799,31614],[15801,31610],[15808,31085],[15810,31592],[15960,32364],[15976,32374],[16061,32590],[16105,32299],[16119,31770],[16122,32262],[16154,32285],[16157,32341],[16172,32355],[16181,31923],[16196,32438],[16199,32412],[16209,32436],[16229,32472],[16237,32498],[16239,31985],[16243,32011],[16250,32484],[16265,32520],[16272,32518],[16277,32578],[16279,32041],[16283,32065],[16290,32564],[16296,32121],[16301,32621],[16302,32620],[16304,32616],[16311,32091],[16313,32598],[16463,33370],[16479,33380],[16564,33596],[16608,33305],[16622,32776],[16625,33268],[16657,33291],[16660,33347],[16675,33361],[16684,32929],[16699,33444],[16702,33418],[16712,33442],[16732,33478],[16740,33504],[16742,32991],[16746,33017],[16753,33490],[16768,33526],[16775,33524],[16780,33584],[16782,33047],[16786,33071],[16793,33570],[16799,33127],[16804,33627],[16805,33626],[16807,33622],[16814,33097],[16816,33604],[16966,34376],[16982,34386],[17067,34602],[17111,34311],[17125,33782],[17128,34274],[17160,34297],[17163,34353],[17178,34367],[17187,33935],[17202,34450],[17205,34424],[17215,34448],[17235,34484],[17243,34510],[17245,33997],[17249,34023],[17256,34496],[17271,34532],[17278,34530],[17283,34590],[17285,34053],[17289,34077],[17296,34576],[17302,34133],[17307,34633],[17308,34632],[17310,34628],[17317,34103],[17319,34610],[17469,35382],[17485,35392],[17570,35608],[17614,35317],[17628,34788],[17631,35280],[17663,35303],[17666,35359],[17681,35373],[17690,34941],[17705,35456],[17708,35430],[17718,35454],[17738,35490],[17746,35516],[17748,35003],[17752,35029],[17759,35502],[17774,35538],[17781,35536],[17786,35596],[17788,35059],[17792,35083],[17799,35582],[17805,35139],[17810,35639],[17811,35638],[17813,35634],[17820,35109],[17822,35616],[17972,36388],[17988,36398],[18073,36614],[18117,36323],[18131,35794],[18134,36286],[18166,36309],[18169,36365],[18184,36379],[18193,35947],[18208,36462],[18211,36436],[18221,36460],[18241,36496],[18249,36522],[18251,36009],[18255,36035],[18262,36508],[18277,36544],[18284,36542],[18289,36602],[18291,36065],[18295,36089],[18302,36588],[18308,36145],[18313,36645],[18314,36644],[18316,36640],[18323,36115],[18325,36622],[18475,37394],[18491,37404],[18576,37620],[18620,37329],[18634,36800],[18637,37292],[18669,37315],[18672,37371],[18687,37385],[18696,36953],[18711,37468],[18714,37442],[18724,37466],[18744,37502],[18752,37528],[18754,37015],[18758,37041],[18765,37514],[18780,37550],[18787,37548],[18792,37608],[18794,37071],[18798,37095],[18805,37594],[18811,37151],[18816,37651],[18817,37650],[18819,37646],[18826,37121],[18828,37628],[18978,38400],[18994,38410],[19079,38626],[19123,38335],[19137,37806],[19140,38298],[19172,38321],[19175,38377],[19190,38391],[19199,37959],[19214,38474],[19217,38448],[19227,38472],[19247,38508],[19255,38534],[19257,38021],[19261,38047],[19268,38520],[19283,38556],[19290,38554],[19295,38614],[19297,38077],[19301,38101],[19308,38600],[19314,38157],[19319,38657],[19320,38656],[19322,38652],[19329,38127],[19331,38634],[19481,39406],[19497,39416],[19582,39632],[19626,39341],[19640,38812],[19643,39304],[19675,39327],[19678,39383],[19693,39397],[19702,38965],[19717,39480],[19720,39454],[19730,39478],[19750,39514],[19758,39540],[19760,39027],[19764,39053],[19771,39526],[19786,39562],[19793,39560],[19798,39620],[19800,39083],[19804,39107],[19811,39606],[19817,39163],[19822,39663],[19823,39662],[19825,39658],[19832,39133],[19834,39640],[19984,40412],[20000,40422],[20085,40638],[20129,40347],[20143,39818],[20146,40310],[20178,40333],[20181,40389],[20196,40403],[20205,39971],[20220,40486],[20223,40460],[20233,40484],[20253,40520],[20261,40546],[20263,40033],[20267,40059],[20274,40532],[20289,40568],[20296,40566],[20301,40626],[20303,40089],[20307,40113],[20314,40612],[20320,40169],[20325,40669],[20326,40668],[20328,40664],[20335,40139],[20337,40646],[20487,41418],[20503,41428],[20588,41644],[20632,41353],[20646,40824],[20649,41316],[20681,41339],[20684,41395],[20699,41409],[20708,40977],[20723,41492],[20726,41466],[20736,41490],[20756,41526],[20764,41552],[20766,41039],[20770,41065],[20777,41538],[20792,41574],[20799,41572],[20804,41632],[20806,41095],[20810,41119],[20817,41618],[20823,41175],[20828,41675],[20829,41674],[20831,41670],[20838,41145],[20840,41652],[20990,42424],[21006,42434],[21091,42650],[21135,42359],[21149,41830],[21152,42322],[21184,42345],[21187,42401],[21202,42415],[21211,41983],[21226,42498],[21229,42472],[21239,42496],[21259,42532],[21267,42558],[21269,42045],[21273,42071],[21280,42544],[21295,42580],[21302,42578],[21307,42638],[21309,42101],[21313,42125],[21320,42624],[21326,42181],[21331,42681],[21332,42680],[21334,42676],[21341,42151],[21343,42658],[21493,43430],[21509,43440],[21594,43656],[21638,43365],[21652,42836],[21655,43328],[21687,43351],[21690,43407],[21705,43421],[21714,42989],[21729,43504],[21732,43478],[21742,43502],[21762,43538],[21770,43564],[21772,43051],[21776,43077],[21783,43550],[21798,43586],[21805,43584],[21810,43644],[21812,43107],[21816,43131],[21823,43630],[21829,43187],[21834,43687],[21835,43686],[21837,43682],[21844,43157],[21846,43664],[21996,44436],[22012,44446],[22097,44662],[22141,44371],[22155,43842],[22158,44334],[22190,44357],[22193,44413],[22208,44427],[22217,43995],[22232,44510],[22235,44484],[22245,44508],[22265,44544],[22273,44570],[22275,44057],[22279,44083],[22286,44556],[22301,44592],[22308,44590],[22313,44650],[22315,44113],[22319,44137],[22326,44636],[22332,44193],[22337,44693],[22338,44692],[22340,44688],[22347,44163],[22349,44670]] diff --git a/references/partial-gauge/pr62/LICENSE b/references/partial-gauge/pr62/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/references/partial-gauge/pr62/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/references/partial-gauge/pr62/NOTICE b/references/partial-gauge/pr62/NOTICE new file mode 100644 index 0000000000..fd30e610b0 --- /dev/null +++ b/references/partial-gauge/pr62/NOTICE @@ -0,0 +1,185 @@ +A sharper exponent for integer multiplication +Copyright 2026 Douglas Colkitt + +This project includes unmodified source files from OpenAI's manuscript +"Integer multiplication below n log n" and its accompanying repository: +https://github.com/openai/math +Commit: adc7f1241b42e322a6451854ab7e4b4c146bf78a + +The original manuscript identifies OpenAI as its author. Its Apache-2.0 +license is retained at upstream/LICENSE. The exact source URLs and hashes +are recorded in upstream/manifest.json. Proposed modifications are supplied +as separate files under patches/; upstream source files remain unchanged. + +The new research note, scripts, certificates, patches, and documentation +were prepared by Douglas Colkitt with assistance from OpenAI Codex. +This project is not an official OpenAI release or an OpenAI endorsement. + +Ternary five-subset construction and common-four-point resynthesis +Copyright 2026 Zhihao Chen (jacklightChen) + +This is Zhihao Chen's first submission of this specific construction to this +repository. Research, proof development, code and verification were prepared +with substantial assistance from GPT-6 Astra (OpenAI Codex), as identified by +the contributor. This is not independent review or an OpenAI endorsement. +Future research building on this contribution should explicitly acknowledge +Zhihao Chen (jacklightChen), cite the accompanying note and pull request, and +retain the preceding contributors' attribution. This notice records research +provenance; the repository's Apache-2.0 license remains unchanged. + +Dependencies retained from eumemic's Claude-assisted PRs #3 and #5: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +https://github.com/CrocSwap/integer-mult-bounds/pull/5 +PR #5 commit: d3d370c34937503bd3fa63c83d505a05e8e50893 +These include complex_circuit.py, complex_network.py, fast_gaussian.py, +their generators, construction notes and certificates. The Gaussian input +scaling proof is corrected in this derivative; see the modification notice below. +Aligned pairing also appears in Bortlesboat's PR #2. Retained totals and bank +sharing appear in dleen's PR #4 and cheaper retained centers in eumemic's PR #6. +Their results and ideas are credited separately from this new construction. + +Bulk recursion and controlled tensor basis, 8 October 2026 +Copyright 2026 icekylinx + +The new projector batching, controlled simultaneous basis, mixed-width tape +recursions, whole-residual complex recursion, and dependency-path precision +guard in the batched-23 proof package are contributed by icekylinx, developed +with substantial OpenAI GPT-6 Astra assistance. Review corrections and +repository integration were prepared with OpenAI Codex assistance. They build on the retained +PR #7 finite producers and the preceding contributions credited above. +The new package retains the repository's Apache-2.0 license and the original +authors' attribution. It is not an official OpenAI release or endorsement. + +Modification notice, 8 October 2026 (icekylinx): the retained fast Gaussian +proof now bounds shifted approximation error by F=2^ceil(1.14 alpha^2). +The P=34p precision budget and asymptotic exponent are unchanged. New batching +checks are integrated into make verify. Existing attribution and licenses +are retained. + +Partial-swap extension, 8 October 2026 +Copyright 2026 icekylinx + +The partial-swap framing, binary retained-total triple construction, +dependency-preserving positive labels and carrier reuse, unequal (25,23,57) +common basis, improved complex batching, and exact assembly are contributed +by icekylinx with substantial OpenAI GPT-6 Astra and Codex assistance. +This extension directly inherits PR #10, commit +62691e395a0458ce089a1c7b5d89e74291e95e29. The portable producer adapters +modify the retained paired-exclusion and shared-point implementations credited +above. The original licenses, attribution, and Gaussian correction are retained. + +Endpoint-gauge extension, 8 October 2026 +Copyright 2026 icekylinx + +The complementary auxiliary endpoint gauges, (32,30,40) controlled basis, +general nondegenerate binary phase residuals, retained-center complex producer, +updated path guard and exact assembly are contributed by icekylinx with +substantial OpenAI GPT-6 Astra and Codex assistance. This extension inherits +f2ab41aebad47861caf6316282c1793e5513845e and its PR #10 ancestry. New portable +adapters retain the paired-exclusion and shared-point contributions credited +above. Original licenses, notices and the Gaussian correction are retained. + +Structured-basis and semantic-bulk extension, 8 October 2026 +Copyright 2026 icekylinx + +The selected (32,30,36) bit construction, A1/A5 block refinements, fixed +middle-axis I+J profiles with bounded-minor CRT certificates, mixed dyadic +complex centers, complete data-front batching and circuit-specific assembly +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. The immediate parent is ed90fd940279c336ebc45968631bdebfb087b505. + +The semantic/bulk compatibility argument, literal scalar charge, product row +stock and parameterization adapt Zhihao Chen (jacklightChen)'s PR #23, +commit 661ebabc1076c9f525d7ce4967c876b203fa9827. Translated complex endpoints +are adopted from the same contributor's PR #21, +commit 5ba6cf0bfb68f2be8d15610e7972207c50254d6a, following eumemic's source-frame +work and the earlier nested-basis contributions. + +Completed-child semantic precision, arbitrary-coordinate routing, phase-cell +Gaussian inversion and bulk tape transfer are credited to the RaD project +(hipotures), commit 45d9b60355872041f9275f77c057514def0d45bc, exposed through +PR #20 at 4f8d6c8272b5ff307a0da51df545ec3cd96a8b6e. Their selected proof +sources retain their separate CC0 license and original NOTICE under +references/semantic-bulk/rad20. The PR #23 source retains its recorded OpenAI +Codex assistance; RaD retains its recorded Codex and GPT-6.1-Sol Ultra +assistance. These are source attributions, not claims about this session's +runtime model. Related contributions by Rohan Arun and Aurel Prosz remain +acknowledged in the imported notices. No exclusive priority or additional +license condition is asserted. + +Copied retained-center extension, 8 October 2026 +Copyright 2026 icekylinx + +The copied retained-center schedule in both orientations, its complex-phase +transfer, the Wm-N+L rank budget, and the selected (25,23)/(28,28) composition +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. This extension inherits PR #32 at +0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52 and the preceding PR #10/#18/#24 work. + +The two-stage topology and paid copied-stream endpoint correction are due +to Aurel Prosz (Paureel), c82d09eb4781b68435e3fa3eb6beea72fa900fab, +through Zhihao Chen (jacklightChen)'s PR #29 unequal-axis composition, +9d963275075fa98f1da821e27757b238dafd6b3c. That source also credits Swapnil +Jain's two-stage development at ae405eb474d1486b2d8aef90139869f927f4836a. + +The contiguous corner method, incidence factorization and exact partition +certificates are due to Rohan Arun (PR #31), method commit +02f68f95369c39955c5ffcfddbd75cd83e26b305. The selected (25,23) certificate +specializes Dominik Scholz's parameterization (PR #33), +a499a345c040aa15b68e984a0904eadc485c7a7e. Their source notices and proof +snapshots are preserved in references/copied-centers. Historical OpenAI +Codex, GPT-6 Astra and Anthropic Claude Opus 5.5 assistance is credited to +the respective imported sources. Existing PR #21/#23 and RaD attribution, +licenses and the Gaussian correction remain in force. + +Changed-graph composition with copied centers and fixed bases, 8 October 2026 +Prepared with OpenAI Codex assistance. +The new composition uses icekylinx PR36 copied centers and PR32 fixed-I+J +projectors/profiler, Dominik Scholz PR35 two fixed factors and CRT argument, +Zhihao Chen (jacklightChen) PR29/23 interfaces, Aurel Prosz (Paureel) and +Swapnil Jain's two-stage development, Rohan Arun PR25/31 corner methods, +Dominik Scholz PR33/38 dimension/composition work; James Chang (jamesyc) +PR34 reversed geometry and balanced transfer; Rohan Arun PR37/39/40 +reversed integration, modular data tests and both-fixed baseline; +RaD (hipotures) PR41 changed scalar DAGs, alternating point order and +independent role compiler; RaD balanced routing/bulk interfaces, and all +retained predecessors. +Complete attribution and the conditional proof boundary are recorded in +research/copied-fixed/PROOF.md; imported originals and source pins are retained. +Original Apache-2.0 and CC0 notices remain applicable. + +Skip-prefix strip producer, 8 October 2026 +By Avi Eisenberg (ikeboy), with Anthropic Claude (Claude Opus 5.5) +assistance. The skip-prefix leave-one-out strip layout in +research/skip-strips/skip_graph.py is new. Everything else reuses Chafik +Boukhalfa's PR #43/#46/#48 research/copied-fixed pipeline, its verification +code, exact data recovery and support-order sorting, together with: +- Rohan Arun's PR #44 weighted carrier matching optimizer; +- RaD (hipotures) PR #41 alternating point order; +- every predecessor credited above. +Complete attribution and the conditional proof boundary are recorded in +research/skip-strips/PROOF.md. Original Apache-2.0 and CC0 notices remain +applicable. + +Joint frame compilation of skip-prefix strips + +The local compiler and exact finite witnesses were prepared by eumemic with +substantial OpenAI Codex assistance. Avi Eisenberg / ikeboy with Anthropic +Claude assistance supplied the unmodified PR #53 skip-prefix producer. +The pinned PR #48 pipeline is Chafik Boukhalfa's contribution, incorporating +Rohan Arun, RaD / hipotures, icekylinx, Dominik Scholz, James Chang, +Zhihao Chen, Aurel Prosz / Paureel, Swapnil Jain, eumemic, Douglas Colkitt, +OpenAI, David Harvey, Joris van der Hoeven and the earlier contributors +credited in the retained sources. See references/frame-compiler/pr48/NOTICE +and references/frame-compiler/pr53/NOTICE for their original attribution. +No authorship or review by those predecessors is claimed for this compiler. + +Interval strips and core-aware pair assembly + +The interval leave-one-out strips and the core-aware group-pair assembly in +research/pair-assembly were prepared by Avi Eisenberg / ikeboy with Anthropic +Claude assistance. They build on PR #53's skip-prefix pipeline and its +inherited PR #48 sources. The stacked witness in research/pair-assembly/frame +uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier +are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and +verify_skip_frame.py. Original notices are retained. diff --git a/references/partial-gauge/pr62/PROOF.md b/references/partial-gauge/pr62/PROOF.md new file mode 100644 index 0000000000..26e1166562 --- /dev/null +++ b/references/partial-gauge/pr62/PROOF.md @@ -0,0 +1,221 @@ +# Interval strips and core-aware pair assembly: conditional saving 4.986133 × 10^-5 + +Under OpenAI's base theorem and the retained analytic, fixed finite-alphabet +and fixed multitape interfaces, the construction below gives + +\[ +T(n)=O\bigl(n(\log n)^{1-\kappa}\bigr),\qquad +\boxed{\kappa=\frac{4986133}{10^{11}}=4.986133\times10^{-5}>2^{-15}.} +\] + +The exact bit saving is 4986382/10^11. The next grid value of the bit saving +fails the exact moment test, and the next κ grid value fails the assembly. + +This is **6.782% above PR #57** (4669442391/10^14), **10.092% above PR #54** +(141532521/3125000000000) and **10.849% above PR #53** (4498144/10^11). It +does not use PR #57's compiler or PR #54's clones. These compare asymptotic +exponent savings, not running times. They are conditional research claims +without independent mathematical review or formal verification. + +Section "Stacking with PR #57's frame compiler" below gives a second, larger +witness, κ = 5101691/10^11, that also uses PR #57's compiler. + +## What changes + +Only the scalar producer DAG changes, in `pair_graph.py`, together with its +pinned carrier matching, `links-{23,25}.uses`. Everything else is PR #53's +`research/skip-strips` pipeline, which is PR #48's `research/copied-fixed` +pipeline, with constants recomputed for the new DAG. + +A role is a physical scratch wire. With c additions, q designated outputs and +μ retained carrier links, the role count is R = c + q − μ. A link lets a +donor addition x = u + w continue its carrier into a later consumer t of u, +when the original envelope of x lies inside the envelope of t: the common core +of t lies inside the core of x, and the cover of x lies inside the cover of t. +So R counts the additions that cannot continue a carrier, plus q. + +### 1. Interval strips + +The paired-exclusion recursion (icekylinx PR #18/#36) needs, for each vertex, +every leave-one-out sum of its k strip values v_1, …, v_k. PR #53 used the +skip-prefix layout s_j = A_(j−2) + (v_(j−1) + B_(j+1)). We build every cyclic +interval of the values instead, each from an interval one item shorter: + + I(a, m) = I(a, m−1) + v_(a+m−1), 2 ≤ m ≤ k−1, + +and output s_j = I(j+1, k−1), with the total I(0, k−1) + v_(k−1). The interval +I(a, m) with m < k−1 has the later consumer I(a−1, m+1) of its last item +v_(a+m−1), and its cover lies inside that consumer's cover, so it can continue +a carrier. Only the k outputs and the total stay unmatched. + +This costs k(k−2)+1 additions instead of about 4k. The role count still falls, +because R counts unmatched additions. In a model of one strip, an exact integer +program over every leave-one-out circuit shows that k−1 unmatched additions is +the minimum for k ≤ 8. Skip-prefix leaves 2k−3 unmatched; intervals leave k−1 +or k. Intervals are used for every strip with k ≥ 3 nonzero values; smaller +strips keep PR #53's layout. Value orders are PR #53's: reversed at the top +level, sorted by (support size, ±support) below it. + +### 2. Core-aware pair assembly + +For groups i < j with members (a, a2) and (b, b2), let F = far[i,j] and let +Sa, Sa2, Sb, Sb2 be the strip outputs that omit the other group. Each of the +four outputs is a sum of four pieces, for example +out[a,b] = F + Sa + Sb + e(a2,b2). PR #53 computes left(a,j) = F + Sa, +then out[a,b] = left(a,j) + (Sb + e(a2,b2)). None of those ten additions can +continue a carrier. We compute + + F+Sa, F+Sa2, F+Sb, F+Sb2, + Y1 = (F+Sb) + Sa, Y2 = (F+Sa) + Sb2, + Y3 = (F+Sa2) + e(a,b2), Y4 = (F+Sb2) + e(a,b), + out[a,b] = e(a2,b2) + Y1, out[a,b2] = e(a2,b) + Y2, + out[a2,b] = Y3 + Sb, out[a2,b2] = Y4 + Sa2. + +Each F+S node then has a later consumer of its strip operand whose envelope +contains its own: the same common core and a larger cover. An exact integer +program over every assembly of these nine pieces, with their actual cores and +covers, shows that 8 unmatched additions per group pair is optimal. The cores +matter: a node such as Sa + e(a2,b2) has the two-point core {c, a2}, so a +one-point-core donor cannot continue into it. Each output needs its own +addition and at least one more addition that serves only that output, and +neither can continue a carrier, so 8 is also a lower bound for this +decomposition. + +### Counts + +| h | v | additions c | outputs q | matched μ | roles R | loss | +|---|---|---|---|---|---|---| +| 23 | 1771 | 62294 | 5336 | 38911 | 28719 | 506 | +| 25 | 2300 | 86595 | 6925 | 55844 | 37676 | 600 | + +PR #53 had R23 = 32946 and R25 = 43409. The physical constants are +m = 575, N = 4,073,300, W = 140,924,496 (PR #53: 160,799,739) and +L = 2,226,400. The complete rank is Wm − N + L = 81,029,738,300. The deficit +N − L is unchanged. + +The weighted matching is pinned in `links-{h}.uses`. `optimize_matching.py` +regenerates it from Rohan Arun's PR #44 optimizer with only the graph import +changed. Its output is not trusted: `profiles.cpp` replays every pinned link, +and `producer.py` recounts every link independently. + +## Why the inherited proofs apply + +The new DAG enters the inherited proofs only through properties and +quantities that `producer.py` recomputes, as for PR #41, #43, #47, #48 and #53: + +- **Scalar outputs.** Every addition joins disjoint supports, every node has a + common point, and every output is the exact leave-two-out sum or retained + total, checked on dense global supports. +- **Carrier links.** Every pinned link lies in the admissible adjacency + (causal order and envelope inclusion), with distinct donors and uses. +- **Physical timeline.** The full physical timeline and every dirty basis + vector are checked in both orientations at h = 23 and 25. +- **Fixed-basis profiles.** These are recomputed from the new DAGs and pinned + matchings: 37,728 and 51,927 distinct transition matrices; 6,026 and 7,981 + of them CRT-checked; zero modular disagreements. Exactly h full center + cleanups appear, so the copied-center replacement applies unchanged. +- **Data corners.** These do not depend on the producer. All 4,073,300 pairs + are replayed, and the ten primary-prime failures are recovered by exact + rational elimination. + +The integer programs explain why the links exist; correctness does not depend +on them. + +## Exact arithmetic + +`verify.py` uses PR #43/#48's exact logarithm and exponential enclosures: + +- The moment at a_b = 4986382/10^11 is below 1; at 4986383/10^11 its exact + lower bound exceeds 1. +- Each of the following is excluded at the new bit saving by an exact lower + bound: the complete child lists of PR #57, #54, #53, #48, #47, #46, #44, + #43, #42, #41 and #40, and the PR #36 baseline. +- The inherited balanced assembly passes all 47 strict conditions and seven + margins at κ = 4986133/10^11 and fails at the next grid value. Its + parameters are β = 1/20, h = 10^-12, a_c = 717/10^7, C1 = 1 and row stock + p^2000. + +## Stacking with PR #57's frame compiler + +PR #57 (eumemic, with OpenAI Codex assistance) compiles each set of nodes that +share one original envelope as a single invertible binary map, matches +retained signals to later uses, and reclaims retired roles with paid XOR +clearing. Its compiler, `scripts/experiments/binary_frame_compiler.py`, is +included unchanged through PR #57's own commit on this branch. +`frame/frame_compile.py` feeds it the hash-pinned `pair_graph.py` instead of +PR #53's graph, exactly as PR #57's driver feeds it PR #53's graph. + +The compiled words give the following role counts: + +| h | roles R, this graph | roles R, compiled | shared-frame regions | retained signals | reclaimed roles | +|---|---|---|---|---|---| +| 23 | 28719 | 27918 | 52473 | 37025 | 801 | +| 25 | 37676 | 36586 | 73695 | 53194 | 1090 | + +With W = 137,151,806 the stacked witness gives + +\[ +\kappa=\frac{5101691}{10^{11}}=5.101691\times10^{-5}, +\] + +with exact bit saving 5101952/10^11. This is **9.257% above PR #57** and +2.318% above the plain witness above. PR #57's own result on PR #53's graph +is 4669442391/10^14. + +`frame/frame_verify.py` checks, as PR #57's verifier does: + +- both serialized XOR words, replayed independently on every input and dirty + basis vector in both orientations; +- every frame transition, reconstructed from the actual XOR word; +- all fixed-basis profiles, with bounded-minor and CRT checks; +- the exact moment, the rejection of the next bit-saving grid value, the + exclusion of PR #53's and PR #57's networks at the new saving, all 47 + strict assembly inequalities, seven margins, and the rejection of the next + κ grid value. + +This stacked witness also depends on PR #57's compiler argument, which has +the same review status as PR #57. + +## Reproduce + +```sh +python3 research/pair-assembly/producer.py --work-dir /tmp/pair-assembly +python3 research/pair-assembly/verify.py +python3 research/pair-assembly/frame/frame_verify.py +python3 research/pair-assembly/optimize_matching.py --work-dir /tmp/pair-opt # optional, needs scipy +python3 research/pair-assembly/frame/frame_compile.py # optional, rewrites the words +``` + +`producer.py --record` rewrites the JSON records. Without `--record` it checks +them against fresh regeneration. `make pair-assembly-verify` runs the first +three commands and the tests. + +## Scope and attribution + +This is a conditional finite certificate. It covers the same written proof +obligations as PR #43–#53: the base theorem, the residual compiler, fixed-tape +recursion, the physical meaning of carrier continuations and copied centers, +the analytic/semantic/routing/recovery interfaces and eventual thresholds. +None of these are re-proved here. There is no formal verification or claim of +global optimality. The stacked witness additionally depends on PR #57's +compiler mechanism and its written argument. + +The interval strips and core-aware pair assembly are new here, by Avi +Eisenberg with assistance from Claude (Anthropic). Everything else is +inherited, with all original notices: + +- Avi Eisenberg PR #53: skip-prefix strips and this pipeline's adaptation. +- eumemic PR #57: the joint frame compiler, used unchanged for the stacked + witness. +- Chafik Boukhalfa PR #43/#46/#48: pipeline, recovery, the sorting idea and + verification code. +- Rohan Arun PR #44: weighted matching; also PR #37/#39/#40/#42/#47. +- RaD / hipotures PR #41: alternating order and changed DAGs. +- Dominik Scholz PR #35/#38. +- James Chang PR #34. +- icekylinx PR #18/#24/#32/#36. +- Zhihao Chen PR #21/#23/#29. +- Paureel / Aurel Prosz, Swapnil Jain, Douglas Colkitt, OpenAI, and + Harvey–van der Hoeven. + +Apache-2.0. diff --git a/references/partial-gauge/pr62/SOURCE.json b/references/partial-gauge/pr62/SOURCE.json new file mode 100644 index 0000000000..c4a7d407e0 --- /dev/null +++ b/references/partial-gauge/pr62/SOURCE.json @@ -0,0 +1,11 @@ +{ + "repository": "ikeboy/integer-mult-bounds", + "commit": "ad0f25ff7b23cff7f08ad237c2254e6ecf74257e", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/62", + "scope": "Primitive proof and unchanged attribution; implementation adapted in scripts/partial_gauge/interval.py.", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "95d7dabb54a327216e007f1e0cf37dd2f138ab31527f2cc5ee0de55e87f274ca", + "PROOF.md": "30685624bf922bb9d9f7ed4b0d367a660fe373cc9ee28fec33585bd8c7023e75" + } +} diff --git a/references/partial-gauge/pr97/LICENSE b/references/partial-gauge/pr97/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/references/partial-gauge/pr97/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/references/partial-gauge/pr97/NOTICE b/references/partial-gauge/pr97/NOTICE new file mode 100644 index 0000000000..b565637758 --- /dev/null +++ b/references/partial-gauge/pr97/NOTICE @@ -0,0 +1,304 @@ +A sharper exponent for integer multiplication +Copyright 2026 Douglas Colkitt + +This project includes unmodified source files from OpenAI's manuscript +"Integer multiplication below n log n" and its accompanying repository: +https://github.com/openai/math +Commit: adc7f1241b42e322a6451854ab7e4b4c146bf78a + +The original manuscript identifies OpenAI as its author. Its Apache-2.0 +license is retained at upstream/LICENSE. The exact source URLs and hashes +are recorded in upstream/manifest.json. Proposed modifications are supplied +as separate files under patches/; upstream source files remain unchanged. + +The original local research note, scripts, certificates, patches, and +documentation were prepared by Douglas Colkitt with assistance from OpenAI +Codex. The community release incorporates work by the contributors identified +in the notices below; it is not solely Douglas Colkitt's work. +This project is not an official OpenAI release or an OpenAI endorsement. + +Related contributions (not imported in this checkpoint): +Zhihao Chen (jacklightChen), PR #7, supplied an earlier ternary five-subset +motif, finite-alphabet transfer and a different compressed producer: +https://github.com/CrocSwap/integer-mult-bounds/pull/7 +The present checkpoint claims no priority for that motif. Related compressed +complex-network work was submitted by eumemic in PR #3: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +The pending contributions and their stronger bounds require their own review; +this notice does not represent adoption or verification of their claims. + +Additional community work, including parallel and superseded submissions, is +acknowledged in CONTRIBUTORS.md, with pinned submission metadata in +docs/research/contribution-snapshot.json. These acknowledgements do not imply +joint authorship of the checkpoint, incorporation of pending code, or verification +of submitted mathematical claims. Original source-specific notices remain in force. + +Community release (accepted by conditional maintainer audit): +The following original contributor notices apply to the imported PR #39 chain. +The preceding non-import statements describe the preserved 2^-30 checkpoint. + +Ternary five-subset construction and common-four-point resynthesis +Copyright 2026 Zhihao Chen (jacklightChen) + +This is Zhihao Chen's first submission of this specific construction to this +repository. Research, proof development, code and verification were prepared +with substantial assistance from GPT-6 Astra (OpenAI Codex), as identified by +the contributor. This is not independent review or an OpenAI endorsement. +Future research building on this contribution should explicitly acknowledge +Zhihao Chen (jacklightChen), cite the accompanying note and pull request, and +retain the preceding contributors' attribution. This notice records research +provenance; the repository's Apache-2.0 license remains unchanged. + +Dependencies retained from eumemic's Claude-assisted PRs #3 and #5: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +https://github.com/CrocSwap/integer-mult-bounds/pull/5 +PR #5 commit: d3d370c34937503bd3fa63c83d505a05e8e50893 +These include complex_circuit.py, complex_network.py, fast_gaussian.py, +their generators, construction notes and certificates. The Gaussian input +scaling proof is corrected in this derivative; see the modification notice below. +Aligned pairing also appears in Bortlesboat's PR #2. Retained totals and bank +sharing appear in dleen's PR #4 and cheaper retained centers in eumemic's PR #6. +Their results and ideas are credited separately from this new construction. + +Bulk recursion and controlled tensor basis, 8 October 2026 +Copyright 2026 icekylinx + +The new projector batching, controlled simultaneous basis, mixed-width tape +recursions, whole-residual complex recursion, and dependency-path precision +guard in the batched-23 proof package are contributed by icekylinx, developed +with substantial OpenAI GPT-6 Astra assistance. Review corrections and +repository integration were prepared with OpenAI Codex assistance. They build on the retained +PR #7 finite producers and the preceding contributions credited above. +The new package retains the repository's Apache-2.0 license and the original +authors' attribution. It is not an official OpenAI release or endorsement. + +Modification notice, 8 October 2026 (icekylinx): the retained fast Gaussian +proof now bounds shifted approximation error by F=2^ceil(1.14 alpha^2). +The P=34p precision budget and asymptotic exponent are unchanged. New batching +checks are integrated into make verify. Existing attribution and licenses +are retained. + +Partial-swap extension, 8 October 2026 +Copyright 2026 icekylinx + +The partial-swap framing, binary retained-total triple construction, +dependency-preserving positive labels and carrier reuse, unequal (25,23,57) +common basis, improved complex batching, and exact assembly are contributed +by icekylinx with substantial OpenAI GPT-6 Astra and Codex assistance. +This extension directly inherits PR #10, commit +62691e395a0458ce089a1c7b5d89e74291e95e29. The portable producer adapters +modify the retained paired-exclusion and shared-point implementations credited +above. The original licenses, attribution, and Gaussian correction are retained. + +Endpoint-gauge extension, 8 October 2026 +Copyright 2026 icekylinx + +The complementary auxiliary endpoint gauges, (32,30,40) controlled basis, +general nondegenerate binary phase residuals, retained-center complex producer, +updated path guard and exact assembly are contributed by icekylinx with +substantial OpenAI GPT-6 Astra and Codex assistance. This extension inherits +f2ab41aebad47861caf6316282c1793e5513845e and its PR #10 ancestry. New portable +adapters retain the paired-exclusion and shared-point contributions credited +above. Original licenses, notices and the Gaussian correction are retained. + +Structured-basis and semantic-bulk extension, 8 October 2026 +Copyright 2026 icekylinx + +The selected (32,30,36) bit construction, A1/A5 block refinements, fixed +middle-axis I+J profiles with bounded-minor CRT certificates, mixed dyadic +complex centers, complete data-front batching and circuit-specific assembly +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. The immediate parent is ed90fd940279c336ebc45968631bdebfb087b505. + +The semantic/bulk compatibility argument, literal scalar charge, product row +stock and parameterization adapt Zhihao Chen (jacklightChen)'s PR #23, +commit 661ebabc1076c9f525d7ce4967c876b203fa9827. Translated complex endpoints +are adopted from the same contributor's PR #21, +commit 5ba6cf0bfb68f2be8d15610e7972207c50254d6a, following eumemic's source-frame +work and the earlier nested-basis contributions. + +Completed-child semantic precision, arbitrary-coordinate routing, phase-cell +Gaussian inversion and bulk tape transfer are credited to the RaD project +(hipotures), commit 45d9b60355872041f9275f77c057514def0d45bc, exposed through +PR #20 at 4f8d6c8272b5ff307a0da51df545ec3cd96a8b6e. Their selected proof +sources retain their separate CC0 license and original NOTICE under +references/semantic-bulk/rad20. The PR #23 source retains its recorded OpenAI +Codex assistance; RaD retains its recorded Codex and GPT-6.1-Sol Ultra +assistance. These are source attributions, not claims about this session's +runtime model. Related contributions by Rohan Arun and Aurel Prosz remain +acknowledged in the imported notices. No exclusive priority or additional +license condition is asserted. + +Copied retained-center extension, 8 October 2026 +Copyright 2026 icekylinx + +The copied retained-center schedule in both orientations, its complex-phase +transfer, the Wm-N+L rank budget, and the selected (25,23)/(28,28) composition +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. This extension inherits PR #32 at +0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52 and the preceding PR #10/#18/#24 work. + +The two-stage topology and paid copied-stream endpoint correction are due +to Aurel Prosz (Paureel), c82d09eb4781b68435e3fa3eb6beea72fa900fab, +through Zhihao Chen (jacklightChen)'s PR #29 unequal-axis composition, +9d963275075fa98f1da821e27757b238dafd6b3c. That source also credits Swapnil +Jain's two-stage development at ae405eb474d1486b2d8aef90139869f927f4836a. + +The contiguous corner method, incidence factorization and exact partition +certificates are due to Rohan Arun (PR #31), method commit +02f68f95369c39955c5ffcfddbd75cd83e26b305. The selected (25,23) certificate +specializes Dominik Scholz's parameterization (PR #33), +a499a345c040aa15b68e984a0904eadc485c7a7e. Their source notices and proof +snapshots are preserved in references/copied-centers. Historical OpenAI +Codex, GPT-6 Astra and Anthropic Claude Opus 5.5 assistance is credited to +the respective imported sources. Existing PR #21/#23 and RaD attribution, +licenses and the Gaussian correction remain in force. + +Copied centers with reversed (23,25) data corners, 2026-10-08 +Rohan Arun with substantial OpenAI Codex assistance supplies the composition, +exact dimension23 controls and cost/assembly integration. James Chang's PR34 +supplies the reversed boundary family; icekylinx's PR36 supplies copied retained +centers and the selected complex graph. The balanced assembly remains attributed +to RaD/hipotures and its PR34 specialization. Retain Dominik Scholz PR33, Rohan +Arun PR31, Zhihao Chen PR29/21/23, Paureel/Aurel Prosz, Swapnil Jain, icekylinx, +eumemic, Douglas Colkitt, OpenAI and all earlier notices and hypotheses. +This is not a claim of formal verification, new foundational rank identities, +global optimality or measured runtime speedup. + +Fixed middle basis with copied reversed corners (2026-10-08): +Rohan Arun, with substantial OpenAI Codex assistance. Composition and +simultaneous-basis proof retain icekylinx PR32/36, James Chang PR34, +Dominik Scholz PR35/38, Zhihao Chen, Paureel, Swapnil Jain, RaD/hipotures, +eumemic and all preceding attribution and licenses. See research/copied-fixed-reversed. + +Changed-graph composition with copied centers and fixed bases, 8 October 2026 +Prepared with OpenAI Codex assistance. +The new composition uses icekylinx PR36 copied centers and PR32 fixed-I+J +projectors/profiler, Dominik Scholz PR35 two fixed factors and CRT argument, +Zhihao Chen (jacklightChen) PR29/23 interfaces, Aurel Prosz (Paureel) and +Swapnil Jain's two-stage development, Rohan Arun PR25/31 corner methods, +Dominik Scholz PR33/38 dimension/composition work; James Chang (jamesyc) +PR34 reversed geometry and balanced transfer; Rohan Arun PR37/39/40 +reversed integration, modular data tests and both-fixed baseline; +RaD (hipotures) PR41 changed scalar DAGs, alternating point order and +independent role compiler; RaD balanced routing/bulk interfaces, and all +retained predecessors. +Complete attribution and the conditional proof boundary are recorded in +research/copied-fixed/PROOF.md; imported originals and source pins are retained. +Original Apache-2.0 and CC0 notices remain applicable. + +Community follow-up integration (PRs #49, #45 and #26), 8 October 2026: +Rohan Arun contributes weighted carrier matching and climbed summand/leave-one-out +orders (PRs #44/#47/#49), with Anthropic Claude assistance. The final construction +composes Chafik Boukhalfa's changed-graph checks, exact rational data recovery and +reordered exclusion sums (PRs #43/#46/#48, OpenAI Codex assistance) with RaD / +hipotures's alternating pair order and independent physical role compiler (#41). +All predecessor attribution and conditional proof interfaces remain in force. + +Alejandro Zarzuelo Urdiales contributes Gaussian parity and canonical arithmetic +proofs, finite tensor execution, profile precision accounting and mixed-center +reference checks (#45), with substantial OpenAI Codex assistance. See +research/gaussian-parity-synthesis/PROVENANCE.md for his full attribution. +Ryan S / princezuda contributes historical Lean certificate arithmetic, algebraic +frame/movement/guard lemmas and independent paired-circuit checks (#26). Original +source notices and historical snapshots are preserved. Neither formal package +claims a full formal proof of the multiplication algorithm or a new kappa. + +Joint frame compilation of skip-prefix strips + +The local compiler and exact finite witnesses were prepared by eumemic with +substantial OpenAI Codex assistance. Avi Eisenberg / ikeboy with Anthropic +Claude assistance supplied the unmodified PR #53 skip-prefix producer. +The pinned PR #48 pipeline is Chafik Boukhalfa's contribution, incorporating +Rohan Arun, RaD / hipotures, icekylinx, Dominik Scholz, James Chang, +Zhihao Chen, Aurel Prosz / Paureel, Swapnil Jain, eumemic, Douglas Colkitt, +OpenAI, David Harvey, Joris van der Hoeven and the earlier contributors +credited in the retained sources. See references/frame-compiler/pr48/NOTICE +and references/frame-compiler/pr53/NOTICE for their original attribution. +No authorship or review by those predecessors is claimed for this compiler. + +Joint dual-skip/frame-compiler composition (2026-10-08) +--------------------------------------------------- +Rohan Gupta / gupt1156 with Anthropic Claude assistance: PR55 dual-skip +scalar graph; original LICENSE and NOTICE are retained under +references/frame-compiler/pr55. eumemic with substantial OpenAI Codex +assistance: PR57 joint reversible frame compiler, serialized physical-word +replay and profile reconstruction. Chafik Boukhalfa with OpenAI Codex +assistance: this composition, independent integration and exact certificate. +Avi Eisenberg / ikeboy, Rohan Arun, RaD / hipotures, icekylinx, and all +predecessor authors retain the notices above and in pinned source files. +No original copyright or Apache-2.0 notice is removed. + +Ranked reclamation after the PR58 joint-dual composition (2026-10-08) +---------------------------------------------------------------- +Chafik Boukhalfa with OpenAI Codex assistance: prioritize retired physical +slots by descending current frame rank, retaining slot ID as the tie-breaker; +complete replay, exact profiles, comparison and adversarial controls. +The dedicated joint_dual_reclaim_compiler.py is derived from eumemic's PR57 +compiler. Its original shared compiler remains byte-identical. The PR55 +producer and all preceding attribution remain unchanged. The complete PR58 +comparison certificate and its original source/proof provenance are retained +under references/frame-compiler/pr58. + +Skip-prefix strip producer, 8 October 2026 +By Avi Eisenberg (ikeboy), with Anthropic Claude (Claude Opus 5.5) +assistance. The skip-prefix leave-one-out strip layout in +research/skip-strips/skip_graph.py is new. Everything else reuses Chafik +Boukhalfa's PR #43/#46/#48 research/copied-fixed pipeline, its verification +code, exact data recovery and support-order sorting, together with: +- Rohan Arun's PR #44 weighted carrier matching optimizer; +- RaD (hipotures) PR #41 alternating point order; +- every predecessor credited above. +Complete attribution and the conditional proof boundary are recorded in +research/skip-strips/PROOF.md. Original Apache-2.0 and CC0 notices remain +applicable. + +Local split-pair skip-prefix research continuation (2026-10-08) +Prepared with substantial OpenAI Codex assistance at the user's request. +New contribution: singleton/pair recursive partition refinement, finite summand +order and moment search, and verified composition with inherited paid clones. +Avi Eisenberg/ikeboy with Anthropic Claude assistance: PR53 skip-prefix strips. +Chafik Boukhalfa with OpenAI Codex assistance: PR54 original-envelope clone +specialization and PR43/46/48 checking interfaces. RaD/hipotures: PR51 +whole-chain/source-partition cloning and earlier producer/interfaces. +Rohan Arun: PR44 weighted matching and earlier fixed/reversed work, with all +stated historical AI assistance. All predecessor notices remain applicable. + +Original-envelope whole-chain clones on skip-prefix strips (research/skip-clones): +Chafik Boukhalfa, prepared with OpenAI Codex assistance. The complete-chain +source-partition clone operation is adapted from RaD / hipotures, PR #51, +with original envelopes retained here. The scalar base is Avi Eisenberg's +PR #53 skip-prefix layout, prepared with Anthropic Claude assistance. +All credited PR #43/#46/#48, PR #44 and earlier code/proof notices remain +in force. This extension is provided under the repository's Apache-2.0 terms. + +Community review checkpoint #50–#61, 8 October 2026 +Maintainer integration and independent arithmetic: Douglas Colkitt, with OpenAI Codex. +Avi Eisenberg / ikeboy: skip-prefix strip framework (#53), with Anthropic Claude. +Rohan Gupta / gupt1156: parallel order search (#50, stated Antigravity assistance) +and dual-suffix strips (#55, Anthropic Claude assistance). +Eumemic: equal-frame joint compilation and paid signal reclamation (#57), with Codex. +Chafik Boukhalfa: original-envelope paid clones (#54), composition (#58) and ranked +reclamation (#60), with Codex. Rohan Arun: order search (#52) and positive-frame +composition (#56), with Anthropic Claude and stated Codex validation assistance. +RaD / hipotures: enlarged frames, source partitions and paid whole-chain clones +(#51), with Codex. Rohan Garg / rohangar1: singleton/pair recursion and paid-clone +composition (#59), with Codex. Alejandro Zarzuelo Urdiales: exact parameter +refinement, scoped Lean arithmetic, matrix/parity and search tools (#61), with +his disclosed multi-tool and Codex assistance. +Parallel #50/#52 records are reviewed and credited without replacing the earlier +climbed-48 implementation; their exact commit history is retained. The separate +#51 witness is retained as research; its source-graph/negative-basis data proof +has not received the same full replay as #56's consumed compiler machinery. +See docs/research/community-round2-review.md for precise validation boundaries. +All earlier licenses, contributions and notices remain applicable. + +Interval strips and core-aware pair assembly + +The interval leave-one-out strips and the core-aware group-pair assembly in +research/pair-assembly were prepared by Avi Eisenberg / ikeboy with Anthropic +Claude assistance. They build on PR #53's skip-prefix pipeline and its +inherited PR #48 sources. The stacked witness in research/pair-assembly/frame +uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier +are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and +verify_skip_frame.py. Original notices are retained. diff --git a/references/partial-gauge/pr97/PROOF.md b/references/partial-gauge/pr97/PROOF.md new file mode 100644 index 0000000000..58824db895 --- /dev/null +++ b/references/partial-gauge/pr97/PROOF.md @@ -0,0 +1,246 @@ +# Deferred bit endpoints and a signed two-stage complex interface + +Under the analytic and fixed finite-alphabet multitape interfaces already +retained by main, the networks in this package give the conditional bound + +\[ +T(n)=O\bigl(n(\log n)^{1-\kappa}\bigr),\qquad +\kappa=63965813/10^{12}>2^{-14}. +\] + +The finite checks do not formalize these inherited interfaces or establish an +unconditional integer-multiplication theorem. Repository integration validation +is recorded separately; mathematical certificates and validation receipts have +different purposes. This is not a current-record or global-priority claim. + +The scalar/frame inputs are Swapnil Jain's round7 bit network and round6 complex +network, pinned at `741e7aa078392553815df7926ee17ac5e25a8c38`. The original source, +notes, licenses and assistance disclosures are preserved in `swapnil-round7/`. +That source reports a slightly larger final number under its own analytic +stack. We instead use main's retained semantic guard and balanced assembly. +Our additions are explicit reflected scheduling, the commuting fan-order +clarification, gauged exits, a signed complex endpoint correction and a bridge +to the existing main interfaces. No separately researched local role saving is +added to these networks without recompilation. + +## Bit word, geometry and common basis + +The pinned producer at h=23 has v=1771 and R=28866. Its frozen supports, links, +deferred readouts, V leaves and rational frames are checked by the original +`check_word.py`, `check_frames.py` and `check_lifted.py`. In particular, the +deferred scratch slots are untouched before their deferred readout; their +entrance frames lie in every required target hyperplane. These are conditions +on the complete physical word, not just its ordinary-input support. + +`round7_literal_frame_ledger.py` expands that word into 1080616 events and +checks the forward shear on all 32408 ordinary/dirty F2 basis vectors. Gates +with several fan recipients are expanded in stable order of their starting +frame dimension. The recipients are distinct targets of the same unchanged +source, so these XORs commute. The separately checked chains prove nesting; +rank order alone is insufficient. This changes the internal order of160 fan +groups and avoids otherwise uncharged frame retreats, preserving their scalar +map and all costs. The imported source is left intact. + +Reverse time, complement the factor frames and exchange the data banks for +stage two. All ordinary gates retain their XOR direction after the exchange. +The new ledger checks continuity and the complete opposite shear; a logical +transpose alone would not prove this statement. A copied-center scatter is a +macro: copy the unchanged center, transport the copy, scatter and discard the +copy. Its reflection creates a new copy at the complemented source and moves +it to the complemented target. No unknown dirty register is erased. + +For an idempotent A write D_A=[[I-A,A],[A,I-A]]. Commuting idempotents satisfy +D_A D_B=D_(A+B-2AB). Let P,Q be the two rank-one triple projectors, sigma the +local auxiliary entrance projector of rank f, m=h², and r=h-f. Stage one's +incoming gauge is A=sigma tensor Q, its last live frame is T=I tensor Q, +and its terminal gauge is I-A. Its exterior is + +\[ +E_1=I-T+A=I-(I-\sigma)\otimes Q,\qquad\operatorname{rank}E_1=m-r. +\] + +Direct multiplication gives D_(I-A)D_T=D_E1 and D_(I-A)D_A=D_I. For stage two +put B=(I-P) tensor I and lift a factor frame K to B+P tensor K. Its entrance +is B, last live frame is I-P tensor sigma, terminal gauge is I-B, and + +\[ +E_2=B+P\otimes\sigma,\qquad\operatorname{rank}E_2=m-r. +\] + +Again D_(I-B)D_(I-P tensor sigma)=D_E2 and D_(I-B)D_B=D_I. These are genuine +commuting-idempotent exits, not an assumption that all endpoint movements are +nested. Scalar dirty restoration and complementary gauges give the full +address swap. Both exteriors are charged as block m-2r and the inner(r,h) +profile of their complementary small residual. + +With U=P tensor Q, stage-one data ends at (I tensor Q,(I-P) tensor Q), while +stage two begins at (B+U,B). Each connector is (I-P) tensor (I-Q), of rank +(h-1)², and both are charged. The final F2 scalar shear pair gives (y,x+y); +the temporary rank-one correction uses D_U D_I=D_(I-U) to remove the extra +term, retaining one paid rank-one child per pair. + +The common rational tensor basis and inner residual profiles use the preserved +`notes/flag-basis.tex`, `notes/partial-swap-batching.tex` and the round7 lifted +checks. The staircase corner adds runs h-2,h-5,1^6, alongside the outer block +m-4h+2. `check_stair.py` checks its finite witnesses and symbolic cut bounds. +The GL_h×GL_h family acts transitively on line pairs; nonzero polynomial +witnesses, together with identically imposed triangular zero conditions, give +a common rational point for the finite family. This is an existence argument, +not a claim that sampled pairs enumerate the family or that one modular basis +is already a common integer basis. Rational enumeration avoiding the finitely +many nonzero determinant polynomials is an effective fixed finite choice. +Its denominators and required minors exclude finitely many odd primes, as in +the retained transfer. All choices are independent of n. The two orientations +and newly gauged residuals occur among the checked inner families. + +The actual event histogram, including exits, connectors and corrections, +matches the pinned one with m=529, W=108516254 and s=57403754177. An independent +rational moment enclosure proves saving a_b=31987/500000000. + +## Complex scalar word and phases + +For the h24 paired triple-exclusion producer, let M be its invertible role +mixer, V the source injection and A the complete signed readout. The retained +totals are T and E_i=sum of triples avoiding i, for i=s+E and direct leaves obey A(e)<=8e. Prefix kernels and +outer normalization add at most18e, below the C0e allowance. Thus the same +fixed fine-grid proof yields C1=1; it does not concatenate temporary internal +excess of already completed children. E and C0 are large but fixed. + +The actual maximum child and width determine each least halving degree d_j +and bitlength w_j. Reserve the product W_c^D_c W_b^D_b, with +D_j=d_j ceil(log2(e)), rather than the maximum of the two stocks. The existing +physically preceding transformed prefix and one complete-row padding supply +the recomputed stock; nested bit stock is restored before another complex +child. Sequential temporary copies use this existing row field and do not +introduce a separately live recursive row reservation. The certificate gives +the exact coefficient and sufficient stock degree. These operations preserve +the fixed alphabet, fixed tape count and polynomial descriptor bounds of the +inherited interfaces; the number of fixed-role streams is not the number of +physical tapes. + +## Final exact combination + +Use beta=1/10 and eta=10^-8. The stopped complex saving (1-beta)a_c exceeds +a_b. Put q=a_b(1-2eta), c=q(1+eta), epsilon=(1-eta)/(1+c+q), lambda'=1-q, +lambda=((1-a_b)+lambda')/2, g=epsilon*q, +r=(g+1-epsilon)/2 and delta=eta/8. The inherited balanced combination now +has all47 strict constraints and all7 margins above63965813/10^12; the +next10^-12 grid point is rejected. This includes the recomputed scalar +charge, product-row gap, compact reservations, phase-cell separation, prime +packing and exact recovery allowances. A second moment implementation +checks both complete recursive histograms with exact rational logarithm and +exponential enclosures. Passing arithmetic does not by itself establish any +of the physical or analytic lemmas above. + +## Attribution and scope + +Zhihao Chen (jacklightChen): explicit reflected event ledgers, commuting +fan-order clarification, nonzero auxiliary endpoint proof, signed complex +phase controls and corrected rank-one endpoint, and integration with the +retained balanced semantic assembly, with Codex assistance. Subsequent work +using these specific contributions should explicitly acknowledge Zhihao Chen. +Historical GPT-6 Astra assistance attribution on PR7/PR23/PR29 remains; +no claim about the current runtime model is made. + +Swapnil Jain supplies deferred readouts, V leaves, lifted frames, the h24 +producer, common flag/staircase family and frozen witnesses, with the original +Claude assistance disclosure. Avi Eisenberg/ikeboy PR62 supplies interval +strips and core-aware pair assembly; RaD/hipotures PR41 supplies alternating +order/links, and Rohan Arun PR44 the weighted-link precedent. Aurel Prosz/ +Paureel supplies two-stage/complement scheduling; icekylinx PR36 supplies +copied-center and bridge precedents; James Chang PR34 supplies balanced +combination and reversed geometry; Zhihao Chen PR23/PR29 and RaD supply +semantic precision, bulk routing and transfer. All earlier author, license +and AI disclosures in the preserved source and main remain in force. + diff --git a/references/partial-gauge/pr97/README.md b/references/partial-gauge/pr97/README.md new file mode 100644 index 0000000000..ce8b472195 --- /dev/null +++ b/references/partial-gauge/pr97/README.md @@ -0,0 +1,35 @@ +This is a compact, unmodified snapshot of the PR97 physical bit ledger and +the underlying frozen round-seven input. `SOURCE.json` pins the commits and +every imported file's SHA-256. Each imported byte sequence also matches the +round-six handoff's original manifest. Original LICENSE and NOTICE are retained. + +Zhihao Chen / jacklightChen supplies the PR97 literal forward/reflected physical +ledger and proof, with the Codex assistance disclosed in those files. Swapnil +Jain supplies the underlying deferred word, frame witnesses and frame/lifted +checking sources. Earlier authors and assistance disclosures remain credited +in NOTICE, PROOF.md, and the original source headers. + +The snapshot preserves `witness_23.json.gz` and `deferred_23.json.gz` (about +2.3 MB together), not the large expanded event/path dumps. The archived +`bit-ledger-result.json` is a validation receipt, not a new test result. Its +historical elapsed time is preserved verbatim. The original scripts retain +their upstream directory assumptions; they are source/proof witnesses here, +not a relocated full-audit harness. + +`scripts/partial_gauge_bit.py` verifies every byte pin, loads the compressed +inputs explicitly, reconstructs auxiliary and data-chain rank increments, +checks them against the actual physical ledger, reconstructs exit nullities +from each physical slot's deferred frame, and composes the new whole-projector +histogram. It compares every coefficient to the round-six input certificate. +It does not repeat the unchanged complete-basis replay or rational geometry +audits; rank differences alone would not establish those geometric hypotheses. + +The whole-projector reconstruction counts two stages of v physical invocations, +with each local rank increment kept whole, each exterior assigned rank +`m-(h-dim sigma)`, two bank-pair entrance projectors of rank `(h-1)^2`, and +one rank-one copy correction per source pair. This replaces the old corner +splitting while preserving the exact physical total rank mass. + +New reconstruction and integration: copyright 2026 icekylinx, Apache-2.0, +prepared with OpenAI Codex assistance. No independent review or endorsement +by the predecessor authors is implied. diff --git a/references/partial-gauge/pr97/SOURCE.json b/references/partial-gauge/pr97/SOURCE.json new file mode 100644 index 0000000000..970000a79f --- /dev/null +++ b/references/partial-gauge/pr97/SOURCE.json @@ -0,0 +1,31 @@ +{ + "archive": "integer-mult-research/pro/round6-20261009", + "archive_manifest_sha256": "b2edf27c7eea66982a75cb224887da8bce25e18ce9b3857ff45c4666ee4b4ea5", + "archive_source_inputs_sha256": "ed58db13eafeb47401c6c962291e1fe760cbd25a563ca2796f5389b03a9714f3", + "pr97": { + "commit": "e15350b66e4bf796153a68c240a6cc1b788abe3e", + "repository": "jacklightChen/integer-mult-bounds", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/97" + }, + "scope": "Unmodified hash-bound physical-ledger receipt, source and compressed witness inputs. Full upstream frame/lifted/scalar audits are inherited, not repeated by the incremental checker.", + "sha256": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "1c53970fb4face631a1b331ec66d33111eccd280a129f9b64c2da6df96861c3f", + "PROOF.md": "f2c95747d9a5858da43932d857be999e6166d4740f25e2c57f99ce05a8902352", + "bit-ledger-result.json": "c3dd79e5e6d72e49d8d1be2d4d9ad808cd7d24b7a725190d24100cbd3644394a", + "check_frames.py": "1cb2b8cde2a8b3f12008da0d335dcdd38005cc692367423d9589aa1f4d6306e8", + "check_lifted.py": "c3e87ad6b31f377df549421f53d22b99131d2228dcd08a1956913211383cbd6c", + "deferred-readout.tex": "4e848f7f06c975045629da7cca9f79e10f255d08dc17a72629c9bed522565d52", + "deferred.py": "9b2acaeb6f1beb2a53c15e00c027f9ba22397a12071ad0b71131e12012a98036", + "deferred_23.json.gz": "8c38e947ff9e021e308000dd82bb5e2194eb265d8b75194e22ce783d3e75317c", + "linalg.py": "56cc779911a3c5c901bc5194ccaf97f720157a2c4ba602b07ee8642af2676b8b", + "round7_literal_frame_ledger.py": "02617ba608f971e3bdd2b45d4cbfc3d0d629873a0b9f7c22b12f347d099fdb59", + "witness_23.json.gz": "b2486aa2bb222bacea6e52162a3920780e45dd8edc5d7cb03eabea336a1c6588" + }, + "snapshot_prefix": "round6_work/references/round6_pr97/", + "underlying": { + "commit": "741e7aa078392553815df7926ee17ac5e25a8c38", + "repository": "Swapnil-jain/integer-mult-kappa", + "url": "https://github.com/Swapnil-jain/integer-mult-kappa/tree/741e7aa078392553815df7926ee17ac5e25a8c38" + } +} diff --git a/references/partial-gauge/pr97/bit-ledger-result.json b/references/partial-gauge/pr97/bit-ledger-result.json new file mode 100644 index 0000000000..708e83ebd4 --- /dev/null +++ b/references/partial-gauge/pr97/bit-ledger-result.json @@ -0,0 +1,272 @@ +{ + "h": 23, + "roles": 28866, + "formal_basis": 32408, + "events": 1080616, + "frame_keys": 90173, + "rank_histograms": { + "aux": { + "1": 55349, + "5": 6151, + "10": 162, + "4": 11248, + "2": 64873, + "3": 13926, + "6": 1617, + "8": 1243, + "9": 458, + "12": 208, + "16": 208, + "18": 599, + "21": 413, + "7": 883, + "11": 299, + "14": 38, + "15": 649, + "13": 202, + "17": 1309, + "19": 533, + "20": 2310 + }, + "data": { + "4": 2013, + "5": 521, + "3": 1144, + "1": 11386, + "2": 2402, + "6": 475, + "7": 276, + "8": 382, + "9": 130, + "10": 86, + "11": 93, + "12": 97, + "13": 65, + "14": 26, + "15": 43, + "16": 218, + "17": 38, + "18": 8, + "19": 1547, + "21": 1, + "22": 2 + }, + "center": { + "22": 23 + } + }, + "fan_groups_reordered_internally": [ + 45859, + 45862, + 46139, + 46142, + 46409, + 46412, + 46681, + 46684, + 46943, + 46946, + 47207, + 47210, + 47461, + 47464, + 47717, + 47720, + 47963, + 47966, + 48211, + 48214, + 48449, + 48452, + 48689, + 48692, + 48919, + 48922, + 49151, + 49154, + 49373, + 49376, + 49597, + 49600, + 49811, + 49814, + 50027, + 50030, + 50233, + 50236, + 50441, + 50444, + 50639, + 50642, + 50839, + 50842, + 51029, + 51032, + 58136, + 58138, + 58140, + 58142, + 58144, + 58572, + 58574, + 58576, + 58578, + 58580, + 58988, + 58990, + 58992, + 58994, + 58996, + 59420, + 59422, + 59424, + 59426, + 59428, + 59832, + 59834, + 59836, + 59838, + 59840, + 60260, + 60262, + 60264, + 60266, + 60268, + 60668, + 60670, + 60672, + 60674, + 60676, + 61092, + 61094, + 61096, + 61098, + 61100, + 61496, + 61498, + 61500, + 61502, + 61504, + 61916, + 61918, + 61920, + 61922, + 61924, + 62316, + 62318, + 62320, + 62322, + 62324, + 62732, + 62734, + 62736, + 62738, + 62740, + 63128, + 63130, + 63132, + 63134, + 63136, + 63540, + 63542, + 63544, + 63546, + 63548, + 63932, + 63934, + 63936, + 63938, + 63940, + 64340, + 64342, + 64344, + 64346, + 64348, + 64728, + 64730, + 64732, + 64734, + 64736, + 65132, + 65134, + 65136, + 65138, + 65140, + 65516, + 65518, + 65520, + 65522, + 65524, + 65916, + 65918, + 65920, + 65922, + 65924, + 66296, + 66298, + 66300, + 66302, + 66304, + 66692, + 66694, + 66696, + 66698, + 66700, + 67068, + 67070, + 67072, + 67074 + ], + "complete_forward_F2": true, + "complete_reflected_F2": true, + "reflected_frame_continuity": true, + "all_scalar_gates_equal_frame_keys": true, + "exterior_formula": "E1=I-I_tensor_Q+sigma_tensor_Q; E2=(I-P)_tensor_I+P_tensor_sigma; rank=m-h+dim(sigma)", + "histogram_matches_external": true, + "histogram": { + "1": 1690297301, + "3": 1356586, + "19": 1639946, + "17": 8476006, + "15": 7948248, + "13": 2164162, + "11": 5093396, + "7": 3580962, + "21": 6906900, + "9": 1526602, + "5": 354200, + "483": 61280142, + "23": 61280142, + "525": 5653032, + "527": 6233920, + "489": 293986, + "521": 13711082, + "523": 4629394, + "491": 580888, + "485": 545468, + "487": 173558, + "493": 14168, + "499": 1129898, + "495": 322322, + "505": 99176, + "503": 410872, + "501": 127512, + "507": 1186570, + "509": 340032, + "497": 17710, + "513": 106260, + "517": 626934, + "515": 1583274, + "511": 322322, + "519": 2854852, + "439": 6272882, + "18": 6272882 + }, + "recursive_rank": 57403754177, + "elapsed": 9.80610633303877, + "limit_seconds": 180, + "exact_chain_geometry": "Relies on separately replayed pinned check_frames and check_lifted. Rank labels alone do not prove geometry.", + "scope": "Explicit one-axis forward/reflected events, scalar complete basis and exact accounting. Tensor endpoint identities proved separately; full complex/tape/precision and final assembly integration not established.", + "new_multiplication_bound": false +} + diff --git a/references/partial-gauge/pr97/check_frames.py b/references/partial-gauge/pr97/check_frames.py new file mode 100644 index 0000000000..f22b6998f9 --- /dev/null +++ b/references/partial-gauge/pr97/check_frames.py @@ -0,0 +1,262 @@ +"""Round-seven check, part 2 (stdlib only): every frame of the reordered word, exactly over Q. + +The base frames (lifted node frames M_n, late-copy intersections, root frames t_T^perp and U_c) are rebuilt from the +witness with check_lifted.py's exact machinery. The design-B frames (deferred readout frames sigma_u, V-leaf starts +s_i) are the primitive integer bases of the data file. Checked: + X. the frame dimensions recorded in the data file (node frames, late-copy intersections) equal the exact ones; every + slot's node list moves along slot successors of the witness (gate uses and links, for which check_lifted.py proves + nesting), its first node is where its start says, its last node reaches its root frame directly; + Q. sigma_u <= F0(u) (the slot's start frame); sigma_u <= t_T^perp for every target of u (Z supports, a superset of + the F2 supports); on every y_T the deferred levels are nested in time order (readout order); t_S <= s_i <= N_i + (the first frame of the use); every X_S chain , early V frames, deferred V frames, F is nested in time order; + G = I - J/9 nondegenerate on every new frame (Gram determinant nonzero mod a prime, so nonzero over Z); + S. side lemma at check_lifted's integer point (U, V of point(h, 1), the point of check_stair.py too): every distinct + high-rank step (2r > h) of the reordered word that check_lifted.py does not already cover (slot starts, gauged + corners sigma_u -> F, y_T and X_S chain steps, base steps that only the new schedule uses) has the generic + north-east pivots under both conjugations, mod 2^31-1; + F. the child-width histogram rebuilt from the exact dimensions (Z and F2 y supports), rank sum s = W m - N + L, + moment certificate and kappa, with the round-six and the staircase entrance corners; + N. negative controls: reversed readout order, readouts at F0(u) instead of sigma_u, perturbed sigma frames, X_S + chains with the deferred V gates first, side lemma with U = V = I. +Usage: python3 check_frames.py [h]""" +import sys, os, time, random +from fractions import Fraction as Fr +from math import gcd +from collections import Counter, defaultdict +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path[:0] = [HERE, os.path.join(HERE, '..', '..', 'scripts'), os.path.join(HERE, '..', 'two-stage-bit')] +import check_lifted as cl +import deferred as dr +from linalg import null_exact, rank_mod, inv_mod_matrix, rightmost_pivots, predicted, Q31, Echelon + +T0 = time.time() +def log(*a): print('[%5.0fs]' % (time.time() - T0), *a, flush=True) +OK = {} +def report(name, ok): + OK[name] = bool(ok); log('%-100s %s' % (name, 'PASS' if ok else 'FAIL')) + + +def prim(r): + r = [Fr(x) for x in r]; den = 1 + for x in r: den = den * x.denominator // gcd(den, x.denominator) + z = [int(x * den) for x in r]; g = 0 + for x in z: g = gcd(g, x) + return [x // g for x in z] if g else z + + +class ModQ7(cl.ModQ): + """check_lifted's mod-q frames, extended by the design-B frames ('sigma', s) and ('v', s) (integer bases).""" + def __init__(self, fr, ld, extra, control=False): + super().__init__(fr, ld, control); self.extra = extra + + def basis(self, key): + if key[0] in ('sigma', 'v') and key not in self.bcache: + E = Echelon(self.q) + for r in self.extra[key]: E.insert([x % self.q for x in r]) + if len(E.rows) != len(self.extra[key]): self.dimfail += 1 + self.bcache[key] = E.rows + return super().basis(key) + + +def main(h=23): + W, D = dr.load(h); S = dr.Schedule(W, D); trip = S.trip; tv = lambda T: [int(q in T) for q in range(h)] + FULL = [[int(i == j) for j in range(h)] for i in range(h)] + pr = cl.Prog(W); bas, dn = cl.spans(pr); users = cl.users_of(pr, dn) + fr = cl.Frames(pr, dn, bas, users); fr.cobases(); d, _ = fr.dims(); ld, _ = cl.late_frames(fr, pr, users) + log('exact base frames: %d node frames (%d lifted), %d late-copy intersections' % (len(d), len(pr.j), len(ld))) + + # ------------------------------------------------------------------ X. recorded dims, slot paths + okd = all(S.node_dims[n] == d[n] for n in pr.act) and len(S.node_dims) == len(pr.act) + okd &= all(S.late_dims[n, lt] == ld[('c', n, lt)] for (n, lt) in S.late_dims) and len(S.late_dims) == len(ld) + report('X. recorded frame dims == exact dims (%d node frames, %d late-copy intersections)' % (len(d), len(ld)), okd) + def ukey(n, k): + u = users[n][k]; return ('n', u[1]) if u[0] == 'gate' else cl.root_key(u) + badp = 0 + for s in range(S.R): + hl = S.hold[s] + for a, b in zip(hl, hl[1:]): badp += b not in fr.succ[a] + root = [k for k in S.chain_keys(s) if k[0] in ('out', 'ret')] + if root: badp += fr.rid[root[0]] not in fr.droots[hl[-1]] + st = S.start[s] + if st[0] == 'fresh': # a copy starts at the use it serves + nxt = ('n', hl[1]) if len(hl) > 1 else root[0] + badp += ukey(hl[0], st[2]) != nxt + report('X. every slot moves along slot successors of the witness, starts at its use, ends at its root (%d slots)' % S.R, + badp == 0) + + # ------------------------------------------------------------------ exact frames + _eb = {} + def exact(key): + if key not in _eb: + k = key[0] + if k == 'sigma': B = S.sigma[key[1]] + elif k == 'v': B = S.vstart[key[1]] + elif k == '0': B = [] + elif k == 'F': B = FULL + elif k == 'c': + n, lt = key[1], key[2] + B = exact(ukey(n, lt[-1])) + for kk in reversed(lt[:-1]): B = fr.intersect_exact(exact(ukey(n, kk)), B) + B = [prim(r) for r in B]; assert len(B) == ld[key] + else: B = [prim(r) for r in fr.exact_basis(key)] + _eb[key] = B + return _eb[key] + _nz = {} + def nullZ(B): + kb = tuple(map(tuple, B)) + if kb not in _nz: _nz[kb] = [prim(z) for z in null_exact(B, h)] if B else FULL + return _nz[kb] + def inside(A, B): + if not A or len(B) == h: return True + return all(sum(a * z for a, z in zip(ra, rz)) == 0 for ra in A for rz in nullZ(B)) + def nondeg(B, p=Q31): # det(9 B G B^T) != 0 mod p => != 0 over Z + if not B or len(B) == h: return True + sm = [sum(b) for b in B] + Gr = [[9 * sum(x * y for x, y in zip(a, b)) - sa * sb for b, sb in zip(B, sm)] for a, sa in zip(B, sm)] + return rank_mod(Gr, p) == len(B) + gout = {T: [9 * x - 3 for x in tv(T)] for T in trip} + tperp = lambda T: ('out', T[0], T) # t_T^perp is the root frame of every output (c, T) + + # ------------------------------------------------------------------ Q. exact facts + indep = all(rank_mod(B, Q31) == len(B) for B in list(S.sigma.values()) + list(S.vstart.values())) + report('Q. sigma_u and s_i bases independent (rank mod 2^31-1 == row count; %d + %d frames, max |entry| %d)' % ( + len(S.sigma), len(S.vstart), max(abs(x) for B in list(S.sigma.values()) + list(S.vstart.values()) for r in B for x in r)), indep) + sel = S.readout; F0 = {s: S.start_key(s) for s in range(S.R)} + report('Q. sigma_u <= F0(u) exactly (%d deferred slots)' % len(sel), all(inside(S.sigma[s], exact(F0[s])) for s in sel)) + CZ = S.adjoint(); CF = [{t: 1 for t, x in dd.items() if x % 2} for dd in CZ] + capbad = sum(1 for s in sel for t in CZ[s] if any(sum(a * g for a, g in zip(r, gout[trip[t]])) for r in S.sigma[s])) + report('Q. sigma_u <= t_T^perp exactly for every Z-support target (a superset of the F2 targets)', capbad == 0) + def ychains(co, order, frame=lambda s: S.sigma[s], limit=None): + byT = defaultdict(list) + for s in order: + for t in co[s]: byT[t].append(s) + bad = 0; levels = {} + for t, ss in list(byT.items())[:limit]: + seq = [frame(s) for s in ss] + for A, B in zip(seq, seq[1:]): + if A is B: continue + if len(A) > len(B) or not inside(A, B): bad += 1 + lv = [] + for s in ss: + if not lv or S.f[lv[-1]] != S.f[s]: lv.append(s) + levels[t] = lv + return bad, levels + bZ, levZ = ychains(CZ, sel); bF, levF = ychains(CF, sel) + report('Q. deferred levels on every y_T nested in time order, exactly (Z targets %d bad, F2 targets %d bad)' % (bZ, bF), + bZ == 0 and bF == 0) + nd = sum(1 for B in list(S.sigma.values()) + list(S.vstart.values()) if not nondeg(B)) + report('Q. G nondegenerate on every sigma_u and s_i (Gram det != 0 mod 2^31-1 => over Z)', nd == 0) + bad_t = bad_n = 0 + for s, n in S.srcop.items(): + bad_t += not inside([tv(trip[n - 1])], S.vstart[s]) + N1 = S.chain_keys(s)[2] # first frame of the use after its start + bad_n += not inside(S.vstart[s], exact(N1)) + report('Q. V leaves exactly: t_S <= s_i (%d bad), s_i <= N_i, the first frame of the use (%d bad), %d slots' % ( + bad_t, bad_n, len(S.srcop)), bad_t == bad_n == 0) + def xchains(order_fn): + bad = 0; steps = [] + for n, us in S.xs: + seq = [[tv(trip[n - 1])]] + [S.vstart[s] for s in order_fn(us)] + [FULL] + keys = [('n', n)] + [('v', s) for s in order_fn(us)] + [('F',)] + for (A, ka), (B, kb) in zip(zip(seq, keys), zip(seq[1:], keys[1:])): + if len(A) > len(B) or not inside(A, B): bad += 1 + steps.append(keys) + return bad, steps + bx, xkeys = xchains(lambda us: us) + report('Q. X_S chains nested exactly in time order (, early V gates, deferred V gates, F; %d leaves)' % len(S.xs), bx == 0) + + # ------------------------------------------------------------------ S. side lemma on the new high-rank steps + ops0, chains0, _, R0 = cl.compile_(pr, dn, users) + def dimof0(k): + if k == ('0',): return 0 + if k == ('F',): return h + if k[0] in ('out', 'ret'): return h - 1 + if k[0] == 'c': return ld[k] + return d[k[1]] + _, base_steps = cl.chain_steps(chains0, dimof0, h) + base_frames = {k for e in base_steps for k in e} + def dimx(k): return len(exact(k)) if k[0] in ('sigma', 'v') else dimof0(k) + new = {} + def add_chain(keys, kind): + prev = keys[0]; pd = dimx(prev) + for k in keys[1:]: + dk = dimx(k) + if dk > pd: + if (prev, k) not in base_steps and 2 * (dk - pd) > h: new.setdefault((prev, k), (dk - pd, kind)) + prev, pd = k, dk + else: prev = k + for s in range(S.R): + add_chain(S.chain_keys(s), 'slot') + if S.f[s]: add_chain([('sigma', s), ('F',)], 'corner') + for t, lv in levZ.items(): + add_chain([('0',)] + [('sigma', s) for s in lv] + [tperp(trip[t])], 'ydata') + for t, lv in levF.items(): + add_chain([('0',)] + [('sigma', s) for s in lv] + [tperp(trip[t])], 'ydata') + for keys in xkeys: add_chain(keys, 'xdata') + extra = {('sigma', s): B for s, B in S.sigma.items()}; extra.update({('v', s): B for s, B in S.vstart.items()}) + mq = ModQ7(fr, ld, extra) + used = {k for e in new for k in e} - base_frames + ndq = sum(1 for k in used if not mq.nondeg(k)) + report('S. frames used only by the new steps: %d, G-degenerate mod 2^31-1 %d, reduction dimension mismatches %d' % ( + len(used), ndq, mq.dimfail), ndq == 0 and mq.dimfail == 0) + pr_ = predicted(h); q = mq.q + def lemma(items, m): + bad = 0 + for (A, B), (r, _) in items: + QA, QB = m.conjugated(A), m.conjugated(B) + for t in range(2): + a, b = QA[t], QB[t] + M = [[(b[i * h + c] - a[i * h + c]) % q for c in range(h)] for i in range(h)] + if rightmost_pivots(M, q) != pr_[r]: bad += 1 + return bad + items = sorted(new.items(), key=lambda e: (str(e[0][1]), str(e[0][0]))) + badL = lemma(items, mq) + report('S. side lemma (generic NE pivots, both conjugations, mod 2^31-1) on all %d new high-rank steps %s' % ( + len(items), dict(Counter(k for _, k in new.values()))), badL == 0) + + # ------------------------------------------------------------------ F. histogram from exact dims + import moment + from certificate_round3 import evaluate + def dim_exact(k): return dimx(k) + rk = dr.chain_ranks(S, dim_exact) + xd = S.xdata(lambda s: len(exact(('v', s)))) + okx = all(sum(x) == h - 1 for x in xd) + ylZ = S.ylevels(CZ); ylF = {t: sorted({S.f[s] for s in sel if t in CF[s]}) for t in range(S.v)} + res = {} + for corner_name, corner in (('round-six corner', dr.ROUND6_CORNER(h)), ('staircase corner', dr.STAIRCASE_CORNER(h))): + for yname, yl in (('Z', ylZ), ('F2', ylF)): + c = dr.histogram(S, rk, yl, xd, corner) + rs = sum(w * n for w, n in c['hist'].items()) + a, _ = moment.certify(c) + k = evaluate(a, Fr(36926111, 5 * 10**11), Fr(1, 1000), 'crude', m_c=576, s_c=119453132304) + res[corner_name, yname] = (a, k['kappa'], k['ok'], rs == c['s'] and max(c['hist']) < c['m']) + for corner_name in ('round-six corner', 'staircase corner'): + (aZ, kZ, oZ, sZ), (aF, kF, oF, sF) = res[corner_name, 'Z'], res[corner_name, 'F2'] + report('F. %s: rank sum == s (Z and F2 y supports), a_b = %s (%.6e), kappa = %s (%.7e) ok=%s, F2 a_b = %s' % ( + corner_name, aZ, float(aZ), kZ, float(kZ), oZ, aF), sZ and sF and oZ and oF and okx) + report('F. claims: a_b 12599/200000000, kappa 6299103187973/10^17; staircase a_b 31987/500000000, kappa 1599247689723/(2.5*10^16)', + res['round-six corner', 'Z'][:2] == (Fr(12599, 200000000), Fr(6299103187973, 10**17)) and + res['staircase corner', 'Z'][:2] == (Fr(31987, 500000000), Fr(1599247689723, 25 * 10**15))) + + # ------------------------------------------------------------------ N. negative controls + bZr, _ = ychains(CZ, list(reversed(sel))) + report('N. NEG reversed readout order breaks the y_T chains (%d bad)' % bZr, bZr > 0) + bF0, _ = ychains(CF, sorted(sel, key=lambda s: (dimx(F0[s]), s)), frame=lambda s: exact(F0[s]), limit=300) + report('N. NEG readouts at F0(u) instead of sigma_u break the y_T chains (%d breaks on 300 targets)' % bF0, bF0 > 0) + rng = random.Random(5); pert = tot = 0 + for s in [s for s in sel if dimx(F0[s]) < h][:200]: + B = [r[:] for r in S.sigma[s]]; B[0] = [x + rng.randint(1, 3) for x in B[0]]; tot += 1 + pert += not inside(B, exact(F0[s])) + report('N. NEG perturbed sigma frames fail sigma <= F0 (%d / %d)' % (pert, tot), tot and pert >= 0.9 * tot) + early = set(S.srcop) - S.sel + bxr, _ = xchains(lambda us: [s for s in us if s not in early] + [s for s in us if s in early]) + report('N. NEG deferred V gates before the early ones break the X_S chains (%d bad)' % bxr, bxr > 0) + mq0 = ModQ7(fr, ld, extra, control=True) + badc = lemma(items[:300], mq0) + report('N. NEG side lemma with U = V = I fails (%d / %d)' % (badc, 2 * min(300, len(items))), badc > 0) + log('ALL %s' % ('PASS' if all(OK.values()) else 'FAIL: ' + str([k for k, x in OK.items() if not x]))) + return all(OK.values()) + + +if __name__ == '__main__': + sys.exit(0 if main(int(sys.argv[1]) if len(sys.argv) > 1 else 23) else 1) diff --git a/references/partial-gauge/pr97/check_lifted.py b/references/partial-gauge/pr97/check_lifted.py new file mode 100644 index 0000000000..4a19240e2f --- /dev/null +++ b/references/partial-gauge/pr97/check_lifted.py @@ -0,0 +1,677 @@ +"""Release check (stdlib only) of the lifted-frame + late-copy bit side program, stacked with the staircase corner. + +Input: certificates/round7/witness_.json.gz: the side DAG (leaves = triples of [h], additions), outputs (c, T), +retained totals, links (donor x -> use (y, k)), the flag matrix F (integer h x h), the lift index j(n) of every +lifted addition and the late-copy decisions (early users, ordered late users) per node. + +What is checked, from the witness alone: + A. DAG semantics: disjoint supports; output (c,T) support = {S : c in S, S cap T = {c}}; retained = star(c). + B. Compile: one slot per role, schedule order (dim span, id), links hand the donor's non-pivot slot to the linked + use; late copies: the pivot of n climbs C_1 <= ... <= C_k (C_i = frames of users late[i:] intersected) and the + copy for late user i is a gate (pivot, fresh slot) at C_i, placed in time as LATE as possible (just before the + first of: its user's gate, the pivot's consumer gate, the next copy's slot). R = adds + outputs + retained - links. + C. Dirty-scratch replay of the compiled program: word L J L^-1 V L J L^-1 V^-1 and its mirror, arbitrary scratch, + over F2 and over Z, reads at the slot's last touch and at the end; targets must receive J L V x exactly + (DAG values) and every slot is restored; over F2 every target also receives exactly x_T. + D. Frames (exact over Q). Frame of addition n: M_n = span(n) + (U_n cap F_j(n)), U_n = common kernel of the root + covectors reachable from n ((9I-J) t_T for an output to Y_T, 1 - 3 e_c for a retained use of c), F_j = first j + rows of F. Nesting is a THEOREM given the combinatorial facts checked here: + j(n) <= j(t) on every slot successor pair n -> t; span(x) <= span(t) on every link pair (exact); + span(n) <= every root frame n reaches directly (exact integer dot products); F invertible. + Then U_n <= U_t, so M_n <= M_t, M_n <= U_n <= every reachable root frame, and every late-copy frame C_i + (an intersection of frames that all contain M_n) is nested. Dimensions (exact, see linalg.py): + dim M_n = rank[span(n); F_j] - rank(K_n F_j^T) (modular law; span(n) <= U_n; K_n spans the root covectors), + with ranks by mod-p + Hadamard certificates, Bareiss when the mod-p rank is not full; late-copy intersections by + exact Fraction bases. Rank of every chain step = difference of dimensions (nested), histogram vs claim. + E. Frame reductions mod q = 2^31-1 (dimension-matched, so they are the reductions of the rational frames), + G = I - J/9 nondegenerate on every frame of every step (Gram matrix invertible mod q => over Q), and the side + lemma at ONE integer point (U, V of point_UV(h, 1), the random stream of independent/two-stage-bit/flag_existence.py): for every distinct step A -> B of + rank r with 2r > h (retained copy edges 0 -> U_c included), U^T (P_B - P_A) U^-T and V^T (..) V^-T have the + generic north-east pivots of f_r. (NE ranks mod q <= over Q <= f_r, so equality mod q proves it over Q.) + F. Certificate: rt_histogram with the round-6 entrance corner and with the staircase corner (m-4h+2, h-2, h-5, 1^6), + rank sum == s, moment.certify (exact), kappa = certificate_round3.evaluate(a_b, round-6 complex values). +Negative controls (CONTROL=1): see controls(). +Usage: python3 check_lifted.py h [--no-generic]""" +import sys, os, json, random, time +from itertools import combinations +from collections import Counter, OrderedDict +from fractions import Fraction as Fr +from array import array +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, HERE) +from linalg import * + +T0 = time.time() +def load_witness(h): + import gzip + with gzip.open(os.path.join(HERE, '..', '..', 'certificates', 'round7', 'witness_%d.json.gz' % h), 'rt') as fh: + return json.load(fh) + + +def log(*a): + print('[%5.0fs]' % (time.time() - T0), *a, flush=True) + + +# ----------------------------------------------------------------------------------------------- A. DAG +class Prog: + def __init__(self, W): + self.W = W; h = self.h = W['h'] + self.trip = list(combinations(range(h), 3)); v = self.v = len(self.trip) + self.args = {int(n): (tuple(a) if a else None) for n, a in W['args'].items()} + self.act = sorted(self.args) + for n in self.act: + if self.args[n] is None: assert 1 <= n <= v and tuple(W['leaf'][str(n)]) == self.trip[n - 1] + else: assert all(a < n and a in self.args for a in self.args[n]), n + self.sup = {} + for n in self.act: + if self.args[n] is None: self.sup[n] = 1 << (n - 1) + else: + a, b = self.args[n]; assert not self.sup[a] & self.sup[b], 'overlapping supports' + self.sup[n] = self.sup[a] | self.sup[b] + self.outputs = {(c, tuple(T)): n for c, T, n in W['outputs']} + self.retained = {c: n for c, n in W['retained']} + star = [sum(1 << i for i, t in enumerate(self.trip) if q in t) for q in range(h)] + assert len(self.outputs) == 3 * v and len(self.retained) == h + for (c, T), n in self.outputs.items(): + A, B = [q for q in T if q != c]; assert c in T and self.sup[n] == star[c] & ~star[A] & ~star[B] + for c, n in self.retained.items(): assert self.sup[n] == star[c] + roots = set(self.outputs.values()) | set(self.retained.values()); reach = set(); st = list(roots) + while st: + n = st.pop() + if n in reach: continue + reach.add(n) + if self.args[n]: st.extend(self.args[n]) + assert reach == set(self.act), 'inactive nodes in witness' + self.mL = {x: (y, k) for x, y, k in W['links']} + self.j = {int(n): j for n, j in W['j'].items()} + self.late = {int(n): (list(e), list(l)) for n, (e, l) in W['late'].items()} + self.F = W['flag'] + + +def trow(h, S): return [int(q in S) for q in range(h)] + + +def spans(pr): + """independent triple subsets (exact: 0/1 rows with three ones, every minor < 3^(h/2) < Q31) and dims.""" + h = pr.h; assert 3 ** h < Q31 ** 2 + bas = {}; dn = {} + for n in pr.act: + if pr.args[n] is None: bas[n] = (n - 1,); dn[n] = 1; continue + a, b = pr.args[n]; E = Echelon(Q31); keep = [] + for i in bas[a] + bas[b]: + if len(E) == h: break + if E.insert(trow(h, pr.trip[i])): keep.append(i) + bas[n] = tuple(keep); dn[n] = len(keep) + return bas, dn + + +def users_of(pr, dn): + key = lambda n: (dn[n], n); users = {n: [] for n in pr.act} + for n in sorted(pr.act, key=key): + if pr.args[n]: + for pos, x in enumerate(pr.args[n]): users[x].append(('gate', n, pos)) + for (c, T), n in sorted(pr.outputs.items()): users[n].append(('out', (c, T))) + for c, n in sorted(pr.retained.items()): users[n].append(('ret', c)) + return users + + +# ----------------------------------------------------------------------------------------------- B. compile +def root_key(u): return ('out',) + u[1] if u[0] == 'out' else ('ret', u[1]) + + +def compile_(pr, dn, users, late=True, defer=True, tamper=None): + """returns ops (scalar program), chains (frame keys per slot), reads, R. tamper: negative-control hooks.""" + key = lambda n: (dn[n], n); order = sorted(pr.act, key=key); gpos = {n: i for i, n in enumerate(order)} + linked = {r: x for x, r in pr.mL.items()} + chains = []; edge = {}; reads = []; ops = []; deferred = [] + def new(first): chains.append(list(first)); return len(chains) - 1 + def assign(s, n, k): + u = users[n][k] + if u[0] == 'gate': edge[u[1], u[2]] = s + else: + chains[s] += [root_key(u), ('F',)] + reads.append((s, [u[1][1]] if u[0] == 'out' else [T for T in pr.trip if u[1] in T])) + def ufr(n, k): + u = users[n][k]; return ('n', u[1]) if u[0] == 'gate' else root_key(u) + for n in order: + if pr.args[n] is None: + piv = new([('0',), ('n', n)]); ops.append(('src', piv, n, n)) + else: + a, b = pr.args[n]; sa, sb = edge.pop((n, 0)), edge.pop((n, 1)) + if n in pr.mL and pr.mL[n][0] == a: sa, sb = sb, sa # the linked operand stays on the non-pivot + piv, oth = sa, sb + chains[piv].append(('n', n)); chains[oth].append(('n', n)); ops.append(('add', piv, oth, n)) + if n in pr.mL: y, k = pr.mL[n]; assign(oth, y, k) + else: chains[oth].append(('F',)) + ks = [k for k in range(len(users[n])) if (n, k) not in linked] + if late and n in pr.late: + early, lt = pr.late[n]; assert sorted(early + lt) == ks, ('bad late decision', n) + else: early, lt = ks[1:], [ks[0]] + for k in early: + f = new([('0',), ('n', n)]); ops.append(('copy', piv, f, n)); assign(f, n, k) + for i, k in enumerate(lt): + Ck = ufr(n, k) if i == len(lt) - 1 else ('c', n, tuple(lt[i:])) + if tamper == 'nointersect' and i < len(lt) - 1: Ck = ufr(n, k) + chains[piv].append(Ck) + if i < len(lt) - 1: + f = new([('0',), Ck]); deferred.append((n, i, f, k, lt[-1])); assign(f, n, k) + k = lt[-1] + if users[n][k][0] == 'gate': edge[users[n][k][1], users[n][k][2]] = piv + else: assign(piv, n, k) + assert not edge + # place deferred copies: as late as possible, in order, before the user's gate and the pivot consumer's gate + INF = len(order); byn = {} + for (n, i, f, k, kl) in deferred: byn.setdefault(n, []).append((i, f, k, kl)) + ins = {} + for n, lst in byn.items(): + lst.sort(); D = [] + for i, f, k, kl in lst: + u, ul = users[n][k], users[n][kl] + d = min(gpos[u[1]] if u[0] == 'gate' else INF, gpos[ul[1]] if ul[0] == 'gate' else INF) + D.append(d) + for t in range(len(D) - 2, -1, -1): D[t] = min(D[t], D[t + 1]) + for (i, f, k, kl), d in zip(lst, D): + if not defer: d = gpos[n] + 1 # immediate copy (still a valid program) + if tamper == 'aftercons' and n == tamper_node[0] and i == 0: + ul = users[n][kl]; d = gpos[ul[1]] + 1 # copy AFTER the pivot was consumed + ins.setdefault(d, []).append((n, i, f)) + pivslot = {} + for o in ops: + if o[0] in ('src', 'add'): pivslot[o[3]] = o[1] + out = [] + for o in ops: + if o[0] in ('src', 'add'): + for (n, i, f) in sorted(ins.get(gpos[o[3]], []), key=lambda z: (gpos[z[0]], z[1])): + out.append(('copy', pivslot[n], f, n)) + out.append(o) + for (n, i, f) in sorted(ins.get(INF, []) + [z for d, zs in ins.items() if d > INF for z in zs], key=lambda z: (gpos[z[0]], z[1])): + out.append(('copy', pivslot[n], f, n)) + if tamper == 'dropcopy': + idx = next(i for i, o in enumerate(out) if o[0] == 'copy' and o[3] in pr.late); out.pop(idx) + R = len(chains); adds = sum(1 for n in pr.act if pr.args[n]) + assert R == adds + len(pr.outputs) + len(pr.retained) - len(pr.mL), 'role count' + return out, chains, reads, R + +tamper_node = [None] + + +# ----------------------------------------------------------------------------------------------- C. replay +def replay(pr, ops, reads, R, ring, rng, mirror=False, midread=True): + trip, v = pr.trip, pr.v; tid = {T: i for i, T in enumerate(trip)} + mod = (lambda z: z & 1) if ring == 2 else (lambda z: z) + last = {} + for i, o in enumerate(ops): + last[o[1]] = i + if o[0] != 'src': last[o[2]] = i + readers = {} + for s, Ts in reads: readers.setdefault(last[s] if midread else len(ops) - 1, []).append((s, Ts)) + x = [rng.randrange(-10**6, 10**6) for _ in range(v)] + a0 = [rng.randrange(-10**6, 10**6) for _ in range(R)]; y0 = [rng.randrange(-10**6, 10**6) for _ in range(v)] + a = list(a0); y = list(y0); src = [(o[1], o[2]) for o in ops if o[0] == 'src'] + def L(sg=None): + for i, o in enumerate(ops): + if o[0] == 'add': a[o[1]] += a[o[2]] + elif o[0] == 'copy': a[o[2]] += a[o[1]] + if sg is not None: + for s, Ts in readers.get(i, ()): + for T in Ts: y[tid[T]] += sg * a[s] + def Li(): + for o in reversed(ops): + if o[0] == 'add': a[o[1]] -= a[o[2]] + elif o[0] == 'copy': a[o[2]] -= a[o[1]] + def V(sg): + for s, n in src: a[s] += sg * x[n - 1] + if not mirror: L(-1); Li(); V(+1); L(+1); Li(); V(-1) + else: V(+1); L(+1); Li(); V(-1); L(-1); Li() + if any(mod(p - q) for p, q in zip(a, a0)): return False + val = {} + for n in pr.act: val[n] = x[n - 1] if pr.args[n] is None else val[pr.args[n][0]] + val[pr.args[n][1]] + want = list(y0) + for (c, T), n in pr.outputs.items(): want[tid[T]] += val[n] + for c, n in pr.retained.items(): + for T in trip: + if c in T: want[tid[T]] += val[n] + if any(mod(p - q) for p, q in zip(y, want)): return False + if ring == 2 and any(mod(y[i] - y0[i] - x[i]) for i in range(v)): return False + return True + + +# ----------------------------------------------------------------------------------------------- D. frames +class Frames: + def __init__(self, pr, dn, bas, users): + self.pr = pr; self.dn = dn; self.bas = bas; self.users = users; h = self.h = pr.h + self.rootcov = {} + for (c, T) in pr.outputs: self.rootcov[('out', c, T)] = [9 * int(q in T) - 3 for q in range(h)] + for c in pr.retained: self.rootcov[('ret', c)] = [1 - 3 * int(q == c) for q in range(h)] + rid = {k: i for i, k in enumerate(sorted(self.rootcov))}; self.rkeys = sorted(self.rootcov) + self.rid = rid + # slot successors (same for base and late compile: every free use of n is reached by one slot from n, + # a donor's non-pivot slot goes on to its linked use) and direct roots + linked = {r: x for x, r in pr.mL.items()} + self.succ = {n: set() for n in pr.act}; self.droots = {n: set() for n in pr.act} + def to(n, use): + if use[0] == 'gate': self.succ[n].add(use[1]) + else: self.droots[n].add(rid[root_key(use)]) + for n in pr.act: + for k, u in enumerate(users[n]): + if (n, k) not in linked: to(n, u) + if n in pr.mL: y, k = pr.mL[n]; to(n, users[y][k]) + + def check_structure(self): + """combinatorial / exact facts behind the nesting theorem.""" + pr, h = self.pr, self.h; bad_j = bad_link = bad_root = 0 + J = lambda n: self.pr.j.get(n, 0) + for n in pr.act: + if pr.args[n] is None: assert J(n) == 0 + for t in self.succ[n]: + if J(n) > J(t): bad_j += 1 + for x, (y, k) in pr.mL.items(): # span(x) <= span(linked use target) + u = self.users[y][k] + if u[0] == 'gate': + t = u[1]; E = Echelon(Q31) + for i in self.bas[t]: E.insert(trow(h, pr.trip[i])) + if not all(E.contains(trow(h, pr.trip[i])) for i in self.bas[x]): bad_link += 1 + for n in pr.act: # span(n) <= direct root frames + for r in self.droots[n]: + g = self.rootcov[self.rkeys[r]] + if any(sum(gq * tq for gq, tq in zip(g, trow(h, pr.trip[i]))) for i in self.bas[n]): bad_root += 1 + # F invertible over Q (a nonzero determinant mod a prime) + F_ok = rank_mod(self.pr.F, Q31) == h + return bad_j, bad_link, bad_root, F_ok + + def cobases(self): + """K_n: independent subset of the root covectors reachable from n, spanning all of them over Q + (selection mod M127, valid by the Hadamard certificate on root covectors).""" + pr, h = self.pr, self.h + rows = [self.rootcov[k] for k in self.rkeys] + mx = max(sum(x * x for x in r) for r in rows); assert mx ** h < M127 ** 2, 'Hadamard bound for K' + key = lambda n: (self.dn[n], n); K = {} + for n in sorted(pr.act, key=key, reverse=True): + cand = sorted(self.droots[n]); srcs = sorted((K[t] for t in self.succ[n]), key=len, reverse=True) + cap = h - self.dn[n] # span(n) <= U_n + if not cand and len(srcs) == 1: K[n] = srcs[0]; continue + E = Echelon(M127); keep = [] + seq = list(srcs[0]) if srcs else [] + for r in seq: E.insert(rows[r]); keep.append(r) # srcs[0] is already independent + for lst in [cand] + srcs[1:]: + for r in lst: + if len(keep) >= cap: break + if E.insert(rows[r]): keep.append(r) + K[n] = tuple(keep) + self.K = K + return K + + def dims(self): + """exact dim of every addition frame M_n.""" + pr, h = self.pr, self.h; F = pr.F; d = dict(self.dn); stats = Counter() + rows = [self.rootcov[k] for k in self.rkeys] + self.KF = {} + for n, j in pr.j.items(): + Fj = F[:j]; K = [rows[r] for r in self.K[n]] + KF = [[sum(a * b for a, b in zip(kr, fr)) for fr in Fj] for kr in K] + SF = [trow(h, pr.trip[i]) for i in self.bas[n]] + Fj + r1 = self._rank(SF, min(len(SF), h), stats, 'SF'); r2 = self._rank(KF, min(len(K), j), stats, 'KF') + d[n] = r1 - r2; self.KF[n] = (r2, KF) + assert self.dn[n] <= d[n] <= h - len(K) + self.d = d + return d, stats + + @staticmethod + def _rank(M, full, stats, tag): + if not M or full == 0: return 0 + r = rank_mod(M, Q31) + if r == full: stats[tag + ' full mod q'] += 1; return r # rank mod q <= rank over Q <= full + if hadamard_ok(M, M521): stats[tag + ' M521'] += 1; return rank_mod(M, M521) + stats[tag + ' Bareiss'] += 1; return rank_exact(M) + + # exact rational bases, used for the late-copy intersections + def exact_basis(self, key): + pr, h = self.pr, self.h + if key[0] in ('out', 'ret'): + return null_exact([self.rootcov[key]], h) + n = key[1] + S = [trow(h, pr.trip[i]) for i in self.bas[n]] + j = pr.j.get(n, 0) + if not j: return S + _, KF = self.KF[n]; F = pr.F[:j] + X = null_exact(KF, j) if KF else [[int(i == t) for t in range(j)] for i in range(j)] + vecs = S + [[sum(c * F[i][q] for i, c in enumerate(x)) for q in range(h)] for x in X] + # independent subset: rows independent mod q are independent over Q; d of them span M_n (dim M_n = d exactly) + E = Echelon(Q31); out = [] + for vv in vecs: + if E.insert(vv): out.append(vv) + assert len(out) == self.d[n], ('exact basis dim', n, len(out), self.d[n]) + return out + + def intersect_exact(self, A, B): + h = self.h + if not A or not B: return [] + # z = (x, y): x A = y B <=> [A; -B]^T z = 0 + M = [[A[i][q] for i in range(len(A))] + [-B[i][q] for i in range(len(B))] for q in range(h)] + Z = null_exact(M, len(A) + len(B)) + # A and B are bases, so z -> x A is injective on the null space: the images are a basis of A cap B + return [[sum(z[i] * A[i][q] for i in range(len(A))) for q in range(h)] for z in Z] + + +def late_frames(fr, pr, users): + """exact dims of every late-copy intersection frame ('c', n, late users).""" + cache = {}; dims = {} + def eb(k): + if k not in cache: cache[k] = fr.exact_basis(k) + return cache[k] + def ufr(n, k): + u = users[n][k]; return ('n', u[1]) if u[0] == 'gate' else root_key(u) + for n, (early, lt) in pr.late.items(): + for i in range(len(lt) - 1): + B = eb(ufr(n, lt[-1])) + for k in reversed(lt[i:-1]): B = fr.intersect_exact(eb(ufr(n, k)), B) + dims[('c', n, tuple(lt[i:]))] = len(B) + return dims, cache + + +def chain_steps(chains, dimof, h): + rk = Counter(); steps = {} + for ch in chains: + prev = ch[0]; pd = dimof(prev) + for k in ch[1:]: + dk = dimof(k) + assert dk >= pd, ('decreasing chain', prev, k, pd, dk) + if dk > pd: rk[dk - pd] += 1; steps[prev, k] = dk - pd; prev, pd = k, dk + else: prev = k # equal dims, nested => equal frames + assert pd == h + return rk, steps + + +# ----------------------------------------------------------------------------------------------- E. mod-q frames, side lemma +def point_UV(h, seed): + """the U, V drawn by independent/two-stage-bit/flag_existence.py with this seed (same random stream).""" + CR = 10**6; rng = random.Random(seed) + nz = lambda: rng.choice([-1, 1]) * rng.randint(1, CR) + for b in range(h): + for i in range(h): + for jj in range(h): + if i <= b and jj <= b: nz() + for b in range(h): + for i in range(h): + for jj in range(h): + if i >= b and jj >= b: nz() + U = [[rng.randint(-CR, CR) for _ in range(h)] for _ in range(h)] + V = [[rng.randint(-CR, CR) for _ in range(h)] for _ in range(h)] + return U, V + + +class ModQ: + def __init__(self, fr, latedims, control=False): + self.fr = fr; self.h = h = fr.h; self.q = q = Q31; self.latedims = latedims + U, V = point_UV(h, 1) + if control: U = [[int(i == k) for k in range(h)] for i in range(h)]; V = [r[:] for r in U] + self.conj = [] + for A in (U, V): + Ai = inv_mod_matrix(A, q); assert Ai is not None + self.conj.append(([list(c) for c in zip(*A)], Ai)) # columns of A, rows of A^-1 + self.inv9 = pow(9, q - 2, q); self.bcache = {}; self.qcache = OrderedDict(); self.cap = 6000 + self.degenerate = 0; self.dimfail = 0 + + def basis(self, key): + if key in self.bcache: return self.bcache[key] + fr, h, q = self.fr, self.h, self.q; pr = fr.pr + if key == ('0',): B = [] + elif key == ('F',): B = [[int(i == t) for t in range(h)] for i in range(h)] + elif key[0] in ('out', 'ret'): B = null_mod([fr.rootcov[key]], h, q) + elif key[0] == 'c': + n, lt = key[1], key[2] + B = None + for k in lt: + u = fr.users[n][k]; kk = ('n', u[1]) if u[0] == 'gate' else root_key(u) + Bk = self.basis(kk) + B = Bk if B is None else self._cap(B, Bk) + if len(B) != self.latedims[key]: self.dimfail += 1 + else: + n = key[1]; S = [trow(h, pr.trip[i]) for i in fr.bas[n]]; j = pr.j.get(n, 0) + E = Echelon(q) + for r in S: E.insert(r) + if j: + r2, KF = fr.KF[n] + if KF and rank_mod(KF, q) != r2: self.dimfail += 1 + X = null_mod(KF, j, q) if KF else [[int(i == t) for t in range(j)] for i in range(j)] + Fj = pr.F[:j] + for x in X: E.insert([sum(c * Fj[i][t] for i, c in enumerate(x)) % q for t in range(h)]) + B = E.rows + if len(B) != fr.d[n]: self.dimfail += 1 + self.bcache[key] = B + return B + + def _cap(self, A, B): + q, h = self.q, self.h + if not A or not B: return [] + M = [[A[i][t] for i in range(len(A))] + [(-B[i][t]) % q for i in range(len(B))] for t in range(h)] + Z = null_mod(M, len(A) + len(B), q); E = Echelon(q) + for z in Z: E.insert([sum(z[i] * A[i][t] for i in range(len(A))) % q for t in range(h)]) + return E.rows + + def gram_inv(self, B): + q = self.q; BG = [[(x - sum(b) * self.inv9) % q for x in b] for b in B] + Gr = [[sum(x * y for x, y in zip(bg, c)) % q for c in B] for bg in BG] + return BG, inv_mod_matrix(Gr, q) + + def nondeg(self, key): + B = self.basis(key) + if not B or len(B) == self.h: return True + return self.gram_inv(B)[1] is not None + + def conjugated(self, key): + """(U^T P U^-T, V^T P V^-T) for the G-orthogonal projector P onto the frame, flattened.""" + if key in self.qcache: self.qcache.move_to_end(key); return self.qcache[key] + h, q = self.h, self.q; B = self.basis(key) + if not B: out = (array('q', [0] * h * h),) * 2 + elif len(B) == h: I = array('q', [int(i == t) for i in range(h) for t in range(h)]); out = (I, I) + else: + BG, Gi = self.gram_inv(B) + if Gi is None: raise ZeroDivisionError(key) + res = [] + for Acols, Ai in self.conj: + LU = [[sum(x * y for x, y in zip(ac, b)) % q for b in B] for ac in Acols] # A^T B^T (h x d) + RU = [[sum(x * y for x, y in zip(bg, ai)) % q for ai in Ai] for bg in BG] # B G A^-T (d x h) + Mi = matmul(Gi, RU, q) + Mt = list(zip(*Mi)) + res.append(array('q', [sum(x * y for x, y in zip(l, c)) % q for l in LU for c in Mt])) + out = tuple(res) + self.qcache[key] = out + if len(self.qcache) > self.cap: self.qcache.popitem(last=False) + return out + + +def side_lemma(mq, steps, h, retained): + q = mq.q; pr_ = predicted(h); E = dict((k, r) for k, r in steps.items() if 2 * r > h) + for c in retained: E[('0',), ('ret', c)] = h - 1 # retained copy edges 0 -> U_c + keys = sorted(E, key=lambda e: (str(e[1]), str(e[0]))) # group by target frame (cache reuse) + bad = 0; n = 0 + for (A, B) in keys: + r = E[A, B]; QA, QB = mq.conjugated(A), mq.conjugated(B) + for t in range(2): + a, b = QA[t], QB[t] + M = [[(b[i * h + c] - a[i * h + c]) % q for c in range(h)] for i in range(h)] + if rightmost_pivots(M, q) != pr_[r]: bad += 1 + n += 1 + if n % 5000 == 0: log(' side lemma %d/%d, failures %d' % (n, len(keys), bad)) + return bad, len(keys) + + +# ----------------------------------------------------------------------------------------------- F. certificate +K_REPO = os.path.normpath(os.path.join(HERE, '..', '..')) +sys.path[:0] = [K_REPO + '/scripts', K_REPO + '/independent/two-stage-bit'] + + +def inner_children(r, h): return [1] * (h - r) + [2 * r - h] if 2 * r > h else [1] * r + + +def rt_histogram(h, R, rk, corner): + """cert_rt.rt_histogram with the data-entrance corner profile 'corner' (round six: [h-2] + [1]*(h+1)).""" + from math import comb + v, m = comb(h, 3), h * h; N = v * v; A = v * R; H = Counter() + assert sum(r * n for r, n in rk.items()) == h * R and sum(corner) == 2 * h - 1 + for _ in range(2): + H[m - 2 * h] += A; H[h] += A + for r, n in rk.items(): + for w in inner_children(r, h): H[w] += v * n + for w in inner_children(h - 1, h): H[w] += v * h + H[m - 4 * h + 2] += 2 * N + for w in corner: H[w] += 2 * N + for _ in range(2): H[h - 2] += 2 * N; H[1] += 2 * N + H[1] += N + W = 2 * N + 2 * A; L = 2 * v * h * (h - 1); s = W * m - N + L + H = {w: c for w, c in H.items() if c} + assert sum(w * c for w, c in H.items()) == s and max(H) <= m - 1 + return dict(h=h, m=m, v=v, N=N, W=W, L=L, s=s, R=R, hist=H) + + +def certificate(h, R, rk): + import moment + from certificate_round3 import evaluate + out = {} + for name, corner in (('round6 corner', [h - 2] + [1] * (h + 1)), ('staircase', [h - 2, h - 5] + [1] * 6)): + c = rt_histogram(h, R, rk, corner) + if c['W'] * c['m'] <= c['s']: out[name] = ('no deficit', c['s']); continue + a, root = moment.certify(c) + k = evaluate(a, Fr(36926111, 5 * 10**11), Fr(1, 1000), 'crude', m_c=576, s_c=119453132304) + out[name] = (a, root, c['s'], c['W'], k['kappa'], k['ok']) + return out + + +# ----------------------------------------------------------------------------------------------- main +def main(h, generic=True, control=False): + W = load_witness(h) + pr = Prog(W); log('h=%d: A. DAG semantics OK (%d nodes, %d additions, %d links, %d lifted, %d late)' % ( + h, len(pr.act), sum(1 for n in pr.act if pr.args[n]), len(pr.mL), len(pr.j), len(pr.late))) + bas, dn = spans(pr); users = users_of(pr, dn) + ops, chains, reads, R = compile_(pr, dn, users) + log('B. compiled: R=%d (claimed %d), ops %d, late copies %d' % (R, W['claimed']['R'], len(ops), + sum(len(l) - 1 for _, l in pr.late.values()))) + assert R == W['claimed']['R'] + rng = random.Random(h) + res = {(ring, mir, mid): all(replay(pr, ops, reads, R, ring, rng, mir, mid) for _ in range(2)) + for ring in (2, 0) for mir in (False, True) for mid in (True, False)} + log('C. dirty-scratch replay (F2/Z x word/mirror x midread/endread): %s' % ('ALL OK' if all(res.values()) else res)) + fr = Frames(pr, dn, bas, users) + bj, bl, br, Fok = fr.check_structure() + log('D. nesting facts: j-monotone failures %d, link span failures %d, root containment failures %d, F invertible %s' + % (bj, bl, br, Fok)) + fr.cobases(); log(' co-bases K_n done') + d, st = fr.dims(); log(' lifted frame dims exact: %s' % dict(st)) + nU = sum(1 for n in pr.j if d[n] == h - len(fr.K[n])) + log(' every lifted frame is the largest admissible frame U_n: %s (%d / %d; the flag only switches span -> U_n)' + % (nU == len(pr.j), nU, len(pr.j))) + ld, ecache = late_frames(fr, pr, users); log(' late-copy intersections exact: %d frames' % len(ld)) + def dimof(k): + if k == ('0',): return 0 + if k == ('F',): return h + if k[0] in ('out', 'ret'): return h - 1 + if k[0] == 'c': return ld[k] + return d[k[1]] + rk, steps = chain_steps(chains, dimof, h) + claimed = Counter({int(r): c for r, c in W['claimed']['rk'].items()}) + log(' chain steps: sum of ranks %d = h R %d: %s; histogram equals claim: %s; distinct steps %d (2r>h: %d)' % ( + sum(r * c for r, c in rk.items()), h * R, sum(r * c for r, c in rk.items()) == h * R, rk == claimed, + len(steps), sum(1 for r in steps.values() if 2 * r > h))) + out = dict(h=h, R=R, replay=all(res.values()), struct=(bj, bl, br, Fok), hist_ok=rk == claimed, rk=rk) + if generic: + mq = ModQ(fr, ld, control) + frames_used = {k for e in steps for k in e} | {('ret', c) for c in pr.retained} + nd = sum(1 for k in frames_used if not mq.nondeg(k)) + log('E. frames used %d: G-degenerate %d, reduction dimension mismatches %d' % (len(frames_used), nd, mq.dimfail)) + bad, ne = side_lemma(mq, steps, h, pr.retained) + log(' side lemma at one integer point%s: failures %d over %d distinct high-rank steps x 2 conjugations' % ( + ' (CONTROL U=V=I)' if control else '', bad, ne)) + out.update(degenerate=nd, dimfail=mq.dimfail, side_bad=bad, side_n=ne) + for name, val in certificate(h, R, rk).items(): + if val[0] == 'no deficit': log('F. %s: no deficit at this h (s=%d), certificate n/a' % (name, val[1])); continue + a, root, s, Wr, kap, ok = val + log('F. %s: s=%d W=%d a_b=%s (%.6e, root %.6e) kappa=%s (%.7e) ok=%s' % (name, s, Wr, a, float(a), root, kap, + float(kap), ok)) + out[name] = (a, kap, ok) + return out, pr, dn, users + + + + +# ----------------------------------------------------------------------------------------------- negative controls +def controls(h, nsample=40): + """Each must FAIL (or differ) for the check to have teeth: + (a) one late copy moved to just after its pivot's consumer gate: replay must fail; + (b) one late copy dropped: replay must fail; + (c) pivot chain without intersections (C_i := frame of user i alone): exhibit non-nested consecutive pivot frames; + (d) M_n rebuilt from an independent flag F' on targets strictly between span and U (vacuous for this + witness: every lifted frame equals U_n, so the flag is only a switch and nesting needs no common flag); + (e) side lemma at U = V = I on the first high-rank steps: generic pivots must fail; + (f) no late copies (lifted frames only): histogram must change.""" + W = load_witness(h) + pr = Prog(W); bas, dn = spans(pr); users = users_of(pr, dn); rng = random.Random(7) + key = lambda n: (dn[n], n); linked = {r: x for x, r in pr.mL.items()} + cand = [n for n, (e, lt) in pr.late.items() if users[n][lt[-1]][0] == 'gate'] + fails = 0; tried = 0 + for n in cand[:nsample]: + tamper_node[0] = n; ops, ch, rd, R = compile_(pr, dn, users, tamper='aftercons') + ok = all(replay(pr, ops, rd, R, ring, rng) for ring in (2, 0)); tried += 1; fails += not ok + log('(a) late copy moved after the pivot consumer: replay failed %d / %d (must be all)' % (fails, tried)) + ops, ch, rd, R = compile_(pr, dn, users, tamper='dropcopy') + log('(b) one late copy dropped: replay correct %s (must be False)' % all(replay(pr, ops, rd, R, ring, rng) for ring in (2, 0))) + fr = Frames(pr, dn, bas, users); fr.cobases(); d, _ = fr.dims(); d = dict(d); ld, _ = late_frames(fr, pr, users) + mq = ModQ(fr, ld) + def inside(A, B): + E = Echelon(mq.q) + for r in mq.basis(B): E.insert(r) + return all(E.contains(r) for r in mq.basis(A)) + def ufr(n, k): + u = users[n][k]; return ('n', u[1]) if u[0] == 'gate' else root_key(u) + bad = tot = 0 + for n, (e, lt) in pr.late.items(): + for i in range(len(lt) - 1): + tot += 1; bad += not inside(ufr(n, lt[i]), ufr(n, lt[i + 1])) + log('(c) pivot chain through user frames without intersections: non-nested consecutive frames %d / %d ' + '(the intersections are needed)' % (bad, tot)) + # (d) the common flag is essential: rebuild M_n with an independent flag F' (same j(n)) and test M_n <= M_t + pairs = [(n, t) for n in pr.j for t in fr.succ[n] if pr.j.get(t, 0) > 0 and dn[t] < d[t] < h - len(fr.K[t])] + rng.shuffle(pairs); bad = tot = 0; r2 = random.Random(99) + Fp = [[r2.randint(-50, 50) for _ in range(h)] for _ in range(h)] + for n, t in pairs[:nsample]: + j = pr.j[n]; K = [fr.rootcov[fr.rkeys[r]] for r in fr.K[n]] + KF = [[sum(a * b for a, b in zip(kr, fl)) for fl in Fp[:j]] for kr in K] + if KF and rank_mod(KF, mq.q) != fr._rank(KF, min(len(K), j), Counter(), 'KF'): continue + X = null_mod(KF, j, mq.q) if KF else [[int(i == c) for c in range(j)] for i in range(j)] + E = Echelon(mq.q) + for r in mq.basis(('n', t)): E.insert(r) + vecs = [[sum(c * Fp[i][q] for i, c in enumerate(x)) % mq.q for q in range(h)] for x in X] + tot += 1; bad += not all(E.contains(v) for v in vecs) + log("(d) M_n rebuilt with an independent flag F': M_n not inside M_t on %d / %d lifted successor pairs (targets strictly between span and U)" % (bad, tot)) + ops, chains, reads, R = compile_(pr, dn, users) + fr2 = Frames(pr, dn, bas, users); fr2.cobases(); d2, _ = fr2.dims(); ld2, _ = late_frames(fr2, pr, users) + dimof = lambda k: 0 if k == ('0',) else h if k == ('F',) else h - 1 if k[0] in ('out', 'ret') else ld2[k] if k[0] == 'c' else d2[k[1]] + rk, steps = chain_steps(chains, dimof, h) + mqs = ModQ(fr2, ld2); smp = list(steps); random.Random(5).shuffle(smp); nb = 0 + for A, B in smp[:3000]: + E = Echelon(mqs.q) + for r in mqs.basis(B): E.insert(r) + nb += not all(E.contains(r) for r in mqs.basis(A)) + log('(g) sanity (positive): 3000 sampled chain steps A -> B with A inside B mod q: failures %d' % nb) + mq0 = ModQ(fr2, ld2, control=True); pr_ = predicted(h); hi = [(e, r) for e, r in steps.items() if 2 * r > h][:300] + nb = 0 + for (A, B), r in hi: + QA, QB = mq0.conjugated(A), mq0.conjugated(B) + M = [[(QB[0][i * h + c] - QA[0][i * h + c]) % mq0.q for c in range(h)] for i in range(h)] + nb += rightmost_pivots(M, mq0.q) != pr_[r] + log('(e) side lemma with U = V = I: failures %d / %d (must be most)' % (nb, len(hi))) + ops, chains0, reads, R = compile_(pr, dn, users, late=False) + rk0, _ = chain_steps(chains0, dimof, h) + log('(f) without late copies: histogram differs %s; certificate %s' % (rk0 != rk, {k: v[0] for k, v in certificate(h, R, rk0).items()})) + + +if __name__ == '__main__': + h = int(sys.argv[1]) + if '--controls' in sys.argv: controls(h) + else: + out = main(h, generic='--no-generic' not in sys.argv)[0] + ok = out['replay'] and out['struct'][:3] == (0, 0, 0) and out['struct'][3] and out['hist_ok'] + ok &= out.get('degenerate', 0) == 0 and out.get('dimfail', 0) == 0 and out.get('side_bad', 0) == 0 + ok &= all(v[2] for k, v in out.items() if k in ('round6 corner', 'staircase')) + log('ALL %s' % ('PASS' if ok else 'FAIL')) + sys.exit(0 if ok else 1) diff --git a/references/partial-gauge/pr97/deferred-readout.tex b/references/partial-gauge/pr97/deferred-readout.tex new file mode 100644 index 0000000000..d79abea77a --- /dev/null +++ b/references/partial-gauge/pr97/deferred-readout.tex @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +\usepackage{amsmath,amssymb,amsthm} +\newtheorem{lemma}{Lemma} +\newtheorem{proposition}{Proposition} +\theoremstyle{remark}\newtheorem*{remark}{Remark} +\title{Deferred readouts in the two-stage bit interchange} +\date{Draft, October 9, 2026} +\begin{document} +\maketitle + +This note describes the round-seven bit side. It keeps the round-six interchange (flag basis, retained point totals +with copied centres, side roles batched one level down, data-entrance run) and changes three things: the side +program comes from PR~\#62's producer, its frames are lifted and its fan-out copies are made late, and the stage-one +word is reordered so that most slots read their garbage out at a nonzero frame. All objects are frozen in +\texttt{certificates/round7/}; \texttt{scripts/certificate\_round7.py} rebuilds the child-width histogram from the +schedule, and the checks in \texttt{independent/deferred-readout/} verify every fact used below. Throughout, $h=23$, +$m=h^2$, $v=\binom h3$, $N=v^2$, $G=I-J/9$, and for a triple $T$ the root frame of the output wire $y_T$ is +$t_T^\perp=\ker\,(9t_T-3\mathbf 1)^{\mathsf T}$; the frame of a retained total of $c$ is $U_c=\ker(\mathbf 1-3e_c)^{\mathsf T}$. + +\section{The side program: PR \#62's producer} +The side DAG has the $v$ triples as leaves and disjoint additions as nodes; its roots are the $3v$ outputs +$\mathrm{out}(c,T)=\{S: S\cap T=\{c\}\}$ and the $h$ retained totals $\mathrm{star}(c)$. We build it with PR~\#62's +producer (ikeboy): interval strips and core-aware pair assembly, with PR~\#41's alternating order and links +(RaD/hipotures), and links chosen by a moment-weighted matching in the spirit of PR~\#44 (rohanarun). A link hands the +non-pivot slot of a donor gate to a later use of the same value, so the number of slots is +$R=\#\text{additions}+3v+h-\#\text{links}=28866$. Only the DAG enters the certificate, and it is checked from the +definitions: every addition is disjoint, every output and total has the support above, and every node is reachable +from a root (\texttt{check\_lifted.py}, part~A; \texttt{check\_word.py}, part~A). + +\section{Lifted frames and late copies} +For an addition $n$ let $U_n$ be the common kernel of the root covectors reachable from $n$ and $F_j$ the span of +the first $j$ rows of a fixed integer flag matrix. The gate of $n$ acts at +\[ M_n=\operatorname{span}(n)+(U_n\cap F_{j(n)}), \] +with a lift index $j(n)$ per addition. This is Paureel's complement-frame construction: it is valid for any frames +with (H1) leaf frames $\langle t_S\rangle$, (H2) frames nested along every slot (DAG edges, links, copies), +(H3) roots inside $t_T^\perp$ or $U_c$, (H4) $G$ nondegenerate on every frame. Nesting is a theorem given +$j(n)\le j(t)$ on every slot successor pair, $\operatorname{span}(x)\le\operatorname{span}(t)$ on every link and +$\operatorname{span}(n)$ inside every root it reaches directly; then $U_n\le U_t$ and $M_n\le M_t$. In this witness +every lifted frame equals $U_n$. Dimensions are exact (modular law, ranks with Hadamard certificates or Bareiss). + +\paragraph{Late copies.} A node with several free uses is copied for each of them. A copy made early sits at $M_n$; +a \emph{late} copy for the user $\ell_i$ of an ordered list $\ell_1,\dots,\ell_k$ is made when the pivot has climbed to +\[ C_i=\textstyle\bigcap_{i'\ge i} M(\ell_{i'}), \qquad M_n\le C_1\le\dots\le C_{k-1}\le M(\ell_k), \] +and starts there, so the copy saves the rank $\dim C_i-\dim M_n$. Each copy is placed as late as possible (before its +user's gate, the pivot's next gate and the next copy). The intersections are needed: without them consecutive pivot +frames are not nested (1396 of 1396), and a copy moved after the pivot's next gate breaks the replay. + +\section{The B-defer word} +In stage one each slot $u$ starts with its garbage $z_u$, and the word reads it out of every target it reaches: +$y_T\mathrel{-}=C_{T,u}z_u$, where $C=JL$ is given by the transpose sweep of $L$. In rounds five and six all these +readouts happen at frame $0$, before the second pass. B-defer splits the second pass in two phases. + +\begin{itemize} +\item \emph{Phase 1} is the closure of the retained totals' last operations under per-slot sequence precedence: every + op that must precede a total's completion. The totals complete, and their copies read every target containing + their centre at $0$ (copied centres, as in round six). +\item A slot that phase 1 neither reads nor writes still holds its garbage after phase 1. It reads it out + \emph{now}, at a frame $\sigma_u\le F_0(u)\cap\bigcap_{T}t_T^\perp$ (over its targets $T$), then the rest of $L$ runs, + then the output reads at $t_T^\perp$, then $L^{-1}$ and $V^{-1}$ exactly mirror it. +\end{itemize} +Only the topological order of the word changes, so it is still a mirror and still restores arbitrary scratch. The +slot's chain now starts at $\sigma_u$: its corner has rank $r_u=h-\dim\sigma_u$ and its auxiliary edge rank $m-r_u$. + +\paragraph{The sorting rule.} On a target $y_T$ the readout frames, in time order, are $0$ (non-deferred slots and +centre copies), the deferred $\sigma_u$, and $t_T^\perp$; they must form a chain. The word reads the deferred slots +in increasing $\dim\sigma_u$, and applies the deferred $V$ gates (below) in increasing $\dim F_0$. With this rule +every $y_T$ sequence is nested in time order, exactly over $\mathbb Q$, for both the $\mathbb Z$ and the +$\mathbb F_2$ supports of $C$; the reversed order breaks 11879 chains. + +\section{V leaves as late copies on $X_S$} +A leaf $S$ is used by several gates. Instead of copying $x_S$ by fan-out, every use $i$ gets its own $V$ gate on the +data wire $X_S$, into a slot that starts at +\[ s_i=N_i\cap N_{i+1}\cap\cdots \qquad(\text{falling back to }\langle t_S\rangle\text{ if $G$ is degenerate on it}), \] +where $N_j$ is the first frame of use $j$. The $V$ gates are then late copies on $X_S$: its frame chain +$\langle t_S\rangle\le s_{i_1}\le s_{i_2}\le\dots\le F$ has total rank $h-1$, as before, and the use slots start at +$s_i$ instead of $\langle t_S\rangle$. The $V$ gates of deferred slots come after their readouts; in time the $X_S$ chain +is $\langle t_S\rangle$, the early $V$ frames (by dimension), the deferred $V$ frames (by the rule above), $F$, and it +is checked nested exactly in that order. The number of slots is unchanged. + +\section{What the certificate uses} +\paragraph{Only the $\mathbb F_2$ flag identity.} The bit network is used over $\mathbb F_2$: the word must add exactly +$x_T$ to every $y_T$ and restore every slot, for arbitrary scratch. The replay checks this over $\mathbb F_2$ with +the parity coefficients (the actual circuit) and, separately, over $\mathbb Z$ with the exact path-count +coefficients; the histogram and $a_b$ are the same with either support. + +\paragraph{The stage-two complement.} Stage two is the complement time-reversal of stage one, with the same edge +multiset. This is the same assumption as in round six; it is stated, not machine-checked here. + +\paragraph{Frames and genericity.} Every $\sigma_u$ and $s_i$ is a primitive integer basis (entries at most 13). +Exactly over $\mathbb Q$: $\sigma_u\le F_0(u)$, $\sigma_u\le t_T^\perp$, $t_S\le s_i\le N_i$, $G$ nondegenerate. Every +high-rank step ($2r>h$) that the reordered word adds (slot starts, gauged corners $\sigma_u\to F$, $y_T$ and $X_S$ +chain steps) has the generic north-east pivots under both conjugations at the integer point of +\texttt{check\_lifted.py}, so the side lemma batches it. + +\section{Accounting} +Per stage and invocation: every slot contributes its auxiliary edge (block $m-2r_u$) and its corner, both batched +by the inner lemma, and its chain steps; every centre copy its step $U_c\to0$ of rank $h-1$; every $y_T$ and every +$X_S$ its chain of total rank $h-1$; the data entrance its block $m-4h+2$ and corner; one copy-correction singleton per +pair. The rank sum is exactly $s=Wm-N+L$ with $W=2N+2vR$, $L=2vh(h-1)$, so the histogram re-partitions the round-six +budget. The moment certificate gives +\begin{align*} + a_b&=31987/(5\cdot10^8) &&\text{(staircase entrance corner, runs $h-2,h-5,1^6$)},\\ + a_b&=12599/(2\cdot10^8) &&\text{(round-six entrance corner)}, +\end{align*} +and with round six's complex interchange ($a_c=36926111/(5\cdot10^{11})$, $h=24$) the assembly gives +$\kappa=1599247689723/(2.5\cdot10^{16})\approx6.39699\times10^{-5}$ with the staircase corner and +$\kappa=6299103187973/10^{17}$ with the round-six corner. The staircase corner is certified by +\texttt{check\_stair.py} at the same integer point; the entrance edge is not changed by the reordering. + +\end{document} + diff --git a/references/partial-gauge/pr97/deferred.py b/references/partial-gauge/pr97/deferred.py new file mode 100644 index 0000000000..d045126217 --- /dev/null +++ b/references/partial-gauge/pr97/deferred.py @@ -0,0 +1,189 @@ +"""Shared reader and accounting for the round-seven bit side (stdlib only). + +Frozen inputs (certificates/round7/): + witness_23.json.gz the base side program: DAG (leaves = triples of [h], additions), outputs (c, T), retained + totals, links, the flag matrix, the lift index j(n) of every lifted addition and the late-copy + decisions; checked by check_lifted.py; + deferred_23.json.gz the reordered stage-1 word: the slot schedule (ops, the node held by every slot over time, + slot starts, output and retained slots), the deferred readout frames sigma_u, the V-leaf start + frames s_i (both as primitive integer bases), the readout order, the X_S order of every leaf, + the order of the deferred V gates, and the dimension of every node frame and late-copy + intersection (re-derived exactly by check_frames.py). + +Ops: ['add', piv, oth, n] a[piv] += a[oth], the addition of node n; ['fan', piv, [f...]] a[f] += a[piv] for fresh +slots f (copies); ['src', s, n] the V gate a[s] += x_S of leaf n (applied outside L, see check_word.py).""" +import gzip, json, os +from collections import Counter, defaultdict +from itertools import combinations +from math import comb + +HERE = os.path.dirname(os.path.abspath(__file__)) +ROOT = os.path.normpath(os.path.join(HERE, '..', '..')) +DATA = os.path.join(ROOT, 'certificates', 'round7') + + +def load_json(name): + with gzip.open(os.path.join(DATA, name), 'rt') as fh: + return json.load(fh) + + +def load(h=23, witness=None, data=None): + """the base witness and the design-B data of one round-seven witness (default: the files of h).""" + W = load_json(witness or 'witness_%d.json.gz' % h); D = load_json(data or 'deferred_%d.json.gz' % h) + assert W['h'] == D['h'] == h + return W, D + + +class Schedule: + """The design-B schedule in convenient form.""" + def __init__(self, W, D): + self.h = h = D['h']; self.R = D['R']; self.trip = list(combinations(range(h), 3)); self.v = len(self.trip) + self.tid = {T: i for i, T in enumerate(self.trip)} + self.args = {int(n): (tuple(a) if a else None) for n, a in W['args'].items()} + self.ops = [tuple(o[:2]) + (tuple(o[2]),) if o[0] == 'fan' else tuple(o) for o in D['ops']] + self.hold = D['hold']; self.start = D['start'] + self.out = {s: (c, tuple(T)) for s, c, T in D['out']} + self.ret = {s: c for s, c in D['ret']} + self.srcop = {o[1]: o[2] for o in self.ops if o[0] == 'src'} + self.readout = D['readout_order']; self.sel = set(self.readout) + self.sigma = dict(zip(D['readout_order'], D['sigma'])) + self.f = [0] * self.R + for s, B in self.sigma.items(): self.f[s] = len(B) + self.vstart = dict(zip(D['vleaf_slots'], D['vleaf_start'])) + self.xs = [(n, us) for n, us in D['xs_order']] + self.late_v = D['deferred_v_order'] + self.node_dims = {n: d for n, d in D['node_dims']} + self.late_dims = {(n, tuple(lt)): d for n, lt, d in D['late_dims']} + self.late = {int(n): (list(e), list(l)) for n, (e, l) in W['late'].items()} + self.pivslot = {o[3]: o[1] for o in self.ops if o[0] == 'add'} + + def touch(self, op): + if op[0] == 'add': return [op[1], op[2]] + if op[0] == 'fan': return [op[1]] + list(op[2]) + return [] + + def root_targets(self): + rt = {} + for s, (c, T) in self.out.items(): rt[s] = [self.tid[T]] + for s, c in self.ret.items(): rt[s] = [t for t, T in enumerate(self.trip) if c in T] + return rt + + def adjoint(self): + """garbage coefficients over Z: cov[s][t] = coefficient of slot s's start value in target y_T at the end of L + (the transpose sweep of L applied to the root reads); the F2 circuit uses their parities.""" + cov = [dict() for _ in range(self.R)] + for s, ts in self.root_targets().items(): + for t in ts: cov[s][t] = cov[s].get(t, 0) + 1 + def addto(d, e): + for t, x in e.items(): d[t] = d.get(t, 0) + x + for op in reversed(self.ops): + if op[0] == 'add': addto(cov[op[2]], cov[op[1]]) + elif op[0] == 'fan': + for g in op[2]: addto(cov[op[1]], cov[g]) + return cov + + # ------------------------------------------------------------------ frame keys of every slot's chain + def start_key(self, s): + """('v', s) for a V-leaf slot (start s_i), ('n', n0) for a base or early copy, ('c', n0, late suffix).""" + n0 = self.hold[s][0] + if self.args[n0] is None: return ('v', s) + st = self.start[s]; k = st[2]; dec = self.late.get(n0) + if dec is None or k in dec[0]: return ('n', n0) + lt = dec[1]; return ('c', n0, tuple(lt[lt.index(k):])) + + def chain_keys(self, s): + """frames of slot s in time order: [sigma_u | 0], start, then every later node it holds (with the pivot's + late-copy intersections after a node it pivots), its root frame if any, F.""" + ch = [('sigma', s) if s in self.sel else ('0',), self.start_key(s)] + for idx, n in enumerate(self.hold[s]): + if idx > 0: ch.append(('n', n)) + if self.args[n] is not None and self.pivslot.get(n) == s and n in self.late: + lt = self.late[n][1] + for i in range(len(lt) - 1): ch.append(('c', n, tuple(lt[i:]))) + if s in self.out: c, T = self.out[s]; ch.append(('out', c, T)) + if s in self.ret: ch.append(('ret', self.ret[s])) + ch.append(('F',)); return ch + + def dim(self, key): + k = key[0] + if k == '0': return 0 + if k == 'F': return self.h + if k in ('out', 'ret'): return self.h - 1 + if k == 'n': return self.node_dims[key[1]] + if k == 'c': return self.late_dims[key[1], key[2]] + if k == 'sigma': return len(self.sigma[key[1]]) + if k == 'v': return len(self.vstart[key[1]]) + raise KeyError(key) + + def ylevels(self, cov): + """deferred readout levels (dim sigma) on every target, from the garbage-coefficient supports.""" + lev = defaultdict(set) + for s in self.readout: + for t in cov[s]: lev[t].add(self.f[s]) + return {t: sorted(lev[t]) for t in range(self.v)} + + def xdata(self, dimof=None): + dimof = dimof or (lambda s: len(self.vstart[s])) + out = [] + for n, us in self.xs: + ds = [1] + [dimof(s) for s in us] + [self.h] + ds = [d for i, d in enumerate(ds) if i == 0 or d != ds[i - 1]] + out.append([b - a for a, b in zip(ds, ds[1:])]) + return out + + +def inner(r, h): + """children of a rank-r chain step under the inner-corner lemma (one block of width 2r-h when 2r > h).""" + return [1] * (h - r) + [2 * r - h] if 2 * r > h else [1] * r + + +def chain_ranks(S, dimof=None): + """multiset of chain-step ranks over all slots (dims must be monotone along every chain).""" + dimof = dimof or S.dim; rk = Counter() + for s in range(S.R): + ds = [dimof(k) for k in S.chain_keys(s)] + assert all(b >= a for a, b in zip(ds, ds[1:])), ('decreasing chain', s) + assert ds[-1] == S.h + for a, b in zip(ds, ds[1:]): + if b > a: rk[b - a] += 1 + return rk + + +ROUND6_CORNER = lambda h: [h - 2] + [1] * (h + 1) # data-entrance corner runs, rounds six and seven +STAIRCASE_CORNER = lambda h: [h - 2, h - 5] + [1] * 6 # staircase corner (check_stair.py) + + +def histogram(S, rk, ylev, xdata, corner=None): + """child-width histogram of the batched two-stage bit interchange with deferred readouts and V leaves. + Per stage (stage two is the complement time-reversal of stage one, same edge multiset), each of the v invocations: + every slot u: its auxiliary edge of rank m - r_u (block m - 2 r_u) and its corner of rank r_u = h - dim sigma_u, + both batched by the inner lemma, plus its chain steps; + every centre: the copy's step U_c -> 0 of rank h-1; + every target y_T: the chain 0 -> deferred levels -> t_T^perp (total rank h-1); + every leaf X_S: its chain -> V-gate frames -> F (total rank h-1). + Data: the entrance block m-4h+2 with its corner runs, one copy-correction singleton per pair.""" + h, v, R = S.h, S.v, S.R; m = h * h; N = v * v; A = v * R; H = Counter() + corner = corner or ROUND6_CORNER(h); assert sum(corner) == 2 * h - 1 + corners = Counter(h - S.f[s] for s in range(R)) + for _ in range(2): + for r, c in corners.items(): + H[m - 2 * r] += v * c + for w in inner(r, h): H[w] += v * c + for r, c in rk.items(): + for w in inner(r, h): H[w] += v * c + for _c in range(h): + for w in inner(h - 1, h): H[w] += v + for t in range(v): + ds = sorted(set([0] + ylev[t] + [h - 1])) + for a, b in zip(ds, ds[1:]): + for w in inner(b - a, h): H[w] += v + for xs in xdata: + for x in xs: + for w in inner(x, h): H[w] += v + H[m - 4 * h + 2] += 2 * N + for w in corner: H[w] += 2 * N + H[1] += N + H = {w: c for w, c in H.items() if c} + Wd = 2 * N + 2 * A; L = 2 * v * h * (h - 1); s = Wd * m - N + L + return dict(h=h, m=m, v=v, N=N, W=Wd, L=L, s=s, R=R, hist=H) + diff --git a/references/partial-gauge/pr97/deferred_23.json.gz b/references/partial-gauge/pr97/deferred_23.json.gz new file mode 100644 index 0000000000..4a4431bd42 Binary files /dev/null and b/references/partial-gauge/pr97/deferred_23.json.gz differ diff --git a/references/partial-gauge/pr97/linalg.py b/references/partial-gauge/pr97/linalg.py new file mode 100644 index 0000000000..a81cbaa61e --- /dev/null +++ b/references/partial-gauge/pr97/linalg.py @@ -0,0 +1,176 @@ +"""Stdlib exact linear algebra used by the release checks (no numpy). + +Ranks over Q are computed in one of two rigorous ways: + * modulo a prime p with a Hadamard certificate: if every row of an integer matrix has squared norm n_i and + prod_i max(1, n_i) < p^2, every minor has absolute value < p, so a minor is nonzero over Q iff it is nonzero + mod p, and the rank mod p equals the rank over Q (hadamard_ok); + * exactly, by fraction-free (Bareiss) elimination over Z (rank_exact) or Fraction elimination (null_exact). +Everything else is plain arithmetic modulo a prime.""" +from fractions import Fraction +from math import gcd + +Q31 = 2**31 - 1 # prime used for the point evaluation and frame reductions +M127 = 2**127 - 1 # Mersenne prime +M521 = 2**521 - 1 # Mersenne prime + + +def hadamard_ok(rows, p): + """True if prod of max(1, |row|^2) < p^2, i.e. every minor of the integer matrix is below p in absolute value.""" + b = 1; p2 = p * p + for r in rows: + b *= max(1, sum(x * x for x in r)) + if b >= p2: return False + return True + + +class Echelon: + """Row echelon basis mod p, built by insertion. Each stored row has a pivot (first nonzero, normalised to 1) + and zeros in the pivot columns of all earlier rows, so reducing a new row against the rows in order is exact.""" + __slots__ = ('p', 'rows', 'piv') + + def __init__(self, p): + self.p = p; self.rows = []; self.piv = [] + + def reduce(self, r): + p = self.p; r = [x % p for x in r] + for pc, b in zip(self.piv, self.rows): + c = r[pc] + if c: r = [(x - c * y) % p for x, y in zip(r, b)] + return r + + def insert(self, r): + """insert row; returns True if it was independent.""" + r = self.reduce(r) + for i, x in enumerate(r): + if x: + inv = pow(x, self.p - 2, self.p) + self.rows.append([(y * inv) % self.p for y in r]); self.piv.append(i); return True + return False + + def contains(self, r): + return not any(self.reduce(r)) + + def __len__(self): return len(self.rows) + + +def rank_mod(rows, p): + E = Echelon(p) + for r in rows: E.insert(r) + return len(E) + + +def rank_exact(rows): + """exact rank over Q of an integer matrix (Bareiss fraction-free elimination).""" + M = [list(r) for r in rows if any(r)] + if not M: return 0 + n = len(M); k = len(M[0]); r = 0; prev = 1 + for c in range(k): + i = next((i for i in range(r, n) if M[i][c]), None) + if i is None: continue + M[r], M[i] = M[i], M[r] + pr = M[r]; a = pr[c] + for t in range(r + 1, n): + row = M[t]; b = row[c] + M[t] = [(a * x - b * y) // prev for x, y in zip(row, pr)] + prev = a; r += 1 + if r == n: break + return r + + +def null_mod(A, k, p): + """basis of {x in F_p^k : A x = 0} (A: list of rows of length k).""" + rows = [[x % p for x in r] for r in A]; piv = []; R = [] + for r in rows: + for pc, b in zip(piv, R): + c = r[pc] + if c: r = [(x - c * y) % p for x, y in zip(r, b)] + i = next((i for i, x in enumerate(r) if x), None) + if i is None: continue + inv = pow(r[i], p - 2, p); r = [(y * inv) % p for y in r] + R = [[(x - b[i] * y) % p for x, y in zip(b, r)] if b[i] else b for b in R] # keep fully reduced + R.append(r); piv.append(i) + free = [c for c in range(k) if c not in piv]; out = [] + for f in free: + x = [0] * k; x[f] = 1 + for pc, b in zip(piv, R): x[pc] = (-b[f]) % p + out.append(x) + return out + + +def null_exact(A, k): + """basis (integer vectors) of {x in Q^k : A x = 0}, by Fraction reduced row echelon form.""" + R = []; piv = [] + for r0 in A: + r = [Fraction(x) for x in r0] + for pc, b in zip(piv, R): + c = r[pc] + if c: r = [x - c * y for x, y in zip(r, b)] + i = next((i for i, x in enumerate(r) if x), None) + if i is None: continue + inv = 1 / r[i]; r = [y * inv for y in r] + R = [[x - b[i] * y for x, y in zip(b, r)] if b[i] else b for b in R] + R.append(r); piv.append(i) + free = [c for c in range(k) if c not in piv]; out = [] + for f in free: + x = [Fraction(0)] * k; x[f] = Fraction(1) + for pc, b in zip(piv, R): x[pc] = -b[f] + out.append(primitive(x)) + return out + + +def primitive(x): + """scale a rational vector to a primitive integer vector.""" + den = 1 + for v in x: den = den * v.denominator // gcd(den, v.denominator) + y = [int(v * den) for v in x]; g = 0 + for v in y: g = gcd(g, v) + return [v // g for v in y] if g else y + + +def inv_mod_matrix(A, p): + """inverse of a square matrix mod p, or None if singular.""" + n = len(A); M = [[x % p for x in A[i]] + [int(i == j) for j in range(n)] for i in range(n)] + for c in range(n): + i = next((i for i in range(c, n) if M[i][c]), None) + if i is None: return None + M[c], M[i] = M[i], M[c] + inv = pow(M[c][c], p - 2, p); M[c] = [(x * inv) % p for x in M[c]] + rc = M[c] + for t in range(n): + if t != c and M[t][c]: + f = M[t][c]; M[t] = [(x - f * y) % p for x, y in zip(M[t], rc)] + return [r[n:] for r in M] + + +def matmul(A, B, p): + Bt = list(zip(*B)) + return [[sum(x * y for x, y in zip(r, c)) % p for c in Bt] for r in A] + + +def rightmost_pivots(Q, p): + """rows top to bottom: the rightmost nonzero column of the reduced row, then eliminate it below.""" + M = [list(r) for r in Q]; n = len(M); out = [-1] * n + for i in range(n): + row = M[i]; c = next((j for j in range(len(row) - 1, -1, -1) if row[j]), -1) + out[i] = c + if c < 0: continue + inv = pow(row[c], p - 2, p) + for t in range(i + 1, n): + f = M[t][c] + if f: + f = f * inv % p; M[t] = [(x - f * y) % p for x, y in zip(M[t], row)] + return out + + +def predicted(h): + """pivot column per row of the generic north-east rank function f_r of a rank-r idempotent.""" + pr = {} + for r in range(1, h + 1): + s = h - r + f = lambda i, j: 0 if i < 0 or j >= h else min(i + 1, h - j, r, max(0, i - j + 1) + s) + pc = [-1] * h + for i in range(h): + for j in range(h): + if f(i, j) - f(i - 1, j) - f(i, j + 1) + f(i - 1, j + 1) == 1: pc[i] = j + pr[r] = pc + return pr diff --git a/references/partial-gauge/pr97/round7_literal_frame_ledger.py b/references/partial-gauge/pr97/round7_literal_frame_ledger.py new file mode 100644 index 0000000000..aa0de9ed8a --- /dev/null +++ b/references/partial-gauge/pr97/round7_literal_frame_ledger.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +"""Explicit forward and reflected frame/event ledger of pinned round-seven. +Zhihao Chen / Codex audit. Exact nesting of the supplied chains is inherited +from the separately run frame/lifted checkers, not inferred from ranks here. +Copied-center moves are temporary macros, not erased arbitrary scratch. +""" +import sys,json,signal,time,hashlib,gzip +from pathlib import Path +from collections import defaultdict,Counter +from array import array +HERE=Path(__file__).resolve().parent;ROOT=HERE/'swapnil-round7' +sys.path.insert(0,str(ROOT/'independent/deferred-readout')) +import deferred as dr + +def main(): + started=time.monotonic() + def stop(*_):raise TimeoutError('180 second literal ledger limit') + signal.signal(signal.SIGALRM,stop);signal.alarm(180) + W,D=dr.load(23);S=dr.Schedule(W,D);v,R,h=S.v,S.R,S.h;size=2*v+R + co=S.adjoint();sel=S.sel;ops=S.ops;prev={};pred=defaultdict(list);last={} + for i,op in enumerate(ops): + for s in S.touch(op): + if s in prev:pred[i].append(prev[s]) + prev[s]=i;last[s]=i + ph=set();stack=[last[s] for s in S.ret] + while stack: + i=stack.pop() + if i in ph:continue + ph.add(i);stack.extend(pred[i]) + assert not any(set(S.touch(ops[i]))&sel for i in ph) + keys=[];ids={};dims=[] + def norm(k): + if k[0]=='out':return ('out',0,tuple(k[2])) + return k + def key(k): + k=norm(k) + if k not in ids: + ids[k]=len(keys);keys.append(k);dims.append(S.dim(k)) + return ids[k] + z,F=key(('0',)),key(('F',)) + paths=[None]*size + for n,ss in S.xs:paths[n-1]=[key(('n',n))]+[key(('v',s)) for s in ss]+[F] + y=[[] for _ in range(v)] + for s in S.readout: + for t,c in co[s].items(): + if c&1:y[t].append(key(('sigma',s))) + for t,T in enumerate(S.trip):paths[v+t]=[z]+y[t]+[key(('out',0,T))] + for s in range(R):paths[2*v+s]=[key(k) for k in S.chain_keys(s)] + assert all(p and all(dims[b]>=dims[a] for a,b in zip(p,p[1:])) for p in paths) + pos=[0]*size;current=[p[0] for p in paths];initial=current[:] + # Fixed-width event records: kind, register/destination, source-or-old, + # new-or-common, rank. kind=0 move,1 xor,2 temporary copied-center macro. + events=array('i');rank_hist={k:Counter() for k in ('aux','data','center')} + bits=[1<=0 + emit(0,s,a,b,r);rank_hist['aux' if s>=2*v else 'data'][r]+=1 + pos[s]+=1;current[s]=b + def xor(t,s): + assert current[t]==current[s],('gate frames',t,s,keys[current[t]],keys[current[s]]) + emit(1,t,s,current[t]);bits[t]^=bits[s] + def readout(s): + aux=2*v+s;f=key(('sigma',s)) if s in sel else z + assert current[aux]==f + for t,c in sorted(co[s].items()): + if c&1:move(v+t,f);xor(v+t,aux) + def source(s,active): + frame=key(('v',s)) if active else F + move(2*v+s,frame);move(S.srcop[s]-1,frame);xor(2*v+s,S.srcop[s]-1) + reordered_fans=[] + def operation(i,active): + op=ops[i] + if op[0]=='add': + _,p,o,n=op;frame=key(('n',n)) if active else F + move(2*v+p,frame);move(2*v+o,frame);xor(2*v+p,2*v+o) + elif op[0]=='fan': + # Scalar fan targets commute. The archive groups copies whose + # physical start frames differ; execute them in frame-chain order. + targets=sorted(op[2],key=lambda s:S.dim(S.start_key(s))) if active else op[2] + if active and tuple(targets)!=tuple(op[2]):reordered_fans.append(i) + for s in targets: + frame=key(S.start_key(s)) if active else F + move(2*v+op[1],frame);move(2*v+s,frame);xor(2*v+s,2*v+op[1]) + for s in range(R): + if s not in sel:readout(s) + early=sorted(set(S.srcop)-sel,key=lambda s:(S.srcop[s],len(S.vstart[s]),s)) + for s in early:source(s,True) + first=[i for i in range(len(ops)) if i in ph and ops[i][0]!='src'] + rest=[i for i in range(len(ops)) if i not in ph and ops[i][0]!='src'] + centers={} + for i in first:operation(i,True) + for s,c in S.ret.items(): + a=2*v+s;f=key(('ret',c));move(a,f) + targets=[v+t for t,T in enumerate(S.trip) if c in T] + assert all(current[t]==z for t in targets) + centers[a]=targets;emit(2,a,f,z,h-1);rank_hist['center'][h-1]+=1 + for t in targets:bits[t]^=bits[a] + for s in S.readout:readout(s) + for s in S.late_v:source(s,True) + for i in rest:operation(i,True) + for s,(c,T) in S.out.items(): + t=S.tid[T];f=key(('out',0,T));move(2*v+s,f);move(v+t,f);xor(v+t,2*v+s) + for i in reversed(first+rest):operation(i,False) + for s in S.srcop:source(s,False) + for s in range(R):move(2*v+s,F) + assert all(bits[i]==((1< 1: + values = array.array(values.typecode, values) + values.byteswap() + values.tofile(f) + + +def build(witness, prefix): + w = json.loads(gzip.decompress(Path(witness).read_bytes())) + h, v, d = w['h'], w['v'], w['central_disjoint'] + assert (h, d, w['center_denominator']) == (24, 24, 21) + triples = list(combinations(range(h), 3)) + assert v == len(triples) + args = [(0, 0)]; support = [0]; core = [0]; cover = [0]; types = [0]; ranks = [0] + for j, t in enumerate(triples): + mask = sum(1 << a for a in t) + args.append((0, 0)); support.append(1 << j); core.append(mask); cover.append(mask) + types.append(1); ranks.append(1) + flat = w['args'] + assert len(flat) % 2 == 0 + for k in range(0, len(flat), 2): + a, b, x = flat[k], flat[k+1], len(args) + assert 0 < a < x and 0 < b < x, 'Operands must precede their sum' + assert not support[a] & support[b], 'Ordinary additions must be cancellation-free' + args.append((a, b)); support.append(support[a] | support[b]) + core.append(core[a] & core[b]); cover.append(cover[a] | cover[b]) + if core[x].bit_count() >= 2: + types.append(1); ranks.append(support[x].bit_count()) + else: + types.append(2); ranks.append(cover[x].bit_count()) + n = len(args) + point_masks = [sum(1 << j for j, t in enumerate(triples) if a in t) for a in range(h)] + full_support = (1 << v) - 1 + roots, kind = [], [] + assert len(w['D']) == v + for t, node in zip(triples, w['D']): + assert 0 < node < n + assert support[node] == full_support & ~(point_masks[t[0]]|point_masks[t[1]]|point_masks[t[2]]) + target_mask = sum(1 << a for a in t) + if types[node] == 2: + assert not cover[node] & target_mask + else: + assert types[node] == 1 + assert not support[node] & (point_masks[t[0]]^point_masks[t[1]]^point_masks[t[2]]) + roots.append(node); kind.append(0) + stars = [(a, b, i) for a, b in combinations(range(h), 2) for i in range(h) if i not in (a, b)] + assert len(w['P']) == len(stars) + pair_outputs = {} + for (a, b, i), node in zip(stars, w['P']): + assert 0 < node < n + assert support[node] == point_masks[a] & point_masks[b] & ~point_masks[i] + assert types[node] == 1 + assert not support[node] & (point_masks[a]^point_masks[b]^point_masks[i]) + pair_outputs[a, b, i] = node + roots.append(node); kind.append(0) + assert len(w['A']) == d + for i, node in enumerate(w['A']): + assert 0 < node < n + assert support[node] == full_support & ~point_masks[i] + assert types[node] == 2 and cover[node] == ((1 << h)-1) ^ (1 << i) + assert ranks[node] == h-1 + roots.append(node); kind.append(1) + # Every A_i avoids i, so sum A_i = (h-3)T. The decoder is T=sum A_i/21 + # and the scatter is T-(1/2)sum_{i in target} A_i. + decoder = Fraction(1, h-3) + assert decoder == Fraction(1, 21) + scatter_coefficients = [decoder, decoder-Fraction(1, 2)] + for coefficient in scatter_coefficients: + odd_denominator = coefficient.denominator + while odd_denominator % 2 == 0: + odd_denominator //= 2 + assert 21 % odd_denominator == 0 and abs(coefficient) <= 1 + for source in triples: + assert sum(i not in source for i in range(h))*decoder == 1 + Dset = set(range(d)) + for triple in triples: + k = len(Dset.intersection(triple)) + assert 2*(3-k)-2*(d-k) == 2*(3-d) + patterns = {} + for target in triples: + chosen = len(Dset.intersection(target)) + if chosen not in patterns: + patterns[chosen] = target + for chosen, target in patterns.items(): + target_set = set(target) + for source in triples: + k = len(Dset.intersection(source)) + total_coefficient = Fraction(2*(3-k)-2*(d-k), 2*(3-d)) + scalar = Fraction(len((target_set-Dset).intersection(source)), 2) + scalar -= Fraction(len((target_set & Dset)-set(source)), 2) + scalar += Fraction(chosen-1, 2)*total_coefficient + assert scalar == Fraction(len(target_set.intersection(source))-1, 2) + for j, t in enumerate(triples): + masks = [point_masks[a] for a in t] + two = (masks[0]&masks[1]&~masks[2]) | (masks[0]&masks[2]&~masks[1]) | (masks[1]&masks[2]&~masks[0]) + actual = 0 + for a, b in combinations(t, 2): + excluded = next(i for i in t if i not in (a, b)) + actual |= support[pair_outputs[a, b, excluded]] + assert actual == two + assert masks[0]&masks[1]&masks[2] == 1 << j + assert [((k-1)+(k == 0)-(k == 2)) for k in range(4)] == [0, 0, 0, 2] + + def contained(x, y): + tx, ty = types[x], types[y] + if tx == 1 and ty == 1: return not(core[y]&~core[x] or cover[x]&~cover[y]) + if tx in (1, 2) and ty == 2: return not cover[x]&~cover[y] + return False + active = [0]*n; stack = list(roots) + while stack: + x = stack.pop() + if not x or active[x]: continue + active[x] = 1 + if args[x][0]: stack.extend(args[x]) + degree = [0]*n + for x in range(1, n): + if active[x]: + if types[x] == 1: + assert core[x].bit_count() >= 2 and ranks[x] == support[x].bit_count() + else: + assert types[x] == 2 and ranks[x] == cover[x].bit_count() + if active[x] and args[x][0]: + for y in args[x]: + assert y < x and contained(y, x), 'Binary frame nesting failed' + degree[y] += 1 + for x in roots: degree[x] += 1 + H = [0]*(h+1); c = 0; loss = 0 + for x in range(1, n): + if not active[x]: continue + r = ranks[x] + if args[x][0]: + c += 1; H[r] += degree[x]-1; H[h-r] += 1 + for y in args[x]: + assert r >= ranks[y] + H[r-ranks[y]] += 1 + else: H[1] += degree[x] + for x, k in zip(roots, kind): + r = ranks[x] + if k: H[r] += 1; H[h] += 1; loss += r + else: H[h-1-r] += 1; H[1] += 1 + q = len(roots); R = c+q + result = dict(h=h, v=v, c=c, q=q, R=R, loss=loss, central_disjoint=d, histogram=H, + rank_sum=sum(r*m for r, m in enumerate(H))) + assert loss == h*(h-1) and result['rank_sum'] == h*R+2*loss + result['center_denominator'] = 21 + result['scalar_validation'] = dict(ordinary_supports_exact=True, centers_exact=True, + center_decoder='sum A_i / 21', scatter_coefficients=list(map(str, scatter_coefficients)), + rational_scalar_identity_exact=True, mixed_center_scatter_exact=True, binary_frames_nested=True, + binary_frames_nondegenerate=True) + with open(str(prefix)+'.bin', 'wb') as f: + f.write(struct.pack('<4I', h, v, n, q)) + write_array(f, array.array('I', (a for pair in args for a in pair))) + write_array(f, array.array('Q', core)); write_array(f, array.array('Q', cover)) + write_array(f, array.array('I', roots)); write_array(f, array.array('I', kind)) + write_array(f, array.array('B', active)) + with open(str(prefix)+'.labels', 'wb') as f: + write_array(f, array.array('I', ranks)); write_array(f, array.array('B', types)) + Path(str(prefix)+'.json').write_text(json.dumps(result, indent=2)+'\n') + return result diff --git a/research/joint-dual/SOURCE.json b/research/joint-dual/SOURCE.json index 80c0f29dc4..a8a9a075d7 100644 --- a/research/joint-dual/SOURCE.json +++ b/research/joint-dual/SOURCE.json @@ -3,9 +3,9 @@ "base_pr57_commit": "cd350f76c9bc01489ec83568bded532cb69be938", "base_pr58_commit": "bc2f7ed4c20dc18898305ab17165c0c995cbb804", "files": { - "Makefile": "97620e0205736d9c0fce736e8ac6ab67f8ed0e490c381f6cac152cc6a003dca7", - "NOTICE": "1c53970fb4face631a1b331ec66d33111eccd280a129f9b64c2da6df96861c3f", - "README.md": "fd92de31aece76b1f5ff897e6e0dbc38dd3bf67c140579bbcb03a1a11a792668", + "Makefile": "24d73953fd7f6bcee49273119fa6e3bf2e4bcd7fd1b24636f5408f18d67f81f6", + "NOTICE": "f8511476690f8554d2ee37304b34dc7f58e385e4bff77555d5bd895bcda6212e", + "README.md": "62bdf2bc15dcb2bb252ce3c24d1a133fb7d25d6fa00c175b5e627085ff30b24d", "certificates/joint-dual-compiler.json": "516c4d85158553dabd0a98216a064b2a7397957a9d5dd0df1d6e5aec53a4e805", "certificates/joint-dual-profiles-23.json": "159fa8fee175fc1d24f63e72d3c2f1dc9f4fcd78b938c5e7d2f735fd0fd37209", "certificates/joint-dual-profiles-25.json": "8d190ce42d097e828c5756918c52f2963df576cf4c6600b0fc7f2b7fdb6ad223", diff --git a/scripts/paired_cube/README.md b/scripts/paired_cube/README.md new file mode 100644 index 0000000000..3c586a22bf --- /dev/null +++ b/scripts/paired_cube/README.md @@ -0,0 +1,34 @@ +# Selected paired-cube complex input + +Run `python scripts/paired_cube_producer.py` from the repository root. Python's +standard library suffices. Use `--output PATH` for a finite review report and +`--work-dir PATH` only when the reconstructed graph and full witness are wanted. +Assertions must be enabled. + +The generator reconstructs the selected p=12 star-center, coordinate-frame +signed DAG using exact zero restrictions of the existing pinned PR117 witness. +The 6,074 matching arcs are frozen: maximum matching algorithms can choose +different equally large matchings, changing the subsequent rank and gauge +ledger. No maximum-matching uniqueness or optimality claim is required. +The 84 KB reference directory pins the source, graph and selected arcs rather +than storing the 26,527-node graph and large annihilator/gauge witness. + +The finite verifier independently checks all signed H coefficients, the local +K involution and inverse, H+K+B=I, conservative source-address spans, generalized +binary Lagrangian frames, full dependency/carrier intersections, the signed +physical word, the retained center dependency closure, the full selected gauge +intersections and the reversed target frame chains. It recounts the positive +internal and target transition histograms. The certificate records c=24,767, +q=7,724, R=26,417, copied-center loss 528, and 4,840 gauges of rank 20. + +The scalar producer and binary frame checks are finite evidence for this local +complex input. The inherited arbitrary-dirty correction, generalized Gauss +rank compiler, three-stage transfer and final bit supplier remain separate +proof interfaces; the numerical complex moment alone is not an assembled +integer multiplication exponent. + +The channel construction, K itinerary and adapters were developed for +icekylinx with OpenAI GPT-6 Astra assistance, Apache-2.0. The unchanged inherited PR117 +DAG is by eumemic, with Claude assistance, pinned at +cbb05ce504d571546d9b7794c186a613c659c3bf. Its original LICENSE and NOTICE remain +in `references/three-stage-cover/pr117/`. diff --git a/scripts/paired_cube/__init__.py b/scripts/paired_cube/__init__.py new file mode 100644 index 0000000000..8521197b71 --- /dev/null +++ b/scripts/paired_cube/__init__.py @@ -0,0 +1 @@ +"""Selected round-nine paired-cube complex producer.""" diff --git a/scripts/paired_cube/frames.py b/scripts/paired_cube/frames.py new file mode 100644 index 0000000000..2621ef817b --- /dev/null +++ b/scripts/paired_cube/frames.py @@ -0,0 +1,180 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Developed with GPT-6 Astra assistance; integrated with Codex assistance. +"""Actual monotone carrier matching and binary frame profile for a signed DAG. + +Signs are recorded in the construction's scalar ledger. This compiler uses +the safe union of operand address spans, never cancellation of a fresh value +to justify a physical frame. New work for icekylinx, OpenAI GPT-6 Astra assistance. +""" +from pathlib import Path +from collections import Counter +import json, math, sys, functools + +def basis(rows): + b={} + for x in rows: + for p,y in sorted(b.items(),reverse=True): + if x>>p&1:x^=y + if x: + p=x.bit_length()-1 + for k,y in list(b.items()): + if y>>p&1:b[k]=y^x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) + +def perp(rows,h): + rows=basis(rows); piv={r.bit_length()-1:r for r in rows}; out=[] + for j in range(h): + if j in piv:continue + x=1<>j&1:x|=1<

>j&1),h) + assert contained(spans[x],initial[x]) + order=sorted(active,key=lambda x:(len(initial[x]),x)); position={x:i for i,x in enumerate(order)} + uses=[[] for _ in args]; usevalue=[]; usetarget=[]; useframe=[]; usecode=[] + for x in order: + if args[x]: + for j,y in enumerate(args[x]): + uses[y].append(len(usevalue));usevalue.append(y);usetarget.append(x) + useframe.append(initial[x]);usecode.append(2*x+j) + for j,r in enumerate(roots): + x=r['node'];uses[x].append(len(usevalue));usevalue.append(x);usetarget.append(n+j) + useframe.append(rframe[j]);usecode.append((1<<31)|j) + donors=[x for x in order if args[x]] + bycode={code:u for u,code in enumerate(usecode)} + arcs={x:bycode[code] for x,code in frozen_arcs} + assert len(arcs)==len(frozen_arcs)==len(set(arcs.values())) + donors_set=set(donors) + for x,u in arcs.items(): + assert x in donors_set and usevalue[u] in args[x] + t=usetarget[u] + assert t>=n or position[t]>position[x] + assert contained(initial[x],useframe[u]) + succ=[[] for _ in args]; direct=[[] for _ in args] + for x in order: + if args[x]: + for y in args[x]:succ[y].append(x) + for j,r in enumerate(roots):direct[r['node']].extend(rann[j]) + for x,u in arcs.items(): + t=usetarget[u] + if t0,('unused input',x) + H[r]+=degree-1 + if args[x]: + H[h-r]+=1 + for y in args[x]: + assert contained(ann[x],ann[y]) + H[r-rank[y]]+=1 + else:H[1]+=1;H[r-1]+=1 + for j,root in enumerate(roots): + x=root['node'];r=rank[x];rt=len(rframe[j]);assert r<=rt + if root.get('kind','side')=='center': + assert r==rt + H[r]+=1;H[h-r]+=1 + else:H[rt-r]+=1;H[h-rt]+=1 + for x,u in arcs.items(): + value=usevalue[u];t=usetarget[u];rv=rank[value];rd=rank[x] + rt=rank[t] if t=rd>=rv + H[h-rd]-=1;H[rv]-=1;H[rt-rv]-=1;H[rt-rd]+=1 + assert min(H.values())>=0 + R=len(donors)+q-len(arcs) + mass=sum(r*c for r,c in H.items());assert mass==h*R+ell,(mass,h*R+ell) + source=Counter({2:v,h-4:v,1:v}) + if g.get('source_data_histogram') is not None:source=Counter({int(r):c for r,c in g['source_data_histogram'].items()}) + assert sum(r*c for r,c in source.items())==v*(h-1) + m=3*h;W=2*v+R + children=Counter({r:3*c for r,c in H.items() if r}) + children.update({r:3*c for r,c in source.items() if r}) + children.update({r:3*c for r,c in targetH.items() if r}) + children[2]+=2*v + cmass=sum(r*c for r,c in children.items());deficit=W*m-cmass + assert deficit==2*v-3*ell + lo=0.;hi=.1 + if deficit>0: + for _ in range(75): + a=(lo+hi)/2 + if math.fsum(c*r*math.exp(a*math.log(m/r)) for r,c in children.items())0 else None,child_histogram=dict(children), + matching_frames=g.get('matching_frames','maximal'), + status='Concrete zero-gauge signed DAG, actual monotone carrier matching and complete rank profile; numerical moment, not yet a strict assembled supplier') + witness=dict(matching_arcs=[[x,usecode[u]] for x,u in arcs.items()],annihilators=ann,order=order) + return profile,witness diff --git a/scripts/paired_cube/gauges.py b/scripts/paired_cube/gauges.py new file mode 100644 index 0000000000..a86ef6bfb5 --- /dev/null +++ b/scripts/paired_cube/gauges.py @@ -0,0 +1,121 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Developed with GPT-6 Astra assistance; integrated with Codex assistance. +"""One exact chronological partial-gauge selection on a concrete binary word. + +Uses the retained initial old-response cancellation and center-closure lemma. +The signed matrix is specified by the literal word, while union incidence is +only a conservative test of which target frames must contain each gauge. +""" +from pathlib import Path +from collections import Counter +import json,sys,math +from .frames import basis,perp,contained + +def select(g,p,w): + if g['args'][len(g['inputs'])] is not None: + g=dict(g);g['args']=[None]+[None if a is None else [x+1 for x in a] for a in g['args']] + g['roots']=[dict(r,node=r['node']+1) for r in g['roots']] + h=p['h'];v=p['v'];args=g['args'];roots=g['roots'];n=len(args) + order=w['order'];ann=w['annihilators'];arcs=dict(w['matching_arcs']);incoming=set(arcs.values()) + uses=[[] for _ in args] + for x in order: + if args[x]: + for j,y in enumerate(args[x]):uses[y].append(2*x+j) + for j,r in enumerate(roots):uses[r['node']].append((1<<31)|j) + assign={};sources={};ops=[];opcoeff=[];R=0 + for x in order: + if args[x]: + aa,bb=args[x];dest,control=assign[2*x],assign[2*x+1] + swapped=False + if x in arcs: + u=arcs[x];value=roots[u&0x7fffffff]['node'] if u>>31 else args[u//2][u&1] + if value==aa:dest,control=control,dest;swapped=True + else:assert value==bb + assert u not in assign;assign[u]=control + ops.append((dest,control,x)) + sign=g['signs'][x-1] + opcoeff.append((sign,1) if swapped else (1,sign)) + else:dest=R;R+=1;sources[x]=dest + free=[u for u in uses[x] if u not in incoming];assert free + for j,u in enumerate(free): + assert u not in assign + if j==0:assign[u]=dest + else: + target=R;R+=1;assign[u]=target;ops.append((target,dest,x));opcoeff.append((1,1)) + assert R==p['R'],(R,p['R']) + rootroles=[assign[(1<<31)|j] for j in range(len(roots))] + prev=[-1]*R;pred=[];first=[None]*R + for i,(a,b,x) in enumerate(ops): + pred.append((prev[a],prev[b]));prev[a]=prev[b]=i + if first[a] is None:first[a]=x + if first[b] is None:first[b]=x + stack=[prev[s] for r,s in zip(roots,rootroles) if r.get('kind','side')=='center' and prev[s]>=0] + phase=set() + while stack: + i=stack.pop() + if i in phase:continue + phase.add(i);stack.extend(j for j in pred[i] if j>=0) + touched=set(sources.values()) + for i in phase:touched.update(ops[i][:2]) + co=[0]*R + for r,s in zip(roots,rootroles):co[s]|=sum(1<=-1e-12: + rejected_cost+=1 + continue + H[r]-=1;H[r-d]+=1;gauges[d]+=1 + assert H[r]>=0 + for t in targets:limit[t]=A + selected.append(dict(role=s,annihilator=A,rank=d,targets=targets)) + Y=Counter();current=[()]*v + for z in reversed(selected): + U=perp(z['annihilator'],h) + for t in z['targets']: + assert contained(current[t],U) + Y[len(U)-len(current[t])]+=1;current[t]=U + for r in roots: + if r.get('kind','side')=='center':continue + U=perp(basis(inputs[t] for t in r['targets']),h) + for t in r['targets']: + assert contained(current[t],U) + Y[len(U)-len(current[t])]+=1;current[t]=U + for t in range(v):Y[h-1-len(current[t])]+=1 + m=3*h;W=2*v+R;C=Counter({r:3*c for r,c in H.items() if r}) + C.update({int(r):3*c for r,c in p['source_data_histogram'].items() if int(r)}) + C.update({r:3*c for r,c in Y.items() if r});C.update({3*r:c for r,c in gauges.items()}) + C[2]+=2*v;mass=sum(r*c for r,c in C.items());assert W*m-mass==2*v-3*p['loss'] + lo=0.;hi=.1 + for _ in range(75): + a=(lo+hi)/2 + if math.fsum(c*r*math.exp(a*math.log(m/r)) for r,c in C.items()) b: + a, b = b, a + key = a, b, sign + if key not in self.intern: + # Every channel sum combines disjoint original-source supports. + assert not self.s[a] & self.s[b], (a, b, sign) + self.intern[key] = len(self.a) + self.a.append([a, b]) + self.signs.append(sign) + self.s.append(self.s[a] | self.s[b]) + return self.intern[key] + + def sum(self, xs): + xs = list(xs) + if not xs: + return None + while len(xs) > 1: + xs = [self.add(xs[i], xs[i+1]) if i+1 < len(xs) else xs[i] + for i in range(0, len(xs), 2)] + return xs[0] + + def module(self, data, inputs): + # Modules use either zero-based or one-based node indices. + args = data['args'] + n = data.get('input_count', len(inputs)) + one_based = args[0] == [0, 0] and len(args) > n and args[n] == [0, 0] + image = ([None] if one_based else []) + list(inputs) + start = n+1 if one_based else n + for pair in args[start:]: + a, b = pair + image.append(self.add(image[a], image[b])) + return [image[x] for x in data['roots']] + + def local_channels(self): + for I in self.cubes: + edges = {} + for ii, jj in combinations(range(3), 2): + kk = 3-ii-jj + for a, b in product(range(2), repeat=2): + bits0 = [0]*3 + bits0[ii], bits0[jj] = a, b + bits1 = bits0[:] + bits1[kk] = 1 + edges[ii, jj, a, b] = self.add( + self.source[I, tuple(bits0)], self.source[I, tuple(bits1)]) + self.G[I, I[ii], I[jj], 0] = self.add( + edges[ii, jj, 0, 0], edges[ii, jj, 1, 1], -1) + self.G[I, I[ii], I[jj], 1] = self.add( + edges[ii, jj, 0, 1], edges[ii, jj, 1, 0], -1) + for ii in range(3): + jj = next(j for j in range(3) if j != ii) + for a in range(2): + ids = [] + for b in range(2): + key = (ii, jj, a, b) if ii < jj else (jj, ii, b, a) + ids.append(edges[key]) + self.A[I, I[ii], a] = self.add(*ids) + self.F[I] = self.add(self.A[I, I[0], 0], self.A[I, I[0], 1]) + + def center_channels(self): + # Route each cube total to maximal binary-tree intervals avoiding I. + nodes = [] + def tree(lo, hi, parent): + x = len(nodes) + nodes.append(dict(lo=lo, hi=hi, parent=parent, children=[], inputs=[])) + if hi-lo > 1: + mid = (lo+hi)//2 + nodes[x]['children'] = [tree(lo, mid, x), tree(mid, hi, x)] + return x + tree(0, self.p, None) + for I in self.cubes: + stack = [0] + while stack: + x = stack.pop() + node = nodes[x] + if all(not node['lo'] <= i < node['hi'] for i in I): + node['inputs'].append(self.F[I]) + else: + stack.extend(node['children']) + total = [None]*len(nodes) + Z = {} + for x, node in enumerate(nodes): + inherited = None if node['parent'] is None else total[node['parent']] + total[x] = self.add(inherited, self.sum(node['inputs'])) + if node['hi']-node['lo'] == 1: + Z[node['lo']] = total[x] + for i in range(self.p): + for e in range(2): + face = self.sum(self.A[I, i, 1-e] for I in self.cubes if i in I) + self.centers.append(self.add(Z[i], face)) + return sum(len(node['inputs']) for node in nodes) + + def finish(self, triple, pair, allbut, center_kind='star'): + self.local_channels() + base_nodes = len(self.a) + D = dict(zip(self.cubes, self.module(triple, [self.F[I] for I in self.cubes]))) + P, Q = {}, {} + for i in range(self.p): + others = [a for a in range(self.p) if a != i] + pairs = list(combinations(others, 2)) + for bit in range(2): + inputs = [self.A[tuple(sorted((i, *K))), i, bit] for K in pairs] + for K, node in zip(pairs, self.module(pair, inputs)): + P[tuple(sorted((i, *K))), i, bit] = node + for i, j in combinations(range(self.p), 2): + others = [a for a in range(self.p) if a not in (i, j)] + for mode in range(2): + inputs = [self.G[tuple(sorted((i, j, k))), i, j, mode] for k in others] + for k, node in zip(others, self.module(allbut, inputs)): + Q[tuple(sorted((i, j, k))), i, j, mode] = node + query_nodes = len(self.a) + def emit(I, bits_list, node, numerator=1, channel=''): + self.root.append(dict(node=node, targets=[self.source[I, b] for b in bits_list], + coefficients=[f'{numerator}/2']*len(bits_list), + kind='side', channel=channel)) + for I in self.cubes: + all_bits = list(product(range(2), repeat=3)) + emit(I, all_bits, D[I], channel='disjoint') + for a in range(2): + emit(I, [b for b in all_bits if b[0] == a], + P[I, I[0], 1-a], channel='face0') + for a, b in product(range(2), repeat=2): + emit(I, [(a, b, c) for c in range(2)], + P[I, I[1], 1-b], channel='face1') + for a, b in product(range(2), repeat=2): + emit(I, [(a, b, c) for c in range(2)], + Q[I, I[0], I[1], a ^ b], 2*a-1, 'edge01') + for bits in all_bits: + emit(I, [bits], P[I, I[2], 1-bits[2]], channel='face2') + for ii, jj in [(0, 2), (1, 2)]: + for bits in all_bits: + emit(I, [bits], Q[I, I[ii], I[jj], bits[ii] ^ bits[jj]], + 2*bits[ii]-1, f'edge{ii}{jj}') + if center_kind == 'star': + # Their scatter is 1/2 sum_(i in T) S_i - 1/6 sum_i S_i. + for i in range(self.p): + for e in range(2): + self.centers.append(self.sum(self.A[I, i, e] for I in self.cubes if i in I)) + incidences = 0 + center_scatter = '1/2 sum_(i in T) S_i - 1/6 sum_i S_i' + else: + assert center_kind == 'disjoint' + incidences = self.center_channels() + center_scatter = 'sum_i E_i/(h-3) - 1/2 sum_(i in T) E_i' + from fractions import Fraction + for coordinate, node in enumerate(self.centers): + if center_kind == 'star': + coefficients = ['1/3' if coordinate in t else '-1/6' for t in self.labels] + else: + coefficients = [str(Fraction(1, self.h-3) - + (Fraction(1, 2) if coordinate in t else 0)) + for t in self.labels] + self.root.append(dict(node=node, targets=list(range(len(self.labels))), + coefficients=coefficients, kind='center', coordinate=coordinate)) + return dict(p=self.p, h=self.h, v=len(self.labels), + labels=self.labels, inputs=[sum(1 << x for x in t) for t in self.labels], + args=self.a, signs=self.signs, + roots=self.root, centers=self.centers, + center_kind=center_kind, center_scatter=center_scatter, + local_K='Two 4x4 Hadamard/2 blocks on opposite cube parities, using original X destructively', + source_data_histogram={2: len(self.labels), self.h-4: len(self.labels), + 1: len(self.labels)}, + target_data_histogram={self.h-4: len(self.labels), 1: 3*len(self.labels)}, + counts=dict(local_channel_additions=base_nodes-len(self.labels), + query_additions=query_nodes-base_nodes, + center_additions=len(self.a)-query_nodes, + center_tree_incidences=incidences, + signed_additions=sum(x < 0 for x in self.signs), + side_root_uses=sum(r['kind'] == 'side' for r in self.root), + center_roots=len(self.centers)), + status='Exact signed scalar circuit and frozen-support geometry input; rank compiler and moment are separate.') diff --git a/scripts/paired_cube/modules.py b/scripts/paired_cube/modules.py new file mode 100644 index 0000000000..f590aa7edd --- /dev/null +++ b/scripts/paired_cube/modules.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +# Copyright 2026 icekylinx. Apache-2.0. +# Developed with GPT-6 Astra assistance; integrated with Codex assistance. +"""Exact positive scalar DAG modules for the paired-cube construction. + +The pair-disjoint module is a specialization of the already adopted PR117 +positive DAG (eumemic, Apache-2.0, pinned cbb05ce504d571546d9b7794c186a613c659c3bf). +The balanced all-but-one module is an explicit binary-tree construction. +All module nodes are zero-based; the first input_count nodes are inputs, +and args[node] is null on inputs or [left,right] on addition nodes. +""" +from pathlib import Path +from itertools import combinations +import gzip,json,argparse +ROOT=Path(__file__).resolve().parents[2] +HERE=Path(__file__).resolve().parent + +def restricted_pairs(n): + assert 2<=n<=22 + w=json.loads(gzip.decompress((ROOT/'references/three-stage-cover/pr117/dag.json.gz').read_bytes())) + oldtriples=list(combinations(range(24),3));pairs=list(combinations(range(n),2));pid={p:i for i,p in enumerate(pairs)} + args=[None]*len(pairs);support=[1<=3 + args=[None]*n;support=[1<>r['coordinate']&1) + assert positive[x]==expected + U=spans[x];A=perp(U,h) + assert len(U)==h-2 + assert r['coefficients']==['1/3' if q>>r['coordinate']&1 else '-1/6' for q in inputs] + else: + A=basis(inputs[t] for t in r['targets']);U=perp(A,h) + for t,c in zip(r['targets'],r['coefficients']): + assert c in ('1/2','-1/2');sign=1 if c=='1/2' else -1 + for s in each(positive[x]):Hrows[t][s]+=sign + for s in each(negative[x]):Hrows[t][s]-=sign + rootann.append(A);rootframes.append(U) + assert contained(spans[x],U) + cube=[tuple(a//2 for a in label) for label in g['labels']] + scalar_pairs=0 + for t,q in enumerate(inputs): + for s,u in enumerate(inputs): + overlap=(q&u).bit_count();same=cube[t]==cube[s] + expected=0 if same else 1-overlap + assert Hrows[t][s]==expected, ('Signed H mismatch',t,s) + distance=(q^u).bit_count()//2 + K2=(1 if distance==3 else -1 if distance==1 else 0) if same else 0 + B2=overlap-1 + assert Hrows[t][s]+K2+B2==2*(t==s) + scalar_pairs+=1 + # Actual local K matrix, inverse, and destructive-source frame itinerary. + for start in range(0,v,8): + qs=inputs[start:start+8] + K2=[[1 if (a^b).bit_count()==6 else -1 if (a^b).bit_count()==2 else 0 for b in qs] for a in qs] + assert all(sum(K2[i][k]*K2[k][j] for k in range(8))==4*(i==j) for i in range(8) for j in range(8)) + for parity in (0,1): + source=[i for i in range(8) if i.bit_count()%2==parity];target=[i for i in range(8) if i.bit_count()%2!=parity] + U=basis(qs[i] for i in source);assert len(U)==3 + assert all(contained((qs[i],),U) for i in source) + assert all(contained(U,perp((qs[j],),h)) for j in target) + assert [3-1,(h-1)-3,h-(h-1)]==[2,h-4,1] + assert all(sum(K2[i][k]*K2[j][k] for k in source)==4*(i==j) for i in target for j in target) + # Full backward intersections, including every carrier edge and root cap. + required=[[] for _ in args];position={x:i for i,x in enumerate(order)} + for x in order: + if args[x]: + for y in args[x]:required[y].extend(ann[x]);assert position[y]>31: + j=u&0x7fffffff;value=roots[j]['node'];A=rootann[j] + else: + t=u//2;value=args[t][u&1];A=ann[t];assert position[x]0 and contained(tuple(ann[first[s]]),A) + r=h-len(ann[first[s]]);H[r]-=1;H[r-d]+=1;birth[d]+=1 + for t in targets:limits[t]=A + assert [H[r] for r in range(1,h+1)]==record['remaining_internal_histogram'][1:] + assert dict(birth)=={int(k):c for k,c in record['selected_rank_histogram'].items()} + current=[full]*v;Y=Counter() + for z in reversed(word['selected']): + A=tuple(z['annihilator']) + for t in z['targets']: + assert contained(A,current[t]);Y[len(current[t])-len(A)]+=1;current[t]=A + for r,A in zip(roots,rootann): + if r['kind']=='side': + for t in r['targets']: + assert contained(A,current[t]);Y[len(current[t])-len(A)]+=1;current[t]=A + for t,q in enumerate(inputs):assert contained((q,),current[t]);Y[len(current[t])-1]+=1 + assert dict(Y)=={int(k):c for k,c in record['target_data_histogram'].items()} + assert record['selected_roles']==len(seen)==4840 and birth==Counter({20:4840}) + return dict(signed_scalar_pairs_checked=scalar_pairs,scalar_H_exact=True,K_involution_and_inverse_exact=True, + decoder_identity_exact=True,conservative_source_supports=True,K_source_itinerary_verified=True, + full_backward_intersections=True,physical_signed_M_replayed=True, + center_phase_closed=True,full_gauge_intersections=True,selected_sources_untouched=True, + reverse_target_chains=True,positive_rank_ledger_recounted=True,selected_roles=len(seen)) diff --git a/scripts/paired_cube_bit.py b/scripts/paired_cube_bit.py new file mode 100644 index 0000000000..8e00899f47 --- /dev/null +++ b/scripts/paired_cube_bit.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +"""Incremental reconstruction of the selected PR97 shared-core bit profile. + +Copyright 2026 icekylinx. Apache-2.0. Construction with GPT-6 Astra; +integration with OpenAI Codex. The inherited PR97 ledger is by Zhihao Chen, +and its frozen scalar/frame witness is Swapnil Jain's construction. Their +original credits, licenses and disclosures remain in the pinned snapshot. +No complete-basis replay or inherited rational-frame audit is repeated. +""" +import argparse +from collections import Counter +import gzip +from hashlib import sha256 +import importlib.util +import json +from pathlib import Path + +from partial_gauge_bit import ROOT, require, encoded, frozen_sources + +INPUT = ROOT / 'certificates/paired-cube-bit-input.json' + + +def histogram(value): + return Counter({int(r): n for r, n in value.items() if n}) + + +def target_histogram(schedule, adjoint, readouts): + """Delete certified frames in inherited order, with positive Z support. + + Positive support is deliberately retained even when a coefficient is + even: those extra F2 zero reads are harmless, and keep the certified + conservative target-frame convention used by the supplied profile. + Nesting of the actual subspaces is inherited; ranks alone do not prove it. + """ + current = [0] * schedule.v + result = Counter() + for slot in readouts: + rank = schedule.f[slot] + for target, coefficient in adjoint[slot].items(): + require(coefficient > 0, 'Nonpositive inherited target coefficient') + increment = rank-current[target] + require(increment >= 0, 'Selected target chain retreats') + if increment: + result[increment] += 1 + current[target] = rank + for rank in current: + require(0 <= rank <= schedule.h-1, 'Target exceeds output frame') + if rank < schedule.h-1: + result[schedule.h-1-rank] += 1 + require(sum(r*n for r,n in result.items()) == schedule.v*(schedule.h-1), + 'Target chain rank mass differs') + return result + + +def child_histogram(h, v, aux, source, target, gauges): + children = Counter() + for local in (aux, source, target, Counter({h-1: h})): + children.update({r: 3*n for r,n in local.items() if r and n}) + children.update({3*r: n for r,n in gauges.items() if r and n}) + children[2] += 2*v + return children + + +def reconstruct(input_path=INPUT): + record = json.loads(Path(input_path).read_text()) + folder, provenance = frozen_sources(record) + selection_path = ROOT / record['selection_file'] + require(sha256(selection_path.read_bytes()).hexdigest() == record['selection_sha256'], + 'Selected finite slot list changed') + selection = json.loads(selection_path.read_text()) + spec = importlib.util.spec_from_file_location('paired_cube_pinned_deferred', folder/'deferred.py') + deferred = importlib.util.module_from_spec(spec) + spec.loader.exec_module(deferred) + with gzip.open(folder/'witness_23.json.gz', 'rt') as stream: + witness = json.load(stream) + with gzip.open(folder/'deferred_23.json.gz', 'rt') as stream: + data = json.load(stream) + schedule = deferred.Schedule(witness, data) + ledger = json.loads((folder/'bit-ledger-result.json').read_text()) + for flag in ('complete_forward_F2', 'complete_reflected_F2', + 'reflected_frame_continuity', 'all_scalar_gates_equal_frame_keys', + 'histogram_matches_external'): + require(ledger[flag] is True, 'Inherited physical ledger lacks '+flag) + selected = selection['retained_readout_order'] + omitted = selection['omitted_readout_order'] + chosen, skipped = set(selected), set(omitted) + require(len(chosen) == len(selected) == 9543 and len(skipped) == len(omitted) == 2022, + 'Selected gauge counts differ') + require(chosen.isdisjoint(skipped) and chosen | skipped == schedule.sel, + 'Selection does not partition the inherited gauges') + require(len(schedule.sel) == 11565, 'Inherited gauge count differs') + for slots, subset in ((selected, chosen), (omitted, skipped)): + require(slots == [s for s in schedule.readout if s in subset], + 'Gauge order is not the inherited subsequence') + h, v, R = schedule.h, schedule.v, schedule.R + require((h,v,R) == (23,1771,28866), 'Inherited dimensions differ') + old_aux = deferred.chain_ranks(schedule) + require(encoded(old_aux) == ledger['rank_histograms']['aux'], + 'Inherited auxiliary chain receipt differs') + source = Counter(r for path in schedule.xdata() for r in path if r) + require(sum(r*n for r,n in source.items()) == v*(h-1), 'Source chain mass differs') + adjoint = schedule.adjoint() # exact scalar coefficients, not producer bitset unions + old_target = target_histogram(schedule, adjoint, schedule.readout) + target = target_histogram(schedule, adjoint, selected) + aux = Counter(old_aux) + changed = Counter() + dirty_reads = odd_dirty_reads = 0 + for slot in omitted: + first = schedule.dim(schedule.start_key(slot)) + gauge = schedule.f[slot] + require(0 < gauge <= first, 'Omitted gauge does not fit first-use frame') + if first-gauge: + aux[first-gauge] -= 1 + aux[first] += 1 + changed[(first-gauge, first)] += 1 + # The exact same old-value coefficient is emitted in the initial + # prelude, before any slot or target frame grows from zero. Thus its + # source/target frame keys are both ('0',), for arbitrary dirty inputs. + dirty_reads += len(adjoint[slot]) + odd_dirty_reads += sum(c & 1 for c in adjoint[slot].values()) + schedule.sel = chosen + require(encoded(deferred.chain_ranks(schedule)) == encoded(aux), + 'Direct modified frame chains differ from transition deltas') + require(all(n >= 0 for n in aux.values()), 'Negative changed auxiliary count') + gauges = Counter(schedule.f[s] for s in selected) + children = child_histogram(h,v,aux,source,target,gauges) + values = dict(h=h,v=v,R=R,m=3*h,W_per_vertex=2*v+R,loss=h*(h-1), + deficit_per_vertex=2*v-3*h*(h-1),selected_roles=len(selected), + omitted_roles=len(omitted),rank_per_vertex=sum(r*n for r,n in children.items())) + for key, value in values.items(): + require(record[key] == value, 'Selected profile differs: '+key) + for key, value in (('auxiliary_histogram', aux), ('source_data_histogram', source), + ('target_data_histogram', target), ('selected_rank_histogram', gauges), + ('copied_center_histogram', Counter({h-1:h})), ('child_histogram', children)): + require(histogram(record[key]) == +value, 'Selected profile differs: '+key) + require(values['W_per_vertex']*values['m']-values['rank_per_vertex'] == 2024, + 'Shared-core rank deficit differs') + require(all(0 < r < 3*h and n > 0 for r,n in children.items()), 'Invalid child') + result = dict(record) + result['checks'] = dict(source_hashes_equal=True, selected_slot_partition_equal=True, + target_chains_inherited_subsequences=True, positive_integer_support=True, + omitted_dirty_reads_at_zero=True, changed_chain_histograms_equal=True, + selected_profile_equal=True, full_upstream_audits_repeated=False) + result['changed_transition_histogram'] = [dict(old_rank=a,new_rank=b,count=n) + for (a,b),n in sorted(changed.items())] + result['zero_prelude_receipt'] = dict(omitted_slots=len(omitted), + positive_support_reads=dirty_reads,odd_F2_reads=odd_dirty_reads, + source_frame=['0'],target_frame=['0'],scalar_coefficients='exact inherited adjoint', + placement='before every positive-rank local operation') + result['provenance'] = dict(pr97=provenance['pr97'], underlying=provenance['underlying']) + result['scope'] = ('Incremental selected-gauge rank and zero-prelude check; actual nested ' + 'subspaces and unchanged complete scalar word remain inherited. ' + 'Strict rational supplier moments are checked by paired_cube_network.py.') + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--input', type=Path, default=INPUT) + parser.add_argument('--output', type=Path) + args = parser.parse_args() + result = json.dumps(reconstruct(args.input), indent=2, sort_keys=True)+'\n' + if args.output: + args.output.write_text(result) + else: + print(result, end='') + + +if __name__ == '__main__': + main() diff --git a/scripts/paired_cube_network.py b/scripts/paired_cube_network.py new file mode 100644 index 0000000000..db609dedd7 --- /dev/null +++ b/scripts/paired_cube_network.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Exact paired-cube suppliers and shared-core semantic assembly. + +Copyright 2026 icekylinx. Apache-2.0. +Developed with substantial OpenAI GPT-6 Astra assistance; integrated with +Codex assistance. Sharing principle: an664 PR128; local words: eumemic +PR117 and Zhihao Chen/Swapnil Jain PR97. See NOTICE and SOURCES.json. +""" +import argparse +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from math import prod +from pathlib import Path +import json +import sys + +from certify import require +from paired_cube_bit import reconstruct +from three_stage_cover_network import log_upper, exp_upper +from structured_bulk_assembly import assembly, halving, js + +if hasattr(sys,'set_int_max_str_digits'): + sys.set_int_max_str_digits(0) + +ROOT = Path(__file__).resolve().parents[1] +AC = Q(4856569,10**10) +COARSE = Q(4617656,10**10) +ATOM = Q(1,2000) +OLD = Q(384599,10**10) +AB = (1-ATOM)*COARSE+ATOM*OLD +BAD = Q(1,10**16) +PHASE_STOP = Q(1,10**6) +ASSEMBLY_BIT = min(AB,(1-PHASE_STOP)*AC-Q(1,10**10)) +KAPPA = Q(4611281,10**10) + + +def clean(hist): + return dict(sorted((int(r),n) for r,n in hist.items() if int(r) and n)) + + +def shared_profile(row,complex_word): + h,v,R,ell = (row[k] for k in ('h','v','R','loss')) + m,W,H = 3*h,2*v+R,Counter() + selected = {int(r):n for r,n in row['selected_rank_histogram'].items()} + require(sum(selected.values()) == row['selected_roles'],'Selected gauge count') + for r,n in selected.items(): + require(0 < r < h and n > 0,'Proper local gauges') + H[3*r] += n + if complex_word: + require((h,v,R,ell) == (24,1760,26417,528),'Paired-cube local dimensions') + require(R == row['c']+row['q']-row['matched'],'Compatible carrier roles') + require(selected == {20:4840},'Selected rank20 gauges') + for r,n in enumerate(row['remaining_internal_histogram']): + H[r] += 3*n + parts = ('source_data_histogram','target_data_histogram') + else: + require((h,v,R,ell) == (23,1771,28866,506),'Retained bit local dimensions') + parts = ('auxiliary_histogram','source_data_histogram','target_data_histogram','copied_center_histogram') + for name in parts: + for r,n in row[name].items(): + H[int(r)] += 3*n + H[2] += 2*v + H = clean(H) + require(all(0 < r < m and n > 0 for r,n in H.items()),'Proper shared-core children') + mass = sum(r*n for r,n in H.items()) + require(H == clean(row['child_histogram']),'Saved complete child histogram') + require((m,W,mass,W*m-mass) == (row['m'],row['W_per_vertex'],row['rank_per_vertex'],row['deficit_per_vertex']), + 'Saved sharing dimensions and rank') + require(W*m-mass == 2*v-3*ell,'Shared-core telescoping deficit') + return dict(m=m,local_dimension=h,W_per_vertex=W,rank_per_vertex=mass, + deficit_per_vertex=W*m-mass,child_multiplicities=H,maxchild=max(H),edge_count=sum(H.values())) + + +def exact_moment(p,saving): + m,W = p['m'],p['W_per_vertex'] + logs = {r:log_upper(Q(m,r)) for r in p['child_multiplicities']} + upper = sum(Q(n*r,W*m)*exp_upper(saving*logs[r]) for r,n in p['child_multiplicities'].items()) + require(upper < 1,'Strict ideal characteristic') + return dict(saving=saving,exponent=1-saving,moment_upper=upper,strict_gap=1-upper, + log_upper_bounds=logs,rounding_denominator=1 << 120) + + +def bit_certificate(row): + p = shared_profile(row,False) + exact = exact_moment(p,COARSE) + m,W = p['m'],p['W_per_vertex'] + fallback = 32*m*m + added = BAD*Q(fallback*p['edge_count'],W*m)*exp_upper(COARSE*log_upper(Q(m))) + rank_upper = Q(p['rank_per_vertex'])+BAD*fallback*p['edge_count'] + require(1-exact['moment_upper']-added > 0 and rank_upper < W*m,'Both contaminated moments') + require(Q(2*m**3,2**80) < BAD,'Fixed prime bad-class allowance') + require(ATOM > AB and ATOM < 1-AB,'Subordinate adapter and row tolls') + return dict(counts=p,coarse=exact,coarse_saving=COARSE,effective_saving=AB, + atom_exponent=ATOM,ordinary_leaf_saving=OLD,bad_fraction=BAD, + fallback_children_per_edge=fallback,added_bad_moment_upper=added, + strict_gap=1-exact['moment_upper']-added,rank_mass_upper_per_vertex=rank_upper, + row_stock='O(w log e) internally borrowed radix-q digits; retained stopped wrapper restores them') + + +def complex_certificate(row): + p = shared_profile(row,True) + exact = exact_moment(p,AC) + m = p['m'] + n = m//2 + vertices = 2**(m-1+(n-1)**2)*prod(2**(2*i)-1 for i in range(1,n)) + return dict(counts=p,**exact,vertices_per_stage=vertices,N=vertices*row['v'], + W=vertices*p['W_per_vertex'],total_rank=vertices*p['rank_per_vertex'], + deficit=vertices*p['deficit_per_vertex'],group_order_bits=vertices.bit_length()) + + +def finite_bridge(c,b,row): + m,W,s,N,V = c['counts']['m'],c['W'],c['total_rank'],c['N'],c['vertices_per_stage'] + h,v,R = (row[k] for k in ('h','v','R')) + original_X = 32*v + local = 4*(row['c']+v)+10*v+4*h*v+4*h*h+8*h+8+2*h + local += 8*R*v*(row['total_M_operations']+16)+original_X + logical = 3*V*local+8*W+4*N+8*m*R*V + G = 64*(m+1)**3*(logical+1)*(W+1)**2 + E = 64*(W+m+G+1)**3 + charge = 2*G*W*W+8*s+4*W+4+32*m + B,C0,r = s+E,32*m*(s+E)**2,c['counts']['maxchild'] + require(charge < E and 2*B*(m-r) >= s+E and 2*B+18 < C0,'Finite semantic guard') + dc,wc = halving(m,r),W.bit_length() + old_coarse,old_atom = 9909,252 + coefficient,degree = dc*wc+old_coarse+old_atom,70000 + require(Q(degree) > Q(51*coefficient,25),'External row reserve') + return dict(bit_uniform=dict(coarse_saving=COARSE,atom_beta=ATOM,old_atom_saving=OLD, + ordinary_saving=AB,selector_stock='O(w log e) internal borrowed rows; retained stopped wrapper restores them', + external_stock='The q-adic group-size factor is not inserted into external polynomial row stock'), + conservative_old_coarse_row_reserve=old_coarse,ordinary_leaf_row_degree=old_atom, + complex=dict(m=m,W=W,s=s,N=N,maxchild=r,invocations_per_stage=V,stages=3, + auxiliary_banks_after_sharing=1,halving_degree=dc,wire_bits=wc, + original_X_involution_scalar_group_upper=original_X,local_group_upper=local, + logical_group_upper=logical,finite_group_router_upper=G,scalar_group_upper=G, + routing_charge='64*(m+1)^3*(K+1)*(W+1)^2; one full W-role permutation per logical group overcharged', + coefficient_bound=h+4,coefficient_denominator_divides=6), + semantic=dict(E=E,literal_charge=charge,strict_literal_gap=E-charge,B=B,C0=C0,C1=1, + induction_gap=2*B*(m-r)-s-E,fixed_odd_divisor=3, + exact_grid='One common dyadic grid times 3^(-K), K=G*(D_complex+1); no child rounding'), + rows=dict(coefficient=coefficient,complex_coefficient=dc*wc,degree=degree, + suffix_slope=4*degree,degree_gap=Q(degree)-Q(51*coefficient,25), + contract='Finite complex role stock plus unchanged conservative bit reserves; q-adic selectors internally borrowed and restored; one prefix and one padding; sequential reuse')) + + +def certificate(): + require(not sys.flags.optimize,'Run without -O') + def read(name): + return json.loads((ROOT/'certificates'/name).read_text()) + expected = read('paired-cube-input.json') + bit_row = reconstruct() + row = read('paired-cube-complex-input.json') + bit,phase = bit_certificate(bit_row),complex_certificate(row) + bridge = finite_bridge(phase,bit,row) + require(Q(read('copied-centers-network.json')['bit']['saving']) == OLD,'Retained ordinary leaf') + result = assembly(ASSEMBLY_BIT,AC,bridge,KAPPA,beta=PHASE_STOP) + result['parameters']['actual_bit_saving'] = AB + require(ASSEMBLY_BIT <= AB,'Supported bit interface') + for actual,key in ((bit['strict_gap'],'bit_moment_gap'),(phase['strict_gap'],'complex_moment_gap'), + (result['minimum_margin'],'assembly_minimum'),(result['absorption_gap'],'absorption_gap')): + require(actual == Q(expected[key]),'Saved exact '+key) + require(js(bit['counts']['child_multiplicities']) == expected['bit_child_multiplicities'],'Saved bit children') + require(js(phase['counts']['child_multiplicities']) == expected['complex_child_multiplicities'],'Saved complex children') + require(phase['vertices_per_stage'] == expected['complex_group_order'],'Group order') + require(bridge['rows']['degree'] == expected['row_degree'] and bridge['rows']['coefficient'] == expected['row_coefficient'],'Saved row stock') + require(KAPPA == Q(expected['kappa']) and len(result['strict_constraints']) == 47 and len(result['margins']) == 7,'Complete assembly') + sources = sorted(p for p in (ROOT/'certificates').glob('paired-cube-*.json') + if p.name != 'paired-cube-network.json') + sources += sorted((ROOT/'scripts').glob('paired_cube*.py')) + sources += sorted(p for folder in ('scripts/paired_cube','references/paired-cube') + for p in (ROOT/folder).rglob('*') if p.is_file() and '__pycache__' not in p.parts) + sources += sorted((ROOT/'notes').glob('paired-cube-*.tex')) + sources += [ROOT/p for p in ('scripts/three_stage_cover_network.py','scripts/structured_bulk_assembly.py', + 'scripts/partial_gauge_bit.py','certificates/partial-gauge-bit-input.json', + 'references/partial-gauge/pr97/SOURCE.json','certificates/copied-centers-network.json', + 'certificates/three-stage-cover-network.json','notes/general-clifford-frames.tex')] + return dict(status='Conditional paired-cube multiplication witness',kappa=KAPPA,bit=bit,complex=phase, + finite_bridge=bridge,assembly=result,predecessor_commit='6a9970a530119174507904e23592fd59ede19a5d', + source_sha256={str(p.relative_to(ROOT)):sha256(p.read_bytes()).hexdigest() for p in sources}, + scope='Exact inventories, supplier moments, full fallback/router charge and semantic assembly. ' + 'Local scalar/frame verification is separate; paired source scheduling, completed-core sharing ' + 'and inherited uniform-recursion/analytic/tape contracts are written proof dependencies.') + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--output',type=Path,default=ROOT/'certificates/paired-cube-network.json') + args = p.parse_args() + args.output.write_text(json.dumps(js(certificate()),indent=2,sort_keys=True)+'\n') + print('PASS kappa=4611281/10000000000 = 4.611281e-4; both moments, shared cores, finite router and 47 strict constraints') + + +if __name__ == '__main__': + main() diff --git a/scripts/paired_cube_producer.py b/scripts/paired_cube_producer.py new file mode 100644 index 0000000000..3354975491 --- /dev/null +++ b/scripts/paired_cube_producer.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +# Copyright 2026 icekylinx. Apache-2.0. +# Developed with GPT-6 Astra assistance; integrated with Codex assistance. +"""Regenerate and independently verify the selected round-nine complex input. + +The frozen compatible matching is pinned, without relying on a nonunique +maximum-matching implementation. Standard-library Python; no giant raw DAG. +Copyright 2026 icekylinx, Apache-2.0; OpenAI GPT-6 Astra assistance, inherited PR117 notices. +""" +import argparse +import hashlib +import json +from pathlib import Path +import sys +from paired_cube.graph import Graph +from paired_cube.modules import restricted_pairs, restricted_triples, all_but_one +from paired_cube.frames import compile_graph +from paired_cube.gauges import select +from paired_cube.verify import verify + +ROOT=Path(__file__).resolve().parents[1] + +def regenerate(expected,work=None): + if sys.flags.optimize:raise ValueError('Run without -O; finite assertions must remain enabled') + def stage(message):print(message,file=sys.stderr,flush=True) + reference=ROOT/'references/paired-cube/selected-module' + pin=json.loads((reference/'SOURCE.json').read_text()) + inherited=ROOT/'references/three-stage-cover/pr117' + source=json.loads((inherited/'SOURCE.json').read_text()) + assert source['commit']==pin['source_commit'] + for name,digest in source['files'].items():assert hashlib.sha256((inherited/name).read_bytes()).hexdigest()==digest + assert hashlib.sha256((inherited/'dag.json.gz').read_bytes()).hexdigest()==pin['inherited_dag_sha256'] + frozen=reference/'matching-arcs.json' + assert hashlib.sha256(frozen.read_bytes()).hexdigest()==pin['matching_arcs_sha256'] + stage('Regenerating paired-cube signed DAG from inherited PR117 restrictions') + g=Graph(12).finish(restricted_triples(12),restricted_pairs(11),all_but_one(10)) + g['matching_frames']='coordinate' + binding={k:g[k] for k in ('inputs','labels','args','signs','roots','centers')} + assert hashlib.sha256(json.dumps(binding,separators=(',',':')).encode()).hexdigest()==pin['graph_sha256'] + stage('Replaying frozen carrier matching and full binary intersections') + baseline,witness=compile_graph(g,json.loads(frozen.read_text())) + stage('Selecting chronological partial gauges and constructing signed physical M') + actual,word=select(g,baseline,witness);actual=json.loads(json.dumps(actual)) + for key in ('numerical_complex_root','status','gauge_selection', + 'gauge_cost_rejections','gauge_trial_saving'): + actual.pop(key,None) # Discovery diagnostics, not exact proof inputs. + assert actual==expected,'Regenerated selected complex input differs' + stage('Independently checking signed scalar identity, K, physical word, intersections and target chains') + checks=verify(g,baseline,witness,word,actual) + result=dict(source_pin_verified=True,regenerated_from_source=True,certificate_equal=True,selected=actual,checks=checks) + if work: + work.mkdir(parents=True,exist_ok=True) + for name,data in [('graph.json',g),('frames.json',witness),('selection.json',word)]: + (work/name).write_text(json.dumps(data,separators=(',',':'))+'\n') + return result + +def main(): + p=argparse.ArgumentParser(description=__doc__) + p.add_argument('--certificate',type=Path,default=ROOT/'certificates/paired-cube-complex-input.json') + p.add_argument('--work-dir',type=Path) + p.add_argument('--output',type=Path) + a=p.parse_args();result=regenerate(json.loads(a.certificate.read_text()),a.work_dir) + text=json.dumps(result,indent=2)+'\n' + if a.output:a.output.write_text(text) + else:print(text,end='') + +if __name__=='__main__':main() diff --git a/scripts/partial_gauge/README.md b/scripts/partial_gauge/README.md new file mode 100644 index 0000000000..7dae95e122 --- /dev/null +++ b/scripts/partial_gauge/README.md @@ -0,0 +1,46 @@ +# Selected partial-gauge complex producer + +Run `python3 scripts/partial_gauge_producer.py` from the repository root. +Python's standard library and a C++17 compiler are required. The command +regenerates the selected h = 24 scalar DAG, compatible carrier matching, +backward lifted frames, physical word and partial source gauges. It compares +every field of `certificates/partial-gauge-complex-input.json` and performs +independent finite checks. Intermediate graphs are temporary unless +`--work-dir DIRECTORY` is supplied; `--output FILE` saves the compact report. + +The selected counts are 146,284 additions, 120,097 matched carriers, +34,307 auxiliary roles and 6,341 selected partial source gauges. + +`interval.py` extends the existing `PairedTriple` and +`PairedExclusionCircuit` implementations. `cube.py` overrides the triple +assembly with the selected pair-first cube. `scalar.py` retains only the +selected h = d = 24 rational-center construction. `match.cpp`, `lift.py`, +`word.py` and `select.py` build the actual finite program. The superseded +whole-birth selection is omitted: the physical word supplies only operations, +sources, root roles and the retained-center closure. Final readouts use +`selection.json` in **reverse selection order**. + +`verify.py` independently checks every scalar DAG addition and output support, +the signed coefficient identity and divisor 21, nondegeneracy and old-frame +containment, dependency and carrier nesting, an exact support replay of M, +the center-phase closure and selected untouched roles. It executes the reverse +readout order, checks actual subspace containment and recounts target-data +transitions. It also recounts every positive-rank internal transition directly +from the physical word. Zero-rank no-ops have different literal multiplicities +in the per-role replay; the complete selected histogram, including its zero +bin, is reproduced by the deterministic construction and compared to the +certificate. Partial first transitions retain rank r minus dim(sigma), and +the selected source exterior is m minus h plus dim(sigma). + +Boolean readout support is the conservative support of the exact rational +matrix C = J M; it is used only to impose sufficient frame constraints. +The scalar identity is checked from exact root supports, not inferred from +Boolean cancellation. These finite checks do not establish the inherited +analytic, semantic-precision or fixed-tape interfaces. + +Adapted from `round6_work/complex_{interval,cube}_experiment.py`, +`complex_terminal_counts.cpp`, `complex_maximal_lift.py`, +`complex_deferred_readouts.py`, `complex_partial_deferred_readouts.py`, and +the preceding `round5_complex_rational_centers.py` in the round-six handoff. +The cube override derives from the retained `scripts/paired_triple_circuit.py`. +Copyright 2026 icekylinx, Apache-2.0; see the repository NOTICE and source registry. diff --git a/scripts/partial_gauge/__init__.py b/scripts/partial_gauge/__init__.py new file mode 100644 index 0000000000..070066d031 --- /dev/null +++ b/scripts/partial_gauge/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +"""Selected round-six complex producer and finite verification.""" diff --git a/scripts/partial_gauge/binary.py b/scripts/partial_gauge/binary.py new file mode 100644 index 0000000000..775921796c --- /dev/null +++ b/scripts/partial_gauge/binary.py @@ -0,0 +1,16 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +"""Read the selected scalar DAG and frame-label binary formats.""" +from pathlib import Path +from collections import defaultdict,Counter +import struct,array,json,argparse + +def load(path): + blob=Path(path).read_bytes();h,v,n,q=struct.unpack_from('<4I',blob);at=16 + def take(code,num): + nonlocal at + a=array.array(code);nb=a.itemsize*num;a.frombytes(blob[at:at+nb]);at+=nb;return a + args=take('I',2*n);core=take('Q',n);cover=take('Q',n);roots=take('I',q);kind=take('I',q);active=take('B',n) + lab=Path(str(path).replace('.bin','.labels')).read_bytes();rank=array.array('I');rank.frombytes(lab[:4*n]);types=lab[4*n:] + assert at==len(blob) and len(types)==n + return h,v,n,q,args,core,cover,roots,kind,active,rank,types diff --git a/scripts/partial_gauge/cube.py b/scripts/partial_gauge/cube.py new file mode 100644 index 0000000000..0186c1beda --- /dev/null +++ b/scripts/partial_gauge/cube.py @@ -0,0 +1,92 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +"""Pair-first cube override of the retained PairedTriple recursion.""" +from itertools import combinations +from collections import defaultdict +from .interval import IntervalTriple + +def cube_values(self,G,groups,out_coarse,one,two,w): + (a,a2),(b,b2),(c,c2)=[groups[g] for g in G] + def piece(*points): + p=tuple(sorted(points)) + if not p:return out_coarse[G] + if len(p)==1: + u=p[0];omit=tuple(g for g in G if u not in groups[g]);return one[u][omit] + if len(p)==2: + omit=tuple(g for g in G if not set(p)&set(groups[g]));return two[p][omit] + return w.get(p,0) + def plane(z): + val=lambda *p:piece(*(p+(() if z is None else (z,)))) + F=val();Sa,Sa2,Sb,Sb2=[val(x) for x in (a2,a,b2,b)] + e=lambda u,v:val(u,v) + FSa,FSa2,FSb,FSb2=[self.add(F,x) for x in (Sa,Sa2,Sb,Sb2)] + Y1=self.add(FSb,Sa);Y2=self.add(FSa,Sb2) + Y3=self.add(FSa2,e(a,b2));Y4=self.add(FSb2,e(a,b)) + return {(a2,b2):self.add(e(a2,b2),Y1),(a2,b):self.add(e(a2,b),Y2), + (a,b2):self.add(Y3,Sb),(a,b):self.add(Y4,Sa2)} + F=plane(None);V={z:plane(z) for z in (c,c2)} + return {tuple(sorted((u,v,z))):self.add(F[u,v],V[z][u,v]) for u,v in F for z in (c,c2)} + +class CubeTriple(IntervalTriple): + cube_values=cube_values + def triple(self,pts,w): + subsets=[s for k in range(4) for s in combinations(pts,k)] + if len(pts)<=self.base: + return {s:self.total([v for t,v in w.items() if not set(s)&set(t)]) for s in subsets} + groups=self.grouping(pts);ng=len(groups) + group_of={u:i for i,g in enumerate(groups) for u in g} + coarse_parts=defaultdict(list) + for t,v in w.items():coarse_parts[tuple(sorted({group_of[u] for u in t}))].append(v) + coarse={s:self.total(xs) for s,xs in coarse_parts.items()} + out_coarse=self.triple(list(range(ng)),coarse) + # Contract one surviving point and aggregate by the other point groups. + one={} + for u in pts: + g=group_of[u];others=[j for j in range(ng) if j!=g] + pieces=defaultdict(list) + for t,v in w.items(): + if u not in t:continue + rest=[a for a in t if a!=u] + if any(group_of[a]==g for a in rest):continue + pieces[tuple(sorted({group_of[a] for a in rest}))].append(v) + coeff={s:self.total(xs) for s,xs in pieces.items()} + edges={s:coeff.get(s,0) for s in combinations(others,2)} + weights={j:coeff.get((j,),0) for j in others} + total,single,pair=self.block(others,edges,weights) + const=coeff.get((),0) + one[u]={():self.add(const,total)} + one[u].update({(j,):self.add(const,x) for j,x in single.items()}) + one[u].update({s:self.add(const,x) for s,x in pair.items()}) + # Contract two surviving points. The remaining degree is at most one. + two={} + for u,v in combinations(pts,2): + i,j=group_of[u],group_of[v] + if i==j:continue + others=[k for k in range(ng) if k not in (i,j)] + vals=[self.total([w.get(tuple(sorted((u,v,a))),0) for a in groups[k]]) for k in others] + total,leave,_=self.vector([w.get((u,v),0)]+vals,False) + two[u,v]={():total}|{(k,):x for k,x in zip(others,leave[1:])} + + result={};cube_cache={} + for excluded in subsets: + E=set(excluded);G=tuple(sorted({group_of[a] for a in E})) + survivors=[u for i in G for u in groups[i] if u not in E] + assert len(survivors)<=3 + pieces={():out_coarse[G]} + for u in survivors: + omit=tuple(i for i in G if i!=group_of[u]) + pieces[u,]=one[u][omit] + for u,v in combinations(survivors,2): + omit=tuple(i for i in G if i not in (group_of[u],group_of[v])) + pieces[u,v]=two[u,v][omit] + if len(survivors)==3:pieces[tuple(survivors)]=w.get(tuple(survivors),0) + if len(survivors)==3 and all(len(groups[g])==2 for g in G): + if G not in cube_cache:cube_cache[G]=self.cube_values(G,groups,out_coarse,one,two,w) + result[excluded]=cube_cache[G][tuple(sorted(survivors))] + continue + if len(survivors)==3: + a,b,c=survivors + order=[(),(a,),(b,),(a,b),(c,),(a,c),(b,c),(a,b,c)] + else:order=[s for k in range(len(survivors)+1) for s in combinations(survivors,k)] + result[excluded]=self.total([pieces[s] for s in order]) + return result diff --git a/scripts/partial_gauge/interval.py b/scripts/partial_gauge/interval.py new file mode 100644 index 0000000000..ba6581b02b --- /dev/null +++ b/scripts/partial_gauge/interval.py @@ -0,0 +1,70 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +"""Cyclic intervals and core-aware pairs, adapted from Avi Eisenberg PR62.""" +from pathlib import Path +from itertools import combinations +import sys +from paired_triple_circuit import PairedTriple +from paired_exclusion_circuit import PairedExclusionCircuit + +def interval_sums(add,values): + nz=[(i,x) for i,x in enumerate(values) if x] + n=len(nz) + if not n:return 0,[0]*len(values) + if n==1: + result=[nz[0][1]]*len(values);result[nz[0][0]]=0 + return nz[0][1],result + v=[x for _,x in nz];states={(a,1):x for a,x in enumerate(v)} + for length in range(2,n): + for a in range(n):states[a,length]=add(states[a,length-1],v[(a+length-1)%n]) + total=add(states[0,n-1],v[-1]) + out=[total]*len(values) + for j,(i,x) in enumerate(nz):out[i]=states[(j+1)%n,n-1] + return total,out + +class IntervalTriple(PairedTriple): + def vector(self,values,two=True): + if two:return super().vector(values,two) + total,one=interval_sums(self.add,values) + return total,one,{} + + def block(self,points,edges,weights): + if len(points)<=2: + return PairedExclusionCircuit.block(self,points,edges,weights) + groups=self.grouping(points);ng=len(groups) + edge=lambda a,b:edges[tuple(sorted((a,b)))] + coarse={(i,j):self.total([edge(a,b) for a in groups[i] for b in groups[j]]) + for i,j in combinations(range(ng),2)} + wt={i:self.total([weights[a] for a in g]+[edge(a,b) for a,b in combinations(g,2)]) + for i,g in enumerate(groups)} + total,outside,far=self.block(list(range(ng)),coarse,wt) + strips={};sums={} + for i,g in enumerate(groups): + other=[j for j in range(ng) if j!=i] + for a in g: + carry=self.total([weights[u] for u in g if u!=a]) + vals=[self.total([edge(u,v) for u in g if u!=a for v in groups[j]]) for j in other] + st,one=interval_sums(self.add,[carry]+vals) + strips[a]={j:z for j,z in zip(other,one[1:])};sums[a]=st + out={};single={a:self.add(outside[i],sums[a]) for i,g in enumerate(groups) for a in g} + for i,g in enumerate(groups): + for a,b in combinations(g,2):out[a,b]=outside[i] + for i,j in combinations(range(ng),2): + if len(groups[i])==len(groups[j])==2: + (a,a2),(b,b2)=groups[i],groups[j] + F=far[i,j];Sa,Sa2,Sb,Sb2=strips[a][j],strips[a2][j],strips[b][i],strips[b2][i] + FSa,FSa2=self.add(F,Sa),self.add(F,Sa2) + FSb,FSb2=self.add(F,Sb),self.add(F,Sb2) + Y1=self.add(FSb,Sa);Y2=self.add(FSa,Sb2) + Y3=self.add(FSa2,edge(a,b2));Y4=self.add(FSb2,edge(a,b)) + out[a,b]=self.add(edge(a2,b2),Y1) + out[a,b2]=self.add(edge(a2,b),Y2) + out[a2,b]=self.add(Y3,Sb) + out[a2,b2]=self.add(Y4,Sa2) + else: + for a in groups[i]: + left=self.add(far[i,j],strips[a][j]) + for b in groups[j]: + cross=self.total([edge(u,v) for u in groups[i] if u!=a for v in groups[j] if v!=b]) + out[a,b]=self.add(left,self.add(strips[b][i],cross)) + return total,single,out diff --git a/scripts/partial_gauge/lift.py b/scripts/partial_gauge/lift.py new file mode 100644 index 0000000000..5b66ec11bc --- /dev/null +++ b/scripts/partial_gauge/lift.py @@ -0,0 +1,144 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +#!/usr/bin/env python3 +"""Construct maximal nondegenerate backward frames containing every old frame. +Existing carrier dependencies are included before the backward pass. Exact F2 +linear algebra only; the general Gauss compiler permits alternating residuals. +""" +from pathlib import Path +from collections import Counter +import json,argparse +from .binary import load + +def basis(rows): + b={} + for x in rows: + for p,y in sorted(b.items(),reverse=True): + if x>>p&1:x^=y + if x: + p=x.bit_length()-1 + for k,y in list(b.items()): + if y>>p&1:b[k]=y^x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) + +def perp(rows,h): + rows=basis(rows);piv={r.bit_length()-1:r for r in rows};out=[] + for j in range(h): + if j in piv:continue + x=1<>j&1:x|=1<

>31: + j=use&0x7fffffff;x=roots[j];k=kind[j] + normal=(full^cover[x]) if k else (core[x]|(full^cover[x])) + direct[donor].append(normal) + else:succ[donor].append(use//2) + order=sorted((x for x in range(1,n) if active[x]),key=lambda x:(oldrank[x],x)) + place={x:i for i,x in enumerate(order)} + assert all(place[x]>j&1) + elif types[x]==2:U=tuple(1<>j&1) + else:raise ValueError('Unselected center type') + key=(capann,U) + if key not in repaircache: + M=safe_subspace(C,U);repaircache[key]=perp(M,h) + A=repaircache[key];d=h-len(A);repairs+=1 + ann[x]=A;nr[x]=d;assert d>=oldrank[x] + dimhist[d-oldrank[x]]+=1 + degree=[0]*n + for x in order: + if args[2*x]: + degree[args[2*x]]+=1;degree[args[2*x+1]]+=1 + for x in roots:degree[x]+=1 + H=Counter() + for x in order: + r=nr[x] + if args[2*x]: + H[r]+=degree[x]-1;H[h-r]+=1 + for y in (args[2*x],args[2*x+1]):assert r>=nr[y];H[r-nr[y]]+=1 + else: + H[r]+=degree[x]-1;H[1]+=1;H[r-1]+=1 + loss=0 + for x,k in zip(roots,kind): + r=nr[x] + if k:H[r]+=1;H[h-r]+=1;loss+=r + else:assert r<=h-1;H[h-1-r]+=1;H[1]+=1 + for donor,use in arcs.items(): + target=roots[use&0x7fffffff] if use>>31 else use//2 + value=target if use>>31 else args[2*target+(use&1)] + ru,rv=nr[donor],nr[value] + rt=(h-1 if use>>31 else nr[target]) + # Root uses have a direct physical edge to their output frame, not + # necessarily to the value's newly lifted producer frame. + old_target_rank=nr[target] + H[h-ru]-=1;H[rv]-=1 + if use>>31: + H[h-1-rv]-=1;H[h-1-ru]+=1 + else:H[rt-rv]-=1;H[rt-ru]+=1 + assert min(H.values())>=0 + R=meta['R'];mass=sum(r*c for r,c in H.items());assert mass==h*R+loss,(mass,h*R+loss) + out={k:meta[k] for k in ['h','v','c','q','R','matched']} + out.update(loss=loss,histogram=[H[i] for i in range(h+1)],rank_sum=mass, + copied_centers_already=True,repairs=repairs,distinct_caps=len(capcache),distinct_repairs=len(repaircache), + dimension_gains=dict(dimhist),lift='Backward chosen-successor intersection; maximal nondegenerate complement containing old orthonormal frame; old matched dependencies preserved') + return out,ann diff --git a/scripts/partial_gauge/match.cpp b/scripts/partial_gauge/match.cpp new file mode 100644 index 0000000000..9275aaa029 --- /dev/null +++ b/scripts/partial_gauge/match.cpp @@ -0,0 +1,43 @@ +// Copyright 2026 icekylinx. Apache-2.0. +// OpenAI GPT-6 Astra and Codex assistance; retained matcher credits in NOTICE. +#include +#include +#include +#include +#include +#include +#include +using U=uint32_t;using V=uint64_t; +templatevoid readv(std::ifstream&f,std::vector&v){f.read((char*)v.data(),v.size()*sizeof(T));assert(f);} +int main(int argc,char**argv){assert(argc==3);std::ifstream f(argv[1],std::ios::binary);U hdr[4];f.read((char*)hdr,16);assert(f);U h=hdr[0],v=hdr[1],n=hdr[2],q=hdr[3]; +std::vector>args(n);std::vectorcore(n),cover(n);std::vectorroots(q),kind(q);std::vectoractive(n);readv(f,args);readv(f,core);readv(f,cover);readv(f,roots);readv(f,kind);readv(f,active); +std::vectorranks(n),degree(n),begin(n+1);V c=0,inputs=0,loss=0; +for(U x=1;xtypes(n);readv(labels,ranks);readv(labels,types);for(U x:roots)degree[x]++;for(U x=1;xuses(begin.back()),cursor(begin.begin(),begin.end()-1);for(U x=1;xU{return e>>31?roots[e&0x7fffffff]:e/2;}; +auto before=[&](U a,U b){U x=nd(a),y=nd(b);if(ranks[x]!=ranks[y])return ranks[x]>31?V(n)+(a&0x7fffffff):x,oy=b>>31?V(n)+(b&0x7fffffff):y;return oxdonors;for(U x=1;xleftmatch(n),rightmatch(uses.size()),distance(n,UINT32_MAX),queue;V matches=0;U phase=0,inf=UINT32_MAX,shortest=inf; +while(true){queue.clear();shortest=inf;for(U x:donors){if(!leftmatch[x]){distance[x]=0;queue.push_back(x);}else distance[x]=inf;}for(U at=0;at=shortest)continue;adjacency(x,[&](U j){U y=rightmatch[j];if(!y)shortest=distance[x]+1;else if(distance[y]==inf){distance[y]=distance[x]+1;queue.push_back(y);}return false;});}if(shortest==inf)break; +auto aug=[&](auto&&self,U x)->bool{bool ok=adjacency(x,[&](U j){U y=rightmatch[j];if((!y&&distance[x]+1==shortest)||(y&&distance[y]==distance[x]+1&&self(self,y))){leftmatch[x]=j+1;rightmatch[j]=x;return true;}return false;});if(!ok)distance[x]=inf;return ok;};V gained=0;for(U x:donors)if(!leftmatch[x]&&aug(aug,x)){matches++;gained++;}std::cerr<<"h="<hist(h+1);for(U x=1;x=ranks[y]);hist[r-ranks[y]]++;}}else hist[1]+=degree[x];} +for(U j=0;j>31?target:args[target][e&1];assert(value==args[donor][0]||value==args[donor][1]);if(value==args[donor][0])changed++;U ru=ranks[donor],rv=ranks[value],rt=ranks[target];assert(rt>=ru&&ru>=rv);hist[h-ru]--;hist[rv]--;hist[rt-rv]--;hist[rt-ru]++;} +std::vectorterminal(h+1); +for(U x=1;x=0);sum+=r*hist[r];}assert(sum==h*R+2*loss); + +std::cout<<"{\"h\":"<=2: + types.append(1);ranks.append(s.bit_count());lookup[s]=x + else: + types.append(2);ranks.append(cover[x].bit_count());lookup[s]=x + return x + def total(xs,center=None): + xs=[x for x in xs if x] + while len(xs)>1: + xs=[add(xs[i],xs[i+1],center) if i+1=0 + Y=Counter() + for ranks in target_ranks: + prev=0 + for r in list(reversed(ranks))+[h-1]:assert r>=prev;Y[r-prev]+=1;prev=r + result={k:d[k] for k in ['h','v','R','q','c','matched','loss']} + result.update(selected_roles=len(selected),selected_rank_histogram=dict(birth), + remaining_internal_histogram=[H[r] for r in range(h+1)], + source_data_histogram={h-1:v},target_data_histogram=dict(Y), + copied_centers_already=True,phase1_operations=len(word['phase1']), + total_M_operations=len(ops),untouched_non_source_roles=len(candidates), + selection='Descending first-frame rank; intersect all incident latest target frames; retain maximal nondegenerate summand', + partial_first_transition_histogram=dict(residual),distinct_caps=len(cache), + repaired_caps=repaired, + scalar_readout='Exact rational C=J M; Boolean support is a safe superset only', + chronological_contract='Nondeferred reads at0; source V; center-closed M phase1; copied centers at0; selected partial-gauge reads in reverse selection order; remaining M; side scatter; inverse M/V atfull F') + return result,dict(base_word=Path(wordfile).name,selected=selected) diff --git a/scripts/partial_gauge/verify.py b/scripts/partial_gauge/verify.py new file mode 100644 index 0000000000..a1afefe66d --- /dev/null +++ b/scripts/partial_gauge/verify.py @@ -0,0 +1,125 @@ +# Copyright 2026 icekylinx. Apache-2.0. +# Prepared with OpenAI GPT-6 Astra and Codex assistance; see NOTICE. +"""Independent checks of the generated DAG, lifted frames and physical word.""" +from collections import Counter +from functools import lru_cache +from itertools import combinations +from .binary import load +from .lift import basis, perp, contained, nondeg + + +def verify(path, matching, ann, lift, word, selected, record): + h,v,n,q,args,core,cover,roots,kind,active,oldrank,types=load(path) + triples=list(combinations(range(h),3)); full=(1<>j&1) + else: + assert types[x]==2 + old=tuple(1<>j&1) + assert len(old)==oldrank[x] and includes(basis(old),F) + if a: + assert includes(A,tuple(ann[a])) and includes(A,tuple(ann[b])) + for j,t in enumerate(triples): + assert supports[roots[j]]==all_inputs & ~(point[t[0]]|point[t[1]]|point[t[2]]) + at=v + for a,b in combinations(range(h),2): + others=[i for i in range(h) if i not in (a,b)] + others.sort(key=lambda i:((i^1) in (a,b),i)) + for i in others: + assert supports[roots[at]]==point[a]&point[b]&~point[i];at+=1 + for a in range(h): + assert kind[at] and supports[roots[at]]==all_inputs^point[a];at+=1 + assert at==q + # Every input appears in h-3 disjoint centers: exact divisor 21. For + # overlap k, twice the signed output coefficient is 2-(3-k)+[k=0]-[k=2]. + assert h-3==21 + assert [2-(3-k)+(k==0)-(k==2) for k in range(4)]==[0,0,0,2] + for donor,use in matching['matching_arcs']: + if use>>31: + j=use&0x7fffffff;x=roots[j] + normal=full^cover[x] if kind[j] else core[x]|(full^cover[x]) + assert includes(basis([normal]),tuple(ann[donor])) + else:assert includes(tuple(ann[use//2]),tuple(ann[donor])) + R=record['R']; values=[0]*R; current=[0]*R; first=[None]*R + H=Counter();phase=set(word['phase1']); touched=set(map(int,word['sources'].values())) + for x,s in word['sources'].items(): + values[s]=supports[int(x)];current[s]=1;H[1]+=1 + last=[-1]*R + for i,(a,b,x) in enumerate(word['ops']): + assert a!=b + if i in phase: + assert all(last[s]<0 or last[s] in phase for s in (a,b)) + touched.update((a,b)) + for s in (a,b): + if first[s] is None:first[s]=x + r=h-len(ann[x]);assert r>=current[s] + H[r-current[s]]+=1;current[s]=r;last[s]=i + assert not values[a]&values[b] + values[a]|=values[b] + assert values[a]==supports[x] + for j,(x,s) in enumerate(zip(roots,word['rootroles'])): + assert values[s]==supports[x] + if kind[j]: + assert last[s]<0 or last[s] in phase + H[current[s]]+=1 + else: + H[h-1-current[s]]+=1;current[s]=h-1 + for r in current:H[h-r]+=1 + assert all(H[r]==lift['histogram'][r] for r in range(1,h+1)) + co=[0]*R;tid={sum(1<>31 else args[2*(u//2)+(u&1)] + if value==aa:p,o=o,p + else:assert value==bb + assert u not in assign;assign[u]=o + ops.append((p,o,x)) + else:p=R;R+=1;sources[x]=p + free=[u for u in uses[x] if u not in incoming] + assert free + for j,u in enumerate(free): + assert u not in assign + if j==0:assign[u]=p + else: + s=R;R+=1;assign[u]=s;ops.append((s,p,x)) + assert R==mt['R'],(R,mt['R']) + rootroles=[assign[(1<<31)|j] for j in range(q)] + prev=[-1]*R;pred=[];first=[None]*R + for i,(a,b,x) in enumerate(ops): + pred.append((prev[a],prev[b]));prev[a]=prev[b]=i + if first[a] is None:first[a]=x + if first[b] is None:first[b]=x + centerroles=[rootroles[j] for j in range(q) if kind[j]] + stack=[prev[s] for s in centerroles if prev[s]>=0];phase=set() + while stack: + i=stack.pop() + if i in phase:continue + phase.add(i);stack.extend(p for p in pred[i] if p>=0) + touched=set(sources.values()) + for i in phase:touched.update(ops[i][:2]) + triples=list(combinations(range(h),3));tid={sum(1<= 0, 'Target physical path retreats') + if increment: + yhist[increment] += 1 + current[target] = rank + for rank in current: + require(rank <= h-1, 'Target frame exceeds its output hyperplane') + if rank < h-1: + yhist[h-1-rank] += 1 + local = dict(aux=aux, data=xhist+yhist, center=Counter({h-1: len(schedule.ret)})) + require(sum(r*n for r,n in local['data'].items()) == 2*v*(h-1), + 'Physical data path rank mass mismatch') + exits = Counter(h-rank for rank in schedule.f) + require(all(0 < rank <= h for rank in exits), 'Invalid physical exit nullity') + require(sum(exits.values()) == roles, 'Missing physical exit') + return h, v, roles, local, exits + + +def reconstruct(input_path=INPUT): + record = json.loads(Path(input_path).read_text()) + folder, sources = frozen_sources(record) + ledger = json.loads((folder/'bit-ledger-result.json').read_text()) + for flag in ('complete_forward_F2', 'complete_reflected_F2', + 'reflected_frame_continuity', 'all_scalar_gates_equal_frame_keys', + 'histogram_matches_external'): + require(ledger[flag] is True, 'Pinned physical ledger lacks '+flag) + h, v, roles, local, exits = local_ranks(folder) + require((ledger['h'], ledger['roles'], ledger['formal_basis']) == (h, roles, 2*v+roles), + 'Physical ledger dimensions differ') + require({kind: encoded(hist) for kind,hist in local.items()} == ledger['rank_histograms'], + 'Reconstructed physical ranks differ from the pinned reflected ledger') + m, N = h*h, v*v + W = 2*N+2*v*roles + whole = Counter() + for hist in local.values(): + for rank, count in hist.items(): + whole[rank] += 2*v*count + # Each role's exterior I-(I-sigma) tensor Q has rank m-(h-dim sigma). + for nullity, count in exits.items(): + whole[m-nullity] += 2*v*count + # The original entrance projector is one rank-(h-1)^2 edge per bank pair. + whole[(h-1)**2] += 2*N + whole[1] += N # physical copy correction + mass = sum(rank*count for rank,count in whole.items()) + require(mass == ledger['recursive_rank'], 'Whole-projector rank mass changed') + require(all(0 < rank < m and count > 0 for rank,count in whole.items()), + 'Invalid whole-projector child') + result = dict(dimensions=[h,h], m=m, v=v, N=N, R=roles, W=W, + rank_mass=mass, deficit=W*m-mass, max_child=max(whole), + local_rank_histograms={kind: encoded(hist) for kind,hist in local.items()}, + exit_nullity_histogram=encoded(exits), + whole_projector_histogram=encoded(whole)) + for key, value in result.items(): + require(value == record[key], 'Round-six expected profile differs: '+key) + result['checks'] = dict(source_hashes_equal=True, physical_local_ranks_reconstructed=True, + physical_ledger_ranks_equal=True, whole_profile_equal=True, + full_upstream_audits_repeated=False) + result['provenance'] = dict(pr97=sources['pr97'], underlying=sources['underlying'], + source_manifest=record['source_manifest'], + source_manifest_sha256=record['source_manifest_sha256']) + result['scope'] = ('Incremental rank accounting from pinned physical chains and ledger; ' + 'scalar complete-basis replay and rational geometry remain inherited checks.') + return result + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--input', type=Path, default=INPUT) + parser.add_argument('--output', type=Path) + args = parser.parse_args() + result = reconstruct(args.input) + text = json.dumps(result, indent=2, sort_keys=True)+'\n' + if args.output: + args.output.write_text(text) + else: + print(text, end='') + + +if __name__ == '__main__': + main() diff --git a/scripts/partial_gauge_network.py b/scripts/partial_gauge_network.py new file mode 100644 index 0000000000..53b7e06b96 --- /dev/null +++ b/scripts/partial_gauge_network.py @@ -0,0 +1,179 @@ +#!/usr/bin/env python3 +"""Exact deferred-word moments and partial-gauge semantic assembly. + +Copyright 2026 icekylinx. Apache-2.0. +Substantial OpenAI GPT-6 Astra and Codex assistance. +PR97 physical bit words: Zhihao Chen, based on Swapnil Jain's witness. +Semantic/bulk assembly: PR23 (Zhihao Chen) and RaD; see SOURCES.json. +""" +import argparse +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from math import comb +from pathlib import Path +import json +import sys + +from certify import require +from copied_centers_network import grid_upper +from partial_swap_network import moment +from partial_gauge_bit import reconstruct +from structured_bulk_assembly import assembly, halving, js + +ROOT = Path(__file__).resolve().parents[1] +COARSE = Q(15513, 125000000) +ATOM = Q(1, 1000) +OLD = Q(384599, 10**10) +AB = (1-ATOM)*COARSE+ATOM*OLD +AC = Q(92651, 10**9) +PHASE_STOP = Q(1, 10**6) +ASSEMBLY_BIT = min(AB, (1-PHASE_STOP)*AC-Q(1, 10**10)) +KAPPA = Q(7237, 78125000) + + +def coarse_moment(p): + def log_upper(x): + power = 0 + while x >= 2: + x /= 2 + power += 1 + def small(y): + z = (y-1)/(y+1) + return 2*sum((z**(2*j+1)/(2*j+1) for j in range(24)), Q(0)) + 2*z**49/(49*(1-z*z)) + return grid_upper(power*small(Q(2))+small(x)) + total, logs = Q(0), {} + for t, n in p['child_multiplicities'].items(): + require(0 < t < p['m'] and n > 0, 'Shrinking positive bit children') + logs[t] = log_upper(Q(p['m'],t)) + u = COARSE*logs[t] + require(0 < u < 3, 'Coarse exponential enclosure') + total += n*t*grid_upper(1+u+u*u/(2*(1-u/3))) + upper = total/(p['W']*p['m']) + mass = Q(p['total_rank'],p['W']*p['m']) + require(mass < 1 and upper < 1, 'Both stopped-recurrence moments') + require(0 < OLD <= COARSE < ATOM < 1 and ATOM > AB, 'Stopped-adapter exponents') + return dict(saving=COARSE, exponent=1-COARSE, moment_upper=upper, + strict_gap=1-upper, rank_moment=mass, logarithm_upper_bounds=logs, + rounding_denominator=1 << 100, + stopped_adapter=dict(atom_exponent=ATOM, base_ordinary_saving=OLD, + effective_saving=AB, coarse_toll_exponent=1-ATOM, + coarse_toll_subordinate_gap=ATOM-COARSE)) + + +def complex_profile(row): + h, v, R, ell = (row[k] for k in ('h','v','R','loss')) + require((h,v,ell) == (24,comb(24,3),24*23), 'Complex dimensions') + require(R == row['c']+row['q']-row['matched'], 'Compatible role count') + selected = {int(r):n for r,n in row['selected_rank_histogram'].items()} + require(sum(selected.values()) == row['selected_roles'] == 6341, 'Selected partial gauges') + require(row['copied_centers_already'], 'Copied-center convention') + require(sum(row['partial_first_transition_histogram'].values()) == sum(selected.values()), 'Charged first residuals') + m, N, W = h*h, v*v, 2*v*v+2*v*R + C = Counter({m-h:2*v*(R-sum(selected.values())), (h-1)**2:2*N, 1:N}) + for r,n in selected.items(): + require(0 < r < h and n > 0, 'Nonzero shrinking exterior gauges') + C[m-h+r] += 2*v*n + for name in ('source_data_histogram','target_data_histogram'): + for r,n in row[name].items(): + C[int(r)] += 2*v*n + for r,n in enumerate(row['remaining_internal_histogram']): + if r: + C[r] += 2*v*n + C = dict(sorted((r,n) for r,n in C.items() if n)) + require(all(0 < r < m and n > 0 for r,n in C.items()), 'Shrinking complex children') + s = sum(r*n for r,n in C.items()) + require(s == W*m-N+2*v*ell, 'Complete complex rank mass') + return dict(dimensions=[h,h],m=m,N=N,W=W,L=2*v*ell,total_rank=s, + deficit=W*m-s,maxchild=max(C),child_multiplicities=C) + + +def finite_bridge(bit, phase, row, previous): + m,W,s,N = (phase[k] for k in ('m','W','total_rank','N')) + h,v,R = (row[k] for k in ('h','v','R')) + local = 4*(row['c']+v)+10*v+4*h*v+4*h*h+8*h+8+2*h + local += 8*R*v*(row['total_M_operations']+16) + G = N+2*v*local + E = 64*(W+m+G+1)**3 + charge = 2*G*W*W+8*s+4*W+4+32*m + B, r = s+E, phase['maxchild'] + C0 = 32*m*B*B + require(charge < E and 2*B*(m-r) >= s+E and 2*B+18 < C0, 'Semantic induction and charge') + dc,dp = halving(bit['m'],bit['maxchild']),halving(m,r) + wc,wp = bit['W'].bit_length(),W.bit_length() + old_bit = previous['finite_bridge']['bit'] + old = old_bit['halving_degree']*old_bit['wire_bits'] + require(old == 252, 'Inherited ordinary leaf row stock') + coeff,degree = wc*dc+old+wp*dp,40000 + require(Q(degree) > Q(coeff*51,25), 'Sufficient product row stock') + return dict(bit_coarse=dict(m=bit['m'],W=bit['W'],maxchild=bit['maxchild'], + halving_degree=dc,wire_bits=wc),ordinary_leaf_row_degree=old, + complex=dict(m=m,W=W,s=s,maxchild=r,halving_degree=dp,wire_bits=wp, + scalar_group_upper=G,local_group_upper=local,coefficient_bound=h+4, + coefficient_denominator_divides=2*(h-3)), + semantic=dict(E=E,literal_charge=charge,strict_literal_gap=E-charge, + B=B,C0=C0,C1=1,induction_gap=2*B*(m-r)-s-E,fixed_odd_divisor=h-3, + exact_grid='One common dyadic grid times the fixed odd divisor to K=G*(D_complex+1); no child rounding'), + rows=dict(coefficient=coeff,degree=degree,suffix_slope=4*degree, + degree_gap=Q(degree)-Q(coeff*51,25), + contract='W_complex^D_complex * W_coarse^D_coarse * W_old^D_old; one preceding prefix and one padding; sequential reuse')) + + +def certificate(): + require(not sys.flags.optimize, 'Run without -O') + def read(name): + return json.loads((ROOT/'certificates'/name).read_text()) + raw = reconstruct() + row = read('partial-gauge-complex-input.json') + expected = read('partial-gauge-input.json') + previous = read('copied-centers-network.json') + require(Q(previous['bit']['saving']) == OLD, 'Inherited leaf saving') + C = {int(r):n for r,n in raw['whole_projector_histogram'].items()} + bit = dict(dimensions=raw['dimensions'],m=raw['m'],W=raw['W'],N=raw['N'], + total_rank=raw['rank_mass'],deficit=raw['deficit'],maxchild=max(C),child_multiplicities=C) + require(sum(r*n for r,n in C.items()) == bit['total_rank'], 'Bit rank mass') + require(bit['W']*bit['m']-bit['total_rank'] == bit['deficit'], 'Bit deficit') + phase = complex_profile(row) + bm = coarse_moment(bit) + cm = moment(phase['m'],phase['W'],phase['child_multiplicities'],AC,True) + require(bm['strict_gap'] == Q(expected['bit_moment_gap']), 'Saved coarse moment') + require(cm['strict_gap'] == Q(expected['complex_moment_gap']), 'Saved complex moment') + require(js(phase['child_multiplicities']) == expected['complex_children'], 'Saved complex children') + bridge = finite_bridge(bit,phase,row,previous) + assembled = assembly(ASSEMBLY_BIT,AC,bridge,KAPPA,beta=PHASE_STOP) + assembled['parameters']['actual_bit_saving'] = AB + require(ASSEMBLY_BIT <= AB, 'Supported assembly movement saving') + require(js(bridge) == expected['finite_bridge'], 'Saved finite bridge') + require(js(assembled) == expected['assembly'], 'Saved exact assembly') + require(len(assembled['strict_constraints']) == 47 and len(assembled['margins']) == 7, 'Complete strict constraints') + sources = sorted(p for p in (ROOT/'certificates').glob('partial-gauge-*.json') + if p.name != 'partial-gauge-network.json') + sources += sorted((ROOT/'scripts').glob('partial_gauge*.py')) + sources += sorted(p for p in (ROOT/'scripts/partial_gauge').rglob('*') + if p.is_file() and '__pycache__' not in p.parts) + sources += sorted((ROOT/'notes').glob('partial-gauge-*.tex')) + sources += sorted(p for p in (ROOT/'references/partial-gauge').rglob('*') + if p.is_file() and '__pycache__' not in p.parts) + sources += [ROOT/p for p in ('scripts/copied_centers_network.py', + 'scripts/partial_swap_network.py','scripts/structured_bulk_assembly.py', + 'certificates/copied-centers-network.json','certificates/stopped-product-network.json', + 'scripts/paired_triple_circuit.py','scripts/paired_exclusion_circuit.py')] + return dict(status='Conditional partial-gauge multiplication witness',kappa=KAPPA, + bit=dict(counts=bit,**bm),complex=dict(counts=phase,**cm), + finite_bridge=bridge,assembly=assembled, + predecessor_commit='948ce1510df750f4c18b96bdaef436a86f8bf834', + source_sha256={str(p.relative_to(ROOT)):sha256(p.read_bytes()).hexdigest() for p in sources}, + scope='Exact moments, stopped bit saving and semantic assembly. Finite producer/frame checks ' + 'are separate; common-basis, fixed-tape and analytic transfer remain written proof dependencies.') + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--output',type=Path,default=ROOT/'certificates/partial-gauge-network.json') + args = parser.parse_args() + args.output.write_text(json.dumps(js(certificate()),indent=2,sort_keys=True)+'\n') + print('PASS kappa=7237/78125000 = 9.26336e-5; both moments, stopped saving, p^40000 stock, 47 strict constraints') + + +if __name__ == '__main__': + main() diff --git a/scripts/partial_gauge_producer.py b/scripts/partial_gauge_producer.py new file mode 100644 index 0000000000..2d91d92b8e --- /dev/null +++ b/scripts/partial_gauge_producer.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +"""Regenerate and verify the selected h=24 partial-gauge complex producer. + +Standard-library Python and C++17; generated DAGs and words are temporary. +Copyright 2026 icekylinx, Apache-2.0. Adapted from the credited round-six handoff. +""" +import argparse +import json +import os +from pathlib import Path +import shlex +import subprocess +import sys +import tempfile +from partial_gauge.scalar import build +from partial_gauge.lift import run as lift_run +from partial_gauge.word import run as word_run +from partial_gauge.select import run as select_run +from partial_gauge.verify import verify + +ROOT=Path(__file__).resolve().parents[1] + + +def regenerate(work, expected, compiler): + if sys.flags.optimize:raise ValueError('Run without -O; finite assertions must remain enabled') + def stage(message):print(message,file=sys.stderr,flush=True) + def save(name,data): + path=work/name;path.write_text(json.dumps(data,separators=(',',':'))+'\n');return path + stage('Building the actual interval/cube scalar DAG') + scalar=build(24,base=2,central_disjoint=24,output_prefix='complex_cube',output_dir=work) + dag=work/'complex_cube_24.bin';matcher=work/'matcher' + subprocess.run([*shlex.split(compiler),'-O3','-std=c++17',str(ROOT/'scripts/partial_gauge/match.cpp'),'-o',str(matcher)],check=True) + stage('Constructing compatible carrier matching') + matching=json.loads(subprocess.check_output([str(matcher),str(dag),str(dag.with_suffix('.labels'))],text=True)) + matchfile=save('matching.json',matching) + stage('Lifting exact binary frames backward through dependencies and carriers') + lifted,ann=lift_run(dag,matchfile);liftfile=save('lifted.json',lifted);annfile=save('annihilators.json',ann) + stage('Constructing physical M and its retained-center dependency closure') + word=word_run(dag,matchfile,annfile,liftfile);wordfile=save('word.json',word) + stage('Selecting partial source gauges with reverse readouts') + result,selection=select_run(dag,annfile,liftfile,wordfile) + result=json.loads(json.dumps(result)) + assert result==expected, 'Regenerated selected certificate differs' + save('selection.json',selection) + stage('Checking scalar coefficients, actual frames, physical word and readout chains') + checks=verify(dag,matching,ann,lifted,word,selection['selected'],result) + return dict(regenerated_from_source=True,certificate_equal=True,selected=result,checks=checks) + + +def main(): + p=argparse.ArgumentParser(description=__doc__) + p.add_argument('--certificate',type=Path,default=ROOT/'certificates/partial-gauge-complex-input.json') + p.add_argument('--work-dir',type=Path) + p.add_argument('--output',type=Path) + p.add_argument('--cxx',default=os.environ.get('CXX','c++')) + a=p.parse_args();expected=json.loads(a.certificate.read_text()) + if a.work_dir: + a.work_dir.mkdir(parents=True,exist_ok=True);result=regenerate(a.work_dir.resolve(),expected,a.cxx) + else: + with tempfile.TemporaryDirectory(prefix='partial-gauge-') as directory: + result=regenerate(Path(directory),expected,a.cxx) + encoded=json.dumps(result,indent=2)+'\n' + if a.output:a.output.write_text(encoded) + else:print(encoded,end='') + + +if __name__=='__main__':main() diff --git a/scripts/stopped_product/README.md b/scripts/stopped_product/README.md new file mode 100644 index 0000000000..6c18be051f --- /dev/null +++ b/scripts/stopped_product/README.md @@ -0,0 +1,36 @@ +# Selected rational-center producer + +Run from the repository root: + +```sh +python3 scripts/stopped_product_producer.py --output /tmp/stopped-product-producers.json +``` + +Only the new aligned complex producer at h=24 is rebuilt. It retains all +24 disjoint-point sums and decodes the total by exact division by21. The +pair-star input order is aligned with global pairs. Its generator adapts +`structured_bulk.complex`, preserving exact support, output orthogonality, +binary frame nesting and nondegeneracy checks. Rational decoder and scatter +coefficients are checked with `Fraction`; their only odd denominator is21. +The unchanged deterministic matcher compares every count and histogram +entry against `stopped-product-complex-input.json`. + +The h23 bit record is compared with the preceding validated copied-center +input. No old bit DAG, matching, or corner is regenerated. Both copied-center +histogram transformations reuse the established exact rank-mass checker. + +All DAGs, labels and the compiled matcher are temporary by default; +`--work-dir` retains them. Python assertions must be enabled. Standard-library +Python and a C++17 compiler suffice. No binary archive is an input. + +The odd-grid extension is a written recursive invariant, not a claim proved +by the finite scalar tests. With dyadic root inputs, K=G(D+1) supplies enough +odd-divisor reserve along the active chain. A completed child preserves its +incoming odd valuation; it does not generally make rational child inputs +dyadic. Only the completed outer dyadic operator restores the original +dyadic grid. No child return is rounded. + +Copyright 2026 icekylinx, Apache-2.0. New selected alignment, rational centers +and integration were prepared with OpenAI GPT-6 Astra/Codex assistance. +Underlying paired producers and deterministic carrier matching retain the +previous contributors' attribution in `NOTICE` and `SOURCES.json`. diff --git a/scripts/stopped_product/__init__.py b/scripts/stopped_product/__init__.py new file mode 100644 index 0000000000..f7a6e90661 --- /dev/null +++ b/scripts/stopped_product/__init__.py @@ -0,0 +1 @@ +"""Selected stopped-product inputs and rational producer; icekylinx, 2026.""" diff --git a/scripts/stopped_product/complex.py b/scripts/stopped_product/complex.py new file mode 100644 index 0000000000..ef1af25507 --- /dev/null +++ b/scripts/stopped_product/complex.py @@ -0,0 +1,228 @@ +"""Selected aligned rational-center producer, h=24 with all centers disjoint. + +Copyright 2026 icekylinx, Apache-2.0. AI-assisted adaptation of the research +round-five handoff, using the credited retained PairedTriple circuit; see NOTICE. +Adapted from structured_bulk.complex: align pair-star inputs and permit the +fixed rational divisor21; retain all exact support/frame/scalar checks. + +Builds a concrete scalar addition DAG, its nondegenerate binary frames, and +the unmixed carrier histogram. No historical audit suite is invoked. +""" +import json, struct, array +from itertools import combinations +from pathlib import Path +from partial_swap.binary import write_array +from paired_triple_circuit import PairedTriple + +def build(h, prefix, central_disjoint, base=2): + assert (h, central_disjoint, base) == (24,24,2) + d=central_disjoint + assert 0= 2: + x /= 2 + power += 1 + def small(y): + z = (y-1)/(y+1) + return 2*sum((z**(2*j+1)/(2*j+1) for j in range(32)),Q(0)) + 2*z**65/(65*(1-z*z)) + return up(power*small(Q(2))+small(x)) + + +def exp_upper(u): + require(0 <= u < 3,'Exponential enclosure') + return up(1+u+u*u/(2*(1-u/3))) + + +def bit_certificate(row): + physical = reconstruct() + h,v,R = (row[k] for k in ('h','v','R')) + require((h,v,R) == (23,comb(23,3),28866),'Bit local dimensions') + for key in ('v','R','local_rank_histograms','exit_nullity_histogram'): + require(row[key] == physical[key],'Inherited physical bit ledger: '+key) + ell = row['center_loss'] + require(ell == h*(h-1),'Copied-center loss') + m,W,H = 3*h-2,2*v+3*R,Counter() + for part in row['local_rank_histograms'].values(): + for r,n in part.items(): + H[int(r)] += 3*n + for nullity,n in row['exit_nullity_histogram'].items(): + H[m-int(nullity)] += 3*n + require(all(0 < r < m and n > 0 for r,n in H.items()),'Proper bit children') + mass = sum(r*n for r,n in H.items()) + require(W*m-mass == 2*v-3*ell,'Three-stage bit telescoping') + logs = {r:log_upper(Q(m,r)) for r in H} + good = sum(Q(r*n,W*m)*exp_upper(COARSE*logs[r]) for r,n in H.items()) + fallback,edges = 32*m*m,sum(H.values()) + extra = BAD*Q(fallback*edges,W*m)*exp_upper(COARSE*log_upper(Q(m))) + rank_upper = Q(mass)+BAD*fallback*edges + require(good+extra < 1 and rank_upper < W*m,'Both contaminated moments') + require(Q(2*m**3,2**80) < BAD,'Fixed-prime bad-class fraction') + require(ATOM > AB and ATOM < 1-AB,'Subordinate adapter and row-borrowing tolls') + return dict(m=m,local_dimension=h,roles_per_vertex=W, + ideal_rank_mass_per_vertex=mass,ideal_deficit=2*v-3*ell, + ideal_child_multiplicities=dict(sorted(H.items())),maxchild=max(H), + coarse_saving=COARSE,effective_saving=AB,atom_exponent=ATOM, + ordinary_leaf_saving=OLD,bad_fraction=BAD, + fallback_children_per_edge=fallback,edge_count_per_vertex=edges, + good_moment_upper=good,added_bad_moment_upper=extra, + strict_gap=1-good-extra,rank_mass_upper_per_vertex=rank_upper, + log_upper_bounds=logs,rounding_denominator=GRID, + row_stock='O(w log e) internally borrowed radix-q digits, restored at the outer boundary', + prime_choice='Fixed odd q > 2^80 avoiding the finite rational denominator and rank-witness primes') + + +def complex_certificate(row): + h,v,R,ell = (row[k] for k in ('h','v','R','loss')) + require((h,v,R,ell) == (24,comb(24,3),28705,552),'Complex local dimensions') + require(R == row['c']+row['q']-row['matched'],'Compatible roles') + selected = {int(r):n for r,n in row['selected_rank_histogram'].items()} + require(sum(selected.values()) == row['selected_roles'] == 4599,'Partial gauges') + m,w,C = 3*h-2,2*v+3*R,Counter() + C[m-h] += 3*(R-sum(selected.values())) + for r,n in selected.items(): + C[m-h+r] += 3*n + for key in ('source_data_histogram','target_data_histogram'): + for r,n in row[key].items(): + C[int(r)] += 3*n + for r,n in enumerate(row['remaining_internal_histogram']): + if r: + C[r] += 3*n + C = dict(sorted((r,n) for r,n in C.items() if r and n)) + require(all(0 < r < m and n > 0 for r,n in C.items()),'Proper complex children') + rank = sum(r*n for r,n in C.items()) + require(w*m-rank == 2*v-3*ell,'Three-stage complex telescoping') + n = m//2 + vertices = 2**(m-1+(n-1)**2)*prod(2**(2*i)-1 for i in range(1,n)) + exact = moment(m,w,C,AC,True) + return dict(m=m,N=vertices*v,W=vertices*w,total_rank=vertices*rank, + deficit=vertices*(w*m-rank),vertices_per_stage=vertices,maxchild=max(C), + group_order_bits=vertices.bit_length(),per_vertex=dict(W=w,rank=rank, + deficit=w*m-rank,child_multiplicities=C),**exact) + + +def finite_bridge(c,row): + m,W,s,N,V = (c[k] for k in ('m','W','total_rank','N','vertices_per_stage')) + h,v,R = (row[k] for k in ('h','v','R')) + local = 4*(row['c']+v)+10*v+4*h*v+4*h*h+8*h+8+2*h + local += 8*R*v*(row['total_M_operations']+16) + router = 64*(m+1)**3*W**2 + G = N+3*V*local+router + E = 64*(W+m+G+1)**3 + charge = 2*G*W*W+8*s+4*W+4+32*m + B,C0,r = s+E,32*m*(s+E)**2,c['maxchild'] + require(charge < E and 2*B*(m-r) >= s+E and 2*B+18 < C0,'Finite semantic charge') + dp,wp = halving(m,r),W.bit_length() + old_coarse,old_atom = 9909,252 + coefficient,degree = dp*wp+old_coarse+old_atom,160000 + require(Q(degree) > Q(51*coefficient,25),'External product row reserve') + return dict(bit_uniform=dict(coarse_saving=COARSE,atom_beta=ATOM, + old_atom_saving=OLD,ordinary_saving=AB, + selector_stock='O(w log e) internal borrowed rows; restored by the uniform old-supplier wrapper', + external_stock='No q-adic group-size factor is inserted into the external polynomial row stock'), + conservative_old_coarse_row_reserve=old_coarse,ordinary_leaf_row_degree=old_atom, + complex=dict(m=m,W=W,s=s,N=N,maxchild=r,invocations_per_stage=V,stages=3, + halving_degree=dp,wire_bits=wp,scalar_group_upper=G,local_group_upper=local, + finite_group_router_upper=router,coefficient_bound=h+4, + coefficient_denominator_divides=2*(h-3)), + semantic=dict(E=E,literal_charge=charge,strict_literal_gap=E-charge, + B=B,C0=C0,C1=1,induction_gap=2*B*(m-r)-s-E,fixed_odd_divisor=h-3, + exact_grid='One common dyadic grid times 21^(-K), K=G*(D_complex+1); no child rounding'), + rows=dict(coefficient=coefficient,complex_coefficient=dp*wp,degree=degree, + suffix_slope=4*degree,degree_gap=Q(degree)-Q(51*coefficient,25), + contract='Finite complex group role stock plus conservative fixed legacy bit reserves; q-adic selectors borrowed internally and restored; one prefix and one padding; sequential reuse')) + + +def certificate(): + require(not sys.flags.optimize,'Run without -O') + def read(name): + return json.loads((ROOT/'certificates'/name).read_text()) + expected = read('three-stage-cover-input.json') + bit = bit_certificate(read('three-stage-cover-bit-input.json')) + row = read('three-stage-cover-complex-input.json') + phase = complex_certificate(row) + bridge = finite_bridge(phase,row) + previous = read('copied-centers-network.json') + require(Q(previous['bit']['saving']) == OLD,'Retained ordinary leaf') + result = assembly(ASSEMBLY_BIT,AC,bridge,KAPPA,beta=PHASE_STOP) + result['parameters']['actual_bit_saving'] = AB + require(ASSEMBLY_BIT <= AB,'Supported assembly bit saving') + for actual,key in ((bit['strict_gap'],'bit_moment_gap'),(phase['strict_gap'],'complex_moment_gap'), + (result['minimum_margin'],'assembly_minimum'),(result['absorption_gap'],'absorption_gap')): + require(actual == Q(expected[key]),'Saved exact '+key) + require(js(bit['ideal_child_multiplicities']) == expected['bit_child_multiplicities'],'Saved bit children') + require(js(phase['per_vertex']['child_multiplicities']) == expected['complex_child_multiplicities'],'Saved complex children') + require(phase['vertices_per_stage'] == expected['complex_group_order'],'Finite group order') + require(bridge['rows']['degree'] == expected['row_degree'] and bridge['rows']['coefficient'] == expected['row_coefficient'],'Saved row bound') + require(KAPPA == Q(expected['kappa']) and len(result['strict_constraints']) == 47 and len(result['margins']) == 7,'Complete assembly') + sources = sorted(p for p in (ROOT/'certificates').glob('three-stage-cover-*.json') + if p.name != 'three-stage-cover-network.json') + sources += sorted((ROOT/'scripts').glob('three_stage_cover*.py')) + sources += sorted(p for folder in ('scripts/three_stage_cover','references/three-stage-cover') + for p in (ROOT/folder).rglob('*') if p.is_file() and '__pycache__' not in p.parts) + sources += sorted((ROOT/'notes').glob('three-stage-cover-*.tex'))+[ROOT/'notes/general-clifford-frames.tex'] + sources += [ROOT/p for p in ('scripts/partial_gauge_bit.py','certificates/partial-gauge-bit-input.json', + 'references/partial-gauge/pr97/SOURCE.json','scripts/partial_swap_network.py', + 'scripts/structured_bulk_assembly.py','certificates/copied-centers-network.json', + 'certificates/stopped-product-network.json','certificates/partial-gauge-network.json', + 'scripts/partial_gauge/binary.py','scripts/partial_gauge/lift.py','scripts/partial_gauge/word.py', + 'scripts/partial_gauge/match.cpp')] + return dict(status='Conditional three-stage cover multiplication witness',kappa=KAPPA, + bit=bit,complex=phase,finite_bridge=bridge,assembly=result, + predecessor_commit='cf60442983c153a3a0f5272ea4713f99eba13c86', + source_sha256={str(p.relative_to(ROOT)):sha256(p.read_bytes()).hexdigest() for p in sources}, + scope='Exact local inventories, strict moments, contaminated fallback charge and semantic assembly. ' + 'Local finite reconstruction is checked separately; group geometry, uniform weighted routing, ' + 'borrowed rows and inherited analytic/tape contracts are written proof dependencies.') + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--output',type=Path,default=ROOT/'certificates/three-stage-cover-network.json') + args = p.parse_args() + args.output.write_text(json.dumps(js(certificate()),indent=2,sort_keys=True)+'\n') + print('PASS kappa=3146011/10000000000 = 3.146011e-4; both moments, rare-class fallback, finite router, 47 strict constraints') + + +if __name__ == '__main__': + main() diff --git a/scripts/three_stage_cover_producer.py b/scripts/three_stage_cover_producer.py new file mode 100644 index 0000000000..9e7a21a758 --- /dev/null +++ b/scripts/three_stage_cover_producer.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +"""Regenerate and verify the selected pinned PR117 generalized-subspace complex producer. + +Standard-library Python and C++17; generated DAGs and words are temporary. +Copyright 2026 icekylinx, Apache-2.0. Adapted from the credited round-six handoff. +""" +import argparse +import json +import os +from pathlib import Path +import shlex +import subprocess +import sys +import tempfile +from importlib.util import spec_from_file_location, module_from_spec +import hashlib +from three_stage_cover.lift import run as lift_run +from partial_gauge.word import run as word_run +from three_stage_cover.select import run as select_run +from three_stage_cover.verify import verify + +ROOT=Path(__file__).resolve().parents[1] + + +def regenerate(work, expected, compiler): + if sys.flags.optimize:raise ValueError('Run without -O; finite assertions must remain enabled') + def stage(message):print(message,file=sys.stderr,flush=True) + def save(name,data): + path=work/name;path.write_text(json.dumps(data,separators=(',',':'))+'\n');return path + stage('Replaying the pinned PR117 scalar DAG') + reference=ROOT/'references/three-stage-cover/pr117' + source=json.loads((reference/'SOURCE.json').read_text()) + assert source['commit']=='cbb05ce504d571546d9b7794c186a613c659c3bf' + for name,digest in source['files'].items(): + assert hashlib.sha256((reference/name).read_bytes()).hexdigest()==digest, 'Source binding differs: '+name + witness=reference/'dag.json.gz' + assert hashlib.sha256(witness.read_bytes()).hexdigest()=='3c034d0aae388ef567a454826f4f48b26fd8a94c71e8ffed4835271b349a783b' + spec=spec_from_file_location('pr117_replayed',reference/'replayed.py') + module=module_from_spec(spec);spec.loader.exec_module(module) + scalar=module.build(witness,work/'selected') + dag=work/'selected.bin';matcher=work/'matcher' + subprocess.run([*shlex.split(compiler),'-O3','-std=c++17',str(ROOT/'scripts/partial_gauge/match.cpp'),'-o',str(matcher)],check=True) + stage('Constructing compatible carrier matching') + matching=json.loads(subprocess.check_output([str(matcher),str(dag),str(dag.with_suffix('.labels'))],text=True)) + matchfile=save('matching.json',matching) + stage('Lifting exact binary frames backward through dependencies and carriers') + lifted,ann=lift_run(dag,matchfile);liftfile=save('lifted.json',lifted);annfile=save('annihilators.json',ann) + stage('Constructing physical M and its retained-center dependency closure') + word=word_run(dag,matchfile,annfile,liftfile);wordfile=save('word.json',word) + stage('Selecting partial source gauges with reverse readouts') + result,selection=select_run(dag,annfile,liftfile,wordfile) + result=json.loads(json.dumps(result)) + assert result==expected, 'Regenerated selected certificate differs' + save('selection.json',selection) + stage('Checking scalar coefficients, actual frames, physical word and readout chains') + checks=verify(dag,matching,ann,lifted,word,selection['selected'],result) + return dict(source_pin_verified=True,regenerated_from_source=True,certificate_equal=True,selected=result,checks=checks) + + +def main(): + p=argparse.ArgumentParser(description=__doc__) + p.add_argument('--certificate',type=Path,default=ROOT/'certificates/three-stage-cover-complex-input.json') + p.add_argument('--work-dir',type=Path) + p.add_argument('--output',type=Path) + p.add_argument('--cxx',default=os.environ.get('CXX','c++')) + a=p.parse_args();expected=json.loads(a.certificate.read_text()) + if a.work_dir: + a.work_dir.mkdir(parents=True,exist_ok=True);result=regenerate(a.work_dir.resolve(),expected,a.cxx) + else: + with tempfile.TemporaryDirectory(prefix='three-stage-cover-') as directory: + result=regenerate(Path(directory),expected,a.cxx) + encoded=json.dumps(result,indent=2)+'\n' + if a.output:a.output.write_text(encoded) + else:print(encoded,end='') + + +if __name__=='__main__':main()