diff --git a/research/kappa-literature-map/.gitattributes b/research/kappa-literature-map/.gitattributes new file mode 100644 index 0000000000..4f7fc3ef14 --- /dev/null +++ b/research/kappa-literature-map/.gitattributes @@ -0,0 +1 @@ +* -text whitespace=cr-at-eol diff --git a/research/kappa-literature-map/BIBLIOGRAPHY.json b/research/kappa-literature-map/BIBLIOGRAPHY.json new file mode 100644 index 0000000000..d21f73a865 --- /dev/null +++ b/research/kappa-literature-map/BIBLIOGRAPHY.json @@ -0,0 +1,1314 @@ +{ + "date": "2026-10-22", + "record_count": 74, + "distinct_identifiers": 72, + "identity_rule": "Normalize arXiv IDs across abs/pdf/html and version suffix; otherwise use primary URL. This is a bibliography identity count, not independent validation of all metadata.", + "query_counts": { + "root": 17, + "quantum": 21, + "algebra": 19, + "ram": 13 + }, + "records": [ + { + "lane": "root", + "id": "R01", + "year": 2014, + "title": "Computing with a full memory: Catalytic space", + "authors": [ + "Harry Buhrman", + "Richard Cleve", + "Michal Koucky", + "Bruno Loff", + "Florian Speelman" + ], + "url": "https://iuuk.mff.cuni.cz/~koucky/papers/catalytic.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Introduction; section 3.1, Theorem 2; section 3.2, Lemma 4", + "relevance": "Transparent register programs restore arbitrary initial contents; polynomial-length algebraic simulation is not a fast paid-call invoice.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R02", + "year": 1992, + "title": "Computing Algebraic Formulas Using a Constant Number of Registers", + "authors": [ + "Michael Ben-Or", + "Richard Cleve" + ], + "url": "https://epubs.siam.org/doi/pdf/10.1137/0221006", + "read_depth": "abstract", + "locator": "Publisher abstract; journal pages 54-58", + "relevance": "Three-register algebraic formula simulation suggests operator-valued controllers; polynomial overhead cannot be ignored.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R03", + "year": 1989, + "title": "Time/Space Trade-Offs for Reversible Computation", + "authors": [ + "Charles H. Bennett" + ], + "url": "https://mathweb.ucsd.edu/~sbuss/CourseWeb/Math268_2013W/Bennett_Tradeoffs.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Pages 766-770, reversible simulation and pebbling", + "relevance": "Reversibility and checkpointing trade time for workspace; blank workspace and arbitrary dirty auxiliary data are different contracts.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R04", + "year": 1997, + "title": "Reversible Simulation of Irreversible Computation by Pebble Games", + "authors": [ + "Ming Li", + "John Tromp", + "Paul Vitanyi" + ], + "url": "https://arxiv.org/abs/quant-ph/9703009", + "read_depth": "abstract", + "locator": "Abstract and version history v3", + "relevance": "Optimality is scoped to the pebble model; it does not exclude changed catalytic algorithms.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R05", + "year": 2001, + "title": "Time and Space Bounds for Reversible Simulation", + "authors": [ + "Harry Buhrman", + "John Tromp", + "Paul Vitanyi" + ], + "url": "https://arxiv.org/abs/quant-ph/0101133", + "read_depth": "abstract", + "locator": "Abstract and version history v2", + "relevance": "Subexponential-time/subquadratic-space reversible simulation does not by itself reduce Gaussian work.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R06", + "year": 2000, + "title": "Reversible Space Equals Deterministic Space", + "authors": [ + "Klaus-Jorn Lange", + "Pierre McKenzie", + "Alain Tapp" + ], + "url": "https://doi.org/10.1006/jcss.1999.1672", + "read_depth": "abstract", + "locator": "Original extended abstract indexed text; full PDF fetch failed", + "relevance": "Space preservation can carry exponential time; do not replace a time guarantee by a space theorem.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R07", + "year": 2023, + "title": "Tree Evaluation is in Space O(log n log log n)", + "authors": [ + "James Cook", + "Ian Mertz" + ], + "url": "https://eccc.weizmann.ac.il/report/2023/174/download/", + "read_depth": "abstract-and-indexed-introduction", + "locator": "Primary abstract and TreeEval definition; algorithm also examined through Williams Appendix A", + "relevance": "Low-degree extensions and cancellation save space; actual query repetitions and value sizes remain charged.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R08", + "year": 2024, + "title": "On the Cook-Mertz Tree Evaluation procedure", + "authors": [ + "Oded Goldreich" + ], + "url": "https://www.wisdom.weizmann.ac.il/~oded/R1/tree-eval.pdf", + "read_depth": "abstract", + "locator": "Author-hosted indexed abstract; direct PDF fetch failed", + "relevance": "Polynomial interpolation explains the cancellation mechanism; no transfer of its space improvement to our time exponent is established.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R09", + "year": 2025, + "title": "Simulating Time With Square-Root Space", + "authors": [ + "R. Ryan Williams" + ], + "url": "https://arxiv.org/html/2502.17779v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorems 1.1 and 2.2; section 3 structure; Appendix A", + "relevance": "Tree evaluation can serve as an algorithmic transfer, but the simulation optimizes space rather than integer-multiplication runtime.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R10", + "year": 2026, + "title": "Catalytic Tree Evaluation From Matching Vectors", + "authors": [ + "Alexandra Henzinger", + "Edward Pyne", + "Seyoon Ragavan" + ], + "url": "https://arxiv.org/html/2602.14320v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorems 3.1 and 3.5; sections 3.1, 3.3 and 4.3", + "relevance": "Matching vectors and information retrieval give explicit encode/query/decode structures with local restoration. Our simple selector is constructed and invoiced separately.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R11", + "year": 2025, + "title": "Efficient Catalytic Graph Algorithms", + "authors": [ + "James Cook", + "Edward Pyne" + ], + "url": "https://arxiv.org/html/2509.06209v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Section 1.4; Theorem 12 and local revertibility; Theorem 17", + "relevance": "Recovering an old dirty register requires the correct predecessor state; compressed reuse can lose local revertibility.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R12", + "year": 2026, + "title": "Frontier Space-Time Algorithms Using Only Full Memory", + "authors": [ + "Petr Chmel", + "Aditi Dudeja", + "Michal Koucky", + "Ian Mertz", + "Ninad Rajgopal" + ], + "url": "https://arxiv.org/abs/2602.21089", + "read_depth": "abstract", + "locator": "Abstract and submission history", + "relevance": "Recent catalytic algorithms make runtime explicit but remain different tasks and budgets; no direct Gaussian supplier is given.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R13", + "year": 2003, + "title": "Tellegen’s Principle into Practice", + "authors": [ + "Alin Bostan", + "Gregoire Lecerf", + "Eric Schost" + ], + "url": "https://mathexp.eu/bostan/publications/BoLeSc03.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Section 3, transposed program definition; section 4.3 FFT; section 6", + "relevance": "Reverse instruction order and transpose each primitive to obtain a dual linear program. Applied here with complex conjugation and the same paid Gaussian profile.", + "test": "R-ADJOINT", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R14", + "year": 1983, + "title": "The Complexity of Partial Derivatives", + "authors": [ + "Walter Baur", + "Volker Strassen" + ], + "url": "https://web.vu.lt/mif/s.jukna/tropical/Baur-Strassen.pdf", + "read_depth": "abstract-and-indexed-introduction", + "locator": "Primary abstract and introduction indexed text; direct PDF fetch failed", + "relevance": "The three-factor nonscalar theorem does not count free scalar work or our Gaussian oracle calls. Reverse-mode structure is relevant; the literal factor is not an admission result.", + "test": "R-ADJOINT", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R15", + "year": 2013, + "title": "A Lower Bound for Fourier Transform Computation in a Linear Model Over 2x2 Unitary Gates Using Matrix Entropy", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/abs/1305.4745", + "read_depth": "abstract", + "locator": "Abstract and model restriction", + "relevance": "A scalar-gate entropy count must not be called a lower bound on bulk Gaussian calls with nonunitary free mixing.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R16", + "year": 2014, + "title": "An Omega((n log n)/R) Lower Bound for Fourier Transform Computation in the R-Well Conditioned Model", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/pdf/1403.1307", + "read_depth": "theorem-and-selected-proof", + "locator": "Definition 2.1; Theorem 3.1, Lemma 3.2 and proof; section 5", + "relevance": "The bound controls all intermediate condition numbers in its layered scalar model. A well-conditioned endpoint alone does not satisfy that hypothesis.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R17", + "year": 2015, + "title": "Tighter Fourier Transform Complexity Tradeoffs", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/abs/1404.1741", + "read_depth": "abstract", + "locator": "Abstract and latest version v13", + "relevance": "Faster scalar Fourier circuits require ill-conditioned bottlenecks under the paper model; this motivates prefix bounds, not automatic rejection of a native supplier.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R18", + "year": 1973, + "title": "Note on a Lower Bound on the Linear Complexity of the Fast Fourier Transform", + "authors": [ + "Jacques Morgenstern" + ], + "url": "https://doi.org/10.1145/321752.321761", + "read_depth": "abstract", + "locator": "Publisher abstract; JACM 20(2), 305-306", + "relevance": "Bounded-coefficient unnormalized determinant growth has a normalization-sensitive model; it is not a blanket integer-multiplication lower bound.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R19", + "year": 1981, + "title": "I/O Complexity: The Red-Blue Pebble Game", + "authors": [ + "Jia-Wei Hong", + "H. T. Kung" + ], + "url": "https://perso.ens-lyon.fr/loris.marchal/docs-data-aware/hong_kung_red_blue_pebble_game_STOC81.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorem 3.1; Lemma 3.1; Corollary 4.1", + "relevance": "I/O bounds depend on the fixed computation DAG and memory model. Changing the algorithm or allowing partial accumulation changes the object to price.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R20", + "year": 2026, + "title": "I/O complexity and pebble games with partial computations", + "authors": [ + "Aleksandros Sobczyk" + ], + "url": "https://arxiv.org/abs/2410.22237v2", + "read_depth": "abstract", + "locator": "Abstract and corrected version history, 7 March 2026", + "relevance": "Partial aggregation permits high-indegree operations to be evaluated without keeping every predecessor in fast memory.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "root", + "id": "R21", + "year": 2025, + "title": "The Impact of Partial Computations on the Red-Blue Pebble Game", + "authors": [ + "Pal Andras Papp", + "Aleksandros Sobczyk", + "A. N. Yzelman" + ], + "url": "https://arxiv.org/abs/2506.10854v2", + "read_depth": "abstract", + "locator": "Abstract and explicit correction notice, 10 December 2025", + "relevance": "Use the corrected v2; the initial upload was an incomplete draft. Partial sums can change I/O costs but not the independent Gaussian target by themselves.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "lane": "quantum", + "id": "Q01", + "title": "The Clifford group, stabilizer states, and linear and quadratic operations over GF(2)", + "authors": [ + "Jeroen Dehaene", + "Bart De Moor" + ], + "year": 2003, + "arxiv": "quant-ph/0304125", + "url": "https://arxiv.org/abs/quant-ph/0304125", + "read_url": "https://arxiv.org/html/quant-ph/0304125", + "accessed": "2026-10-22", + "read_depth": "D2_THEOREM_STATEMENTS", + "locator": "Abstract; Section I; Section II, Theorems 1-3 (composition and inverse formulas)", + "exact_claim_read": "Binary linear and quadratic data describe Clifford operations and their standard-basis coefficients.", + "model_assumptions": "Qubit Clifford operators; quadratic refinements retain more than their symplectic action.", + "actionable_transfer": "Compact individual letters, retaining phase data; an additive bank shear is not itself a Clifford unitary.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + }, + { + "lane": "quantum", + "id": "Q02", + "title": "Improved Simulation of Stabilizer Circuits", + "authors": [ + "Scott Aaronson", + "Daniel Gottesman" + ], + "year": 2004, + "arxiv": "quant-ph/0406196", + "url": "https://arxiv.org/abs/quant-ph/0406196", + "read_url": "https://arxiv.org/html/quant-ph/0406196", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Abstract; Section I; Section VI, Theorem 8 and steps 1-6 of its proof", + "exact_claim_read": "An improved stabilizer simulator avoids Gaussian elimination and a canonical circuit uses O(n^2/log n) gates.", + "model_assumptions": "Stabilizer-state simulation; compact state output is not an arbitrary amplitude array.", + "actionable_transfer": "Use tableau screening, followed by exact phase-bearing coefficient replay.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v5" + }, + { + "lane": "quantum", + "id": "Q03", + "title": "Hadamard-free circuits expose the structure of the Clifford group", + "authors": [ + "Sergey Bravyi", + "Dmitri Maslov" + ], + "year": 2021, + "arxiv": "2003.09412", + "url": "https://arxiv.org/abs/2003.09412", + "read_url": "https://arxiv.org/html/2003.09412", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_CONSTRUCTION", + "locator": "Section 2, equations (1)-(3), Theorem 1 and C1-C5; Section 2.1 opening", + "exact_claim_read": "Cliffords have unique constrained Borel-Hadamard-permutation-Borel descriptions computable in polynomial time.", + "model_assumptions": "Overall phase is ignored in the counting convention; Hadamard-free maps are monomial.", + "actionable_transfer": "Canonicalize free words and neighbors, then restore the absolute phase before additions.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q04", + "title": "Shorter stabilizer circuits via Bruhat decomposition and quantum circuit transformations", + "authors": [ + "Dmitri Maslov", + "Martin Roetteler" + ], + "year": 2018, + "arxiv": "1705.09176", + "url": "https://arxiv.org/abs/1705.09176", + "read_url": "https://arxiv.org/html/1705.09176", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 13 and symplectic elimination proof; abstract", + "exact_claim_read": "Arbitrary Cliffords admit the displayed nine-stage normal form with one Hadamard layer.", + "model_assumptions": "H, phase and CNOT gate synthesis; hardware depth is a distinct metric.", + "actionable_transfer": "Search Hadamard-free double cosets; test its rank coordinate independently.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q05", + "title": "Optimal Hadamard gate count for Clifford+T synthesis of Pauli rotations sequences", + "authors": [ + "Vivien Vandaele", + "Simon Martiel", + "Simon Perdrix", + "Christophe Vuillot" + ], + "year": 2024, + "arxiv": "2302.07040", + "url": "https://arxiv.org/abs/2302.07040", + "read_url": "https://arxiv.org/html/2302.07040", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Definition 1; Theorems 1 and 2; Proposition 1", + "exact_claim_read": "Minimal H count for the specified Pauli diagonalization network is rank([X;A]), with the defined commutativity matrix.", + "model_assumptions": "Fixed Pauli sequence; final-Clifford and internal-H objectives differ.", + "actionable_transfer": "Score individual-letter synthesis with this objective; retain a separate paid Gaussian invoice.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v3" + }, + { + "lane": "quantum", + "id": "Q06", + "title": "Polynomial-time T-depth Optimization of Clifford+T circuits via Matroid Partitioning", + "authors": [ + "Matthew Amy", + "Dmitri Maslov", + "Michele Mosca" + ], + "year": 2014, + "arxiv": "1303.2042", + "url": "https://arxiv.org/abs/1303.2042", + "read_url": "https://arxiv.org/html/1303.2042", + "accessed": "2026-10-22", + "read_depth": "D3_LEMMA_AND_CONSTRUCTION", + "locator": "Lemmas 2 and 3; Section 3", + "exact_claim_read": "CNOT+T circuits admit a reversible linear output and a Z8-weighted sum of Boolean parity phases.", + "model_assumptions": "Hadamard-free region; additional ancillas and T-depth require their own costs.", + "actionable_transfer": "Collect phase terms, preserve quadratic corrections, and compile monomial address streams.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q07", + "title": "The ZX-calculus is complete for stabilizer quantum mechanics", + "authors": [ + "Miriam Backens" + ], + "year": 2014, + "arxiv": "1307.7025", + "url": "https://arxiv.org/abs/1307.7025", + "read_url": "https://arxiv.org/html/1307.7025", + "accessed": "2026-10-22", + "read_depth": "D2_THEOREM_AND_PROOF_OUTLINE", + "locator": "Section 5.4, Theorem 21; normal-form route", + "exact_claim_read": "The stabilizer fragment has complete diagrammatic equality reasoning in its stated scalar convention.", + "model_assumptions": "Pure qubit stabilizer diagrams; scalar-free equality is not exact phase equality.", + "actionable_transfer": "Use normal forms for operator words, together with Q08 for exact scalars.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + }, + { + "lane": "quantum", + "id": "Q08", + "title": "Making the stabilizer ZX-calculus complete for scalars", + "authors": [ + "Miriam Backens" + ], + "year": 2015, + "arxiv": "1507.03854", + "url": "https://arxiv.org/abs/1507.03854", + "read_url": "https://arxiv.org/abs/1507.03854", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML cache miss", + "exact_claim_read": "Scaled rules and extra scalar machinery extend stabilizer ZX completeness to exact scalars and zero diagrams.", + "model_assumptions": "Scaled stabilizer semantics; scalar factors are part of equality.", + "actionable_transfer": "Reject projectively equal replacements inside an additive prefix sum.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q09", + "title": "Graph-theoretic Simplification of Quantum Circuits with the ZX-calculus", + "authors": [ + "Ross Duncan", + "Aleks Kissinger", + "Simon Perdrix", + "John van de Wetering" + ], + "year": 2020, + "arxiv": "1902.03178", + "url": "https://arxiv.org/abs/1902.03178", + "read_url": "https://arxiv.org/html/1902.03178", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 5.4 and proof; Corollary 5.5; Section 6 opening", + "exact_claim_read": "Local-complementation/pivot reductions terminate and preserve focused gFlow needed for extraction.", + "model_assumptions": "Graph-like diagrams from circuits; boundary unitaries and extraction prerequisites retained.", + "actionable_transfer": "Simplify individual Clifford fragments and extract literal words; arbitrary additive mixing needs a different representation.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v6" + }, + { + "lane": "quantum", + "id": "Q10", + "title": "Phase Gadget Synthesis for Shallow Circuits", + "authors": [ + "Alexander Cowtan", + "Silas Dilkes", + "Ross Duncan", + "Will Simmons", + "Seyon Sivarajah" + ], + "year": 2020, + "arxiv": "1906.01734", + "url": "https://arxiv.org/abs/1906.01734", + "read_url": "https://arxiv.org/abs/1906.01734", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML exceeded browser size limit", + "exact_claim_read": "Phase gadgets can reduce CNOT count and depth after circuit extraction.", + "model_assumptions": "Quantum gate/depth metrics; benchmark savings are not universal Gaussian-call savings.", + "actionable_transfer": "Compile parity-phase streams and reprice the resulting physical word.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q11", + "title": "A Complete Axiomatisation of the ZX-Calculus for Clifford+T Quantum Mechanics", + "authors": [ + "Emmanuel Jeandel", + "Simon Perdrix", + "Renaud Vilmart" + ], + "year": 2018, + "arxiv": "1705.11151", + "url": "https://arxiv.org/abs/1705.11151", + "read_url": "https://arxiv.org/abs/1705.11151", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML exceeded browser size limit", + "exact_claim_read": "Extra axioms make Clifford+T ZX complete through a translation using ZW calculus.", + "model_assumptions": "Exact fragment matrices; completeness does not provide a cost-optimal algorithm.", + "actionable_transfer": "Potential exact certificate backend beyond Clifford, with native extraction and arithmetic separately priced.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q12", + "title": "Efficient magic state factories with a catalyzed |CCZ> to 2|T> transformation", + "authors": [ + "Craig Gidney", + "Austin G. Fowler" + ], + "year": 2019, + "arxiv": "1812.01238", + "url": "https://arxiv.org/abs/1812.01238", + "read_url": "https://arxiv.org/html/1812.01238", + "accessed": "2026-10-22", + "read_depth": "D3_CONSTRUCTION_AND_ARGUMENT", + "locator": "Section 3; Figures 10-13 and catalyst/inverse argument", + "exact_claim_read": "A CCZ state plus a reusable T catalyst gives two net T states under the specified construction.", + "model_assumptions": "Known magic states, tensor-product quantum inputs, measurement and injection resources.", + "actionable_transfer": "Transfer seed/restoration/amortization discipline; do not equate a magic state with an arbitrary dirty array.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v3" + }, + { + "lane": "quantum", + "id": "Q13", + "title": "Matchgates and classical simulation of quantum circuits", + "authors": [ + "Richard Jozsa", + "Akimasa Miyake" + ], + "year": 2008, + "arxiv": "0804.4050", + "url": "https://arxiv.org/abs/0804.4050", + "read_url": "https://arxiv.org/html/0804.4050", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorems 3 and 4; Jordan-Wigner equation (10)", + "exact_claim_read": "Quadratic Majorana evolution acts linearly on Majorana generators, enabling restricted classical simulations.", + "model_assumptions": "Product inputs and bounded-degree observables in the simulation theorem; a common fermionic encoding.", + "actionable_transfer": "Test Majorana closure for restricted word families before using compact fermionic parameters.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q14", + "title": "Lagrangian representation for fermionic linear optics", + "authors": [ + "Sergey Bravyi" + ], + "year": 2005, + "arxiv": "quant-ph/0404180", + "url": "https://arxiv.org/abs/quant-ph/0404180", + "read_url": "https://arxiv.org/html/quant-ph/0404180", + "accessed": "2026-10-22", + "read_depth": "D2_DEFINITION_AND_THEOREM", + "locator": "Definition 1; Theorem 1; equations (45), (51) located", + "exact_claim_read": "Fermionic Gaussian operators/maps admit Grassmann and correlation-matrix descriptions with explicit Gaussianity conditions.", + "model_assumptions": "Even fermionic Gaussian structure; arbitrary complex arrays are not Gaussian states by default.", + "actionable_transfer": "Use a conditional symbolic representation for FLO-closed fragments; test standard parity mismatch.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q15", + "title": "Factoring with n+2 clean qubits and n-1 dirty qubits", + "authors": [ + "Craig Gidney" + ], + "year": 2018, + "arxiv": "1706.07884", + "url": "https://arxiv.org/abs/1706.07884", + "read_url": "https://arxiv.org/html/1706.07884", + "accessed": "2026-10-22", + "read_depth": "D2_MODEL_AND_CONSTRUCTION_CONVENTIONS", + "locator": "Section 1; Section 2 overview, inverse and range conventions", + "exact_claim_read": "Arithmetic circuits can borrow unknown ancillas and restore them while reducing the clean-qubit requirement.", + "model_assumptions": "Reversible Boolean arithmetic; all-to-all connectivity; modular out-of-range values excluded.", + "actionable_transfer": "Borrow/restore is a specification pattern; XOR, tensor factors and additive array banks differ.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q16", + "title": "Rise of conditionally clean ancillae for efficient quantum circuit constructions", + "authors": [ + "Tanuj Khattar", + "Craig Gidney" + ], + "year": 2025, + "arxiv": "2407.17966", + "url": "https://arxiv.org/abs/2407.17966", + "read_url": "https://arxiv.org/html/2407.17966", + "accessed": "2026-10-22", + "read_depth": "D3_MODEL_AND_CONSTRUCTION", + "locator": "Sections 3 and 4; Figure 2; U^2=I and no-control-as-borrowed conditions", + "exact_claim_read": "Laddered toggle detection replaces clean ancillas with dirty ones in the stated constructions at 2x Toffoli overhead.", + "model_assumptions": "Conditional cleanliness, involutory target and disjoint borrowed/control roles.", + "actionable_transfer": "Search caller-proved conditional-zero sectors and record predicate, restoration and replay cost.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q17", + "title": "Quantum Uncomputation of Clean and Dirty Ancilla Qubits", + "authors": [ + "Chenke Liu", + "Li Zhou", + "Boning Meng" + ], + "year": 2026, + "arxiv": "2608.09578", + "url": "https://arxiv.org/abs/2608.09578", + "read_url": "https://arxiv.org/html/2608.09578", + "accessed": "2026-10-22", + "read_depth": "D3_DEFINITION_THEOREM_AND_PROOF_EXCERPT", + "locator": "Version 2, 11 October 2026; Section 3.1; Proposition 6.4; Theorems 6.5, 6.6; Appendix D.13 opening", + "exact_claim_read": "Successful rewrite normalization yields sound sufficient clean/dirty uncomputation constructions.", + "model_assumptions": "Specified circuit language; no H on ancillas in the sufficient normal form; failure is allowed.", + "actionable_transfer": "Make borrow scopes/restoration explicit; implement and test an analogous linear-array ownership discipline.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "lane": "quantum", + "id": "Q18", + "title": "Bona: Automatic Management of Dirty Ancilla Borrowing in Quantum Circuits", + "authors": [ + "Xiaoquan Xu", + "Chenke Liu", + "Boning Meng", + "Zihao Shen", + "Li Zhou" + ], + "year": 2026, + "arxiv": "2608.08765", + "url": "https://arxiv.org/abs/2608.08765", + "read_url": "https://arxiv.org/html/2608.08765", + "accessed": "2026-10-22", + "read_depth": "D3_MODEL_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 4.4; Section 5.1, Theorem 5.1; Section 7 sampling note", + "exact_claim_read": "Endpoint-DAG splicing corresponds to borrowing transitions; frozen-topology minimal width has linear-time structural evaluation.", + "model_assumptions": "Valid borrow contracts; general reordering differs from frozen topology; reported empirical safety checks are sampled.", + "actionable_transfer": "Use typed owner lifetimes and cycle-safe workspace reuse, while separately proving exact array algebra.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + }, + { + "lane": "algebra", + "id": "M49", + "authors": "George W. Mackey", + "title": "Imprimitivity for Representations of Locally Compact Groups I", + "year": 1949, + "url": "https://doi.org/10.1073/pnas.35.9.537", + "fulltext_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC1063076/", + "reading_depth": "introduction excerpt only; PDF/browser challenge blocked full inspection", + "locators": "pp. 537-545; opening finite-group discussion", + "model": "Unitary representations and systems of imprimitivity of locally compact groups", + "mapping": "Induced-module decomposition motivates keeping full carrier modules, not deleting the complementary sector. The finite S3 calculation here is independently proved, not attributed to an uninspected theorem in this source." + }, + { + "lane": "algebra", + "id": "CU03", + "authors": "Henry Cohn; Christopher Umans", + "title": "A group-theoretic approach to fast matrix multiplication", + "year": 2003, + "url": "https://arxiv.org/abs/math/0307321", + "fulltext_url": "https://arxiv.org/pdf/math/0307321", + "reading_depth": "abstract, Theorem 2.3 and its coefficient-extraction proof inspected", + "locators": "Theorem 2.3, PDF p. 4; group-algebra representation decomposition in Section 4", + "model": "Algebraic field-operation model; matrix product embedded in a finite group algebra", + "mapping": "Literal coefficient separation gives a model for checking that nominal independent jobs remain independent after packing. Group-algebra multiplication is not a free operation in our RAM model." + }, + { + "lane": "algebra", + "id": "CKSU05", + "authors": "Henry Cohn; Robert Kleinberg; Balazs Szegedy; Christopher Umans", + "title": "Group-theoretic algorithms for matrix multiplication", + "year": 2005, + "url": "https://arxiv.org/abs/math/0511460", + "fulltext_url": "https://arxiv.org/pdf/math/0511460", + "reading_depth": "abstract, Definition 5.1, Theorems 5.3/5.5 and proof openings inspected", + "locators": "Section 5, PDF pp. 7-8; Section 7 proof", + "model": "Independent matrix products embedded by simultaneous triple-product property", + "mapping": "The simultaneous collision condition is stronger than separate packing of each job. It motivates checking cross-input terms of the actual dirty-target block rather than counting dependent outputs." + }, + { + "lane": "algebra", + "id": "GGOW19", + "authors": "Ankit Garg; Leonid Gurvits; Rafael Oliveira; Avi Wigderson", + "title": "Operator scaling: theory and applications", + "year": 2019, + "url": "https://arxiv.org/abs/1511.03730v4", + "fulltext_url": "https://arxiv.org/html/1511.03730", + "reading_depth": "abstract; singularity equivalences; capacity bound and proof; bit-complexity organization inspected", + "locators": "Theorems 1.4, 1.17, 2.18; Section 4; v4 dated 24 January 2019", + "model": "Rational matrix pencils in free noncommuting variables; completely positive operator capacity", + "mapping": "Noncommutative rank can expose matrix-valued encodings that scalar coefficients miss. Positive rank in a free skew field does not enforce our Clifford-group relations or supply a paid-call word." + }, + { + "lane": "algebra", + "id": "IQS18", + "authors": "Gabor Ivanyos; Youming Qiao; K. V. Subrahmanyam", + "title": "Constructive noncommutative rank computation is in deterministic polynomial time", + "year": 2018, + "url": "https://arxiv.org/abs/1512.03531v6", + "fulltext_url": "https://arxiv.org/pdf/1512.03531", + "reading_depth": "abstract; witness/blow-up setup; Section 5.1 proof; Section 6 reduction proof inspected", + "locators": "Theorem 1.5; Sections 5.1 and 6, PDF pp. 15-18", + "model": "Matrix spaces over fields, constructive rank witnesses and shrunk-subspace certificates", + "mapping": "A useful discovery algorithm must export the actual blow-up matrices and a bounded exact inverse/witness. The found blow-up cannot be imported as an unexplained all-width controller." + }, + { + "lane": "algebra", + "id": "DM17", + "authors": "Harm Derksen; Visu Makam", + "title": "Polynomial degree bounds for matrix semi-invariants", + "year": 2017, + "url": "https://arxiv.org/abs/1512.03393", + "fulltext_url": "https://arxiv.org/pdf/1512.03393", + "reading_depth": "abstract; Theorem 1.4 determinant invariants; Theorem 1.8 inspected", + "locators": "Theorems 1.4 and 1.8, PDF pp. 2-3; journal Advances in Mathematics 310, 44-63", + "model": "Left-right SL action, determinant blow-ups over infinite fields", + "mapping": "Finite blow-up degree bounds offer bounded exact searches for a fixed coefficient module. Their input dimension is the full module dimension, not the number of Gaussian calls." + }, + { + "lane": "algebra", + "id": "DM18R", + "authors": "Harm Derksen; Visu Makam", + "title": "On non-commutative rank and tensor rank", + "year": 2018, + "url": "https://arxiv.org/abs/1606.06701", + "fulltext_url": "https://arxiv.org/pdf/1606.06701", + "reading_depth": "abstract; Example 1.1 elimination; tensor blow-up definitions and nonmonotonicity statements inspected", + "locators": "Example 1.1; Lemma 1.8; Proposition 1.13 and Theorem 1.14", + "model": "Commutative versus free-skew-field rank; matrix-space blow-ups", + "mapping": "The skew 3-by-3 example becomes our explicit Pauli encoding. Fixed-size blow-up ranks need not increase monotonically, so a few successful finite tests cannot establish all widths." + }, + { + "lane": "algebra", + "id": "DM18Q", + "authors": "Harm Derksen; Visu Makam", + "title": "Degree bounds for semi-invariant rings of quivers", + "year": 2018, + "url": "https://arxiv.org/abs/1603.00417", + "fulltext_url": "https://arxiv.org/pdf/1603.00417", + "reading_depth": "abstract; path-pencil construction; Theorem 1.2; Section 7 proof and Section 8 discussion inspected", + "locators": "Sections 1.3, 7 and 8; Theorems 1.1-1.3", + "model": "Acyclic quiver representations with dimension vectors and determinant-character weights", + "mapping": "Type each register stage and each allowed coefficient map as arrows, then search only compatible encodings. Semi-invariant degree bounds certify a finite representation problem, not a native complexity bound." + }, + { + "lane": "algebra", + "id": "B80", + "authors": "Dario Bini", + "title": "Relations between exact and approximate bilinear algorithms. Applications", + "year": 1980, + "url": "https://doi.org/10.1007/BF02575865", + "fulltext_url": "https://link.springer.com/article/10.1007/BF02575865", + "reading_depth": "publisher abstract read; full text subscription blocked", + "locators": "Publisher abstract; Calcolo 17, 87-97", + "model": "Approximate bilinear algorithms with an explicit error degree", + "mapping": "The abstract states an exactification cost factor 1+d. A local border construction therefore needs a complete interpolation invoice before it can improve the productive moment." + }, + { + "lane": "algebra", + "id": "BLR80", + "authors": "Dario Bini; Grazia Lotti; Francesco Romani", + "title": "Approximate Solutions for the Bilinear Form Computational Problem", + "year": 1980, + "url": "https://doi.org/10.1137/0209053", + "fulltext_url": "https://epubs.siam.org/doi/abs/10.1137/0209053", + "reading_depth": "publisher abstract read through indexed primary result; direct refetch returned 403", + "locators": "Publisher abstract; SIAM Journal on Computing 9(4), 692-697", + "model": "Approximate bilinear forms and stability-aware complexity", + "mapping": "Approximation can lower multiplicative complexity while increasing numerical cost. No numeric stability statement is inferred here beyond the abstract; exact port bounds are proved independently." + }, + { + "lane": "algebra", + "id": "DDHK07", + "authors": "James Demmel; Ioana Dumitriu; Olga Holtz; Robert Kleinberg", + "title": "Fast matrix multiplication is stable", + "year": 2007, + "url": "https://arxiv.org/abs/math/0603207", + "fulltext_url": "https://arxiv.org/pdf/math/0603207", + "reading_depth": "abstract; stationary error theorem and proof of exponent corollary inspected", + "locators": "Theorems 3.1 and 3.3, PDF p. 5; Section 3.2", + "model": "Recursive bilinear noncommutative matrix multiplication; normwise forward error", + "mapping": "Fixed certified coefficient families have polynomial error growth in dimension. Exponent existence does not choose an explicit fast family, and the theorem does not by itself analyze our Gaussian recursion." + }, + { + "lane": "algebra", + "id": "BBDLS16", + "authors": "Grey Ballard; Austin R. Benson; Alex Druinsky; Benjamin Lipshitz; Oded Schwartz", + "title": "Improving the numerical stability of fast matrix multiplication", + "year": 2016, + "url": "https://arxiv.org/abs/1507.00687", + "fulltext_url": "https://arxiv.org/pdf/1507.00687", + "reading_depth": "abstract; Definitions 1-2; Theorems 3/5 proof passages; diagonal-scaling Proposition 9 inspected", + "locators": "Definition 2 and Theorem 3, PDF pp. 7-11; Proposition 9, PDF p. 19", + "model": "Floating-point recursive bilinear multiplication; coefficient growth and input scaling", + "mapping": "Record coefficient magnitude and recursion error factors alongside operation counts. A smaller local conditioning constant may improve precision/constants without changing the multiplication exponent." + }, + { + "lane": "algebra", + "id": "DDM03", + "authors": "Jeroen Dehaene; Bart De Moor", + "title": "The Clifford group, stabilizer states, and linear and quadratic operations over GF(2)", + "year": 2003, + "url": "https://arxiv.org/abs/quant-ph/0304125", + "fulltext_url": "https://arxiv.org/pdf/quant-ph/0304125", + "reading_depth": "abstract; Pauli multiplication and conjugation formulas; Theorems 1-3 inspected", + "locators": "Theorems 1-3, PDF pp. 2-3; Section III decomposition", + "model": "Binary symplectic/quadratic descriptions of Clifford conjugation", + "mapping": "Conjugation phases are indispensable, but conjugation still loses the absolute global scalar. Exact tensor-word synthesis must preserve that remaining scalar separately." + }, + { + "lane": "algebra", + "id": "AG04", + "authors": "Scott Aaronson; Daniel Gottesman", + "title": "Improved Simulation of Stabilizer Circuits", + "year": 2004, + "url": "https://arxiv.org/abs/quant-ph/0406196", + "fulltext_url": "https://arxiv.org/pdf/quant-ph/0406196", + "reading_depth": "abstract; tableau operations; Lemma 5 proof; Theorem 8 canonical-form discussion inspected", + "locators": "Lemma 5 and Theorem 8, PDF pp. 9-10; v5 dated 18 June 2008", + "model": "Efficient classical simulation of Clifford/stabilizer circuits", + "mapping": "Tableau canonical forms can reduce duplicate discovery states. They cannot merge actual scalar-distinct linear maps in our ABI, and efficient quantum-circuit simulation does not mean a Gaussian array transform is free." + }, + { + "lane": "algebra", + "id": "GQ19", + "authors": "Joshua A. Grochow; Youming Qiao", + "title": "Isomorphism problems for tensors, groups, and cubic forms: completeness and reductions", + "year": 2019, + "url": "https://arxiv.org/abs/1907.00309", + "fulltext_url": "https://arxiv.org/pdf/1907.00309", + "reading_depth": "abstract; orbit-action taxonomy; Theorems A/B and Corollary B inspected", + "locators": "Section 3; Theorems A and B; Section 6.1", + "model": "Polynomial reductions among tensor/group/algebra isomorphism problems, with stated field restrictions", + "mapping": "Colored linear-algebra gadgets can encode register roles and forbid mixing incompatible endpoint types. Such reductions preserve isomorphism decisions rather than Gaussian-call or RAM-time complexity." + }, + { + "lane": "algebra", + "id": "FGS19", + "authors": "Vyacheslav Futorny; Joshua A. Grochow; Vladimir V. Sergeichuk", + "title": "Wildness for tensors", + "year": 2019, + "url": "https://arxiv.org/abs/1810.09219v2", + "fulltext_url": "https://arxiv.org/pdf/1810.09219", + "reading_depth": "abstract; Theorem 1.1; linked block-equivalence setup; Section 5 proof inspected", + "locators": "Theorem 1.1; Remark 1.1; Sections 4-5, PDF pp. 30-33", + "model": "Systems of order-at-most-three tensors and linked basis-change actions over arbitrary fields", + "mapping": "Its role-locking pattern can organize a typed controller search. The construction can grow with the number of parts and supplies no constant-cost runtime reduction for the multiplication algorithm." + }, + { + "lane": "algebra", + "id": "LM02", + "authors": "J. M. Landsberg; Laurent Manivel", + "title": "Triality, exceptional Lie algebras and Deligne dimension formulas", + "year": 2002, + "url": "https://arxiv.org/abs/math/0107032", + "fulltext_url": "https://arxiv.org/pdf/math/0107032", + "reading_depth": "abstract; Introduction; Section 2 triality definition and first model discussion inspected", + "locators": "Section 2, PDF p. 2 onward; Proposition 1.1", + "model": "Characteristic-zero exceptional Lie algebras, composition algebras and D4 triality", + "mapping": "D4 triality is a specific relation among three eight-dimensional representations. Generic symplectic tensor-isomorphism padding is a different construction; a useful runtime transfer requires an explicit map into the current paid/free operators." + }, + { + "lane": "ram", + "id": "SS71", + "title": "Schnelle Multiplikation großer Zahlen", + "authors": "A. Schönhage; V. Strassen", + "year": 1971, + "url": "https://doi.org/10.1007/BF02242355", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "publisher Summary; Computing 7, 281–292" + ], + "statement": "Two n-bit integers can be multiplied in O(n log n log log n) steps.", + "model_assumptions": "Fixed multitape Turing machine or binary logical network.", + "caller_mapping": "Historical baseline; not an asymptotic native RAM record. Original full text was not available in this review.", + "status": "read" + }, + { + "lane": "ram", + "id": "F09", + "title": "Faster Integer Multiplication", + "authors": "Martin Fürer", + "year": 2009, + "url": "https://doi.org/10.1137/070711761", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "SIAM abstract; STOC 2007 predecessor" + ], + "statement": "Multiplication in n log n 2^{O(log* n)} time.", + "model_assumptions": "Multitape Turing machine; same size bound for Boolean circuits.", + "caller_mapping": "Exploit cheap roots versus costly twiddles; dropping recursion only at word-sized leaves changes the invoice, not automatically the finite paid profile.", + "status": "read" + }, + { + "lane": "ram", + "id": "F14", + "title": "How Fast Can We Multiply Large Integers on an Actual Computer?", + "authors": "Martin Fürer", + "year": 2014, + "url": "https://arxiv.org/html/1402.1811v1", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "§2 Definition 1; §4 Theorems 4.1 and 4.2 with proofs" + ], + "statement": "SS-C and Fürer multiplication take O(n) time on the log-RAM; SS-F takes O(n log log n).", + "model_assumptions": "O(log n)-bit registers with arithmetic, multiplication, division, Boolean operations, cyclic shifts, indirect access and packed IO. Depth-cost model is a separate refinement.", + "caller_mapping": "Prevents falsely advertising linear Word RAM multiplication as new. Compare to packed TM transfer #4541 under the same input ABI.", + "status": "read" + }, + { + "lane": "ram", + "id": "DKSS08", + "title": "Fast Integer Multiplication Using Modular Arithmetic", + "authors": "Anindya De; Piyush P. Kurur; Chandan Saha; Ramprasad Saptharishi", + "year": 2008, + "url": "https://arxiv.org/pdf/0801.1416", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; §2.2 choosing the prime, Theorem 2.2 and Remark 2.3; §2.3 root lifting" + ], + "statement": "N log N 2^{O(log* N)} multiplication using modular arithmetic rather than approximate complex coefficients.", + "model_assumptions": "Deterministic bit complexity; chosen multivariate dimension makes required prime search sublinear in N. Root and modulus construction are charged.", + "caller_mapping": "A modular caller must pay prime generation and root lifting. Mapping the finite Gaussian word modulo p does not supply these parts. Journal version: https://doi.org/10.1137/100811167 (2013).", + "status": "read" + }, + { + "lane": "ram", + "id": "HHL14", + "title": "Even faster integer multiplication", + "authors": "David Harvey; Joris van der Hoeven; Grégoire Lecerf", + "year": 2014, + "url": "https://www.texmacs.org/joris/mul/mul.pdf", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "Theorem 1.1; §3.4 Propositions 3.7–3.8; §4 Proposition 4.1 and its packing bound" + ], + "statement": "O(n log n 8^{log* n}) bit complexity; short DFTs reduce to cyclic integer products.", + "model_assumptions": "Multitape Turing bit complexity; explicit precision, root approximations and coefficient-size bounds. Read author manuscript dated 2015; journal publication 2016.", + "caller_mapping": "Use its compositional error method and exact 2p+r+2 coefficient fields when evaluating truncated or modular alternatives; count expanded child widths.", + "status": "read" + }, + { + "lane": "ram", + "id": "HV18", + "title": "Faster integer multiplication using short lattice vectors", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2018, + "url": "https://arxiv.org/html/1802.07932v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "Theorem 1.1; Introduction discussion of three expansion factors; §2 overview" + ], + "statement": "Unconditional O(n log n 4^{log* n}) multiplication.", + "model_assumptions": "Deterministic fixed finite-tape bit model; Minkowski short-vector representation plus paid conversions. Published Open Book Series 2019.", + "caller_mapping": "A representation change can improve an expansion factor only when conversion frequency is controlled. Not a free replacement for current physical entrance/exit charts.", + "status": "read" + }, + { + "lane": "ram", + "id": "HV21", + "title": "Integer multiplication in time O(n log n)", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2021, + "url": "https://annals.math.princeton.edu/2021/193-2/p04", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "published abstract, Annals 193, 563–617" + ], + "statement": "O(n log n) multiplication using Gaussian resampling and multidimensional power-of-two complex DFTs.", + "model_assumptions": "Multitape Turing machine and ordinary binary encoding.", + "caller_mapping": "The current manuscript builds on this analytic reduction. A finite-field port of a dyadic network does not transport its analytic resampling estimates. Full PDF fetch failed here; no full-proof read claimed.", + "status": "read" + }, + { + "lane": "ram", + "id": "FLPR99", + "title": "Cache-oblivious algorithms", + "authors": "Matteo Frigo; Charles E. Leiserson; Harald Prokop; Sridhar Ramachandran", + "year": 1999, + "url": "https://cs.uwaterloo.ca/~imunro/cs840/frigo.pdf", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "2012 journal revision abstract; §3 matrix transpose, recurrence (8), Theorem 3.2; six-step FFT work/data-movement derivation" + ], + "statement": "Recursive transpose has O(mn) work and O(1+mn/B) misses; FFT has O(n log n) work and O(1+(n/B)(1+log_M n)) misses.", + "model_assumptions": "Ideal cache of M items and lines B with tall cache M = Ω(B²); cache misses are separate from RAM work.", + "caller_mapping": "Improve native locality and workspace scheduling; this alone leaves paid Gaussian calls and the Word RAM exponent unchanged. Source is the 2012 revision of FOCS 1999, DOI 10.1145/2071379.2071383.", + "status": "read" + }, + { + "lane": "ram", + "id": "B90", + "title": "FFTs in External or Hierarchical Memory", + "authors": "David H. Bailey", + "year": 1990, + "url": "https://www.davidhbailey.com/dhbpapers/fftq.pdf", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; four-step algorithm, manuscript pp. 2–3" + ], + "statement": "Ordered transforms can use as few as two external passes under the stated hierarchical-memory layout.", + "model_assumptions": "External memory transfers, unit stride and available main-memory subtransforms; not a claim of two arithmetic passes total.", + "caller_mapping": "Reorder current monomial passes/transpose blocks for bandwidth, retaining all twiddle and arithmetic costs.", + "status": "read" + }, + { + "lane": "ram", + "id": "vdH04", + "title": "The Truncated Fourier Transform and Applications", + "authors": "Joris van der Hoeven", + "year": 2004, + "url": "https://www.texmacs.org/joris/issac04/issac04.html", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; univariate TFT construction; §5 multivariate statement inspected only" + ], + "statement": "Truncated transforms smooth power-of-two jumps in polynomial multiplication.", + "model_assumptions": "Suitable roots of unity and declared input/output support. Author abstract warns of a multivariate mistake corrected in follow-up work.", + "caller_mapping": "Use only the univariate zero-tail interface here. Do not claim the older multivariate logarithmic gain without its correction or discard arbitrary dirty channels.", + "status": "read" + }, + { + "lane": "ram", + "id": "H08", + "title": "A cache-friendly truncated FFT", + "authors": "David Harvey", + "year": 2008, + "url": "https://arxiv.org/html/0810.3203v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1 row/column decomposition; §2 TFT/ITFT definitions; §3 mechanism" + ], + "statement": "Cache-friendly TFT and ITFT reorder butterfly work while preserving truncated transforms.", + "model_assumptions": "Commutative ring with invertible 2 and principal power-of-two roots; mixed Fourier/time-domain ITFT input convention.", + "caller_mapping": "Explicitly retain n transformed coordinates and complementary supplied coefficients; exact test checks the zero-tail specialization, not arbitrary dirty erasure.", + "status": "read" + }, + { + "lane": "ram", + "id": "HR10", + "title": "An in-place truncated Fourier transform and applications to polynomial multiplication", + "authors": "David Harvey; Daniel S. Roche", + "year": 2010, + "url": "https://arxiv.org/html/1001.5272v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1.3; §2.1 computational model; §3 Algorithm 1 and butterfly identities" + ], + "statement": "TFT and inverse in O(n log n) ring operations with O(1) auxiliary ring cells/pointers.", + "model_assumptions": "Input overwrite is allowed for in-place transforms; polynomial multiplication uses read-only input and read/write output; ring elements are abstract unit-cost objects.", + "caller_mapping": "Replace scratch fields only with an actual ownership-preserving schedule. O(1) ring cells need not be O(1) bits, and root generation is part of the algorithm.", + "status": "read" + }, + { + "lane": "ram", + "id": "H07K", + "title": "Faster polynomial multiplication via multipoint Kronecker substitution", + "authors": "David Harvey", + "year": 2007, + "url": "https://arxiv.org/html/0712.4046v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1 four smaller multiplications; §3.2 reciprocal-point carry equations (4)–(8)" + ], + "statement": "Multiple packing points reduce zero-padding and improve moderate-size polynomial multiplication constants.", + "model_assumptions": "Integer/carry recovery must reconstruct every coefficient; benefit depends on M(b) versus several M(b/k), plus linear conversion.", + "caller_mapping": "Evaluate actual child widths and conversion, not simply number of products; current signed packing already pays coefficient growth. Preprint 2007, journal 2009.", + "status": "read" + }, + { + "lane": "ram", + "id": "H12N", + "title": "Faster arithmetic for number-theoretic transforms", + "authors": "David Harvey", + "year": 2012, + "url": "https://arxiv.org/pdf/1205.2926", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "Algorithm 4 and Theorem 3, §4, manuscript p. 6; §3 redundant ranges" + ], + "statement": "Redundant representatives reduce modular reductions in word-prime NTT butterflies.", + "model_assumptions": "For Algorithm 4: word base β, p < β/4, inputs in [0,4p), precomputed twiddle W and quotient approximation floor(Wβ/p), high/low product access.", + "caller_mapping": "Exact exhaustive test covers input/output range and residue. This is a constant-factor native kernel optimization; it is not evidence of fewer recursive Gaussian jobs. Journal 2014.", + "status": "read" + }, + { + "lane": "ram", + "id": "V08", + "title": "Broadword Implementation of Rank/Select Queries", + "authors": "Sebastiano Vigna", + "year": 2008, + "url": "https://vigna.di.unimi.it/ftp/papers/Broadword.pdf", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; §2 broadword framework, pp. 2–3" + ], + "statement": "SWAR operations implement practical rank/select primitives by simultaneous word-lane operations.", + "model_assumptions": "Fixed-width word arithmetic/bitwise primitives with explicit lane masks and carry discipline; author PDF updated 2023.", + "caller_mapping": "Use for address/phase metadata and safe lane arithmetic. Full-precision Θ(log n)-bit coefficients occupy only O(1) lanes in a C log n-bit word.", + "status": "read" + }, + { + "lane": "ram", + "id": "HV16P", + "title": "Faster integer multiplication using plain vanilla FFT primes", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2016, + "url": "https://arxiv.org/abs/1611.07144", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "abstract, version 2 (2017)" + ], + "statement": "O(n log n 4^{log* n}) under a conjectural bound for the least prime in an arithmetic progression.", + "model_assumptions": "Conditional deterministic bit-complexity result; special FFT-prime availability must not be assumed unconditionally.", + "caller_mapping": "A word-prime CRT route needs its own unconditional or explicitly conditional prime/root supplier. No use as a proved current caller component.", + "status": "read" + }, + { + "lane": "ram", + "id": "HV17C", + "title": "Faster integer and polynomial multiplication using cyclotomic coefficient rings", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2017, + "url": "https://arxiv.org/html/1712.03693v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "Theorems 1.1–1.2; §1.3 CRT/two-level overview; §2.2 principal roots; Proposition 3.4 construction inspected" + ], + "statement": "Integer bound O(n log n (4√2)^{log* n}); polynomial expansion constant 4 through cyclotomic coefficient rings.", + "model_assumptions": "Deterministic bit model; coefficient ring may be a product of fields; principal roots and conversions are constructed.", + "caller_mapping": "Amortizing zero-padding across two recursion levels can change a real expansion factor. Preserve principal-root orthogonality in rings with zero divisors and charge CRT conversion.", + "status": "read" + }, + { + "lane": "ram", + "id": "OAI26", + "title": "Integer multiplication below n log n", + "authors": "OpenAI", + "year": 2026, + "url": "https://github.com/openai/math/tree/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "00-introduction.tex: two tape operations and exact product; 05-layers.tex: phase identities and explicit guard bound; 06-transforms.tex: signed-ring-product proof; 07-resampling.tex: one-dimensional interface" + ], + "statement": "The pinned manuscript states T(n)=O(n (lg n)^{1−2^(−182)}) for one fixed finite-tape exact multiplier.", + "model_assumptions": "Research manuscript, not independently re-proved here; complete finite networks, source/sink frames, dyadic precision, CRT layouts and final rounding are obligations.", + "caller_mapping": "Current benchmark context. It already uses packed selected bits and signed Kronecker recovery; our new test cannot count them as newly introduced mechanisms. Modular base change applies to finite dyadic identities, not automatically to analytic resampling.", + "status": "read" + } + ], + "duplicate_identifier_groups": { + "arxiv:quant-ph/0304125": [ + [ + "quantum", + "Q01" + ], + [ + "algebra", + "DDM03" + ] + ], + "arxiv:quant-ph/0406196": [ + [ + "quantum", + "Q02" + ], + [ + "algebra", + "AG04" + ] + ] + } +} diff --git a/research/kappa-literature-map/EXPORT-CHECK.json b/research/kappa-literature-map/EXPORT-CHECK.json new file mode 100644 index 0000000000..e0368c5b50 --- /dev/null +++ b/research/kappa-literature-map/EXPORT-CHECK.json @@ -0,0 +1,11 @@ +{ + "status": "PASS_PORTABLE_EXPORT_CONTROLS", + "path_environment_empty": true, + "git_unavailable": true, + "source_hash_corruption_rejected": true, + "wrong_inverse_after_rehash_rejected": true, + "false_receipt_after_rehash_rejected": true, + "mutated_upstream_engine_rejected": true, + "restored_replay_passed": true, + "host": "Windows CPython 3.12; no hosted Linux claim" +} diff --git a/research/kappa-literature-map/LICENSE b/research/kappa-literature-map/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/kappa-literature-map/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/kappa-literature-map/MANIFEST.json b/research/kappa-literature-map/MANIFEST.json new file mode 100644 index 0000000000..cd15e900ac --- /dev/null +++ b/research/kappa-literature-map/MANIFEST.json @@ -0,0 +1,58 @@ +{ + "algorithm": "sha256", + "files": { + ".gitattributes": "730a35ae3d558080083c3103d9ac8100c3f6561678092abe341701dfa331eb1d", + "algebra/ANCHOR-EXPECTED.json": "e094ef0daaa38be33a68808769342caa26388706d1bbd72376209817a6662956", + "algebra/ANCHOR-EXTERNALIZATION.md": "5fdaddccb59eed28f92f65c3a89e6520fe0ee34b164aac396677aa56123a4dfe", + "algebra/anchor_check.py": "bf2e2857cd011a7319f41ddb7e41817671340cd2a0d5989bf5203c7b3b852d02", + "algebra/EXPECTED.json": "841ee6572c52e7cb12a68c0a1387b7c256056dd9d21b27ca9c5c4be60e60afb1", + "algebra/HOOK-EXPECTED.json": "047c57aba2c3eec0599825b388e9f1f28ba408c84cc652a26d2c366d8152db9b", + "algebra/HOOK-TIMING.json": "da1a86fd1ec749e77c331bff282b32fdf025d7269d7953e3fce66ed61f088605", + "algebra/hook_check.py": "e65f5aeff933823a53ac6ce62db8d8c98233b7e6a811cb557155bbc4153c2988", + "algebra/LOCAL-PRECEDENTS.json": "8314b13bbdaf4e4c29e58a2f03153d0dd84c0aad38b32483de09aa2e90de41f3", + "algebra/REVIEW.md": "3dfbebe5bba1ad8e2b740b46009bbd5d902f3cc25d9aeefc51547354ad2f7389", + "algebra/SEARCH.json": "19380638c6bd37e36d6a0a9e68bb08c6d32c35eef194d7fec74084d96b21a792", + "algebra/SOURCES.json": "e91852cfebf6bf1c62735b383f85b65f22ed3bc698c0b85c8a0c2ec5543c1f71", + "algebra/test.py": "8f650a542c07b8530b17e64c85fe2e9bae144722e965418d7d8722ec411259fe", + "BIBLIOGRAPHY.json": "66918a2d182e34c9f81e7802ccd4a8dba460851781373cf6d873a87f970614b0", + "EXPORT-CHECK.json": "1b4fa2a30b0aab65570ef6127caf89b19f6e8198729d282f25c8e88a3b5440ed", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "METHODS.md": "0ac2125a3f5528affb9f9811c6bc7589b184da55e02853b7ba27b4f3364bbb86", + "NOTICE.md": "907b4913922e3cd65dc4e5e039b6059f7711e023138ab646d837b5c8bc4a96e2", + "quantum/CROSS-REVIEW.md": "2d52e885ed909eed8da0d8594b1d821c4b2a0cf189d251e92b62d3efa8b40096", + "quantum/EXPECTED.json": "ae49f096c2182a754403357899c1241ec578ea75f07dcd60129c07c9fa738fe2", + "quantum/LOCAL-PRECEDENTS.json": "e7f9596110ebff5aacb022eb9ebe9d1a8b81bad467595d57fd377f2019f1a8d9", + "quantum/PROJECT-PINS.json": "952e77af582a23c052b9c373507cc2846970928ef1304fd8768a18c9c9c80919", + "quantum/REVIEW.md": "cb14f4b23978009e780faa88c937ffd73d974d87e02e1e6baddd7c872e7d41be", + "quantum/SEARCH.json": "45981405d4fafcbb795e567bbe8aff5c076dbe83ada04333bbbbb628cd23dc04", + "quantum/SOURCES.json": "5401e20b838c8a685d2bf0c96547e0dc7a754690771209ff41587efc07319006", + "quantum/test.py": "3c86b2be4485d53148ef19f6c6d483e7702c2a5e7053d328a6ff6dc7372a8535", + "ram/CROSS-CHECKS.json": "9bb29808c6e1f2dbb8c4633bcee6c69a4b9868a6106e0768e0b8aa765a3aefb1", + "ram/CROSS-REVIEW.md": "f25249c107cfeecb86cf0537643eaca5e913fe1795c5a237c86080e53845cfbf", + "ram/EXPECTED.json": "be9aaab3d5947e24b31050fa6f6ee6589e8c308432463a0d9ae72f712a8d39f3", + "ram/FROZEN-RAM.json": "7c79f2e1e2dfc767e50967a8fef75e5d7f8dd1267dd285247e72c3c115696c59", + "ram/LOCAL-PRECEDENTS.json": "52b4ace6f07a283e7de278066dd539061f9e041cb379cf9c20210f759d0968a1", + "ram/REVIEW.md": "3f9fda28cd0eafedac39dde20128582deb1e0a8213fffdc067c851e344793ccd", + "ram/SEARCH.json": "a065099f07132dd7b7de1a116a313a2c33024543a0dab5fd54df3cce7309bc20", + "ram/SOURCE-PINS.json": "40d5fc0dd67a46af7d76f247769f4f7c734838d9cecde60f941f7f4ef3316352", + "ram/SOURCES.json": "e54d57301e45494c86a4860cfdfe5118f4dafd73508c37eaabec0cebd8bc7eaf", + "ram/test.py": "ba386910451c4db85c8e0eba0265f39d8f9a7e600c8ba726a9069629cecb9d1a", + "README.md": "91de3ec832119c0067c69cfb96452b354e30e99553b2bc3a36bc2c9816609446", + "root/CHECKPOINT-RAM.md": "bdc1ea1675258615f2b7017b123aa3f5b9e19d51c18725100197a8bf97608c94", + "root/CLOSED-OVERLAP.json": "b5f52f869fc07260cb8b98ae6e6440806b272c09d3bad1276ce7868d856e3ee0", + "root/EXPECTED.json": "a29b56cbf50e63bc7b37f92de44de1162d2f1b7334298708ff759eb758cbc32f", + "root/FINAL-CROSS-CHECK.json": "9360765bcf5c77e2e7e6e501cafdff77d3f670e71d5e5c5a3450b22efc4bb46d", + "root/LOCAL-PRECEDENTS.json": "dcbc07655a8a9f0c67a944c5e15209036a9103f2d9eff213c169e0be31e17c46", + "root/PR-OVERLAP.json": "097553ca011e370f9ad8c4c05369fdbbe4bd6919d2c5b1f59a6d310a4a9ba240", + "root/REVIEW.md": "efa40d28da3881c9061038b9d048f36a8f97b0c66d2f1c9d2858225a84a7a85f", + "root/SEARCH.json": "f810ef52a19942c6e8df950862ce665098684349b5b9306576094ef34aa833c5", + "root/SOURCES.json": "90936eb46fb77c0d18c8d5fe1d210126cfdb6d72138039336ffc97e35e01791f", + "root/test.py": "ed46fe83837c19fade6ca90c1b7ee8326f27069fa190fd43ea645f0eaab7af97", + "sources/hook_engine.py": "99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e", + "SOURCES.json": "330bee400e1c6cb3c87a27b08a818e94bd150ad0547b4df298e75b912d4b3c8f", + "TASK.json": "a6fd8b56c21eba24ef1d45ada63c54458f96dc3f168dafee449645f9344f9fcf", + "VALIDATION.md": "62878d9db3a45144fc1a1d5920f0da7152fcb95181fc7c3177f3a579e7be4138", + "VERIFY.json": "cb73c321501b2beadd26546f38bcce164a307ef8ef64a2df0a0c03d8e57efffe", + "verify.py": "38212ac6ee031c0b3fbcc7115442d3a854af93e75ee991ce36ca40d0add40903" + } +} diff --git a/research/kappa-literature-map/METHODS.md b/research/kappa-literature-map/METHODS.md new file mode 100644 index 0000000000..76b421b017 --- /dev/null +++ b/research/kappa-literature-map/METHODS.md @@ -0,0 +1,13 @@ +# Search, reading depth and checkpoint procedure + +Four workers searched independent neighborhoods: catalytic/reversible computation and transposition; Hecke/Mackey/operator scaling/noncommutative rank and tensor isomorphism; Clifford/ZX/fermionic/dirty-ancilla synthesis; integer multiplication, finite transforms, CRT, packing and Word RAM. Each followed primary-paper queries and citation chains, read relevant definitions or mechanisms where accessible, and recorded the actual depth in its SOURCES.json. Abstract-only and failed full-text fetches are visible. No search-engine snippet was promoted to an inspected proof. + +The lane SEARCH.json files record 70 actual topic/search queries (17 root, 21 quantum, 19 algebra, 13 RAM), alongside local lookups and citation followups. They preserve actual topic queries, local queries, followed chains and limitations. Their combined coverage is broad but bounded: one session, selected languages and databases, finite citation depth, and uneven historical/full-text access. No saturation proof or absence-of-prior-work theorem is possible. Seventy-four source records include overlapping foundational Clifford papers. Normalized identifiers in BIBLIOGRAPHY.json prevent counting those shared references as independent discoveries. Relevant papers include recent 2026 work, historical FFT algorithms, and corrected preprint versions. One plausible arXiv identifier was checked and excluded because it was about Navier–Stokes rather than multiplication. + +Each worker consulted relevant source files or indexed hits in the registered local DAG/Lean tree. Discovery was not restricted to Mathlib. Exact local module identifiers and SHA-256 pins are public; private raw retrieval packets, machine paths, personal source headers and unrelated files are not distributed. Evidence labels distinguish source inspection from fresh kernel checking. No competing live DAG was created or existing proof environment modified. + +The starting main was b58ad9ef4d4e861b0eaa5dba41742bdc072dca51. AGENTS.md, autoresearch.md and CONTRIBUTING.md were read before selecting scope. A five-page search-index snapshot returned 427 unique open-PR title/body records with page total 427 and incomplete_results=false. This is not an atomic or guaranteed complete canonical queue: cached pages disagree about states and counts. Exact phrase boundaries were used so “Hecke” did not spuriously match “checked”. Zero phrase matches do not establish absence of the idea. All-state searches then recovered older catalytic contributions; root/CLOSED-OVERLAP.json retains search metadata, not an independently current status assertion. In particular #673 is credited for pre-existing dirty echo, and #4359 for productive-helper accounting. Discussion pages were read as available, not every paginated comment. + +A canonical-main refresh during verification produced 624de9dc66858af0945e5f8a0942488d62280d43, including 253 changed research roots and 6,714 changed files, mostly archive intake. The frozen scientific inputs were preserved. AGENTS.md, autoresearch.md, CONTRIBUTING.md, current-priorities.md and certificates/selected-result.json had no diff at the inspected paths. Relevant newly ingested sources were read directly from Git objects: native-prefix ports, native stability, noncommutative-ring cost checks, the multirole radical pencil, and Word RAM transfer. Noncommutative algebra and native lowering therefore already occur in this project. Our explicit anchored inverse and finite-field triangular distinction are specific applications, not claims to introduce those broad concepts. The square-zero radical-pencil theorem uses singular targets and base-field right vectors, a different contract from our invertible characteristic-zero native block. + +No selected frontier was changed. The package remains pinned to its original main inputs; the later main hash is a checkpoint, not a silently substituted base. GitHub CLI authentication was unavailable to this agent at the attempted search, so public reads and local Git objects were used; no login/device flow or credentials were changed. The shallow repository permits a fresh committed-byte audit, but a full-source-history audit cannot be claimed without full history. diff --git a/research/kappa-literature-map/NOTICE.md b/research/kappa-literature-map/NOTICE.md new file mode 100644 index 0000000000..63c1ad5ddb --- /dev/null +++ b/research/kappa-literature-map/NOTICE.md @@ -0,0 +1,7 @@ +# Attribution and reuse + +Prepared for Dugongue with substantial OpenAI Codex assistance. New prose and code are Apache-2.0. No paper PDFs or local Lean source files are redistributed. Individual bibliography entries credit the primary authors and distinguish reading depth. + +The unchanged `sources/hook_engine.py` is lee-phys's PR #4688 verifier, commit `264c4b3cb13c82d171de352ecf60486dfb8d2bd4`, SHA-256 `99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e`, under the predecessor Apache-2.0 package/repository license. Its file header is preserved. Source: https://github.com/CrocSwap/integer-mult-bounds/pull/4688 . It builds on Jacob Alan Sussman's #4628. The literal prefix and branch identities are from Yiyang (Lyy-iiis), #4710, and Dugongue's frozen native-prefix package cp22f, commit `158048812f4e0aeb132408f4d7cda57ba008b0d5`. They are precedents, not discoveries of this review. + +Further project credits: androolloyd #673 for dirty-echo constructions and complete accounting; zxv #4359 and Jacob Alan Sussman's #4268 for productive mixed jobs and compilation; the authors of #4541, #4552 and #4553 for packed TM-to-Word-RAM comparison; Dugongue #4554, Ryanson Jonathan's independent native-stability check, petalas (Nick Petalas) #4601 and the independent noncommutative-ring check for already-developed native/noncommutative methods. See the four reviews and checkpoint notes for actual scope and distinctions. The symplectic tensor-isomorphism and Problem 1.8 modules are source-level local precedents credited to the existing project; this package does not claim their kernel verification or transfer their header statements indiscriminately. diff --git a/research/kappa-literature-map/README.md b/research/kappa-literature-map/README.md new file mode 100644 index 0000000000..449e41a960 --- /dev/null +++ b/research/kappa-literature-map/README.md @@ -0,0 +1,43 @@ +# A tested literature map for new native multiplication mechanisms + +**Four-worker research dossier; no improved κ claimed.** Dated 22 October 2026. This package contains 74 primary-source records (72 distinct normalized identifiers), four detailed reviews, exact implementations, stored expectations, cross-review and reproducible tests. It is a broad, bounded search of relevant literature and local precedents, not a certificate of worldwide exhaustiveness or novelty. + +| Volume | Main construction and finding | Reproduction | +|---|---|---| +| [Catalysis and transposition](root/REVIEW.md) | Actual two-call Hermitian adjoint, four-call dirty translation, exact character decoding with its nine-query invoice | `python3 -I -O -B root/test.py` | +| [Algebra and tensor encodings](algebra/REVIEW.md) | All-input dyadic Hecke mixer; anchored three-bank noncommutative inverse at every width; conditioned pencil with five extra decoder bits | `python3 -I -O -B algebra/test.py --check algebra/EXPECTED.json` | +| [Quantum synthesis and dirty ownership](quantum/REVIEW.md) | 720 exact synthesis classes; absolute scalar phases, quadratic phase composition and valid dirty echoes | `python3 -I -O -B quantum/test.py` | +| [Word RAM, transforms and modular transport](ram/REVIEW.md) | Actual repaired ports transport over suitable rings; characteristic-5 triangular invertibility; TFT, lazy butterflies, packing and signed CRT | `python3 -I -O -B ram/test.py` | + +Run all registered tests and the immutable-source hook comparison with: + +```sh +python3 -I -B verify.py +python3 -I -O -B verify.py --quick +``` + +The default verifier is self-contained, standard-library-only and network-free. CPython 3.12 was used on Windows; no hosted Linux run is asserted. The code has no PowerShell, GPU, external solver or Lean dependency. [VALIDATION.md](VALIDATION.md) records replay scope and controls. [BIBLIOGRAPHY.json](BIBLIOGRAPHY.json) aggregates primary URLs; lane SOURCES.json files preserve source-specific read depths and theorem locators. [METHODS.md](METHODS.md) gives search coverage, exclusions and the refreshed-main checkpoint. [NOTICE.md](NOTICE.md) preserves predecessor credit. + +## What is actionable now + +1. Use the anchored Pauli block as an explicit, all-width invertible **native** encoder. It changes the identical-letter tensor grammar; count that native implementation and the physical bank endpoints. +2. Use the Hecke mixer to preserve both sectors, with an explicit inverse and finite address orbits. It supplies a reversible all-input mixing primitive, not an earned Gaussian saving. +3. Search phase-aware Clifford/affine-quadratic words with the exact scalar phase retained. Quantum gate counts alone do not price classical array operations. +4. Test the source pencil at t = ±1/16, ±i/16 against the pinned hook engine. These keep rank 160 against joint target 224 on eight cuts; the unperturbed Hecke choice gives only 144. The better prefix conditioning comes with **32 times** stronger residual-error amplification than t = 2. No complete precision gain follows. +5. Reuse modular port identities inside an explicitly modular caller. Split-field base change preserves word/inverse identities, not automatically Hermitian adjoints or the analytic Gaussian-resampling algorithm. + +6. Apply the [fixed-anchor externalization compiler](algebra/ANCHOR-EXTERNALIZATION.md) to expose an anchored native word as eight smaller ordinary banks. It preserves arbitrary-input independence and a completed supplier's strict moment sign. Its forward paid-program compiler is tested on exact basis vectors and arbitrary complex arrays; no generic reverse call compression is claimed. + +These are sufficient algebraic identities and working primitives with proof arguments. They do not supply a superior complete multiplier. Full paid moments, recursive error bounds, initialization/clearing, ownership, fallback and the actual native caller must still be assembled before claiming κ. The selected main result at the frozen input was κ = 0.00302015; larger open conditional and BIT-only values are different evidence categories, not results of this dossier. + +## Evidence boundaries + +No fresh Lean elaboration, independent proof-kernel audit, human mathematical review, complete DAG scan or all-PR source audit is asserted. Exact finite tests accompany general proofs; they do not replace all-width proofs. Local proof precedents are hash-pinned source reads. Search-indexed title/body overlap and a later canonical-main checkpoint are explicitly distinguished. This literature work does not satisfy the originating task card's superior-supplier acceptance gate; TASK.json records the user-directed scope change. + +## Open next questions + +Can a complete joint encoder using anchored operator-valued coefficients and the actual adjoint port beat the fully charged supplier moment? Freeze one all-input block and endpoint schedule first; the missing component is a superior complete supplier. Can the t = 1/16 pencil lower whole-program precision after its factor-16 residual decoder? Derive and test the full norm-aware recurrence, including ownership and fallback. These questions, their first steps and blockers are structured in TASK.json. + +## Credit + +Prepared for Dugongue with substantial OpenAI Codex assistance. Primary authors and project predecessors are credited in NOTICE.md, the four reviews and lane source maps. No general technique is claimed newly discovered. diff --git a/research/kappa-literature-map/SOURCES.json b/research/kappa-literature-map/SOURCES.json new file mode 100644 index 0000000000..cbf19eddba --- /dev/null +++ b/research/kappa-literature-map/SOURCES.json @@ -0,0 +1,25 @@ +{ + "schema_version": 1, + "base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "c35482cd9035843b15a634cc8276a7e1e40e8395", + "sha256": "6fe0a099b89aa2aed796a13c3a21dafc63f3388ebf397464e44e0451893b9375" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "f126dd2e2dad2b669e75d1d0d0bd05c600725602", + "sha256": "f7a48bfa2659b88378282a8eee7d9fe52cdf505594124c4d1686b58510fffd72" + }, + { + "path": "research/complex-two-image-hook-prefix/verify.py", + "usage": "provenance", + "pin": "head:624de9dc66858af0945e5f8a0942488d62280d43:research/complex-two-image-hook-prefix/verify.py", + "git_blob": "8d2815a2806894bcc50fb34e854f4ef7632ea588", + "sha256": "99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e" + } + ] +} diff --git a/research/kappa-literature-map/TASK.json b/research/kappa-literature-map/TASK.json new file mode 100644 index 0000000000..f6143d5402 --- /dev/null +++ b/research/kappa-literature-map/TASK.json @@ -0,0 +1,78 @@ +{ + "schema_version": 1, + "task_id": "complex-rank-shape-decoder", + "priority_revision": 7, + "base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51", + "original_card": { + "id": "complex-rank-shape-decoder", + "question": "Can a decoder deliver the local paid mass in fewer, larger-rank children (block frame climbs instead of rank-1 to rank-3 steps)?", + "starting_points": [ + "docs/research/research-family-status.md", + "research/complex-local-word-ceiling/README.md", + "research/complex-decoder-field-extension-seed44/README.md", + "research/complex-frame-pair-decoders/README.md", + "research/selected-k8-unrestricted-ends/README.md", + "research/eisenstein-reduction-copy-floor/README.md" + ], + "methods": [ + "Find one exact small decoding identity whose frame path climbs in blocks, and price its complete per-call profile.", + "Bound the best effective child rank achievable for one fixed support alphabet, including copies, frames and restoration." + ], + "acceptance_gate": "A per-call local profile, with all copied information, frames and restoration counted, whose ceiling exceeds the selected word's by at least 5%; masked or overcomplete supports must change an assumption of the eight-term all-pairs bound. A scoped local result may be retained without a complete supplier. Expanding it into further construction rounds requires the family-level budget and obligation gate in research-family-status.md; an optimistic passing relaxation alone is not acceptance.", + "first_step": { + "command": [ + "python3", + "-B", + "research/complex-local-word-ceiling/verify.py" + ], + "expected": "PASS_COMPLEX_LOCAL_WORD_CEILING", + "inspect": "Read the selected word's per-call local profile, its packing ceiling and the lever table; run levers.py for the ideal budget of the lever you target.", + "scope": "Positive control and planning budget only; this is not a new construction or full cold replay." + }, + "first_experiment": "Before any synthesis, write the candidate per-call local profile (and centre charge / unpaid coordinates if changed) and screen it with ceiling.ceiling(); reject it if even the ideal ceiling does not beat the selected word's by your stated margin. Ideal budget: rank-16 delivery is 2.31x (levers.py).", + "bottleneck_link": "Rank-1 children are about half of recursive cost; the selected word's effective child rank is about 3.9. Larger-rank delivery lowers recursive cost per unit of paid mass.", + "allowed_variations": [ + "One masked, overcomplete or block decoder family with exact labels and supports.", + "A scoped lower bound on effective rank for one alphabet.", + "If the coverage law, template or guard changes, derive an applicable fully charged replacement bound instead of applying the incumbent ceiling outside its scope." + ], + "scope_change_triggers": [ + "Repacking idle remainders of an unchanged word (covered by the packing ceiling).", + "Repeating the eight-term all-pairs search inside its proved scope.", + "Only changing helper terminal subspaces and monotone frames within the fixed scalar word, entrances and cleanup contract already covered by #1995/#2013.", + "Searching below C=40 in the #2017 Eisenstein binary scalar-rectangle or fixed-support block-linear additive pairing model; specify a changed premise instead. This bound does not cover every complex decoder.", + "Continuing a partial cost improvement while leaving the same unpriced consumer, restoration or central-readout obligation unresolved; refresh the family expansion decision first. Local product-retiming evidence has a narrow scope and is not a ban on changed graphs or contracts." + ], + "overlap_terms": [ + "rank shape", + "block climb", + "masked decoder", + "overcomplete", + "effective rank" + ] + }, + "scope_status": "changed", + "actual_scope": "User-assigned four-worker primary-literature dossier with positive applied all-input constructions, exact tests, and honest project overlap; no new kappa.", + "scope_change_reason": "User explicitly requested literature search and findings/testing deliverable, superseding synthesis of a better supplier in this session.", + "bottleneck_link": "Operator-valued encoders, all-input Hecke mixing, phase-aware synthesis, finite-ring transport and adjoint ports are concrete inputs to changed native decoders. Their paid profiles and full caller remain distinct obligations.", + "budget_minutes": 60, + "stop_rule": "One bounded session, freeze bibliography and exact tests, reserve final quarter for portable replay and attribution. No unsupported exponent or global-exhaustiveness claim.", + "outcome": "completed", + "evidence": "Four substantial reviews, BIBLIOGRAPHY.json, four exact self-contained suites and pinned six-case hook comparison. Completed denotes the requested literature deliverable, not completion of the originating supplier task.", + "author": "Dugongue", + "ai_assistance": "Prepared for Dugongue with substantial OpenAI Codex assistance; primary agent and three parallel Codex workers, exact standard-library arithmetic and cross-review. No Lean proof claims.", + "open_questions": [ + { + "question": "Can anchored operator-valued encodings and adjoint ports deliver more independent completed jobs per paid call?", + "why_it_matters": "A changed encoding may improve the full supplier invoice beyond scalar-label rigidity.", + "first_step": "Freeze one literal all-input native block and complete ownership schedule; compute its exact paid rank profile.", + "blocked_by": "No full superior supplier or all-obligation native caller has been assembled." + }, + { + "question": "Can the improved pencil condition number survive its residual decoder precision bill?", + "why_it_matters": "Smaller prefix norms are valuable only after inverse decoding and recursive guard costs.", + "first_step": "Derive the full norm-aware error recurrence for t=1/16 including the factor16 decoder.", + "blocked_by": "The current identity/rank check does not prove an improved whole-algorithm precision bound." + } + ] +} diff --git a/research/kappa-literature-map/VALIDATION.md b/research/kappa-literature-map/VALIDATION.md new file mode 100644 index 0000000000..dbe21c008f --- /dev/null +++ b/research/kappa-literature-map/VALIDATION.md @@ -0,0 +1,11 @@ +# Verification scope + +The four lane tests are independent standard-library programs and use exact finite fields, integers or rational real/imaginary pairs. All important checks use explicit exceptions and run under Python optimization. Expected JSON is compared structurally, not accepted merely because a program prints PASS. The immutable #4688 engine is checked by SHA-256 before importing it. The hook comparison checks six actual candidate words on all eight frozen cuts, with exact Gaussian-integer ranks. Its stored timings describe one replay and are not a research-throughput benchmark. + +Root checks 27 port identities, nine arbitrary-baseline translations, nine wrong-adjoint controls, four character-decoded arrays and the full nine-query union. Quantum checks 720 exact symplectic classes, 16,384 phase tests, 3,072 quadratic-phase compositions and owned/borrowed controls. RAM checks the actual prefix in three fields, 485,088 lazy butterflies, 256 TFT roundtrips, 69,904 packed additions and 192 signed CRT products. Algebra verifies its displayed group identities, actual coordinate actions, explicit inverse, scalar specialization controls, width parity repair, tensor padding, exact moment inequalities and norm-aware guard calculations. See each EXPECTED.json for the generated receipt. + +Positive all-input statements are proved in the four reviews. Finite tests supplement those proofs and check concrete implementations. Randomized floating rank estimates, smoke tests, and source indexing are not treated as proof certificates. No new κ follows from these local checks. No native end-to-end multiplication runtime, Lean kernel audit or hosted Linux CI was performed. + +The public manifest inventories every package file except itself. The root verifier checks this inventory and every file hash before executing bounded subprocesses. A hash manifest establishes transport integrity, not mathematical truth. Publication checks also inspect Git author/committer, frozen commit bytes, explicit file layout, short staging paths and release hashes. Successful local checks do not guarantee a later authenticated network upload. + +The separate anchor compiler replay checks 192 width-two basis-call identities, 64 canonical-target identities, six width-three arbitrary-complex call identities, two canonical targets and four zero-owner cases. It tests the forward compiler proved in algebra/ANCHOR-EXTERNALIZATION.md. It does not prove that an unrelated eight-bank controller can be compressed into one larger paid call. diff --git a/research/kappa-literature-map/VERIFY.json b/research/kappa-literature-map/VERIFY.json new file mode 100644 index 0000000000..a5b822287a --- /dev/null +++ b/research/kappa-literature-map/VERIFY.json @@ -0,0 +1,86 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/kappa-literature-map/.gitattributes", + "research/kappa-literature-map/algebra/ANCHOR-EXPECTED.json", + "research/kappa-literature-map/algebra/ANCHOR-EXTERNALIZATION.md", + "research/kappa-literature-map/algebra/anchor_check.py", + "research/kappa-literature-map/algebra/EXPECTED.json", + "research/kappa-literature-map/algebra/HOOK-EXPECTED.json", + "research/kappa-literature-map/algebra/HOOK-TIMING.json", + "research/kappa-literature-map/algebra/hook_check.py", + "research/kappa-literature-map/algebra/LOCAL-PRECEDENTS.json", + "research/kappa-literature-map/algebra/REVIEW.md", + "research/kappa-literature-map/algebra/SEARCH.json", + "research/kappa-literature-map/algebra/SOURCES.json", + "research/kappa-literature-map/algebra/test.py", + "research/kappa-literature-map/BIBLIOGRAPHY.json", + "research/kappa-literature-map/EXPORT-CHECK.json", + "research/kappa-literature-map/LICENSE", + "research/kappa-literature-map/MANIFEST.json", + "research/kappa-literature-map/METHODS.md", + "research/kappa-literature-map/NOTICE.md", + "research/kappa-literature-map/quantum/CROSS-REVIEW.md", + "research/kappa-literature-map/quantum/EXPECTED.json", + "research/kappa-literature-map/quantum/LOCAL-PRECEDENTS.json", + "research/kappa-literature-map/quantum/PROJECT-PINS.json", + "research/kappa-literature-map/quantum/REVIEW.md", + "research/kappa-literature-map/quantum/SEARCH.json", + "research/kappa-literature-map/quantum/SOURCES.json", + "research/kappa-literature-map/quantum/test.py", + "research/kappa-literature-map/ram/CROSS-CHECKS.json", + "research/kappa-literature-map/ram/CROSS-REVIEW.md", + "research/kappa-literature-map/ram/EXPECTED.json", + "research/kappa-literature-map/ram/FROZEN-RAM.json", + "research/kappa-literature-map/ram/LOCAL-PRECEDENTS.json", + "research/kappa-literature-map/ram/REVIEW.md", + "research/kappa-literature-map/ram/SEARCH.json", + "research/kappa-literature-map/ram/SOURCE-PINS.json", + "research/kappa-literature-map/ram/SOURCES.json", + "research/kappa-literature-map/ram/test.py", + "research/kappa-literature-map/README.md", + "research/kappa-literature-map/root/CHECKPOINT-RAM.md", + "research/kappa-literature-map/root/CLOSED-OVERLAP.json", + "research/kappa-literature-map/root/EXPECTED.json", + "research/kappa-literature-map/root/FINAL-CROSS-CHECK.json", + "research/kappa-literature-map/root/LOCAL-PRECEDENTS.json", + "research/kappa-literature-map/root/PR-OVERLAP.json", + "research/kappa-literature-map/root/REVIEW.md", + "research/kappa-literature-map/root/SEARCH.json", + "research/kappa-literature-map/root/SOURCES.json", + "research/kappa-literature-map/root/test.py", + "research/kappa-literature-map/sources/hook_engine.py", + "research/kappa-literature-map/SOURCES.json", + "research/kappa-literature-map/TASK.json", + "research/kappa-literature-map/VALIDATION.md", + "research/kappa-literature-map/VERIFY.json", + "research/kappa-literature-map/verify.py" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 600, + "checks": "Manifest, exact four-lane expected receipts, six candidate words and eight frozen hook cuts each." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "{package}/verify.py", + "--quick" + ], + "timeout_seconds": 120, + "checks": "Optimized replay of all four self-contained suites; hook optimized replay separately recorded in algebra/HOOK-TIMING.json." + } + ] +} diff --git a/research/kappa-literature-map/algebra/ANCHOR-EXPECTED.json b/research/kappa-literature-map/algebra/ANCHOR-EXPECTED.json new file mode 100644 index 0000000000..523eeef2cd --- /dev/null +++ b/research/kappa-literature-map/algebra/ANCHOR-EXPECTED.json @@ -0,0 +1,16 @@ +{ + "compiled_paid_calls_per_original_call": 8, + "compiler_scope": "native Q(i) scalar grammar; forward compiler, not generic reverse call compression", + "independent_anchor_components": 8, + "new_kappa": false, + "status": "PASS_EXACT_ANCHOR_EXTERNALIZATION", + "width_three_arbitrary_complex_call_identities": 6, + "width_three_arbitrary_complex_target_identities": 2, + "width_two_basis_call_identities": 192, + "width_two_basis_canonical_target_identities": 64, + "widths": [ + 2, + 3 + ], + "zero_owner_checks": 4 +} diff --git a/research/kappa-literature-map/algebra/ANCHOR-EXTERNALIZATION.md b/research/kappa-literature-map/algebra/ANCHOR-EXTERNALIZATION.md new file mode 100644 index 0000000000..3e5b3ed4f0 --- /dev/null +++ b/research/kappa-literature-map/algebra/ANCHOR-EXTERNALIZATION.md @@ -0,0 +1,66 @@ +# A fixed-anchor externalization compiler + +Prepared for Dugongue with substantial OpenAI Codex assistance. This is a positive exact compiler for the native complex-scalar model. It preserves a completed supplier's strict moment sign and all independent inputs. It establishes no new supplier or multiplication exponent. + +## Statement + +Let V=C^8 and f>=2, and select one of the f base-8 digits as the anchor. A bank is V tensor V^(tensor(f-1)). Consider a fixed finite chronological program on such banks with: + +- arbitrary fixed anchor matrices with coefficients in Q(i); +- individually tensorized admitted free monomials on the other f-1 digits, including fixed anchor-controlled choices of such maps; +- fixed scalar bank mixing, copies and erasures with explicit owner preconditions; +- paid calls C_j,f=C_j raised to tensor f, for j=0,1,2. + +Every free operation is required to have an actual finite expression in these operations. This hypothesis does not allow an arbitrary unexplained O(N)-time oracle. + +**Theorem.** Split every bank by its anchor value. A program with r arbitrary independent input banks and c paid calls compiles to a program on eight times as many banks, each of length 8^(f-1), with exactly 8c paid calls C_j,f-1. The coordinate encoding and decoding are bijective; all eight component banks of every arbitrary input can vary independently. Each additional free operation uses O(N d(w)) ordinary word operations per original bank, where N=8^f and d(w) is the explicitly charged worst cost of its fixed-coefficient scalar update on the chosen w-bit entry representation, including fixed-denominator arithmetic and rounding. For the actual dyadic C_j/K anchor maps and the anchored Pauli maps, d(w)=O(1) using a fixed number of ordinary ADD/SUB, sign/exchange and dyadic-shift operations, so the overhead is O(N). All owners, dirty inputs, exact phases and productive endpoints are transported literally. + +For a completed homogeneous supplier with r independent K_f outputs, K_f=C_2,f C_1,f C_0,f, the compiled program gives 8r independent K_f-1 outputs after a fixed free anchor correction. If the original construction is correct for every f>=2, this is correct for every remaining width g=f-1>=1. + +## Exact compiler and proof + +For x, define its eight component banks x_s(t)=x(s,t), with s in {0,...,7}. This is a literal partition of coordinates. It neither creates a copy nor assumes any component is zero. Concatenation is its inverse, so independence and every stated equality or owner invariant are preserved. + +An anchor matrix B acts by the fixed eight-bank scalar update x'_s=sum_t B[s,t] x_t. A remaining-digit free letter acts separately on each bank. An anchor-controlled choice is likewise one prescribed admitted map on each component. Products, sums and chronological scalar updates therefore compile by substitution, with every intermediate bank retained as in the actual program. + +A paid call factors exactly as + + C_j,f = C_j on the anchor tensor C_j,f-1 on the remaining digits. + +Apply C_j,f-1 independently to each of the eight component banks, costing eight paid calls. Then apply the fixed anchor C_j matrix by scalar mixing. The factors act on disjoint tensor coordinates and commute, proving the identity on every vector. C_j has entries ((1+i)/2) and ((1-i)/2) on its two-entry blocks, with the actual absolute phases. No projective phase identification is used. + +For a target, K_f=K_anchor tensor K_f-1. Thus its eight outputs are the fixed anchor K matrix applied to the eight desired K_f-1 outputs. Apply the free inverse K_anchor to those banks to return the canonical independent smaller outputs. Each original arbitrary bank had eight independent components; the compiled outputs retain precisely those eight inputs, without counting a dependent response as a new job. Apply the same coordinate partition to every borrowed or owned field. Zero fields split into eight zero fields; arbitrary dirty fields are transported with their full preconditions, and unrelated memory is unchanged. + +Induction over the literal instruction list proves the complete endpoint statement. For f=1, the whole bank has eight entries and all C_j,1 and K_1 operations are fixed eight-by-eight rational-complex maps; compute that constant-dimensional base case directly. It is not passed to a nonexistent width-zero recursive supplier. + +## Native invoice and numerical scope + +The eight component descriptors can refer directly to the original storage. A layout conversion, when needed, is a charged O(N) permutation, not a hidden data copy. A fixed anchor matrix is applied by loading eight complex entries at a remaining-digit index before storing any output; constant temporary words suffice. A fixed finite coefficient list takes O(N d(w)) ordinary word operations under the scalar cost contract in the theorem. This is O(N) unconditionally for the displayed dyadic C_j/K and Pauli maps on a fixed number of ordinary machine words per entry. The particular C_j and K anchor matrices use only dyadic Gaussian-rational coefficients of fixed height, so they use ADD/SUB, sign and real/imaginary exchange, and fixed dyadic shifts. General allowed Q(i) anchor coefficients require their explicitly charged fixed-denominator arithmetic. No n-bit integer multiplication is an instruction. + +The remaining-digit monomials have the same O(N) native implementation as in the original program. Free anchor-controlled choices are a constant number of such passes. O(f) mask/descriptor setup is included in O(N). The total storage is the same data volume, with eight descriptors per original bank and constant-entry temporary storage for anchor mixing. Any separately used address workspace remains explicitly owned and charged. + +Anchor C_j and K matrices are unitary, and the coordinate partition preserves Euclidean norm. Thus splitting does not introduce a width-dependent norm loss. Their actual rounded fixed-size implementations add constant local rounding and guard costs, which must be added to the complete compiler's existing error recurrence. An inherited precision theorem is not replaced by treating these new scalar updates as exact machine instructions. If the original word already has a valid O(log n)-bit entry representation and stable fixed-coefficient recurrence, these extra fixed-size updates have the same kind of constant coefficient/rounding invoice. A complete claimed multiplication bound still needs that numerical contract bound to the actual compiled word. + +## What moment is preserved + +For the three-axis homogeneous supplier, the normalized strict moment is + + r * 3^(1-q) - c. + +The externalized profile is exactly + + 8r * 3^(1-q) - 8c = 8 * (r * 3^(1-q) - c). + +The relative productive rank is 3(f-1) and paid rank is f-1. The fixed anchor rank has been computed by charged linear native work. Therefore any strict paid-moment exponent proved by the original complete supplier survives this compiler. Transfer of the full native complexity bound additionally requires its scalar overhead to be funded: the displayed dyadic compiler has O(N) overhead, while a general nonconstant d(w) must be charged separately. This is a sufficient transfer theorem for an exhibited word, not evidence that the current unfinished controller has a positive moment. + +There is an exact equivalence of coordinate input/output ABIs. The priced-program claim is a forward compilation, not a converse compression theorem: eight unrelated smaller calls cannot automatically be replaced by one larger call. Reverse compression is valid only for literal synchronized groups executing the same C_j on all eight components, with the required anchor mixing restored. The compiler also uses Q(i) scalar mixing. It does not automatically admit a construction to the narrower rational-mixing Lean engine in PR #4628. + +This applies the anchored Pauli construction from REVIEW.md to a fully explicit carrier boundary: the anchor can be made external, its operators and costs exposed, and its independent inputs tracked. It does not create free productive jobs or a new kappa. Credit the complex C_j conventions and small-unit model to Jacob Alan Sussman's PR #4628, the repaired prefix to Yiyang's PR #4710 and lee-phys's PR #4688, and the native bounded-array/Word RAM framing to the retained provider/compiler lineage. No worldwide novelty or new Lean verification is claimed. + +## Exact finite replay + +From the package root: + + python3 -I -O -B algebra/anchor_check.py --check algebra/ANCHOR-EXPECTED.json + +The self-contained standard-library check compares every width-two complex-linear basis vector for every paid direction, then checks canonical K targets after inverse anchor correction. It also checks arbitrary complex vectors at width three, the eight independent input components, zero owner slices and preservation of untouched dirty memory. These finite checks corroborate the tensor-factor proof; they do not infer all-width correctness from sampling. No optional hook engine, floating arithmetic, network, Lean or solver is used. diff --git a/research/kappa-literature-map/algebra/EXPECTED.json b/research/kappa-literature-map/algebra/EXPECTED.json new file mode 100644 index 0000000000..7c46535cfc --- /dev/null +++ b/research/kappa-literature-map/algebra/EXPECTED.json @@ -0,0 +1,138 @@ +{ + "conditional_invoice": { + "delta": "1/676", + "kappa_target_tested": "1/20", + "new_kappa": false, + "nine_row_savings": { + "boundary": "30383/540800", + "core_face_recovery": "13014/169", + "fused_gaussian": "6217/108160", + "group_scans": "337/338", + "indexed_sparse_axes": "250083/540800", + "precision_products": "675/676", + "routing": "1", + "simultaneous_transform": "1215/21632", + "standalone_addressing": "1" + }, + "precision_records": [ + { + "abstract_recurrence_guard_bits": 8, + "coordinate_guard_if_array_dimension_8powf": 14, + "depth": 1, + "digit_width_f": 3, + "laurent_guard_for_D3_delta_2minusP": 384 + }, + { + "abstract_recurrence_guard_bits": 14, + "coordinate_guard_if_array_dimension_8powf": 29, + "depth": 2, + "digit_width_f": 9, + "laurent_guard_for_D3_delta_2minusP": 768 + }, + { + "abstract_recurrence_guard_bits": 20, + "coordinate_guard_if_array_dimension_8powf": 62, + "depth": 3, + "digit_width_f": 27, + "laurent_guard_for_D3_delta_2minusP": 1152 + }, + { + "abstract_recurrence_guard_bits": 26, + "coordinate_guard_if_array_dimension_8powf": 149, + "depth": 4, + "digit_width_f": 81, + "laurent_guard_for_D3_delta_2minusP": 1536 + } + ], + "precision_scope": "scalar recurrence assumes a declared norm and constant local factor; coordinate noise in 3D entries adds ceil(log2(3D)/2) guard; native use also requires f=O(log p)", + "q_C_tested": "1/16", + "q_root_strict_bracket": [ + "1/16", + "1/15" + ], + "scope": "conditional 5-in-14 and native funding arithmetic only", + "strict_provider_stop": "1/20", + "supplier_exhibited": false + }, + "hecke": { + "all_width_group_algebra_identities": 5, + "checked_vector_entries_per_direction": 4680, + "coordinate_widths": [ + 1, + 2, + 3, + 4 + ], + "inverse_norm2_bound": "2", + "norm2_bound": "1", + "retained_complement_control": true + }, + "local_precedent_transport": { + "actual_tensor_action": true, + "global_phase_tableau_control": true, + "padded_coordinates_checked": 64, + "padding_volume_factor": 8, + "scope": "forward explicit padding example, not a kernel check or proof of the converse theorem", + "symplectic_chart_identity": true + }, + "noncommutative_encoding": { + "anchored_inverse_coordinate_norm_bound": "3/2", + "anchored_inverse_norm2_bound": 1, + "anchored_model": "one designated native address bit; broader than identical tensor-letter grammar", + "anchored_operator_norm2_bound": 2, + "even_width_false_promotion_rejected": true, + "maximum_scalar_rank": 2, + "records": [ + { + "anchored": false, + "f": 1, + "full_8ary_rank": 24, + "reduced_rank": 6 + }, + { + "anchored": true, + "f": 1, + "full_8ary_rank": 24, + "reduced_rank": 6 + }, + { + "anchored": false, + "f": 2, + "full_8ary_rank": 128, + "reduced_rank": 8 + }, + { + "anchored": true, + "f": 2, + "full_8ary_rank": 192, + "reduced_rank": 12 + }, + { + "anchored": false, + "f": 3, + "full_8ary_rank": 1536, + "reduced_rank": 24 + }, + { + "anchored": true, + "f": 3, + "full_8ary_rank": 1536, + "reduced_rank": 24 + }, + { + "anchored": false, + "f": 4, + "full_8ary_rank": 8192, + "reduced_rank": 32 + }, + { + "anchored": true, + "f": 4, + "full_8ary_rank": 12288, + "reduced_rank": 48 + } + ], + "scalar_specializations_checked": 125 + }, + "status": "PASS_EXACT_ALGEBRA_TECHNIQUES" +} diff --git a/research/kappa-literature-map/algebra/HOOK-EXPECTED.json b/research/kappa-literature-map/algebra/HOOK-EXPECTED.json new file mode 100644 index 0000000000..3a5df20cc5 --- /dev/null +++ b/research/kappa-literature-map/algebra/HOOK-EXPECTED.json @@ -0,0 +1,278 @@ +{ + "cases": [ + { + "case": "hecke", + "cuts": [ + { + "mask": 2, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 144, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 144, + "target_joint_rank": 224 + } + ] + }, + { + "case": "hecke_plus_U_over_16", + "cuts": [ + { + "mask": 2, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 160, + "target_joint_rank": 224 + } + ] + }, + { + "case": "pencil_1_over_16", + "cuts": [ + { + "mask": 2, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 160, + "target_joint_rank": 224 + } + ] + }, + { + "case": "pencil_minus_1_over_16", + "cuts": [ + { + "mask": 2, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 160, + "target_joint_rank": 224 + } + ] + }, + { + "case": "pencil_i_over_16", + "cuts": [ + { + "mask": 2, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 160, + "target_joint_rank": 224 + } + ] + }, + { + "case": "pencil_minus_i_over_16", + "cuts": [ + { + "mask": 2, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 3, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 6, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 7, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 8, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 9, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 12, + "prefix_rank": 160, + "target_joint_rank": 224 + }, + { + "mask": 13, + "prefix_rank": 160, + "target_joint_rank": 224 + } + ] + } + ], + "engine_sha256": "99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e", + "new_kappa": false, + "representation": "V tensor exterior^4 V, dimension 560 at width five", + "status": "PASS_EXACT_HOOK_COMPARISON" +} diff --git a/research/kappa-literature-map/algebra/HOOK-TIMING.json b/research/kappa-literature-map/algebra/HOOK-TIMING.json new file mode 100644 index 0000000000..99769250eb --- /dev/null +++ b/research/kappa-literature-map/algebra/HOOK-TIMING.json @@ -0,0 +1,39 @@ +{ + "scope": "single exact replay timing", + "records": [ + { + "case": "hecke", + "elapsed_seconds": 56.981 + }, + { + "case": "hecke_plus_U_over_16", + "elapsed_seconds": 96.072 + }, + { + "case": "pencil_1_over_16", + "elapsed_seconds": 64.313 + }, + { + "case": "pencil_minus_1_over_16", + "elapsed_seconds": 63.908 + }, + { + "case": "pencil_i_over_16", + "elapsed_seconds": 66.293 + }, + { + "case": "pencil_minus_i_over_16", + "elapsed_seconds": 66.155 + } + ], + "interpreter_mode": { + "isolated": true, + "optimization": 1, + "dont_write_bytecode": true + }, + "interpreter_flags": [ + "-I", + "-O", + "-B" + ] +} diff --git a/research/kappa-literature-map/algebra/LOCAL-PRECEDENTS.json b/research/kappa-literature-map/algebra/LOCAL-PRECEDENTS.json new file mode 100644 index 0000000000..45764ee284 --- /dev/null +++ b/research/kappa-literature-map/algebra/LOCAL-PRECEDENTS.json @@ -0,0 +1,157 @@ +{ + "records": [ + { + "module": "project::Mathproof.SymplecticTI", + "declaration": "gl_iff_padded", + "project_relative_path": "Mathproof/SymplecticTI.lean", + "line": 1139, + "sha256": "6285886b5f4ad8bd33cb0d7148fb6d3366fe200616db7198f919e00a4f754bb6", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "Tensor GL equivalence iff symplectic equivalence of hyperbolically padded tensors; finite-dimensional hypotheses.", + "typed_dag_matches": [ + { + "name": "Mathproof.SymplecticTIAtlasAxiomAudit", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.SymplecticTIAxiomAudit", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.SymplecticTI.gl_iff_padded", + "snapshot": "2dc8a277d0a8ca0dbf300444f57e83a7b7f0be3f6c9c25bcb0289c4c38fa5476", + "type_node": "d1ba9d63c8e76fedcf36b9f5ee7c331243b0f638cb18a339623200cf57b3f5b5" + } + ] + }, + { + "module": "project::Mathproof.SymplecticTIEncoding", + "declaration": "Mathproof.SymplecticTI.Encoding.coordPad3_output_card", + "project_relative_path": "Mathproof/SymplecticTIEncoding.lean", + "line": 72, + "sha256": "95a188c0b10108ce589841b98b48dd00e98e1bbd2f6c70f2d226f9952b6ea23a", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "The explicit three-mode coordinate padding multiplies coordinate volume by 8.", + "typed_dag_matches": [ + { + "name": "Mathproof.SymplecticTIAxiomAudit", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.SymplecticTI.Encoding.coordPad3_output_card", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.SymplecticTI.Encoding.coordPad3_output_card", + "snapshot": "79c6cd46440ea6411e37ff1771bca43fcf4250efb655b2283e1537d1505ba6d3", + "type_node": "88abacddfa9a36e7e524e80ea31c8f8deb4bd2409b6b4f49605aaadeac8d44c7" + } + ] + }, + { + "module": "project::Mathproof.Meta.TIOrbitClosureRetraction20260904", + "declaration": "Mathproof.Meta.TIOrbitClosureRetraction20260904.padding_closure_retraction", + "project_relative_path": "Mathproof/Meta/TIOrbitClosureRetraction20260904.lean", + "line": 136, + "sha256": "2fdb3206d51d76c415d5db4b58f7d9c139aaa9cae349f2dd3a5fbc3d0f04cdb5", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "Over an infinite field, the padding section and restriction recover the GL orbit closure from the padded Sp orbit closure.", + "typed_dag_matches": [ + { + "name": "Mathproof.Meta.TIFalloutFormalization20260904", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.Meta.TIOrbitClosureRetraction20260904.padding_closure_retraction", + "snapshot": "e3ce4abf50985c40e2bae190a1793e5b5b84f0f7d1db233b9c0fc0206b097b14", + "type_node": "6675930a70b5edd22c06bbcc26498b65132104a348e582edf583bd3719344ab5" + }, + { + "name": "Mathproof.Meta.TIOrbitClosureRetraction20260904.padding_closure_retraction", + "snapshot": "source-catalog", + "type_node": null + } + ] + }, + { + "module": "project::Mathproof.Meta.TIOrbitCircuitSeparators20260904", + "declaration": "Mathproof.Meta.TIOrbitCircuitSeparators20260904.separator_circuit_size_iff", + "project_relative_path": "Mathproof/Meta/TIOrbitCircuitSeparators20260904.lean", + "line": 40, + "sha256": "6fe8b97e2bd3d6d488e48aeb2f6d689ad749947163afe309e282a926538ab4b4", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "Circuit separators transfer through explicit input substitution without increasing the stated gate bound.", + "typed_dag_matches": [ + { + "name": "Mathproof.Meta.TIFalloutFormalization20260904", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.Meta.TIOrbitCircuitSeparators20260904.separator_circuit_size_iff", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "Mathproof.Meta.TIOrbitCircuitSeparators20260904.separator_circuit_size_iff", + "snapshot": "e3ce4abf50985c40e2bae190a1793e5b5b84f0f7d1db233b9c0fc0206b097b14", + "type_node": "50e2b80db36ad4ce0f8d4e0247b18df4d53b67c5a23efc877d4856c0226350c3" + } + ] + }, + { + "module": "package:mathlib::Mathlib.NumberTheory.HeckeRing.Defs", + "declaration": "HeckeCosetModule", + "project_relative_path": ".lake/packages/mathlib/Mathlib/NumberTheory/HeckeRing/Defs.lean", + "line": 183, + "sha256": "19c6f3ec3175075bcc9bc928f24db0f087bad87621d88f112369fe54bd052467", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "Definitions of double-coset modules; the present finite S3 identities are proved independently.", + "typed_dag_matches": [ + { + "name": "HeckeCosetModule", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "of", + "snapshot": "source-catalog", + "type_node": null + }, + { + "name": "ext", + "snapshot": "source-catalog", + "type_node": null + } + ] + }, + { + "module": "download:TauCeti::TauCeti.RepresentationTheory.Induction.Mackey.Basic", + "declaration": "index_eq_sum_relIndex_mackeySubgroup", + "project_relative_path": "TauCeti/TauCeti/RepresentationTheory/Induction/Mackey/Basic.lean", + "line": 187, + "sha256": "a935b941360d1766a223da723559cf932786ccda1e719111f4c879e3175713d0", + "catalog_hash_matches_current_file": true, + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_statement_summary": "Finite-index double-coset decomposition provides a bookkeeping precedent for induced modules. No compatible import was checked.", + "typed_dag_matches": [ + { + "name": "index_eq_sum_relIndex_mackeySubgroup", + "snapshot": "source-catalog", + "type_node": null + } + ] + } + ], + "scope": "Current source reads and read-only registered DAG lookups; no new Lean run or kernel audit; no source files redistributed" +} diff --git a/research/kappa-literature-map/algebra/REVIEW.md b/research/kappa-literature-map/algebra/REVIEW.md new file mode 100644 index 0000000000..fdb1b889e0 --- /dev/null +++ b/research/kappa-literature-map/algebra/REVIEW.md @@ -0,0 +1,144 @@ +# Algebraic mechanisms for the native Gaussian controller + +Prepared for Dugongue with substantial OpenAI Codex assistance. This review reads 17 primary papers at explicitly recorded depths, applies their ideas in exact constructions, and tests the constructions against the current operator model. It supplies useful controller primitives and a sharper precision comparison. It does not exhibit five independent rank-three Gaussian jobs in fourteen paid calls, or establish a new multiplication kappa. + +## The exact problem and evidence boundary + +The frozen complex prefix uses C_j = ((1+i)/2)I + ((1-i)/2)X_j on C^8. At positive width f, G_f means the tensor power of each individual base letter G. The existing free grammar applies its same monomial letter to every digit; a paid call is one C_j,f. Arbitrary independent input banks must remain independent after decoding, all absolute phases and entrance/output charts must be correct, and every extra owner and native array pass is charged. + +Write A_f=C_0,f, P=SUS, Q=SVS, and L_f=P_f+2Q_f, with U=CNOT(0 to 2), V=SWAP(0,1), and S e_x=i^popcount(x)e_x. The actual arbitrary-target two-call block is + + Port_f = [[A_f, 0], [A_f L_f A_f, A_f]]. + +Its inverse is [[A_f inverse,0],[-L_f,A_f inverse]]. The additional third call has the actual residual M0_f C_2,f + 2 K_f a_f. This review distinguishes the inherited residual monomial M0 from the new Hecke mixer M below. The sum P_f+2Q_f is formed after tensorizing P and Q separately. + +Credit the phase-repaired prefix and residual to [Yiyang / Lyy-iiis, PR #4710](https://github.com/CrocSwap/integer-mult-bounds/pull/4710), the original prefix and exact hook engine to [lee-phys, PR #4688](https://github.com/CrocSwap/integer-mult-bounds/pull/4688), and the complex engine problem to [Jacob Alan Sussman, PR #4628](https://github.com/CrocSwap/integer-mult-bounds/pull/4628). Earlier [androolloyd, PR #673](https://github.com/CrocSwap/integer-mult-bounds/pull/673) already supplies dirty echo ideas; [PR #4359](https://github.com/CrocSwap/integer-mult-bounds/pull/4359) already discusses productive/catalytic helpers and completed mixed jobs. The dirty-target interface is a specialization in that neighborhood, not a claim to have invented dirty echoes. Repository overlap was not searched exhaustively. No open/closed PR status is inferred from cached pages. + +## Refreshed repository overlap + +At refreshed main 624de9dc66858af0945e5f8a0942488d62280d43, the complete [pr4601-noncommutative-check note](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/pr4601-noncommutative-check/README.md) already checks Nick Petalas's noncommutative local-ring paid-factor classification, with independent enumeration by Ryanson Jonathan. Its retained lineage includes ToikY, PR #4334, PR #4276 and Wentao Li's PR #4099. Thus noncommutative algebra is already a project concept. The [multi-role radical-pencil note](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/multirole-radical-pencil/README.md), also by Nick Petalas, treats singular targets over K[x,y]/(x,y)^2 with base-field right vectors, building on PR #4745, #4243 and #4099. Our anchored characteristic-zero invertible three-bank map uses a different native coefficient grammar. It is a narrow constructive application, not an invention of noncommutative controllers or a replacement for those classifications. Both READMEs were read; their verifiers were not independently replayed in this review. Their exact hashes and source links are recorded in SOURCES.json. + +## Applied result 1: an all-input Hecke coupling with a short inverse + +Let h=SWAP(0,2) and g=SWAP(0,1). They generate a literal S_3 subgroup of the free address maps. At every f set + + e_f=(I+h_f)/2, + T_f=e_f g_f e_f, + M_f=(I-e_f)+T_f. + +**Theorem.** At every positive width, M_f is an invertible free linear combination on the entire input space, with + + T_f^2=(e_f+T_f)/2, + M_f^2=(M_f+I)/2, + M_f inverse=2M_f-I=I-2e_f+2T_f. + +Moreover ||M_f||_2 <= 1 and ||M_f inverse||_2 <= 2. Every input sector is retained. + +**Proof.** In the six-element group algebra Q[S_3], e^2=e and T=e g e satisfies T^2=(e+T)/2 by exact coefficient collection. This is a literal group identity, so applying the representation generated by the individually tensorized coordinate swaps proves it at every f. Since eT=Te=T, multiplication proves the two displayed identities for M and its inverse. The swaps are real unitary involutions, so e and T are self-adjoint. On the e subspace, the polynomial for T has roots 1 and -1/2; on its orthogonal complement M is the identity. Therefore M has eigenvalues in {1,-1/2}, giving the norm bounds and an actual full-input inverse. Replacing M by T alone would discard the complementary space and would invalidate the full-input claim. + +This is a concrete transfer-module use of the Hecke viewpoint, independently proved rather than inferred from an unread classical theorem. Mackey's [1949 paper](https://doi.org/10.1073/pnas.35.9.537) was accessible only at its introductory excerpt; its general theory supplies context, not proof evidence for this identity. [Cohn--Umans, Theorem 2.3](https://arxiv.org/pdf/math/0307321) and [Cohn--Kleinberg--Szegedy--Umans, Section 5](https://arxiv.org/pdf/math/0511460) motivate checking literal coefficients and cross-input collisions when several jobs are packed into a representation. + +**Native implementation.** For N=8^f, these global coordinate permutations have orbits of size at most six. Enumerate addresses; process an orbit only at its least address; load every distinct orbit entry before storing any result. Add the coefficients of repeated images. The six permutations are computed with three periodic bit-lane masks and a fixed number of shifts and Boolean operations; the masks initialize in O(f). This implements M and its inverse in O(N) ordinary word operations with constant-entry temporary storage. Rational coefficients have denominator at most 4. No array is a unit-cost word and no Gaussian call or whole-array hidden copy is used. + +**Actual hook comparison.** The unperturbed replacement L'=S_f M_f S_f has prefix rank 144 and target joint rank 224 in all eight actual width-five hook cuts. It is well-conditioned but not saturated. The explicit dyadic perturbation L'=S_f(M_f+U_f/16)S_f instead has rank 160 and joint rank 224 in all eight cuts. Here U_f is the same CNOT monomial used to define P. The norm bounds are at most 17/16 and inverse norm at most 16/7, by a singular-value perturbation estimate. This is an aligned, saturated width-five candidate coupling, not an all-width completed supplier. Its dirty-target block inverse still uses only -L' and the paid A_f inverses; no unexhibited short formula for (L') inverse is required by that schedule. + +## Applied result 2: a matrix-valued native encoding that scalar search misses + +The constructive rank-witness viewpoint comes from [Garg--Gurvits--Oliveira--Wigderson](https://arxiv.org/html/1511.03730), [Ivanyos--Qiao--Subrahmanyam](https://arxiv.org/pdf/1512.03531), and [Derksen--Makam's skew example and blow-up analysis](https://arxiv.org/pdf/1606.06701). Their results concern free skew fields and matrix spaces. They do not automatically impose the actual Clifford-group relations. + +Let A and B be the sign and swap on **one designated native address bit**, acting as the identity on every other bit. Then A^2=B^2=I and AB=-BA at every array width. These are O(N) native sign/permutation passes. This grammar is broader than applying an identical single base letter to every digit. + +**Theorem.** On three arbitrary independent banks, the free native map + + r=y+A z, + s=-x+B z, + t=-A x-B y + +is invertible for every positive width. An explicit inverse is + + z=(AB t+B s+A r)/2, + x=(-A t-s+BA r)/2, + y=(r-AB s-B t)/2. + +The forward coordinate norm is at most 2, the inverse coordinate norm is at most 3/2, the Euclidean forward norm is at most 2, and the Euclidean inverse norm is at most 1. In particular its Euclidean condition number is at most 2. + +**Proof.** Eliminating x and y from the first two equations gives + + t-A s+B r=(BA-AB)z=2BA z. + +Since AB is the inverse of BA, this gives z and then x and y. Expanding the formulas gives the stated three-term inverse and coordinate bound. If F is the three-by-three block matrix, then F is skew-Hermitian. Direct block multiplication using A^2=B^2=I and AB=-BA yields (F^2+I)(F^2+4I)=0. Thus -F^2 is positive definite with spectrum contained in {1,4}, proving the Euclidean norm and inverse bounds. + +For a literal in-place implementation, load the six complex entries in an address pair from all three banks before any store. With bit value 0 or 1 the inverse becomes + + z0=(t1+s1+r0)/2, z1=(-t0+s0-r1)/2, + x0=z1-s0, x1=z0-s1, + y0=r0-z0, y1=r1+z1. + +A constant number of ADD/SUB and dyadic shift operations per pair suffices; real and imaginary components are treated separately. No output field is secretly assumed zero. Exact encoded grid data make the indicated halving exact. For arbitrary perturbed data, three-term half-sums have coordinate-error amplification at most 3/2, with any final rounding charged separately. The operation uses constant temporary words and O(N) native work, with no paid Gaussian call. + +Every scalar specialization of the skew three-by-three pattern is singular, while this matrix-valued pattern is invertible. That demonstrates a real expressive difference for controller discovery. It does not itself compute K_f on any additional independent bank. In the narrower tensor-letter grammar A=Z_0 raised to tensor f and B=X_0 raised to tensor f, their commutation sign is (-1)^f. The construction then works for odd f and has an N-dimensional kernel at even f. test.py verifies both the anchored all-width repair and this phase regression. No narrow-engine supplier is admitted by silently substituting the anchored grammar. + +For a larger search, [Derksen--Makam's determinant blow-up bound](https://arxiv.org/pdf/1512.03393) and [acyclic-quiver semi-invariants](https://arxiv.org/pdf/1603.00417) give bounded algebraic coordinates and witness sizes for a fixed finite module. An actual candidate must export the encoding matrices and inverse, not just an operator-scaling success flag. Unknown controller products, actual group relations and the native cost model remain explicit constraints. + +## Applied result 3: a better-conditioned source pencil, with the decoder tradeoff paid + +Put L_t=P_f+tQ_f, with t=1/16. Since R_f=P_f inverse Q_f has actual order four, + + L_t inverse=(I-t R_f+t^2 R_f^2-t^3 R_f^3) P_f inverse/(1-t^4). + +Multiplication by P_f(I+tR_f) proves this formula at every width; sums are formed after tensorization. The singular values of L_t lie between 15/16 and 17/16, giving condition at most 17/15. This improves the prefix coupling's condition bound 3 at t=2. The two-call arbitrary-target block remains explicitly invertible without executing the optional odd-denominator coupling inverse. + +The exact source residual becomes + + J_f W_f F_t,f = M0_f C_2,f + t K_f a_f. + +Therefore the swap-sector decoder subtracts the same residual and divides by t. Changing t from 2 to 1/16 amplifies residual-path errors by an additional factor 32, requiring five extra bits for the same error on that path. Better prefix conditioning does not establish a better complete precision bill or a better kappa. If the optional inverse is executed, its fixed odd denominator and rounding must also be charged. + +The optional hook checker tests t times each of 1,-1,i,-i. A successful four-point table, together with the predecessor's termwise target alignment, supports the same inherited extension to higher digit widths: diagonalize the order-four relative branch operator on the extra tensor factors. Each eigenspace sees the width-five pencil with the corresponding fourth-root coefficient. This is a refined parameter choice in the predecessor family, not a new mechanism or a finished five-in-fourteen continuation. The four-point conclusions are claimed only when the accompanying completed HOOK-EXPECTED.json records all four cases. + +## Reading map and what each theory actually transfers + +SOURCES.json gives all 17 primary URLs, dates, precise locators, models and reading depths; SEARCH.json records 19 queries and followed citation chains. Fourteen full-text entries were inspected at least at abstract/selected-statement depth. The Mackey item was introduction-excerpt only, and the two 1980 items were publisher-abstract only. No paywalled proof is claimed read and no copyrighted PDF is redistributed. + +- [Bini 1980](https://link.springer.com/article/10.1007/BF02575865) distinguishes approximation degree from exact cost: its abstract states a factor 1+d in exactification. [Bini--Lotti--Romani 1980](https://doi.org/10.1137/0209053) explicitly incorporates numerical stability in approximate bilinear complexity. Neither paper gives this project a free border-to-exact compiler. +- [Demmel--Dumitriu--Holtz--Kleinberg, Theorems 3.1/3.3](https://arxiv.org/pdf/math/0603207) analyze fixed recursive bilinear families and polynomial normwise error growth. [Ballard et al., Theorem 3 and Proposition 9](https://arxiv.org/pdf/1507.00687) separate coefficient growth from accumulation and input scaling. This motivates tracking actual coefficient heights and error propagation alongside ranks. An exponent infimum is not an explicit chosen multiplication circuit. +- [Dehaene--De Moor, Theorems 1-3](https://arxiv.org/pdf/quant-ph/0304125) supply binary symplectic and quadratic phase formulas for Clifford conjugation; [Aaronson--Gottesman, Lemma 5 and Theorem 8](https://arxiv.org/pdf/quant-ph/0406196) supply tableau and canonical-form tools. Conjugation still identifies scalar multiples of the same operator. Our linear-array ABI additionally needs an absolute central scalar. test.py checks that I and -I have the same conjugation on Pauli generators while differing as actual tensor operators. +- [Grochow--Qiao, Theorems A/B](https://arxiv.org/pdf/1907.00309) and [Futorny--Grochow--Sergeichuk, Theorem 1.1 and Section 5](https://arxiv.org/pdf/1810.09219) encode linked role/basis constraints into tensor isomorphism problems. They suggest role-locking discovery coordinates. Their decision reductions do not preserve our exact Gaussian invoice or prove fast transform evaluation. +- [Landsberg--Manivel, Section 2](https://arxiv.org/pdf/math/0107032) describe D4 triality and exceptional Lie-algebra constructions. This is distinct from generic symplectic tensor padding. A useful triality route would need a literal map to our operators, actual scalar phases and native cost; no such speedup is asserted here. + +## Reuse of the registered proofs and DAG + +LOCAL-PRECEDENTS.json contains only module identifiers, project-relative locations, current SHA-256 values and source-level evidence labels. Private raw retrieval packets and local absolute paths are excluded from publication. No Lean source file, personal header or license-stripped source is copied into this package. No Lean run was performed. + +The actual SymplecticTI.gl_iff_padded theorem provides the GL/Sp orbit-equivalence precedent. SymplecticTIEncoding.coordPad3_output_card makes its three-mode coordinate-volume increase explicit: a factor 8. The orbit-closure retraction and separator-circuit equivalence in TIOrbitClosureRetraction20260904 and TIOrbitCircuitSeparators20260904 distinguish transported decision/algebraic information from the runtime of evaluating a transform. Mathlib's HeckeCosetModule and the registered TauCeti Mackey index decomposition give a source-level starting point for future formalization of double-coset bookkeeping. Catalog presence or a historical typed-port hit is not fresh kernel verification. + +The test applies the explicit hyperbolic chart diag(P,P inverse-transpose) to a concrete padded tensor, checks symplecticity and every output coordinate, and verifies the factor-8 data volume. It tests the forward construction actually used; it does not purport to test the difficult converse theorem or to improve kappa through a classification reduction. + +## Exact quantitative admission and precision contract + +For the hypothetical completed five-in-fourteen complex supplier, its productive moment is 5 times 3^(1-q) and its paid moment is 14. Integer arithmetic proves + + 5^16 * 3^15 > 14^16, + 5^15 * 3^14 < 14^15. + +Thus its strict moment root lies between 1/16 and 1/15. This checks a target invoice, not the existence of the supplier. With q_C=1/16 and target kappa=1/20, the existing native caller parameter choice has delta=1/676. The test checks every one of the nine caller rows and each layout, membership, key-volume, group, chirp and strict provider-loss guard with rational arithmetic. No BIT supplier or Turing-machine simulation is used by this arithmetic check. The native caller theorem and all original compiler hypotheses must still be bound to a real complete supplier before a multiplication claim follows. Credit the native assembly/provider lineage in [PR #4630](https://github.com/CrocSwap/integer-mult-bounds/pull/4630), [PR #4635](https://github.com/CrocSwap/integer-mult-bounds/pull/4635), and [PR #4713](https://github.com/CrocSwap/integer-mult-bounds/pull/4713), including Cao Yifan, Cinna Davis and their retained predecessors; this arithmetic check is a specialization of that framework. + +A precision recurrence must declare its norm. If local encoded calls and error propagation have a fixed certified multiplier, an example scalar bound E_L <= 56 E_(L-1)+1 has multiplier sum_(j=0)^L 56^j and needs O(L) scalar guard bits. Coordinate roundoff on 3D entries first contributes a Euclidean factor sqrt(3D), so a sufficient guard is O(L+log D). For this digit model D=8^f, and recursive width f divided by 3 has depth L=O(log f); with f=O(log p), the extra guard is O(log p). If coefficient precision and input heights are O(p) with p=Theta(log n), these guards fit a fixed number of ordinary C log n-bit words. The test records the geometric bound and the dimensional guard separately. It does not infer a full compiler stability proof from a scalar recurrence. + +A Laurent macro with coefficients depending on a small approximation parameter needs an additional global height analysis. Degree fixed per macro need not remain fixed under recursive substitution. A naive depth-L product of delta^(-D0) factors with delta=2^(-P) requires D0 P L extra bits. Conversely, a genuinely fixed complete-word degree can have an O(P) precision cost. A proposed border construction must prove which contract it satisfies. Interpolation work is paid: simply doubling fourteen calls to extract a degree-one coefficient gives 28 calls against productive moment at most 15, so that invoice supplies no positive saving. This observation is part of the admission audit; the positive results of this note are the explicit native constructions above. + +## Replay and scope + +From the package root: + + python3 -I -O -B algebra/test.py --check algebra/EXPECTED.json + +This self-contained standard-library replay checks five abstract group-algebra identities, actual coordinate actions at widths 1 through 4, the three-bank inverse and exact spectral polynomial, 125 scalar rank controls, even-width phase failure, anchored all-width repair, hyperbolic transport and rational precision/funding contracts. It contains no floating rank tolerance, network call, solver or Lean dependency. + +Optional actual hook replay: + + python3 -I -O -B algebra/hook_check.py --engine sources/hook_engine.py --check algebra/HOOK-EXPECTED.json + +The only optional dependency is the unchanged PR #4688 verify.py at commit 264c4b3cb13c82d171de352ecf60486dfb8d2bd4, SHA-256 99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e. Preserve its original notices and the predecessor package's Apache-2.0 attribution. HOOK-TIMING.json reports one exact replay's timings, not a research-speed benchmark. The default test does not pretend to replay these optional hook ranks. + +No universal novelty, exhaustive worldwide coverage, independent human review, fresh Lean verification or improved complete multiplication exponent is claimed. diff --git a/research/kappa-literature-map/algebra/SEARCH.json b/research/kappa-literature-map/algebra/SEARCH.json new file mode 100644 index 0000000000..04f5bb1fd0 --- /dev/null +++ b/research/kappa-literature-map/algebra/SEARCH.json @@ -0,0 +1,82 @@ +{ + "date_utc": "2026-10-22", + "queries": [ + "noncommutative rank operator scaling Garg Gurvits Oliveira Wigderson 2016 algorithm paper", + "Derksen Makam polynomial degree bounds matrix semi invariants non commutative rank 2017 paper", + "Bini approximate algorithms exact computation border rank 1980 polynomial interpolation paper", + "Mackey imprimitivity Hecke algebra induced representations intertwining operators double cosets paper", + "Ivanyos Qiao Subrahmanyam constructive non commutative rank computation deterministic polynomial time 2018 arxiv", + "Grochow Qiao tensor isomorphism completeness symplectic alternating matrix spaces paper", + "Grochow Qiao linear algebraic isomorphism problems cubic forms tensor 2021 arxiv", + "Demmel Dumitriu Holtz Kleinberg fast matrix multiplication is stable 2007 paper", + "Dehaene De Moor Clifford group stabilizer states linear quadratic operations GF 2 2003 arxiv", + "Aaronson Gottesman improved simulation stabilizer circuits 2004 arxiv", + "Futorny Grochow Sergeichuk Wildness tensors 2019 arxiv", + "Cohn Kleinberg Szegedy Umans group theoretic algorithms matrix multiplication 2005 arxiv", + "Bini Relations between exact approximate bilinear algorithms applications 1980 pdf author", + "Improving numerical stability fast matrix multiplication Ballard Benson Druinsky Lipshitz Schwartz arxiv 2015", + "Mackey induced representations locally compact groups I 1951 theorem double cosets pdf", + "\"Imprimitivity for Representations of Locally Compact Groups I\" Mackey 1949 537", + "Mackey induced representations locally compact groups 1952 pdf 101 139", + "Bini approximate bilinear algorithms interpolation degree 1980 1+d theorem", + "Landsberg Manivel Triality exceptional Lie algebras Deligne dimension formulas 2002 arxiv" + ], + "citation_or_topic_chains_followed": [ + [ + "GGOW19", + "IQS18", + "DM17" + ], + [ + "DM17", + "DM18R", + "DM18Q" + ], + [ + "DDHK07", + "CU03", + "CKSU05" + ], + [ + "DDHK07", + "B80", + "BLR80" + ], + [ + "BBDLS16", + "DDHK07" + ], + [ + "GQ19", + "FGS19" + ], + [ + "AG04", + "DDM03" + ], + [ + "LM02", + "D4 triality versus generic symplectic padding distinction" + ] + ], + "coverage_limits": [ + "Bounded single-session literature review; not exhaustive worldwide", + "Mackey full text and two 1980 paper full texts were not obtained; exact reading depths recorded", + "No claim that any concept has never appeared in the repository; overlap limited to pinned ports and current task snapshot", + "No Lean elaboration or kernel check; registered-tree retrieval is source-level only" + ], + "local_search_terms": [ + "TISP", + "symplectic", + "Mackey", + "Hecke", + "MonoidAlgebra", + "TIOrbit", + "FGS", + "WordRAM", + "gl_iff_padded", + "padding_closure_retraction", + "coordPad3_output_card", + "separator_circuit_size_iff" + ] +} diff --git a/research/kappa-literature-map/algebra/SOURCES.json b/research/kappa-literature-map/algebra/SOURCES.json new file mode 100644 index 0000000000..2a99a84908 --- /dev/null +++ b/research/kappa-literature-map/algebra/SOURCES.json @@ -0,0 +1,232 @@ +{ + "scope": "Primary-source review, not a claim of exhaustive worldwide coverage or first application", + "papers": [ + { + "id": "M49", + "authors": "George W. Mackey", + "title": "Imprimitivity for Representations of Locally Compact Groups I", + "year": 1949, + "url": "https://doi.org/10.1073/pnas.35.9.537", + "fulltext_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC1063076/", + "reading_depth": "introduction excerpt only; PDF/browser challenge blocked full inspection", + "locators": "pp. 537-545; opening finite-group discussion", + "model": "Unitary representations and systems of imprimitivity of locally compact groups", + "mapping": "Induced-module decomposition motivates keeping full carrier modules, not deleting the complementary sector. The finite S3 calculation here is independently proved, not attributed to an uninspected theorem in this source." + }, + { + "id": "CU03", + "authors": "Henry Cohn; Christopher Umans", + "title": "A group-theoretic approach to fast matrix multiplication", + "year": 2003, + "url": "https://arxiv.org/abs/math/0307321", + "fulltext_url": "https://arxiv.org/pdf/math/0307321", + "reading_depth": "abstract, Theorem 2.3 and its coefficient-extraction proof inspected", + "locators": "Theorem 2.3, PDF p. 4; group-algebra representation decomposition in Section 4", + "model": "Algebraic field-operation model; matrix product embedded in a finite group algebra", + "mapping": "Literal coefficient separation gives a model for checking that nominal independent jobs remain independent after packing. Group-algebra multiplication is not a free operation in our RAM model." + }, + { + "id": "CKSU05", + "authors": "Henry Cohn; Robert Kleinberg; Balazs Szegedy; Christopher Umans", + "title": "Group-theoretic algorithms for matrix multiplication", + "year": 2005, + "url": "https://arxiv.org/abs/math/0511460", + "fulltext_url": "https://arxiv.org/pdf/math/0511460", + "reading_depth": "abstract, Definition 5.1, Theorems 5.3/5.5 and proof openings inspected", + "locators": "Section 5, PDF pp. 7-8; Section 7 proof", + "model": "Independent matrix products embedded by simultaneous triple-product property", + "mapping": "The simultaneous collision condition is stronger than separate packing of each job. It motivates checking cross-input terms of the actual dirty-target block rather than counting dependent outputs." + }, + { + "id": "GGOW19", + "authors": "Ankit Garg; Leonid Gurvits; Rafael Oliveira; Avi Wigderson", + "title": "Operator scaling: theory and applications", + "year": 2019, + "url": "https://arxiv.org/abs/1511.03730v4", + "fulltext_url": "https://arxiv.org/html/1511.03730", + "reading_depth": "abstract; singularity equivalences; capacity bound and proof; bit-complexity organization inspected", + "locators": "Theorems 1.4, 1.17, 2.18; Section 4; v4 dated 24 January 2019", + "model": "Rational matrix pencils in free noncommuting variables; completely positive operator capacity", + "mapping": "Noncommutative rank can expose matrix-valued encodings that scalar coefficients miss. Positive rank in a free skew field does not enforce our Clifford-group relations or supply a paid-call word." + }, + { + "id": "IQS18", + "authors": "Gabor Ivanyos; Youming Qiao; K. V. Subrahmanyam", + "title": "Constructive noncommutative rank computation is in deterministic polynomial time", + "year": 2018, + "url": "https://arxiv.org/abs/1512.03531v6", + "fulltext_url": "https://arxiv.org/pdf/1512.03531", + "reading_depth": "abstract; witness/blow-up setup; Section 5.1 proof; Section 6 reduction proof inspected", + "locators": "Theorem 1.5; Sections 5.1 and 6, PDF pp. 15-18", + "model": "Matrix spaces over fields, constructive rank witnesses and shrunk-subspace certificates", + "mapping": "A useful discovery algorithm must export the actual blow-up matrices and a bounded exact inverse/witness. The found blow-up cannot be imported as an unexplained all-width controller." + }, + { + "id": "DM17", + "authors": "Harm Derksen; Visu Makam", + "title": "Polynomial degree bounds for matrix semi-invariants", + "year": 2017, + "url": "https://arxiv.org/abs/1512.03393", + "fulltext_url": "https://arxiv.org/pdf/1512.03393", + "reading_depth": "abstract; Theorem 1.4 determinant invariants; Theorem 1.8 inspected", + "locators": "Theorems 1.4 and 1.8, PDF pp. 2-3; journal Advances in Mathematics 310, 44-63", + "model": "Left-right SL action, determinant blow-ups over infinite fields", + "mapping": "Finite blow-up degree bounds offer bounded exact searches for a fixed coefficient module. Their input dimension is the full module dimension, not the number of Gaussian calls." + }, + { + "id": "DM18R", + "authors": "Harm Derksen; Visu Makam", + "title": "On non-commutative rank and tensor rank", + "year": 2018, + "url": "https://arxiv.org/abs/1606.06701", + "fulltext_url": "https://arxiv.org/pdf/1606.06701", + "reading_depth": "abstract; Example 1.1 elimination; tensor blow-up definitions and nonmonotonicity statements inspected", + "locators": "Example 1.1; Lemma 1.8; Proposition 1.13 and Theorem 1.14", + "model": "Commutative versus free-skew-field rank; matrix-space blow-ups", + "mapping": "The skew 3-by-3 example becomes our explicit Pauli encoding. Fixed-size blow-up ranks need not increase monotonically, so a few successful finite tests cannot establish all widths." + }, + { + "id": "DM18Q", + "authors": "Harm Derksen; Visu Makam", + "title": "Degree bounds for semi-invariant rings of quivers", + "year": 2018, + "url": "https://arxiv.org/abs/1603.00417", + "fulltext_url": "https://arxiv.org/pdf/1603.00417", + "reading_depth": "abstract; path-pencil construction; Theorem 1.2; Section 7 proof and Section 8 discussion inspected", + "locators": "Sections 1.3, 7 and 8; Theorems 1.1-1.3", + "model": "Acyclic quiver representations with dimension vectors and determinant-character weights", + "mapping": "Type each register stage and each allowed coefficient map as arrows, then search only compatible encodings. Semi-invariant degree bounds certify a finite representation problem, not a native complexity bound." + }, + { + "id": "B80", + "authors": "Dario Bini", + "title": "Relations between exact and approximate bilinear algorithms. Applications", + "year": 1980, + "url": "https://doi.org/10.1007/BF02575865", + "fulltext_url": "https://link.springer.com/article/10.1007/BF02575865", + "reading_depth": "publisher abstract read; full text subscription blocked", + "locators": "Publisher abstract; Calcolo 17, 87-97", + "model": "Approximate bilinear algorithms with an explicit error degree", + "mapping": "The abstract states an exactification cost factor 1+d. A local border construction therefore needs a complete interpolation invoice before it can improve the productive moment." + }, + { + "id": "BLR80", + "authors": "Dario Bini; Grazia Lotti; Francesco Romani", + "title": "Approximate Solutions for the Bilinear Form Computational Problem", + "year": 1980, + "url": "https://doi.org/10.1137/0209053", + "fulltext_url": "https://epubs.siam.org/doi/abs/10.1137/0209053", + "reading_depth": "publisher abstract read through indexed primary result; direct refetch returned 403", + "locators": "Publisher abstract; SIAM Journal on Computing 9(4), 692-697", + "model": "Approximate bilinear forms and stability-aware complexity", + "mapping": "Approximation can lower multiplicative complexity while increasing numerical cost. No numeric stability statement is inferred here beyond the abstract; exact port bounds are proved independently." + }, + { + "id": "DDHK07", + "authors": "James Demmel; Ioana Dumitriu; Olga Holtz; Robert Kleinberg", + "title": "Fast matrix multiplication is stable", + "year": 2007, + "url": "https://arxiv.org/abs/math/0603207", + "fulltext_url": "https://arxiv.org/pdf/math/0603207", + "reading_depth": "abstract; stationary error theorem and proof of exponent corollary inspected", + "locators": "Theorems 3.1 and 3.3, PDF p. 5; Section 3.2", + "model": "Recursive bilinear noncommutative matrix multiplication; normwise forward error", + "mapping": "Fixed certified coefficient families have polynomial error growth in dimension. Exponent existence does not choose an explicit fast family, and the theorem does not by itself analyze our Gaussian recursion." + }, + { + "id": "BBDLS16", + "authors": "Grey Ballard; Austin R. Benson; Alex Druinsky; Benjamin Lipshitz; Oded Schwartz", + "title": "Improving the numerical stability of fast matrix multiplication", + "year": 2016, + "url": "https://arxiv.org/abs/1507.00687", + "fulltext_url": "https://arxiv.org/pdf/1507.00687", + "reading_depth": "abstract; Definitions 1-2; Theorems 3/5 proof passages; diagonal-scaling Proposition 9 inspected", + "locators": "Definition 2 and Theorem 3, PDF pp. 7-11; Proposition 9, PDF p. 19", + "model": "Floating-point recursive bilinear multiplication; coefficient growth and input scaling", + "mapping": "Record coefficient magnitude and recursion error factors alongside operation counts. A smaller local conditioning constant may improve precision/constants without changing the multiplication exponent." + }, + { + "id": "DDM03", + "authors": "Jeroen Dehaene; Bart De Moor", + "title": "The Clifford group, stabilizer states, and linear and quadratic operations over GF(2)", + "year": 2003, + "url": "https://arxiv.org/abs/quant-ph/0304125", + "fulltext_url": "https://arxiv.org/pdf/quant-ph/0304125", + "reading_depth": "abstract; Pauli multiplication and conjugation formulas; Theorems 1-3 inspected", + "locators": "Theorems 1-3, PDF pp. 2-3; Section III decomposition", + "model": "Binary symplectic/quadratic descriptions of Clifford conjugation", + "mapping": "Conjugation phases are indispensable, but conjugation still loses the absolute global scalar. Exact tensor-word synthesis must preserve that remaining scalar separately." + }, + { + "id": "AG04", + "authors": "Scott Aaronson; Daniel Gottesman", + "title": "Improved Simulation of Stabilizer Circuits", + "year": 2004, + "url": "https://arxiv.org/abs/quant-ph/0406196", + "fulltext_url": "https://arxiv.org/pdf/quant-ph/0406196", + "reading_depth": "abstract; tableau operations; Lemma 5 proof; Theorem 8 canonical-form discussion inspected", + "locators": "Lemma 5 and Theorem 8, PDF pp. 9-10; v5 dated 18 June 2008", + "model": "Efficient classical simulation of Clifford/stabilizer circuits", + "mapping": "Tableau canonical forms can reduce duplicate discovery states. They cannot merge actual scalar-distinct linear maps in our ABI, and efficient quantum-circuit simulation does not mean a Gaussian array transform is free." + }, + { + "id": "GQ19", + "authors": "Joshua A. Grochow; Youming Qiao", + "title": "Isomorphism problems for tensors, groups, and cubic forms: completeness and reductions", + "year": 2019, + "url": "https://arxiv.org/abs/1907.00309", + "fulltext_url": "https://arxiv.org/pdf/1907.00309", + "reading_depth": "abstract; orbit-action taxonomy; Theorems A/B and Corollary B inspected", + "locators": "Section 3; Theorems A and B; Section 6.1", + "model": "Polynomial reductions among tensor/group/algebra isomorphism problems, with stated field restrictions", + "mapping": "Colored linear-algebra gadgets can encode register roles and forbid mixing incompatible endpoint types. Such reductions preserve isomorphism decisions rather than Gaussian-call or RAM-time complexity." + }, + { + "id": "FGS19", + "authors": "Vyacheslav Futorny; Joshua A. Grochow; Vladimir V. Sergeichuk", + "title": "Wildness for tensors", + "year": 2019, + "url": "https://arxiv.org/abs/1810.09219v2", + "fulltext_url": "https://arxiv.org/pdf/1810.09219", + "reading_depth": "abstract; Theorem 1.1; linked block-equivalence setup; Section 5 proof inspected", + "locators": "Theorem 1.1; Remark 1.1; Sections 4-5, PDF pp. 30-33", + "model": "Systems of order-at-most-three tensors and linked basis-change actions over arbitrary fields", + "mapping": "Its role-locking pattern can organize a typed controller search. The construction can grow with the number of parts and supplies no constant-cost runtime reduction for the multiplication algorithm." + }, + { + "id": "LM02", + "authors": "J. M. Landsberg; Laurent Manivel", + "title": "Triality, exceptional Lie algebras and Deligne dimension formulas", + "year": 2002, + "url": "https://arxiv.org/abs/math/0107032", + "fulltext_url": "https://arxiv.org/pdf/math/0107032", + "reading_depth": "abstract; Introduction; Section 2 triality definition and first model discussion inspected", + "locators": "Section 2, PDF p. 2 onward; Proposition 1.1", + "model": "Characteristic-zero exceptional Lie algebras, composition algebras and D4 triality", + "mapping": "D4 triality is a specific relation among three eight-dimensional representations. Generic symplectic tensor-isomorphism padding is a different construction; a useful runtime transfer requires an explicit map into the current paid/free operators." + } + ], + "full_text_entries_inspected": 14, + "abstract_or_primary_excerpt_only_entries": [ + "M49", + "B80", + "BLR80" + ], + "redistributed_pdfs": false, + "repository_overlap": [ + { + "path": "research/pr4601-noncommutative-check/README.md", + "commit": "624de9dc66858af0945e5f8a0942488d62280d43", + "sha256": "1354a4f572b95259d1dce36745125e44935bd158e63e0158bdb34c4b5183fdb6", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/pr4601-noncommutative-check/README.md", + "depth": "complete README read; source verifier not replayed by this worker" + }, + { + "path": "research/multirole-radical-pencil/README.md", + "commit": "624de9dc66858af0945e5f8a0942488d62280d43", + "sha256": "4f775b02c4f10c4b5394b8520e3837738fb695d255cba56b7639bd02bd1984a1", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/multirole-radical-pencil/README.md", + "depth": "complete README read; source verifier not replayed by this worker" + } + ] +} diff --git a/research/kappa-literature-map/algebra/anchor_check.py b/research/kappa-literature-map/algebra/anchor_check.py new file mode 100644 index 0000000000..3da1f96678 --- /dev/null +++ b/research/kappa-literature-map/algebra/anchor_check.py @@ -0,0 +1,101 @@ +"""Exact finite tests for the fixed-anchor compiler; standard library only.""" +import argparse +from fractions import Fraction as F +import json +from pathlib import Path + +ZERO, ONE = (F(0), F(0)), (F(1), F(0)) +A, B = (F(1, 2), F(1, 2)), (F(1, 2), F(-1, 2)) + +def require(ok, message): + if not ok: + raise ValueError(message) + +def add(x, y): + return x[0] + y[0], x[1] + y[1] + +def mul(x, y): + return x[0] * y[0] - x[1] * y[1], x[0] * y[1] + x[1] * y[0] + +def call(v, f, j, inverse=False): + out = list(v) + a, b = (B, A) if inverse else (A, B) + for col in range(f): + bit = 1 << (3 * col + j) + for x in range(len(out)): + if not x & bit: + u, z = out[x], out[x | bit] + out[x], out[x | bit] = add(mul(a, u), mul(b, z)), add(mul(b, u), mul(a, z)) + return out + +def split(v): + return [[v[(t << 3) | s] for t in range(len(v) // 8)] for s in range(8)] + +def join(banks): + return [banks[x & 7][x >> 3] for x in range(8 * len(banks[0]))] + +def anchor_mix(banks, j, inverse=False): + out = [list(v) for v in banks] + for t in range(len(out[0])): + col = call([out[s][t] for s in range(8)], 1, j, inverse) + for s in range(8): + out[s][t] = col[s] + return out + +def compiled_call(v, f, j): + require(f >= 2, 'remaining width must be positive') + banks = [call(b, f - 1, j) for b in split(v)] + return join(anchor_mix(banks, j)) + +def K(v, f): + for j in range(3): + v = call(v, f, j) + return v + +def compiled_target(v, f): + out = list(v) + for j in range(3): + out = compiled_call(out, f, j) + banks = split(out) + for j in reversed(range(3)): + banks = anchor_mix(banks, j, inverse=True) + return banks + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--out', type=Path) + p.add_argument('--check', type=Path) + args = p.parse_args() + basis_calls, basis_targets = 0, 0 + for k in range(64): + v = [ONE if i == k else ZERO for i in range(64)] + require(join(split(v)) == v, 'all eight component lanes are independent') + for j in range(3): + require(compiled_call(v, 2, j) == call(v, 2, j), 'width-two basis call') + basis_calls += 1 + require(compiled_target(v, 2) == [K(b, 1) for b in split(v)], 'canonical independent smaller targets') + basis_targets += 1 + arbitrary_calls, arbitrary_targets = 0, 0 + unrelated = [(F(17), F(-23)), (F(-31), F(43))] + old_unrelated = list(unrelated) + for seed in (3, 11): + v = [(F((17 * i + seed) % 29 - 14), F((19 * i + seed) % 31 - 15)) for i in range(512)] + saved = list(v) + for j in range(3): + require(compiled_call(v, 3, j) == call(v, 3, j), 'width-three arbitrary complex call') + arbitrary_calls += 1 + require(compiled_target(v, 3) == [K(b, 2) for b in split(v)], 'width-three canonical target') + arbitrary_targets += 1 + require(v == saved and unrelated == old_unrelated, 'arbitrary source and unrelated dirty memory preserved') + for j in range(3): + require(compiled_call([ZERO] * 64, 2, j) == [ZERO] * 64, 'zero owner slice') + require(compiled_target([ZERO] * 64, 2) == [[ZERO] * 8 for _ in range(8)], 'zero owner target') + report = {'status': 'PASS_EXACT_ANCHOR_EXTERNALIZATION', 'widths': [2, 3], 'width_two_basis_call_identities': basis_calls, 'width_two_basis_canonical_target_identities': basis_targets, 'width_three_arbitrary_complex_call_identities': arbitrary_calls, 'width_three_arbitrary_complex_target_identities': arbitrary_targets, 'zero_owner_checks': 4, 'independent_anchor_components': 8, 'compiled_paid_calls_per_original_call': 8, 'compiler_scope': 'native Q(i) scalar grammar; forward compiler, not generic reverse call compression', 'new_kappa': False} + if args.check: + require(json.loads(args.check.read_text(encoding='utf-8')) == report, 'stored anchor result mismatch') + if args.out: + args.out.write_text(json.dumps(report, indent=2, sort_keys=True) + '\n', encoding='utf-8') + print(json.dumps(report, sort_keys=True)) + +if __name__ == '__main__': + main() diff --git a/research/kappa-literature-map/algebra/hook_check.py b/research/kappa-literature-map/algebra/hook_check.py new file mode 100644 index 0000000000..1416376326 --- /dev/null +++ b/research/kappa-literature-map/algebra/hook_check.py @@ -0,0 +1,106 @@ +"""Optional exact hook comparison with an immutable local predecessor.""" +import argparse +import hashlib +import importlib.util +import json +from pathlib import Path +import sys +import time + +ENGINE_SHA256 = '99ff0beccd9a4e94cc607e02114d62b8ce0ea57ee00748b07ce0a0af91aec85e' + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def run(src): + require(hashlib.sha256(src.read_bytes()).hexdigest() == ENGINE_SHA256, + 'immutable predecessor hash mismatch') + # -B prevents new caches but does not prevent reading an existing cache. + # Refuse either cache location so the source hash binds executed code. + optimization = str(sys.flags.optimize) if sys.flags.optimize else '' + cache = Path(importlib.util.cache_from_source(str(src), optimization=optimization)) + require(not cache.exists() and not src.with_suffix('.pyc').exists(), + 'remove no files automatically: replay requires an uncached source location') + spec = importlib.util.spec_from_file_location('pinned_hook', src) + m = importlib.util.module_from_spec(spec) + spec.loader.exec_module(m) + D = m.lift_direction(1) + K = m.compose(m.lift_direction(4), m.compose(m.lift_direction(2), D)) + h = [((x & 1) << 2) | (x & 2) | ((x & 4) >> 2) for x in range(8)] + g = list(m.V_PERM) + + def cp(a, b): + return [a[b[x]] for x in range(8)] + + hp = [list(range(8)), h, g, cp(h, g), cp(g, h), cp(h, cp(g, h))] + phases = [m.I_POWERS[(x.bit_count() + sum(t.bit_count() for t in sub)) % 4] + for x, sub in m.BASIS] + + def ph(cols): + return [{i: m.mul(phases[i], v) for i, v in c.items()} for c in cols] + + def scale(cols, k): + return [{i: m.mul(k, v) for i, v in c.items()} for c in cols] + + begin = ph(D) + cases = [ + ('hecke', hp, [(k, 0) for k in [2, -2, 1, 1, 1, 1]], 144), + ('hecke_plus_U_over_16', hp + [list(m.U_PERM)], + [(k, 0) for k in [8, -8, 4, 4, 4, 4, 1]], 160), + ('pencil_1_over_16', [list(m.U_PERM), list(m.V_PERM)], [(16, 0), (1, 0)], 160), + ('pencil_minus_1_over_16', [list(m.U_PERM), list(m.V_PERM)], [(16, 0), (-1, 0)], 160), + ('pencil_i_over_16', [list(m.U_PERM), list(m.V_PERM)], [(16, 0), (0, 1)], 160), + ('pencil_minus_i_over_16', [list(m.U_PERM), list(m.V_PERM)], [(16, 0), (0, -1)], 160), + ] + reports, timing = [], [] + for name, perms, coeff, want in cases: + start = time.perf_counter() + mid = [{} for _ in D] + for perm, k in zip(perms, coeff): + mid = m.add_columns(mid, scale(m.apply_permutation(perm, begin), k)) + F = m.compose(D, ph(mid)) + rows = [] + for mask in m.CUTS: + ix = m.cut_indices(mask) + fr, kr = m.project(F, ix), m.project(K, ix) + phi, joint = m.rank_exact(fr), m.rank_exact(kr + fr) + require(phi == want and joint == 224, 'case ' + name + ', cut ' + str(mask)) + rows.append({'mask': mask, 'prefix_rank': phi, 'target_joint_rank': joint}) + print(json.dumps({'case': name, **rows[-1]}), flush=True) + reports.append({'case': name, 'cuts': rows}) + timing.append({'case': name, 'elapsed_seconds': round(time.perf_counter() - start, 3)}) + return {'status': 'PASS_EXACT_HOOK_COMPARISON', 'engine_sha256': ENGINE_SHA256, + 'representation': 'V tensor exterior^4 V, dimension 560 at width five', + 'cases': reports, 'new_kappa': False}, timing + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--engine', type=Path, + default=Path(__file__).resolve().parent.parent / 'sources' / 'hook_engine.py') + p.add_argument('--out', type=Path) + p.add_argument('--check', type=Path) + p.add_argument('--timing', type=Path) + a = p.parse_args() + report, timing = run(a.engine) + if a.check: + require(json.loads(a.check.read_text(encoding='utf-8')) == report, + 'stored hook result mismatch') + if a.out: + a.out.write_text(json.dumps(report, indent=2, sort_keys=True) + '\n', encoding='utf-8') + if a.timing: + a.timing.write_text(json.dumps({'scope': 'single exact replay timing', + 'interpreter_mode': {'isolated': bool(sys.flags.isolated), + 'optimization': sys.flags.optimize, + 'dont_write_bytecode': sys.dont_write_bytecode}, + 'records': timing}, + indent=2) + '\n', encoding='utf-8') + print(json.dumps({'status': report['status'], 'cases': len(report['cases']), + 'timing': timing}, sort_keys=True)) + + +if __name__ == '__main__': + main() diff --git a/research/kappa-literature-map/algebra/test.py b/research/kappa-literature-map/algebra/test.py new file mode 100644 index 0000000000..69687984d9 --- /dev/null +++ b/research/kappa-literature-map/algebra/test.py @@ -0,0 +1,215 @@ +#!/usr/bin/env python3 +"""Portable exact algebra technique tests; no network, solver, or Lean required.""" +import argparse +from fractions import Fraction as F +from itertools import permutations, product +import json +from pathlib import Path + + +def require(ok, message): + if not ok: + raise ValueError(message) + + +def identity(n): + return [[F(i == j) for j in range(n)] for i in range(n)] + + +def matmul(A, B): + return [[sum(a * b for a, b in zip(row, col)) for col in zip(*B)] for row in A] + + +def rank(A): + M = [list(map(F, row)) for row in A] + r = 0 + for j in range(len(M[0]) if M else 0): + k = next((k for k in range(r, len(M)) if M[k][j]), None) + if k is None: + continue + M[r], M[k] = M[k], M[r] + a = M[r][j] + M[r] = [x / a for x in M[r]] + for k in range(r + 1, len(M)): + a = M[k][j] + if a: + M[k] = [x - a * y for x, y in zip(M[k], M[r])] + r += 1 + return r + + +def ga_add(A, B): + C = A.copy() + for k, v in B.items(): + C[k] = C.get(k, F(0)) + v + return {k: v for k, v in C.items() if v} + + +def ga_scale(a, A): + return {k: a * v for k, v in A.items() if a * v} + + +def pmul(a, b): + return tuple(a[b[j]] for j in range(3)) + + +def ga_mul(A, B): + C = {} + for a, u in A.items(): + for b, v in B.items(): + k = pmul(a, b) + C[k] = C.get(k, F(0)) + u * v + return {k: v for k, v in C.items() if v} + + +def hecke_test(): + one, h, g = (0, 1, 2), (2, 1, 0), (1, 0, 2) + I = {one: F(1)} + e = ga_scale(F(1, 2), {one: F(1), h: F(1)}) + T = ga_mul(ga_mul(e, {g: F(1)}), e) + M = ga_add(ga_add(I, ga_scale(-1, e)), T) + Mi = ga_add(ga_add(I, ga_scale(-2, e)), ga_scale(2, T)) + require(ga_mul(e, e) == e, 'Hecke idempotent') + require(ga_mul(T, T) == ga_scale(F(1, 2), ga_add(e, T)), 'Hecke quadratic relation') + require(ga_mul(M, Mi) == I and ga_mul(Mi, M) == I, 'whole-input Hecke inverse') + require(ga_mul(M, M) == ga_add(ga_scale(F(1, 2), M), ga_scale(F(1, 2), I)), 'whole-space minimal polynomial') + # A dropped complementary sector must not be accepted as a full inverse. + require(ga_mul(T, ga_add(ga_scale(2, T), ga_scale(-1, e))) == e, 'sector inverse') + require(e != I, 'complement-retention negative control') + def addr(p, x, f): + y = 0 + for j in range(f): + d = (x >> (3 * j)) & 7 + out = sum(((d >> i) & 1) << p[i] for i in range(3)) + y |= out << (3 * j) + return y + def apply(A, v, f): + out = [F(0)] * len(v) + for p, c in A.items(): + for x, a in enumerate(v): + out[addr(p, x, f)] += c * a + return out + entries = 0 + for f in range(1, 5): + v = [F((37 * j + f) % 101 - 50) for j in range(8 ** f)] + require(apply(Mi, apply(M, v, f), f) == v, 'actual tensor-coordinate forward inverse') + require(apply(M, apply(Mi, v, f), f) == v, 'actual tensor-coordinate inverse forward') + entries += len(v) + return {'all_width_group_algebra_identities': 5, 'coordinate_widths': [1, 2, 3, 4], 'checked_vector_entries_per_direction': entries, 'norm2_bound': '1', 'inverse_norm2_bound': '2', 'retained_complement_control': True} + + +def pauli_test(): + records = [] + for f in range(1, 5): + N = 2 ** f + for anchored in (False, True): + A = [[F(0)] * N for _ in range(N)] + B = [[F(0)] * N for _ in range(N)] + for x in range(N): + A[x][x] = F(-1 if ((x & 1) if anchored else x.bit_count() % 2) else 1) + B[x ^ (1 if anchored else N - 1)][x] = F(1) + I = identity(N) + Z = [[F(0)] * N for _ in range(N)] + blocks = [[Z, I, A], [[[-a for a in row] for row in I], Z, B], [[[-a for a in row] for row in A], [[-a for a in row] for row in B], Z]] + M = [sum((blocks[i][j][r] for j in range(3)), []) for i in range(3) for r in range(N)] + got = rank(M) + want = 3 * N if anchored or f % 2 else 2 * N + require(got == want, 'phase-sensitive blow-up rank') + if anchored or f % 2: + AB = matmul(A, B) + M2 = matmul(M, M) + M4 = matmul(M2, M2) + require(all(M4[i][j] + 5 * M2[i][j] + 4 * F(i == j) == 0 for i in range(3 * N) for j in range(3 * N)), 'anchored spectral polynomial') + # Recover each input from every basis output; this verifies the literal inverse. + def act(M, v): + return [sum(a * b for a, b in zip(row, v)) for row in M] + for k in range(3 * N): + initial = [F(j == k) for j in range(3 * N)] + rr, ss, tt = (initial[j * N:(j + 1) * N] for j in range(3)) + az, br = act(A, ss), act(B, rr) + zz = [x / 2 for x in act(AB, [t - a + b for t, a, b in zip(tt, az, br)])] + xx = [b - s for b, s in zip(act(B, zz), ss)] + yy = [r - a for r, a in zip(rr, act(A, zz))] + require(act(M, xx + yy + zz) == initial, 'explicit free Pauli inverse') + records.append({'f': f, 'anchored': anchored, 'reduced_rank': got, 'full_8ary_rank': got * 4 ** f}) + scalar_ranks = [] + for a, b, c in product(range(-2, 3), repeat=3): + scalar_ranks.append(rank([[0, c, a], [-c, 0, b], [-a, -b, 0]])) + require(max(scalar_ranks) == 2, 'scalar skew rank') + return {'records': records, 'scalar_specializations_checked': len(scalar_ranks), 'maximum_scalar_rank': 2, 'even_width_false_promotion_rejected': True, 'anchored_operator_norm2_bound': 2, 'anchored_inverse_norm2_bound': 1, 'anchored_inverse_coordinate_norm_bound': '3/2', 'anchored_model': 'one designated native address bit; broader than identical tensor-letter grammar'} + + +def hyperbolic_test(): + P = [[F(1), F(1)], [F(0), F(1)]] + Pi = [[F(1), F(-1)], [F(0), F(1)]] + require(matmul(P, Pi) == identity(2), 'original basis change inverse') + S = [[F(0)] * 4 for _ in range(4)] + for i in range(2): + for j in range(2): + S[i][j] = P[i][j] + S[2 + i][2 + j] = Pi[j][i] + J = [[F(0)] * 4 for _ in range(4)] + for i in range(2): + J[i][2 + i], J[2 + i][i] = F(1), F(-1) + require(matmul(list(map(list, zip(*S))), matmul(J, S)) == J, 'hyperbolic symplectic chart') + A = {(i, j, k): F(1 + i + 2 * j + 4 * k) for i, j, k in product(range(2), repeat=3)} + B = {(i, j, k): sum(P[i][a] * P[j][b] * P[k][c] * A[a, b, c] for a, b, c in product(range(2), repeat=3)) for i, j, k in product(range(2), repeat=3)} + padded = {(i, j, k): A.get((i, j, k), F(0)) for i, j, k in product(range(4), repeat=3)} + got = {(i, j, k): sum(S[i][a] * S[j][b] * S[k][c] * v for (a, b, c), v in padded.items()) for i, j, k in product(range(4), repeat=3)} + require(all(got[i, j, k] == B.get((i, j, k), F(0)) for i, j, k in got), 'literal padded action') + # Conjugation data cannot recover an absolute scalar. + Z, X = [[F(1), F(0)], [F(0), F(-1)]], [[F(0), F(1)], [F(1), F(0)]] + negI = [[-x for x in row] for row in identity(2)] + require(matmul(negI, matmul(X, negI)) == X and matmul(negI, matmul(Z, negI)) == Z, 'central phase invisible to tableau') + return {'padding_volume_factor': 8, 'padded_coordinates_checked': 64, 'symplectic_chart_identity': True, 'actual_tensor_action': True, 'global_phase_tableau_control': True, 'scope': 'forward explicit padding example, not a kernel check or proof of the converse theorem'} + + +def funding_test(): + # This is an exact conditional invoice, not an exhibited 5-in-14 supplier. + require(5 ** 16 * 3 ** 15 > 14 ** 16, 'q=1/16 productive moment') + require(5 ** 15 * 3 ** 14 < 14 ** 15, 'q=1/15 root bracket') + qc, kappa, c = F(1, 16), F(1, 20), F(3, 32) + q = (kappa + qc) / 2 + delta = min(F(1, 100), (q - kappa) / (4 * (q + 1)), (c - q) / 16) + eps, beta = 1 - delta, 1 - 3 * delta + layout, group = delta / 100, delta / 10 + xi = eps * (1 + q) - c + layout + stop = (qc - q) / (2 * qc) + rows = {'simultaneous_transform': eps * q, 'routing': F(1), 'fused_gaussian': 1 - eps + q * beta, 'standalone_addressing': F(1), 'group_scans': 1 - eps + beta, 'boundary': c + xi - eps, 'indexed_sparse_axes': F(1, 2) + xi - eps, 'precision_products': eps, 'core_face_recovery': 79 - eps - beta} + require(all(s > kappa for s in rows.values()), 'all nine rows must beat kappa') + require(F(1, 2) < xi < eps, 'layout interval') + require(beta + 1 - eps < 1, 'key volume') + require(1 - beta - 2 * (1 - eps) > 0, 'membership guard') + require(1 - eps - group > 0, 'group guard') + require(1 - (beta + 2 * xi - 2 + group) > 0, 'chirp guard') + require(qc * (1 - stop) > q, 'strict provider loss') + require(28 > 5 * 3, 'a paid two-evaluation exactification loses the moment even at q=0') + precision = [] + for depth in (1, 2, 3, 4): + P = 128 + error_multiplier = (56 ** (depth + 1) - 1) // 55 + guard = error_multiplier.bit_length() + 2 + require(error_multiplier < 2 ** (guard - 1), 'fixed-coefficient error envelope') + require(guard <= 6 * (depth + 1) + 3, 'logarithmic guard in recursive dimension') + precision.append({'depth': depth, 'abstract_recurrence_guard_bits': guard, 'digit_width_f': 3 ** depth, 'coordinate_guard_if_array_dimension_8powf': guard + (3 * (3 ** depth) + 3) // 2, 'laurent_guard_for_D3_delta_2minusP': 3 * P * depth}) + return {'scope': 'conditional 5-in-14 and native funding arithmetic only', 'q_root_strict_bracket': ['1/16', '1/15'], 'q_C_tested': str(qc), 'kappa_target_tested': str(kappa), 'delta': str(delta), 'nine_row_savings': {k: str(v) for k, v in rows.items()}, 'strict_provider_stop': str(stop), 'precision_records': precision, 'precision_scope': 'scalar recurrence assumes a declared norm and constant local factor; coordinate noise in 3D entries adds ceil(log2(3D)/2) guard; native use also requires f=O(log p)', 'supplier_exhibited': False, 'new_kappa': False} + + +def run(): + return {'status': 'PASS_EXACT_ALGEBRA_TECHNIQUES', 'hecke': hecke_test(), 'noncommutative_encoding': pauli_test(), 'local_precedent_transport': hyperbolic_test(), 'conditional_invoice': funding_test()} + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--out', type=Path) + p.add_argument('--check', type=Path) + args = p.parse_args() + report = run() + if args.check: + require(json.loads(args.check.read_text(encoding='utf-8')) == report, 'stored expected result mismatch') + if args.out: + args.out.write_text(json.dumps(report, indent=2, sort_keys=True) + '\n', encoding='utf-8') + print(json.dumps(report, sort_keys=True)) + +if __name__ == '__main__': + main() diff --git a/research/kappa-literature-map/quantum/CROSS-REVIEW.md b/research/kappa-literature-map/quantum/CROSS-REVIEW.md new file mode 100644 index 0000000000..b7d18dcd6f --- /dev/null +++ b/research/kappa-literature-map/quantum/CROSS-REVIEW.md @@ -0,0 +1,68 @@ +# Independent cross-review: exact encodings, adjoints and native implementation + +This is a separate Codex-worker review, not human peer review or a Lean kernel audit. The reviewed constructions establish scoped algebraic interfaces; they do not exhibit a new multiplication supplier or κ. Both `algebra/test.py --check algebra/EXPECTED.json` and `root/test.py` passed in isolated optimized mode during review. + +## Hecke coupling: accepted as a whole-input sufficient construction + +Let g and h be the literal generating transpositions of S3, represented by exact unitary permutation operators. Set e=(I+h)/2, T=e g e and M=(I-e)+T. The identities e^2=e and T^2=(e+T)/2 imply + + M^-1 = I - 2e + 2T, + M^2 = (M+I)/2. + +Both inverse multiplication orders hold in the actual group algebra, not just after restricting to the image of e. Since e and g are self-adjoint, T and M are self-adjoint. The polynomial puts M's spectrum in {1,-1/2}; hence its Euclidean norm is at most 1 and its inverse norm at most 2. Dropping I-e would discard an independent complementary input sector and is not a full-input inverse. + +At every positive width, apply the representation to the fixed group-algebra identity. In particular e_f=(I+h_f)/2; it is not the tensor power of the base projector e. The scalar halves stay outside tensor powers. Literal permutation realizations satisfy the group relations including absolute phase. A projective representation would require a separate phase/cocycle audit before the same coefficient identity could be applied. + +There is an explicit in-place native implementation. The diagonal S3 action on all address digits partitions the V addresses into orbits of size at most 6. Enumerate addresses, compute their six group images, and process an orbit only at its least address. Load all distinct old orbit entries before any store, evaluate the fixed linear combinations for every orbit coordinate, and then write them. Duplicate images from stabilizers have their coefficients added. This uses constant many complex-entry temporaries, not a hidden output field. + +Three periodic bit-lane masks implement each fixed permutation of the three bit positions simultaneously over f digits using constant many shifts/masks. The masks can be initialized in O(f) shifts, avoiding division and any need to store 2^(3f). With 3f-bit addresses fitting the specified bounded number of native words, every group image costs O(1) word operations. The whole forward or inverse therefore costs O(V) native work. Dyadic coefficient heights are fixed per application; repeated exact applications must accumulate their actual grid-height and magnitude guards. + +This orbit argument is a general sufficient implementation rule for a fixed finite monomial group whose address/phase action costs O(1): a fixed group-algebra operator preserves its constant-size address orbits and can be evaluated orbit by orbit. It does not make a growing group or an expensive address map constant cost, and it does not admit unpriced non-dyadic scalar division. + +## Anchored Pauli coupling: accepted with an explicit grammar boundary + +For self-adjoint involutions A and B with AB=-BA, the three-bank map is + + r = y + A z, + s = -x + B z, + t = -A x - B y. + +Its explicit inverse is + + z = (AB t + B s + A r)/2, + x = B z - s, + y = r - A z. + +Substitution proves the inverse for every input. The designated-bit realization uses A=Z and B=X on one fixed address bit, with every other bit a spectator. For each pair of addresses differing in that bit, load the six old bank entries before storing outputs. All computations then stay inside that pair, requiring constant temporary words and O(V) work. Arrays must be physically disjoint, their entries must occupy the specified bounded number of words, and the inverse's extra dyadic bit must be retained. + +The sharp useful bounds also follow algebraically. For the full block matrix M, M*=-M, and N=M^2+2I obeys N^2=2I-N. Thus (M^2+I)(M^2+4I)=0; Euclidean singular values lie in {1,2}, giving norm(M)<=2 and norm(M^-1)<=1. A separate exact six-dimensional rational check confirmed that polynomial during review. Expanding the displayed inverse into three monomial terms per output also gives inverse infinity norm at most 3/2. + +The identical-tensor realization is different: A=Z raised to tensor width f and B=X raised to tensor width f commute when f is even. Its rank then drops to two banks' worth. The anchored construction fixes that specific all-width defect by changing the native address grammar. It must not be promoted to an admitted identical-tensor-letter supplier or to extra independent Gaussian output credit without an actual caller and physical word. + +## Root adjoint and transparent translation: accepted with the Hermitian convention + +For U=[[A,0],[ALA,A]] with unitary A, the checked Hermitian adjoint and inverse-adjoint are + + U* = [[A*, A*L*A*],[0,A*]], + (U^-1)* = [[A,-L*],[0,A]]. + +The root test's complex inner products include conjugation, and its actual phase-bearing P and Q monomials are correct. This is a Hermitian-adjoint statement, not an unqualified bilinear transpose. The reverse uses paid Gaussian inverses, which the current letters implement with one forward call and a literal free translation. A forward call is not automatically its own adjoint; the explicit rejecting controls are appropriate. + +Conjugating a translation of the first output by U gives the exact all-baseline map + + U^-1 ((U(x,y)) + (delta,0)) + = (x + A^-1 delta, y - L delta). + +The original implementation uses two forward and two reverse paid calls. Delta is an actual length-V array or an explicitly generated stream, whose storage/generation and addition passes must be counted. The formula does not turn the transformed delta array into a free precomputed object. + +## Finite-character selector and pricing: accepted only in its stated model + +The root test chooses a primitive cubic character over F13, where 3 is invertible. Character averaging selects each of four input channels after applying a linear map to every encoded query. The union contains nine queries, so assigning three paid calls to each costs 27, exceeding the direct 12-call comparison. This is a valid positive decoding example and an honest model/invoice rejection; it is not a complex Gaussian supplier. A complex implementation would separately need admitted phase constants, their approximation/grid costs and the actual transform schedule. + +A fixed scalar outside the total algorithm's running-time bound does not change its logarithmic power exponent. In contrast, multiplying the paid child multiplicities at every recursive level changes the moment equation. The two statements must not be conflated. The algebra funding receipt explicitly marks its hypothetical five-in-fourteen supplier as unexhibited; its conditional numerical arithmetic is not a newly achieved κ. + +## Precision contract that must accompany recursive use + +A recurrence E_(L+1)<=C E_L+rho yields a geometric error factor, but its error norm must be stated. If rho is a global Euclidean perturbation at each layer, the tested fixed geometric bound applies in that norm. If rho instead bounds each of D coordinate errors, a Euclidean argument first contributes a factor sqrt(D), requiring an additional O(log D) precision allowance. For codes with a dimension-independent infinity norm, a coordinatewise recurrence can instead be justified directly. + +Before claiming bounded-word execution, relate the maximum layer depth L and dimension D to the external word/precision parameter. A sufficient guard O(L+log D), together with explicitly bounded input/output magnitude and denominator height, is compatible with a fixed number of C log n-bit words when those quantities are O(log n). Fixed-degree Laurent dependence inside one macro does not prove a fixed recursive degree: its degree may add at each level, and its bit cost must be included. None of the exact small tests alone proves these whole-recursion hypotheses. diff --git a/research/kappa-literature-map/quantum/EXPECTED.json b/research/kappa-literature-map/quantum/EXPECTED.json new file mode 100644 index 0000000000..45af7a2bde --- /dev/null +++ b/research/kappa-literature-map/quantum/EXPECTED.json @@ -0,0 +1,72 @@ +{ + "dirty_and_model": { + "arbitrary_dirty_echo_cases": 64, + "calls_per_echo": 8, + "even_FLO_encoding_rejected": true, + "hadamard_vs_paid_ledger": [ + { + "naive_H_count": 2, + "optimized_H_count": 1, + "paid_Gaussian_calls_after": 1, + "paid_Gaussian_calls_before": 1, + "width": 1 + }, + { + "naive_H_count": 4, + "optimized_H_count": 2, + "paid_Gaussian_calls_after": 1, + "paid_Gaussian_calls_before": 1, + "width": 2 + }, + { + "naive_H_count": 6, + "optimized_H_count": 3, + "paid_Gaussian_calls_after": 1, + "paid_Gaussian_calls_before": 1, + "width": 3 + }, + { + "naive_H_count": 8, + "optimized_H_count": 4, + "paid_Gaussian_calls_after": 1, + "paid_Gaussian_calls_before": 1, + "width": 4 + }, + { + "naive_H_count": 10, + "optimized_H_count": 5, + "paid_Gaussian_calls_after": 1, + "paid_Gaussian_calls_before": 1, + "width": 5 + } + ], + "nonunitary_shear_rejected": true, + "paid_primitive_invocations": 512, + "relative_phase_merge_rejected": true, + "scope": "exact all-input linear echo, with explicit compute/restore overhead; no supplier saving", + "state_only_operator_certificate_rejected": true + }, + "hadamard": { + "minimum_H_distribution": { + "0": 48, + "1": 288, + "2": 384 + }, + "scope": "two-qubit symplectic quotient only; phases tested separately", + "symplectic_classes": 720 + }, + "new_kappa": null, + "ownership": { + "borrowed_input_preserved": true, + "invalid_clear_or_alias_rejections": 4, + "owned_stores_charged": 4, + "valid_owned_initialization_and_clear": true + }, + "phase": { + "affine_quadratic_compositions": 3072, + "phase_sensitive_basis_checks": 16384, + "projective_merge_rejected": true, + "quadratic_parity_cases": 4 + }, + "status": "PASS_PHASE_AWARE_LITERATURE_TRANSFER" +} diff --git a/research/kappa-literature-map/quantum/LOCAL-PRECEDENTS.json b/research/kappa-literature-map/quantum/LOCAL-PRECEDENTS.json new file mode 100644 index 0000000000..dfb45f9c76 --- /dev/null +++ b/research/kappa-literature-map/quantum/LOCAL-PRECEDENTS.json @@ -0,0 +1,34 @@ +[ + { + "module": "Mathproof.BinarySymplecticGroupOrder", + "project_relative_path": "Mathproof/BinarySymplecticGroupOrder.lean", + "sha256": "ffe0d1519e57189a346e878a62015bba9e6c0b8e790bf9ce89efb65c2d505075", + "declarations_read_or_located": [ + "transvectionMap_involutive", + "transvection_preserves", + "card_symplectic" + ], + "evidence": "SOURCE_ONLY_UNELABORATED" + }, + { + "module": "Mathproof.Meta.Problem18CharTwoSymplecticBasis20260929", + "project_relative_path": "Mathproof/Meta/Problem18CharTwoSymplecticBasis20260929.lean", + "sha256": "1d17b2a9c93f6fc77b737d4675f0f98c3537b7a17ed659b75c48911cabd88d45", + "declarations_read_or_located": [ + "frame_has_mate", + "exists_complete_paired_basis" + ], + "evidence": "SOURCE_ONLY_UNELABORATED" + }, + { + "module": "Mathproof.AlmanWalshHadamard20260806", + "project_relative_path": "Mathproof/AlmanWalshHadamard20260806.lean", + "sha256": "c31f48062929faa94e712a18ce86a620d6f68d30188aef6cbb49befe20c69834", + "declarations_read_or_located": [ + "Claim_Theorem1", + "walshHadamard", + "changedEntries" + ], + "evidence": "SOURCE_ONLY_UNELABORATED" + } +] diff --git a/research/kappa-literature-map/quantum/PROJECT-PINS.json b/research/kappa-literature-map/quantum/PROJECT-PINS.json new file mode 100644 index 0000000000..e1ceaf8ca7 --- /dev/null +++ b/research/kappa-literature-map/quantum/PROJECT-PINS.json @@ -0,0 +1,16 @@ +{ + "snapshot": "cp22f frozen upload snapshot", + "repository_relative_root": "research/complex-prefix-native-ports", + "sha256": { + "FULL-INPUT-PORT.md": "52b8462e28f9e87925ccfea27872630e2b2da23f19fd3d2265c2654bc016088c", + "SECTOR-COMPLETION.md": "2e72e19c4733213d1875f60cf87eddb733dde9266cf2581cb56393c3fabf1933", + "pr4710/verify_residual.py": "0d277854396e4ceda1e0f26916bd576b6decb474c0692b6671ebf2595283ddb9", + "SOURCE-PINS.json": "9d039350b6fcba24dda2ec603dab2083ff8cc7c671c374d849b1c76b431aec0a" + }, + "source_credit_prs": [ + 4628, + 4688, + 4710 + ], + "scope": "Read-only provenance; these predecessor files are not redistributed by this lane." +} diff --git a/research/kappa-literature-map/quantum/REVIEW.md b/research/kappa-literature-map/quantum/REVIEW.md new file mode 100644 index 0000000000..04ca0304e1 --- /dev/null +++ b/research/kappa-literature-map/quantum/REVIEW.md @@ -0,0 +1,136 @@ +# Phase-aware circuit synthesis and borrowed workspace: a tested literature transfer review + +Prepared for Dugongue with substantial OpenAI Codex assistance. Review date: 22 October 2026. This lane selects 18 primary papers; 15 were read beyond their abstract at the definition, theorem, construction or argument-excerpt level. The labels in SOURCES.json distinguish that work from a whole-paper proof audit. No new κ, complete supplier or five-input/fourteen-call unit is established. + +The strongest immediately usable transfers are a phase-refined search representation, an explicit distinction between operator-word cost and paid supplier cost, and scoped ownership/restoration checks for borrowed arrays. These are constructive tools with exact tests. The literature does not supply a cost-preserving conversion of our nonunitary two-bank shear into an ordinary quantum Clifford circuit. + +## The actual project interface being assessed + +The source model comes from Jacob Alan Sussman's [PR #4628](https://github.com/CrocSwap/integer-mult-bounds/pull/4628), the original prefix from lee-phys's [PR #4688](https://github.com/CrocSwap/integer-mult-bounds/pull/4688), and the phase repair and residual identities from Yiyang / Lyy-iiis's [PR #4710](https://github.com/CrocSwap/integer-mult-bounds/pull/4710). The frozen cp22f full-input port is read as a predecessor, with hashes in PROJECT-PINS.json; no source is silently replaced by a projectively equivalent matrix. + +For a base address bit j, put + + C_j = α I + β X_j, α = (1+i)/2, β = (1-i)/2. + +An individual letter G_f means G raised to its f-fold tensor power. In the repaired prefix, P and Q are the actual phase-bearing monomial words, A_f = C0_f and L_f = P_f + 2 Q_f. The complete two-call map on independent arrays x and y is + + U_f(x,y) = (A_f x, A_f y + A_f L_f A_f x), + U_f = [[A_f,0],[A_f L_f A_f,A_f]]. + +Its reverse is [[A_f^-1,0],[-L_f,A_f^-1]], also two paid calls. Its norm and inverse norm are at most 4. The third-call lift has the separately tensorized target-bearing residual M_f C2_f + 2 K_f a_f, but the arbitrary second input remains additively present. These are already proved cp22f interfaces, not new findings of this review. No additive sum is tensorized as a single letter. + +Three different objects must remain separate: the small base operator, the full address-array transform, and the independent banks of the supplier. A qubit wire is a tensor factor of an amplitude space; a bank in U_f is a direct-sum component carrying an arbitrary independent input array. Confusing those representations gives incorrect ancilla and productive-output accounting. + +## 1. A phase-refined finite synthesis kernel is the highest-priority transfer + +[Dehaene–De Moor](https://arxiv.org/abs/quant-ph/0304125) identify binary linear/quadratic descriptions of Clifford operators. [Bravyi–Maslov](https://arxiv.org/html/2003.09412), Theorem 1 and equations (1)-(3), give a constrained canonical factorization into Hadamard-free pieces, a Hadamard layer and a permutation. Their counting convention ignores overall phase. [Maslov–Roetteler](https://arxiv.org/html/1705.09176), Theorem 13, give a constructive Bruhat-based normal form. These are useful coordinates for enumerating individual base-letter words and quotienting free monomial changes. + +The positive implementation recipe is to store a word's symplectic action, the Pauli/sign lift and an explicit central phase. Compose this data before collecting equal terms in a sparse coefficient dictionary. Only literal matrix equality, including its phase, permits coefficient collection in a width-independent identity. Projective equivalence is a screening key, never the final equality key. The cp22f proof already requires this discipline: a base minus sign becomes (-1)^f after tensorization and can alter a residual cancellation at even widths. + +A minimal verified core is provided here. With the convention i^k X^a Z^b, the exact multiplication law is + + (a,b,k)(c,d,l) = (a+c,b+d,k+l+2(b·c)) + +with binary addition in the first two entries and phase modulo 4 in the last. This follows by commuting Z^b past X^c. test.py checks all 4,096 products of the 64 two-qubit phase-bearing Paulis on all four basis vectors: 16,384 exact phase checks. This is a complete finite Pauli-cocycle test, not a complete Clifford-kernel implementation. A full phase-refined Clifford dictionary remains an explicitly untried extension. + +The same test checks the quadratic refinement + + x xor y = x + y - 2xy (mod 4). + +The checker also exhausts all 128 two-variable constant/linear/quadratic phase functions under all 24 affine reversible changes of address: 3,072 exact compositions. It reconstructs every resulting phase polynomial with its constant term and even quadratic cross coefficient. + +It is the elementary mechanism behind the CZ correction when a quarter-phase is pulled through a parity computation. Forgetting that term preserves a Boolean map while changing the complex operator. The relevant phase-polynomial framework is [Amy–Maslov–Mosca](https://arxiv.org/html/1303.2042), Lemma 3; its CNOT+T region is a linear reversible map decorated by Z8 parity phases. The native application is to the free address/phase stream, not to an unpriced replacement of Gaussian recursion. + +A concrete next experiment is to canonicalize each actual base word in the repaired prefix, retain the exact phase lift, and enumerate short controller products as coefficient dictionaries. Every candidate must then reconstruct a literal physical program on all independent banks. Passing a tableau-rank test alone does not complete that program. + +## 2. Hadamard optimization supplies a real synthesis coordinate, with a different invoice + +[Vandaele–Martiel–Perdrix–Vuillot](https://arxiv.org/html/2302.07040), Definition 1 and Theorems 1-2, optimize a specified Pauli diagonalization-network problem using a binary rank expression. Their final-Clifford and internal-H objectives are distinguished. That is a useful exact synthesis objective; it is not the supplier's objective. + +Our independent positive test constructs the entire two-qubit symplectic group with generators H, S and CNOT. A 0-1 shortest-path search charges 1 for H and 0 for Hadamard-free generators. For each of all 720 symplectic matrices M, its exact minimum H count agrees with the rank of the upper-right block in our (x,z) convention. The histogram is 48 classes at cost 0, 288 at cost 1 and 384 at cost 2. This validates a complete small search coordinate, while explicitly omitting the phase lift handled by the preceding test. It is neither a global lower bound for our additive supplier nor an exhaustive controller search. + +There is a direct model-mismatch example using the actual project primitive. C = H S H also has a one-H realization, with its scalar phase retained. With H0 the unnormalized Walsh matrix and S = diag(1,i), + + C = α S^-1 H0 S^-1. + +Equivalently C = exp(iπ/4) S^-1 H S^-1 for normalized H. test.py verifies the exact Gaussian-rational version. At tensor width f this lowers the displayed H count from 2f to f, while the native supplier invoice remains one rank-one Gaussian call before and after. This is an actual strict H-count improvement that establishes no paid-call saving. A compiler that equated those two metrics would report an incorrect κ improvement. + +Even a valid large-qubit Hadamard-free normal form needs a native address bill. A fixed base monomial repeated over f digits has an amortized O(V) address/phase odometer, V = 8^f, as in cp22f. A newly synthesized dense transformation on all 3f address bits is a different implementation problem; its per-address matrix/phase evaluation and workspace cannot automatically be called free. Base-word canonicalization is the safest initial transfer because its alphabet and per-digit table remain fixed. + +## 3. ZX rewriting can certify more identities, provided scalars and extraction remain explicit + +[Backens 2014](https://arxiv.org/abs/1307.7025), Section 5.4, supplies the stabilizer normal-form completeness route. [Backens 2015](https://arxiv.org/abs/1507.03854) is specifically relevant because it repairs scalar-free reasoning into scalar-aware completeness. For our additive prefix, exact scalar equality is required. test.py rejects replacing C by -C inside I+C, although their projective Clifford actions coincide. + +[Duncan–Kissinger–Perdrix–van de Wetering](https://arxiv.org/html/1902.03178), Theorem 5.4 and Corollary 5.5, give terminating graph simplification while retaining focused gFlow for extraction. This suggests an explicit workflow: simplify a real operator fragment, extract a concrete word with boundary maps, and replay that word with its phase. A smaller diagram without an applicable extraction theorem is not yet a runnable native program. The graph reductions are an algorithmic tool, not a claim that every extracted gate metric matches the paid profile. + +[Cowtan et al.](https://arxiv.org/abs/1906.01734) supply a phase-gadget representation aimed at CNOT/depth optimization. That can shorten free parity-phase streams. [Jeandel–Perdrix–Vilmart](https://arxiv.org/abs/1705.11151) extend exact diagrammatic completeness to Clifford+T; this is a possible certificate language for more general identities, without an automatic optimality theorem. For these two papers only their primary abstracts were read here, because full HTML retrieval hit size limits. They are not proof-audited dependencies. + +A state-only certificate is insufficient even within the unitary model: S fixes |0> but differs from I on |1>. This exact rejecting control is included, reflecting the operator-versus-state distinction noted in Aaronson–Gottesman, Theorem 8. + +The complete U_f is not a unitary map on the direct sum of its two array banks. If F = A_f L_f A_f is nonzero, the inner product of U_f(x,0) and U_f(0,y) contains the nonzero coupling . Thus ordinary unitary Clifford synthesis cannot directly take U_f as its input specification. test.py gives an exact nonzero-coupling example and rejects U*U = I. This does not say general ZX diagrams cannot express nonunitary matrices: postselection, scalar gadgets or explicit direct-sum encodings may do so. Their semantics, extraction and native resource bill would then have to be supplied; a free quantum-unitary implementation does not follow from matrix expressibility. + +## 4. Dirty-workspace literature yields a useful positive native echo, with its full cost + +[Gidney's dirty-arithmetic construction](https://arxiv.org/html/1706.07884) specifies unknown borrowed bits that must be returned, with reversible Boolean arithmetic and range assumptions. [Khattar–Gidney](https://arxiv.org/html/2407.17966), Sections 3-4 and Figure 2, distinguish conditional cleanliness from unrestricted dirt and give laddered toggle detection. Its involution and no-control-as-borrowed restrictions matter. An array cannot be declared conditionally zero without a caller-proved invariant and a complete restoration argument. + +Here is a sufficient all-input linear analogue, proved directly rather than asserted as an automatic quantum-to-RAM reduction. Let F and G be arbitrary linear maps on compatible array spaces. Starting from arbitrary independent x, y and dirty d, execute + + d <- d + F x + y <- y + G d + d <- d - F x + y <- y - G d. + +The output is exactly (x, y + G F x, d). Indeed the two additions into y contribute G(d+Fx)-Gd = GFx, and d is restored before the last update. No commutativity of F and G is needed. This is a universal constructive dirty-workspace theorem over any field; it does not assume d starts at zero. + +The update z <- z+F x is not a free oracle when F is paid. When F and G are invertible transforms on equal-sized fields, one explicit implementation applies F to the source array, adds it, and applies F^-1 to restore the source. Under unit-cost forward/inverse Gaussian calls, that is two calls. Consequently the four-update echo costs four F calls plus four G calls, eight calls when each transform is rank one. test.py executes 64 exact arbitrary-input cases with two noncommuting Gaussian-rational transforms and counts all 512 calls. It preserves x and the original dirty array, and produces the claimed y output. This is useful restoration infrastructure; it is not a call-saving supplier by itself. + +The native free work is a fixed number of full-array additions and monomial conjugations, O(V) for fixed-digit maps, in addition to those eight charged calls. Fixed-precision execution needs the chosen Gaussian accuracy contract and a propagated guard; the exact algebra test does not invent such an implementation. A different caller may amortize or cancel literal adjacent transform/inverse pairs, but that saving must appear in its physical trace. + +## 5. Current 2026 uncomputation work suggests an ownership-aware event compiler + +[Liu–Zhou–Meng](https://arxiv.org/html/2608.09578), version 2 updated 11 October 2026, give explicit clean/dirty uncomputation semantics and a sufficient normalization/synthesis route. Theorems 6.5-6.6 concern successful normalization in their circuit language; the method may fail, and its stated sufficient normal form excludes H gates targeting ancillas. This is a soundness pattern to transfer, not a universal optimizer for arbitrary native array programs. + +[Xu et al.'s Bona](https://arxiv.org/html/2608.08765), Theorem 4.4, models borrowing as endpoint-DAG edge splicing. Its frozen-topology Theorem 5.1 has a linear-time width computation. General rescheduling is a different problem, and the reported benchmark safety checks are sampled. The practical transfer is to separate symbolic ownership from role numbers, retain allocation/borrow scope and input/output contracts, and reject cyclic lifetime splices before attempting algebraic replay. + +Our positive ownership test implements a small native arena with fresh named allocation and an owned-only CLEAR operation. By induction over allocations and clears, fresh allocation does not alias an existing independent input, and CLEAR never changes a borrowed field. This is a precise safety property, not a proof that arbitrary other arithmetic is correct. Last-use liveness and each borrowed operation's restoration still require their own exact algebraic contracts. + +The test accepts initialization, mutation and return-to-zero of a fresh owned center while preserving an arbitrary helper input. It rejects clearing a borrowed helper, clearing an unallocated center, allocating over an independent input, and the concrete bad parser pattern center = -1 followed by helper = 632 + center. That pattern aliases helper 631 and had produced a false positive in the preceding campaign. A symbolic owner handle makes the invalid access reject before scalar support or paid-profile optimization. The four rejected controls and four explicit initialization/clear stores are recorded in EXPECTED.json. This is an executable ownership guard, not a claim to have ported Bona or RwUn completely. + +A useful next implementation is a typed event IR with distinct BorrowedInput, OwnedZero, OwnedDirty and Returned roles. An authorized borrower can temporarily change a borrowed field only through an operation with a checked restore contract; it cannot acquire permission to CLEAR it. The event compiler should emit initialization/clear array passes and require the same immutable role-to-owner map during forward support, backward liveness, exact scalar replay and paid profiling. This directly addresses a real failure mode rather than merely improving a gate-count benchmark. + +## 6. Catalysis and fermionic tools have narrower but concrete transfer contracts + +[Gidney–Fowler](https://arxiv.org/html/1812.01238), Section 3, derive a reusable T-state catalyst construction by inverting a state-conversion circuit and feeding a retained output into the next iteration. The productive lesson is an explicit seed, invariant and amortization invoice. Its known nonstabilizer resource state and measurement/injection model are not an arbitrary independent dirty bank, so its factory savings do not transfer numerically to Gaussian calls. A native catalyst proposal must state the exact reusable array relation, preparation cost, error accumulation and returned joint endpoint. + +[Jozsa–Miyake](https://arxiv.org/html/0804.4050), Theorem 3, show that a quadratic Majorana evolution closes on the generator span; Theorem 4 attaches product-input and bounded-observable-degree hypotheses to efficient simulation. [Bravyi](https://arxiv.org/html/quant-ph/0404180), Definition 1 and Theorem 1, gives explicit fermionic Gaussian descriptions and conditions. These offer a compact symbolic algebra for a genuinely closed family. They do not by themselves apply a dense operator to every arbitrary complex input array at the desired paid cost. + +A cheap exact filter is implemented here: the actual one-bit C primitive does not commute with standard fermion parity Z. It is therefore not a standard even-FLO operation in that encoding. This rejects only that particular import. It does not rule out extended odd/linear Majorana models or the Clifford-twisted representations discussed in the literature. A positive future transfer should exhibit one common anticommuting-generator basis preserved by every required letter, prove its closure, and separately price the arbitrary-array input/output transformation. That common-basis search was not run here. + +## Local DAG and Lean-tree reuse, with its actual evidence level + +The federated source catalog was queried for Clifford, Pauli, symplectic, catalytic and fermion, at a limit of 8 hits per query. Those searches also found registered downloaded algebra/quantum modules, but only source-record metadata was inspected there. They do not establish executable compatibility, completeness of retrieval or any new theorem audit. A filename scan and targeted reads identified the following canonical project precedents; hashes and safe project-relative names are in LOCAL-PRECEDENTS.json. + +| Canonical module | Actual reusable content inspected | Limit | +| --- | --- | --- | +| Mathproof.BinarySymplecticGroupOrder | Binary transvection involution, form preservation and symplectic-group counting declarations | Source-only; no new kernel or phase-lift audit | +| Mathproof.Meta.Problem18CharTwoSymplecticBasis20260929 | A complete paired basis for a finite-dimensional nondegenerate alternating form in characteristic 2, reusing Ogdoad's frame decomposition | Not arbitrary-subspace extension or a costed synthesis algorithm | +| Mathproof.AlmanWalshHadamard20260806 | Walsh matrix definitions and finite entry-change infrastructure | Paper-scale Claim_Theorem1 is stated as a proposition, not silently proved or assumed as an axiom | + +The first two precedents can ground a formal representation of the binary symplectic search space. Neither supplies the missing Pauli/global-phase lift, nor a native controller. The Walsh infrastructure is relevant to structured matrix testing, but importing its paper-scale claim as an established rigidity theorem would be incorrect. No canonical file, live DAG or imported module was edited; no Lean build or kernel verification is claimed. This is targeted source-level retrieval, not a search of every registered theorem. + +## Read-depth and priority register + +SOURCES.json supplies all 18 titles, authors, years, primary URLs, exact passages read and model assumptions. D1 means abstract/introductory passages, D2 a selected definition or theorem/outline, and D3 a selected construction/theorem plus an argument excerpt. None means every proof in the paper was audited. The 15 D2/D3 entries are Q01-Q07, Q09 and Q12-Q18. The others are honest discovery-level pointers. SEARCH.json preserves the queries, follow-up chains, failed HTML fetches, negative transfers and untried experiments. + +| Priority | Concrete next action | Evidence already supplied | Admission to a κ claim | +| --- | --- | --- | --- | +| 1 | Build an exact phase-refined Clifford coefficient dictionary for the current base alphabet | Exhaustive Pauli cocycle and two-qubit synthesis-coordinate tests | An actual all-width word with independent outputs and a paid invoice | +| 2 | Use typed owners and endpoint lifetimes in specialization/reuse compilation | Positive owned-clear trace and four alias/borrow rejection controls | Exact physical replay after optimization; no changed frozen input | +| 3 | Scalar-aware ZX simplification of individual prefix words | Relevant completeness/extraction theorems read; relative-phase rejection test | Extracted literal word, phase replay and native cost | +| 4 | Search a caller-proved conditional-zero or common fermionic subfamily | Explicit semantics and encoding filters; no such new caller exhibited | Constructive caller, restored owners, precision and whole-program pricing | + +Novel-to-project status remains unknown for each literature technique outside the inspected precedents. Phase-aware matrices, tensor-width discipline and some symplectic geometry were already used in #4688/#4710/cp22f. No claim that these concepts were previously unused is made. The recent 2026 scheduling papers are newly located by this lane; that is a retrieval fact, not a worldwide novelty or κ claim. + +## Reproduce the exact transfer tests + +From this directory, run `python -I -O -B test.py`. Python's standard library suffices; there is no network, solver, GPU, Lean process, downloaded source dependency or absolute campaign path. EXPECTED.json is the deterministic receipt. The implementation uses explicit rejecting checks rather than assertions, so optimized mode retains them. The tests cover useful complete finite subproblems and explicit sufficient linear/ownership constructions; they do not replace the written all-input arguments or certify the full multiplication recursion. diff --git a/research/kappa-literature-map/quantum/SEARCH.json b/research/kappa-literature-map/quantum/SEARCH.json new file mode 100644 index 0000000000..55cb48da6d --- /dev/null +++ b/research/kappa-literature-map/quantum/SEARCH.json @@ -0,0 +1,152 @@ +{ + "schema_version": 1, + "date": "2026-10-22", + "method": "Primary abstract and full-HTML retrieval; targeted reference follow-up; exact technique-transfer tests. Search results from aggregators were discovery pointers, not supporting evidence.", + "queries": [ + "Hadamard optimal synthesis Clifford circuits Bruhat decomposition symplectic", + "Clifford circuits dirty ancilla catalytic Hadamard phase polynomial synthesis arxiv", + "ZX calculus Clifford phase polynomial synthesis optimal Hadamard gates", + "site.arxiv.org Hadamard-Free Circuits Expose", + "site.arxiv.org Improved Simulation of Stabilizer Circuits", + "site.arxiv.org Clifford group stabilizer states quadratic", + "site.arxiv.org Optimal Hadamard gate count", + "site.arxiv.org Polynomial-time T-depth optimization matroid", + "site.arxiv.org phase gadget synthesis Cowtan", + "site.arxiv.org catalyzed CCZ Gidney Fowler", + "site.arxiv.org ZX-calculus complete stabilizer", + "site.arxiv.org complete axiomatisation ZX Clifford T", + "site.arxiv.org Matchgates classical simulation", + "site.arxiv.org Lagrangian representation fermionic linear optics", + "site.arxiv.org Making stabilizer ZX complete scalars", + "site.arxiv.org dirty ancilla borrowed qubits Gidney", + "site.arxiv.org Clifford Hadamard synthesis 2025 2026 optimal", + "site.arxiv.org dirty ancilla automatic uncomputation 2025 2026", + "site.arxiv.org ZX calculus phase synthesis 2025 2026 Hadamard", + "Clifford synthesis via generalized S and CZ gates arxiv", + "A graph-state based synthesis framework for Clifford isometries arxiv" + ], + "citation_followups": [ + { + "from": "Q03", + "to": [ + "Q04", + "Q02", + "Q01" + ], + "reason": "Bruhat normal forms and phase-refined tableaux" + }, + { + "from": "Q07", + "to": [ + "Q08", + "Q09", + "Q11" + ], + "reason": "Scalar-complete equality and extractable rewrites" + }, + { + "from": "Q13", + "to": [ + "Q14", + "quant-ph/0108010" + ], + "reason": "Majorana and fermionic simulation premises" + }, + { + "from": "Q16", + "to": [ + "Q15", + "Q17", + "Q18" + ], + "reason": "Dirty restoration semantics and current scheduling work" + } + ], + "selected_primary_papers": 18, + "depth_D2_or_D3": 15, + "read_depth_is_not_full_paper_audit": true, + "coverage": [ + "Clifford/Bruhat/Hadamard synthesis", + "phase polynomials and ZX scalar completeness", + "graph extraction", + "dirty/conditionally clean/catalytic workspace", + "fermionic and matchgate symbolic representations", + "2026 clean/dirty uncomputation and borrowing schedulers" + ], + "retrieval_failures": [ + { + "url": "https://arxiv.org/html/1507.03854", + "reason": "HTML cache miss; abstract read" + }, + { + "url": "https://arxiv.org/html/1906.01734", + "reason": "Browser content-size limit; abstract read" + }, + { + "url": "https://arxiv.org/html/1705.11151", + "reason": "Browser content-size limit; abstract read" + } + ], + "screened_not_selected": [ + { + "url": "https://arxiv.org/abs/quant-ph/0108010", + "depth": "abstract", + "reason": "Fermionic predecessor read; Q13/Q14 selected for the active transfer analysis" + }, + { + "url": "https://arxiv.org/abs/quant-ph/9503016", + "depth": "search result", + "reason": "Foundational universal gate synthesis; outside the bounded active test" + }, + { + "url": "https://arxiv.org/abs/2503.14660", + "depth": "primary abstract read after initial discovery", + "reason": "Recent follow-up screened; no theorem from it is relied upon in the active construction." + }, + { + "url": "https://arxiv.org/abs/2608.22801", + "depth": "primary abstract read after initial discovery", + "reason": "Recent follow-up screened; no theorem from it is relied upon in the active construction." + }, + { + "url": "https://arxiv.org/abs/2603.24731", + "depth": "primary abstract and author-hosted summary", + "reason": "Joint-measurement cost model differs from native Gaussian calls; not used." + }, + { + "url": "https://arxiv.org/abs/2212.06928", + "depth": "primary search abstract", + "reason": "Rectangular Clifford-isometry and gate-count synthesis remains a follow-up; not used as a complete array caller." + } + ], + "local_discovery": { + "method": "Five federated DAG text queries with limit 8, plus filename search and targeted canonical source reads.", + "terms": [ + "Clifford", + "Pauli", + "symplectic", + "catalytic", + "fermion" + ], + "per_query_limit": 8, + "coverage_limit": "Top-ranked source-catalog records are not an exhaustive full-library search. Three canonical module pins are public; raw query packets remain private.", + "evidence": "SOURCE_ONLY_UNELABORATED", + "utf8_issue": "Initial CLI output failed in cp1252; repeated with process-local UTF-8 output. No global configuration changed." + }, + "project_overlap": { + "read": [ + "PR 4628 model", + "PR 4688 original two-call prefix", + "PR 4710 phase repair and residual identities", + "cp22f frozen full-input ports and independent review" + ], + "novelty_status": "Unknown outside these inspected precedents; root coordinates broader PR overlap. No first-use claim." + }, + "untried": [ + "Run scalar-aware ZX optimization on each actual base Clifford word and replay its absolute phase.", + "Implement a phase-refined full Clifford coefficient dictionary, beyond the Pauli cocycle tested here.", + "Port the 2026 borrowing scheduler to the native array/event graph with exact lifetime and algebraic contracts.", + "Search a common twisted Majorana basis preserving every needed generator, then price arbitrary-array execution.", + "Use a proved conditional-zero invariant from an actual caller to remove a paid operation; no such new caller is exhibited." + ] +} diff --git a/research/kappa-literature-map/quantum/SOURCES.json b/research/kappa-literature-map/quantum/SOURCES.json new file mode 100644 index 0000000000..7d9338b94b --- /dev/null +++ b/research/kappa-literature-map/quantum/SOURCES.json @@ -0,0 +1,381 @@ +{ + "schema_version": 1, + "date": "2026-10-22", + "depth_legend": { + "D1": "Abstract/introductory passages only", + "D2": "Selected definition/theorem or proof outline read", + "D3": "Selected construction/theorem plus its argument excerpt read; not a whole-paper audit" + }, + "sources": [ + { + "id": "Q01", + "title": "The Clifford group, stabilizer states, and linear and quadratic operations over GF(2)", + "authors": [ + "Jeroen Dehaene", + "Bart De Moor" + ], + "year": 2003, + "arxiv": "quant-ph/0304125", + "url": "https://arxiv.org/abs/quant-ph/0304125", + "read_url": "https://arxiv.org/html/quant-ph/0304125", + "accessed": "2026-10-22", + "read_depth": "D2_THEOREM_STATEMENTS", + "locator": "Abstract; Section I; Section II, Theorems 1-3 (composition and inverse formulas)", + "exact_claim_read": "Binary linear and quadratic data describe Clifford operations and their standard-basis coefficients.", + "model_assumptions": "Qubit Clifford operators; quadratic refinements retain more than their symplectic action.", + "actionable_transfer": "Compact individual letters, retaining phase data; an additive bank shear is not itself a Clifford unitary.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + }, + { + "id": "Q02", + "title": "Improved Simulation of Stabilizer Circuits", + "authors": [ + "Scott Aaronson", + "Daniel Gottesman" + ], + "year": 2004, + "arxiv": "quant-ph/0406196", + "url": "https://arxiv.org/abs/quant-ph/0406196", + "read_url": "https://arxiv.org/html/quant-ph/0406196", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Abstract; Section I; Section VI, Theorem 8 and steps 1-6 of its proof", + "exact_claim_read": "An improved stabilizer simulator avoids Gaussian elimination and a canonical circuit uses O(n^2/log n) gates.", + "model_assumptions": "Stabilizer-state simulation; compact state output is not an arbitrary amplitude array.", + "actionable_transfer": "Use tableau screening, followed by exact phase-bearing coefficient replay.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v5" + }, + { + "id": "Q03", + "title": "Hadamard-free circuits expose the structure of the Clifford group", + "authors": [ + "Sergey Bravyi", + "Dmitri Maslov" + ], + "year": 2021, + "arxiv": "2003.09412", + "url": "https://arxiv.org/abs/2003.09412", + "read_url": "https://arxiv.org/html/2003.09412", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_CONSTRUCTION", + "locator": "Section 2, equations (1)-(3), Theorem 1 and C1-C5; Section 2.1 opening", + "exact_claim_read": "Cliffords have unique constrained Borel-Hadamard-permutation-Borel descriptions computable in polynomial time.", + "model_assumptions": "Overall phase is ignored in the counting convention; Hadamard-free maps are monomial.", + "actionable_transfer": "Canonicalize free words and neighbors, then restore the absolute phase before additions.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q04", + "title": "Shorter stabilizer circuits via Bruhat decomposition and quantum circuit transformations", + "authors": [ + "Dmitri Maslov", + "Martin Roetteler" + ], + "year": 2018, + "arxiv": "1705.09176", + "url": "https://arxiv.org/abs/1705.09176", + "read_url": "https://arxiv.org/html/1705.09176", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 13 and symplectic elimination proof; abstract", + "exact_claim_read": "Arbitrary Cliffords admit the displayed nine-stage normal form with one Hadamard layer.", + "model_assumptions": "H, phase and CNOT gate synthesis; hardware depth is a distinct metric.", + "actionable_transfer": "Search Hadamard-free double cosets; test its rank coordinate independently.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q05", + "title": "Optimal Hadamard gate count for Clifford+T synthesis of Pauli rotations sequences", + "authors": [ + "Vivien Vandaele", + "Simon Martiel", + "Simon Perdrix", + "Christophe Vuillot" + ], + "year": 2024, + "arxiv": "2302.07040", + "url": "https://arxiv.org/abs/2302.07040", + "read_url": "https://arxiv.org/html/2302.07040", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Definition 1; Theorems 1 and 2; Proposition 1", + "exact_claim_read": "Minimal H count for the specified Pauli diagonalization network is rank([X;A]), with the defined commutativity matrix.", + "model_assumptions": "Fixed Pauli sequence; final-Clifford and internal-H objectives differ.", + "actionable_transfer": "Score individual-letter synthesis with this objective; retain a separate paid Gaussian invoice.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v3" + }, + { + "id": "Q06", + "title": "Polynomial-time T-depth Optimization of Clifford+T circuits via Matroid Partitioning", + "authors": [ + "Matthew Amy", + "Dmitri Maslov", + "Michele Mosca" + ], + "year": 2014, + "arxiv": "1303.2042", + "url": "https://arxiv.org/abs/1303.2042", + "read_url": "https://arxiv.org/html/1303.2042", + "accessed": "2026-10-22", + "read_depth": "D3_LEMMA_AND_CONSTRUCTION", + "locator": "Lemmas 2 and 3; Section 3", + "exact_claim_read": "CNOT+T circuits admit a reversible linear output and a Z8-weighted sum of Boolean parity phases.", + "model_assumptions": "Hadamard-free region; additional ancillas and T-depth require their own costs.", + "actionable_transfer": "Collect phase terms, preserve quadratic corrections, and compile monomial address streams.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q07", + "title": "The ZX-calculus is complete for stabilizer quantum mechanics", + "authors": [ + "Miriam Backens" + ], + "year": 2014, + "arxiv": "1307.7025", + "url": "https://arxiv.org/abs/1307.7025", + "read_url": "https://arxiv.org/html/1307.7025", + "accessed": "2026-10-22", + "read_depth": "D2_THEOREM_AND_PROOF_OUTLINE", + "locator": "Section 5.4, Theorem 21; normal-form route", + "exact_claim_read": "The stabilizer fragment has complete diagrammatic equality reasoning in its stated scalar convention.", + "model_assumptions": "Pure qubit stabilizer diagrams; scalar-free equality is not exact phase equality.", + "actionable_transfer": "Use normal forms for operator words, together with Q08 for exact scalars.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + }, + { + "id": "Q08", + "title": "Making the stabilizer ZX-calculus complete for scalars", + "authors": [ + "Miriam Backens" + ], + "year": 2015, + "arxiv": "1507.03854", + "url": "https://arxiv.org/abs/1507.03854", + "read_url": "https://arxiv.org/abs/1507.03854", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML cache miss", + "exact_claim_read": "Scaled rules and extra scalar machinery extend stabilizer ZX completeness to exact scalars and zero diagrams.", + "model_assumptions": "Scaled stabilizer semantics; scalar factors are part of equality.", + "actionable_transfer": "Reject projectively equal replacements inside an additive prefix sum.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q09", + "title": "Graph-theoretic Simplification of Quantum Circuits with the ZX-calculus", + "authors": [ + "Ross Duncan", + "Aleks Kissinger", + "Simon Perdrix", + "John van de Wetering" + ], + "year": 2020, + "arxiv": "1902.03178", + "url": "https://arxiv.org/abs/1902.03178", + "read_url": "https://arxiv.org/html/1902.03178", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 5.4 and proof; Corollary 5.5; Section 6 opening", + "exact_claim_read": "Local-complementation/pivot reductions terminate and preserve focused gFlow needed for extraction.", + "model_assumptions": "Graph-like diagrams from circuits; boundary unitaries and extraction prerequisites retained.", + "actionable_transfer": "Simplify individual Clifford fragments and extract literal words; arbitrary additive mixing needs a different representation.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v6" + }, + { + "id": "Q10", + "title": "Phase Gadget Synthesis for Shallow Circuits", + "authors": [ + "Alexander Cowtan", + "Silas Dilkes", + "Ross Duncan", + "Will Simmons", + "Seyon Sivarajah" + ], + "year": 2020, + "arxiv": "1906.01734", + "url": "https://arxiv.org/abs/1906.01734", + "read_url": "https://arxiv.org/abs/1906.01734", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML exceeded browser size limit", + "exact_claim_read": "Phase gadgets can reduce CNOT count and depth after circuit extraction.", + "model_assumptions": "Quantum gate/depth metrics; benchmark savings are not universal Gaussian-call savings.", + "actionable_transfer": "Compile parity-phase streams and reprice the resulting physical word.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q11", + "title": "A Complete Axiomatisation of the ZX-Calculus for Clifford+T Quantum Mechanics", + "authors": [ + "Emmanuel Jeandel", + "Simon Perdrix", + "Renaud Vilmart" + ], + "year": 2018, + "arxiv": "1705.11151", + "url": "https://arxiv.org/abs/1705.11151", + "read_url": "https://arxiv.org/abs/1705.11151", + "accessed": "2026-10-22", + "read_depth": "D1_ABSTRACT", + "locator": "Abstract; full HTML exceeded browser size limit", + "exact_claim_read": "Extra axioms make Clifford+T ZX complete through a translation using ZW calculus.", + "model_assumptions": "Exact fragment matrices; completeness does not provide a cost-optimal algorithm.", + "actionable_transfer": "Potential exact certificate backend beyond Clifford, with native extraction and arithmetic separately priced.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q12", + "title": "Efficient magic state factories with a catalyzed |CCZ> to 2|T> transformation", + "authors": [ + "Craig Gidney", + "Austin G. Fowler" + ], + "year": 2019, + "arxiv": "1812.01238", + "url": "https://arxiv.org/abs/1812.01238", + "read_url": "https://arxiv.org/html/1812.01238", + "accessed": "2026-10-22", + "read_depth": "D3_CONSTRUCTION_AND_ARGUMENT", + "locator": "Section 3; Figures 10-13 and catalyst/inverse argument", + "exact_claim_read": "A CCZ state plus a reusable T catalyst gives two net T states under the specified construction.", + "model_assumptions": "Known magic states, tensor-product quantum inputs, measurement and injection resources.", + "actionable_transfer": "Transfer seed/restoration/amortization discipline; do not equate a magic state with an arbitrary dirty array.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v3" + }, + { + "id": "Q13", + "title": "Matchgates and classical simulation of quantum circuits", + "authors": [ + "Richard Jozsa", + "Akimasa Miyake" + ], + "year": 2008, + "arxiv": "0804.4050", + "url": "https://arxiv.org/abs/0804.4050", + "read_url": "https://arxiv.org/html/0804.4050", + "accessed": "2026-10-22", + "read_depth": "D3_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorems 3 and 4; Jordan-Wigner equation (10)", + "exact_claim_read": "Quadratic Majorana evolution acts linearly on Majorana generators, enabling restricted classical simulations.", + "model_assumptions": "Product inputs and bounded-degree observables in the simulation theorem; a common fermionic encoding.", + "actionable_transfer": "Test Majorana closure for restricted word families before using compact fermionic parameters.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q14", + "title": "Lagrangian representation for fermionic linear optics", + "authors": [ + "Sergey Bravyi" + ], + "year": 2005, + "arxiv": "quant-ph/0404180", + "url": "https://arxiv.org/abs/quant-ph/0404180", + "read_url": "https://arxiv.org/html/quant-ph/0404180", + "accessed": "2026-10-22", + "read_depth": "D2_DEFINITION_AND_THEOREM", + "locator": "Definition 1; Theorem 1; equations (45), (51) located", + "exact_claim_read": "Fermionic Gaussian operators/maps admit Grassmann and correlation-matrix descriptions with explicit Gaussianity conditions.", + "model_assumptions": "Even fermionic Gaussian structure; arbitrary complex arrays are not Gaussian states by default.", + "actionable_transfer": "Use a conditional symbolic representation for FLO-closed fragments; test standard parity mismatch.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q15", + "title": "Factoring with n+2 clean qubits and n-1 dirty qubits", + "authors": [ + "Craig Gidney" + ], + "year": 2018, + "arxiv": "1706.07884", + "url": "https://arxiv.org/abs/1706.07884", + "read_url": "https://arxiv.org/html/1706.07884", + "accessed": "2026-10-22", + "read_depth": "D2_MODEL_AND_CONSTRUCTION_CONVENTIONS", + "locator": "Section 1; Section 2 overview, inverse and range conventions", + "exact_claim_read": "Arithmetic circuits can borrow unknown ancillas and restore them while reducing the clean-qubit requirement.", + "model_assumptions": "Reversible Boolean arithmetic; all-to-all connectivity; modular out-of-range values excluded.", + "actionable_transfer": "Borrow/restore is a specification pattern; XOR, tensor factors and additive array banks differ.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q16", + "title": "Rise of conditionally clean ancillae for efficient quantum circuit constructions", + "authors": [ + "Tanuj Khattar", + "Craig Gidney" + ], + "year": 2025, + "arxiv": "2407.17966", + "url": "https://arxiv.org/abs/2407.17966", + "read_url": "https://arxiv.org/html/2407.17966", + "accessed": "2026-10-22", + "read_depth": "D3_MODEL_AND_CONSTRUCTION", + "locator": "Sections 3 and 4; Figure 2; U^2=I and no-control-as-borrowed conditions", + "exact_claim_read": "Laddered toggle detection replaces clean ancillas with dirty ones in the stated constructions at 2x Toffoli overhead.", + "model_assumptions": "Conditional cleanliness, involutory target and disjoint borrowed/control roles.", + "actionable_transfer": "Search caller-proved conditional-zero sectors and record predicate, restoration and replay cost.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q17", + "title": "Quantum Uncomputation of Clean and Dirty Ancilla Qubits", + "authors": [ + "Chenke Liu", + "Li Zhou", + "Boning Meng" + ], + "year": 2026, + "arxiv": "2608.09578", + "url": "https://arxiv.org/abs/2608.09578", + "read_url": "https://arxiv.org/html/2608.09578", + "accessed": "2026-10-22", + "read_depth": "D3_DEFINITION_THEOREM_AND_PROOF_EXCERPT", + "locator": "Version 2, 11 October 2026; Section 3.1; Proposition 6.4; Theorems 6.5, 6.6; Appendix D.13 opening", + "exact_claim_read": "Successful rewrite normalization yields sound sufficient clean/dirty uncomputation constructions.", + "model_assumptions": "Specified circuit language; no H on ancillas in the sufficient normal form; failure is allowed.", + "actionable_transfer": "Make borrow scopes/restoration explicit; implement and test an analogous linear-array ownership discipline.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v2" + }, + { + "id": "Q18", + "title": "Bona: Automatic Management of Dirty Ancilla Borrowing in Quantum Circuits", + "authors": [ + "Xiaoquan Xu", + "Chenke Liu", + "Boning Meng", + "Zihao Shen", + "Li Zhou" + ], + "year": 2026, + "arxiv": "2608.08765", + "url": "https://arxiv.org/abs/2608.08765", + "read_url": "https://arxiv.org/html/2608.08765", + "accessed": "2026-10-22", + "read_depth": "D3_MODEL_THEOREM_AND_PROOF_EXCERPT", + "locator": "Theorem 4.4; Section 5.1, Theorem 5.1; Section 7 sampling note", + "exact_claim_read": "Endpoint-DAG splicing corresponds to borrowing transitions; frozen-topology minimal width has linear-time structural evaluation.", + "model_assumptions": "Valid borrow contracts; general reordering differs from frozen topology; reported empirical safety checks are sampled.", + "actionable_transfer": "Use typed owner lifetimes and cycle-safe workspace reuse, while separately proving exact array algebra.", + "novel_to_project": "UNKNOWN_NOT_EXHAUSTIVELY_OVERLAP_CHECKED", + "read_version": "v1" + } + ], + "year_convention": "Year identifies the cited publication or revised manuscript; original arXiv years and versions are preserved separately by arXiv ID/read_version." +} diff --git a/research/kappa-literature-map/quantum/test.py b/research/kappa-literature-map/quantum/test.py new file mode 100644 index 0000000000..0b2ce2c3e9 --- /dev/null +++ b/research/kappa-literature-map/quantum/test.py @@ -0,0 +1,187 @@ +"""Exact literature-transfer tests. Python standard library; no downloaded code.""" +from collections import deque, Counter +from fractions import Fraction as F +from itertools import product +import json +from pathlib import Path + + +def need(ok, msg): + if not ok: raise ValueError(msg) + + +def gf2rank(vs): + piv={} + for v in vs: + while v: + i=v.bit_length()-1 + if i in piv:v^=piv[i] + else:piv[i]=v;break + return len(piv) + + +def image(cols,x): + y=0 + for j,c in enumerate(cols): + if x>>j&1:y^=c + return y + + +def compose(a,b):return tuple(image(a,c) for c in b) + + +def hadamard_test(): + # Coordinates are (x0,x1,z0,z1); columns describe Pauli conjugation. + n=2;identity=tuple(1<>1)&1)+2*b*(x&1)*((x>>1)&1))%4 + for a0,a1,t in affine: + vals=[value(image((a0,a1),x)^t) for x in range(4)] + cc=vals[0];ll0=(vals[1]-cc)%4;ll1=(vals[2]-cc)%4 + cross=(vals[3]-vals[1]-vals[2]+cc)%4 + need(cross in (0,2),'quadratic phase refinement not closed') + for x in range(4): + got=(cc+ll0*(x&1)+ll1*((x>>1)&1)+cross*(x&1)*((x>>1)&1))%4 + need(got==vals[x],'affine phase reconstruction') + affine_checks+=1 + return {'phase_sensitive_basis_checks':checked,'affine_quadratic_compositions':affine_checks,'quadratic_parity_cases':parity,'projective_merge_rejected':True} + + +def z(a=0,b=0):return F(a),F(b) +ZERO=z();ONE=z(1) +def add(a,b):return a[0]+b[0],a[1]+b[1] +def mul(a,b):return a[0]*b[0]-a[1]*b[1],a[0]*b[1]+a[1]*b[0] +def neg(a):return -a[0],-a[1] +def cscale(c,a):return tuple(tuple(mul(c,x) for x in r) for r in a) +def mm(a,b):return tuple(tuple(sumz(mul(a[r][k],b[k][c]) for k in range(len(a))) for c in range(len(a))) for r in range(len(a))) +def sumz(xs): + a=ZERO + for x in xs:a=add(a,x) + return a + +def mv(a,x):return [sumz(mul(v,t) for v,t in zip(row,x)) for row in a] +def adj(a):return tuple(tuple((a[c][r][0],-a[c][r][1]) for c in range(len(a))) for r in range(len(a))) +def ident(n):return tuple(tuple(ONE if r==c else ZERO for c in range(n)) for r in range(n)) +def madd(a,b):return tuple(tuple(add(x,y) for x,y in zip(ar,br)) for ar,br in zip(a,b)) +def vp(x,y,s=1):return [add(a,mul(z(s),b)) for a,b in zip(x,y)] + + +def echo_and_invoice_test(): + alpha=z(F(1,2),F(1,2));beta=z(F(1,2),F(-1,2)) + C=((alpha,beta),(beta,alpha));S=((ONE,ZERO),(ZERO,z(0,1))) + G=mm(mm(S,C),adj(S));Gi=adj(G);Ci=adj(C) + need(mv(S,[ONE,ZERO])==[ONE,ZERO] and mv(S,[ZERO,ONE])!=[ZERO,ONE],'state equality does not prove arbitrary-input operator equality') + need(mm(C,Ci)==ident(2) and mm(G,Gi)==ident(2),'paid primitive inverse') + need(madd(ident(2),C)!=madd(ident(2),cscale(z(-1),C)),'projective replacement inside a sum must be rejected') + need(mm(C,G)!=mm(G,C),'echo must cover noncommuting primitives') + cases=64;calls=0 + for seed in range(cases): + original={k:[z((seed*(j+3)+t)%11-5,(seed*(j+1)+2*t)%13-6) for j in range(2)] for k,t in [('x',1),('y',4),('d',7)]} + regs={k:v[:] for k,v in original.items()} + def inject(dst,src,M,Mi,sign): + nonlocal calls + need(src!=dst,'aliasing dirty source and destination') + old=regs[src][:];regs[src]=mv(M,regs[src]);calls+=1 + regs[dst]=vp(regs[dst],regs[src],sign) + regs[src]=mv(Mi,regs[src]);calls+=1 + need(regs[src]==old,'injection changed independent source') + inject('d','x',C,Ci,1);inject('y','d',G,Gi,1) + inject('d','x',C,Ci,-1);inject('y','d',G,Gi,-1) + need(regs['x']==original['x'] and regs['d']==original['d'],'dirty restoration') + need(regs['y']==vp(original['y'],mv(G,mv(C,original['x']))),'dirty echo target') + need(calls==8*cases,'compute/restore paid invoice') + # Actual paid C = H S H also has a one-H representative, including phase. + H0=((ONE,ONE),(ONE,z(-1))) + need(C==cscale(alpha,mm(mm(adj(S),H0),adj(S))),'phase-correct one-H representative') + ledger=[{'width':f,'naive_H_count':2*f,'optimized_H_count':f,'paid_Gaussian_calls_before':1,'paid_Gaussian_calls_after':1} for f in range(1,6)] + for r in ledger: + need(r['optimized_H_count'] 14¹⁶ and 5¹⁵ 3¹⁴ < 14¹⁵. All nine displayed native savings exceed the hypothetical target 1/20 for the chosen parameters. The output explicitly says `supplier_exhibited = false` and `new_kappa = false`. This licenses a sufficient numerical funding target once its *complete* antecedent is met; it does not exhibit that antecedent. In particular, the assumed provider, all independent jobs, address grammar, precision and nine-row analytic hypotheses must be supplied by the actual construction. + +The fixed-coefficient error envelope grows geometrically in recursion depth L, hence needs O(L) guard bits. Calling this logarithmic in a recursive dimension requires the explicit relation L = O(log dimension). For a C log n-bit native contract, one must bound the final precision plus input magnitude, guards and addresses by O(log n) with fixed constants. A Laurent degeneration whose guard is proportional to P L may exceed that contract when P = Θ(log n) and L grows; no finite-depth numerical example removes that obligation. The current tests contrast these envelopes rather than claim a completed precision theorem for an unknown supplier. + +The newly added local-precedent padding test reports a forward tensor-action example and explicitly disclaims the converse theorem and kernel checking. Its source-only status must remain in the final handoff. + +## Modular and signed-recovery model checks + +The RAM lane's modular theorem is deliberately a ring theorem. The homomorphism Z[i,1/2] → F_p, i ↦ r, is not a star homomorphism when F_p has the identity involution: −r differs from r. Accordingly polynomial words and literal inverse words transfer, whereas Euclidean conditioning, positive definiteness and Hermitian-adjoint labels do not. The root's adjoint proof is over the Gaussian rationals and must not be silently relabeled as a split-field adjoint theorem. A nonsplit quadratic field with Frobenius involution is a separate possible target. + +The full triangular port needs only its diagonal A and D to be units. Its coupling L need not be a unit. The characteristic-5 tests demonstrate exactly this distinction, while the optional polynomial coupling inverse requires 15 invertible. No odd-denominator exception is needed for the forward/reverse dyadic schedules themselves. + +For signed negacyclic recovery, |h_j| ≤ r B² and M > 2 r B² are sufficient. Strict inequality matters; a signed endpoint at M/2 is ambiguous. The RAM test uses a strict margin, retains negative wrap, and pays two modulus channels. CRT does not make convolutions, prime/root construction or multiword reconstruction free. If M or the exact numerators exceed a fixed number of native words, their multiword costs must be restored. In the cp22f precision examples the complete coordinates already use Θ(log n) bits, so a C log n-bit word packs only O(1) of them. + +Harvey's lazy butterfly requires p < β/4, not merely p < β; quotient approximations and twiddles are precomputed inputs to that kernel. The test proves correctness and word-range safety for those inputs. A full-product/high-word primitive can alternatively be compiled from a fixed number of bounded subword products if the native instruction set only returns a truncated product; setup of the quotient tables is still charged. These local kernel checks do not modify the recursive Gaussian paid profile. + +## Bibliography audit + +All 18 bibliography entries refer to actually inspected primary author/publisher sources. Their read depths distinguish four abstract-only items from statement/mechanism or local-proof reading; no full-paper proof audit is claimed. Preprint versus journal years are kept separate where needed: Fürer STOC 2007/SIAM 2009; DKSS preprint 2008/journal 2013; HHL preprint 2014/read manuscript dated 2015/journal 2016; cache-oblivious FOCS 1999/read journal revision 2012; NTT preprint 2012/read revision 2013/journal 2014. The Vigna author PDF is updated 2023 although the work is WEA 2008. The pinned 2026 manuscript identifies its author as OpenAI. + +The verified relevant DOI metadata include 10.1007/BF02242355 (SS71), 10.1137/070711761 (Fürer), 10.1137/100811167 (DKSS), 10.1016/j.jco.2016.03.001 (HHL), 10.4007/annals.2021.193.2.4 (HV21), 10.1145/2071379.2071383 (2012 cache-oblivious revision), and 10.1016/j.jsc.2013.09.002 (Harvey NTT). Some DOI redirects were unavailable to the browsing tool; their publisher or author-hosted primary alternatives supplied the relevant text. This is an access limitation, not evidence that a DOI is invalid. + +The HV21 full PDF access failed here; only its published abstract was used. SS71 full text was subscription-limited; only the publisher's summary was read. The original TFT author page explicitly notes a corrected multivariate mistake, and the review avoids relying on that uncorrected claim. The FFT-prime paper's prime-distribution hypothesis remains explicit. arXiv:2610.08144 and the mistyped arXiv:1904.00931 were verified as unrelated papers and excluded rather than attributed to integer multiplication. + +The local Lean source records and notes are hash-pinned source inspection. No fresh source-matched kernel receipt or typed-port match was obtained. The canonical source tree and authoritative DAG remain unchanged. diff --git a/research/kappa-literature-map/ram/EXPECTED.json b/research/kappa-literature-map/ram/EXPECTED.json new file mode 100644 index 0000000000..2c156691ae --- /dev/null +++ b/research/kappa-literature-map/ram/EXPECTED.json @@ -0,0 +1,168 @@ +{ + "lazy_butterfly": { + "cases": 485088, + "word_bits": 7, + "primes": [ + 3, + 5, + 13, + 17, + 29 + ], + "quotient_removal_mutant_rejected": true + }, + "truncated_fourier": { + "roundtrips": 256, + "length": 8, + "prime": 17, + "dirty_tail_mutant_rejected": true, + "implementation": "exact matrix oracle" + }, + "split_base_change": { + "add_mul_pairs": 11250, + "split_primes": [ + 17, + 97 + ], + "full_phase_C_squared_X": true, + "phase_drop_mutant_rejected": true + }, + "packing_precision_invoice": { + "packed_add_cases": 69904, + "unguarded_carry_mutant_rejected": true, + "precision_rows": [ + { + "log2_n": 16, + "f": 4, + "coordinate_bits": 60, + "word_bits": 128, + "lanes": 2, + "error_ratio_squared": "25/16384" + }, + { + "log2_n": 32, + "f": 5, + "coordinate_bits": 96, + "word_bits": 256, + "lanes": 2, + "error_ratio_squared": "25/32768" + }, + { + "log2_n": 64, + "f": 6, + "coordinate_bits": 164, + "word_bits": 512, + "lanes": 3, + "error_ratio_squared": "25/65536" + }, + { + "log2_n": 128, + "f": 7, + "coordinate_bits": 296, + "word_bits": 1024, + "lanes": 3, + "error_ratio_squared": "25/131072" + }, + { + "log2_n": 256, + "f": 8, + "coordinate_bits": 556, + "word_bits": 2048, + "lanes": 3, + "error_ratio_squared": "25/262144" + }, + { + "log2_n": 1024, + "f": 10, + "coordinate_bits": 2100, + "word_bits": 8192, + "lanes": 3, + "error_ratio_squared": "25/1048576" + }, + { + "log2_n": 4096, + "f": 12, + "coordinate_bits": 8252, + "word_bits": 32768, + "lanes": 3, + "error_ratio_squared": "25/4194304" + } + ], + "paid_invoice": { + "two_call_paid_jobs": 2, + "independent_input_banks": 2, + "independent_output_banks": 2, + "off_diagonal_is_not_extra_productive_bank": true, + "owned_initialization_and_cleanup": "linear stores, separately charged", + "numeric_word_constant_C": 8, + "coordinate_contract": "P + H + 4 f + 12" + } + }, + "actual_cp22f_modular_port": { + "actual_literal_cases": [ + { + "prime": 5, + "width": 1, + "array_length": 8, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": false + }, + { + "prime": 5, + "width": 2, + "array_length": 64, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": false + }, + { + "prime": 17, + "width": 1, + "array_length": 8, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": true + }, + { + "prime": 17, + "width": 2, + "array_length": 64, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": true + }, + { + "prime": 97, + "width": 1, + "array_length": 8, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": true + }, + { + "prime": 97, + "width": 2, + "array_length": 64, + "two_paid_call_port": true, + "three_paid_call_port": true, + "optional_coupling_inverse": true + } + ], + "absolute_phase_preserved": true, + "whole_sum_tensor_mutant_rejected": true, + "characteristic_five_port_survives_singular_coupling": true + }, + "crt_signed_convolution": { + "cases": 192, + "primes": [ + 17, + 97 + ], + "modulus": 1649, + "max_coefficient_bound": 72, + "strict_recovery_modulus_lower_bound": 144, + "paid_prime_channels": 2, + "insufficient_modulus_mutant_rejected": true + } +} diff --git a/research/kappa-literature-map/ram/FROZEN-RAM.json b/research/kappa-literature-map/ram/FROZEN-RAM.json new file mode 100644 index 0000000000..82cf504753 --- /dev/null +++ b/research/kappa-literature-map/ram/FROZEN-RAM.json @@ -0,0 +1,11 @@ +{ + "REVIEW.md": "3f9fda28cd0eafedac39dde20128582deb1e0a8213fffdc067c851e344793ccd", + "SOURCES.json": "e54d57301e45494c86a4860cfdfe5118f4dafd73508c37eaabec0cebd8bc7eaf", + "SEARCH.json": "a065099f07132dd7b7de1a116a313a2c33024543a0dab5fd54df3cce7309bc20", + "SOURCE-PINS.json": "40d5fc0dd67a46af7d76f247769f4f7c734838d9cecde60f941f7f4ef3316352", + "LOCAL-PRECEDENTS.json": "52b4ace6f07a283e7de278066dd539061f9e041cb379cf9c20210f759d0968a1", + "test.py": "ba386910451c4db85c8e0eba0265f39d8f9a7e600c8ba726a9069629cecb9d1a", + "EXPECTED.json": "be9aaab3d5947e24b31050fa6f6ee6589e8c308432463a0d9ae72f712a8d39f3", + "CROSS-REVIEW.md": "f25249c107cfeecb86cf0537643eaca5e913fe1795c5a237c86080e53845cfbf", + "CROSS-CHECKS.json": "9bb29808c6e1f2dbb8c4633bcee6c69a4b9868a6106e0768e0b8aa765a3aefb1" +} diff --git a/research/kappa-literature-map/ram/LOCAL-PRECEDENTS.json b/research/kappa-literature-map/ram/LOCAL-PRECEDENTS.json new file mode 100644 index 0000000000..4cb5b1bc44 --- /dev/null +++ b/research/kappa-literature-map/ram/LOCAL-PRECEDENTS.json @@ -0,0 +1,79 @@ +[ + { + "module": "Mathproof.Meta.Problem18Lax13BlockSim20261007", + "project_relative_path": "Mathproof/Meta/Problem18Lax13BlockSim20261007.lean", + "sha256": "e36636961bf49921ccb134935f69e1fcc95a68cd81ab01fa31e62bd419599369", + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_declarations": [ + "run_add", + "run_succ_of_step", + "run_zero", + "run_succ_of_halt", + "runsTo_out_unique", + "runsTo_time_unique", + "Plain", + "pstep", + "pexec", + "pexec_append", + "effect_plain", + "pexec_pc_inp_out", + "run_pexec", + "step_of_fetch", + "setCell_eq", + "mod_pow_mod" + ] + }, + { + "module": "Mathproof.Meta.Problem18Lax13BitCost20261007", + "project_relative_path": "Mathproof/Meta/Problem18Lax13BitCost20261007.lean", + "sha256": "2d7f255c4f59025fefe6443dc5ebce0cfe05fb58edfe4e8199e49333ab2bc02e", + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_declarations": [ + "Instr.bitCost", + "stepCost", + "runCost", + "bitCost_le", + "stepCost_le", + "runCost_le", + "BitPolytime", + "runsTo_bitCost", + "bitPolytime_of_ramPolytime" + ] + }, + { + "module": "Mathproof.Meta.Problem18RAMRootBitCost20261007", + "project_relative_path": "Mathproof/Meta/Problem18RAMRootBitCost20261007.lean", + "sha256": "aae993e86845087588557c1bcffaa5d4c0ece7eeefeb6f7decc862ad3cda5583", + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_declarations": [ + "AllFormatRootRAMBitCost", + "eval_bound", + "bitCost_of_total", + "allFormatRootRAMBitCost", + "recT_bitPolytime" + ] + }, + { + "module": "Mathproof.Meta.Problem18RAMLax13Ram20261001", + "project_relative_path": "Mathproof/Meta/Problem18RAMLax13Ram20261001.lean", + "sha256": "b95844098a3c402ec895c542d07a4b60354455cf66fe77bad1050d15583ec948", + "evidence": "SOURCE_ONLY_UNELABORATED", + "source_declarations": [ + "State", + "setCell", + "Instr.effect", + "step", + "run", + "initState", + "RunsTo" + ] + }, + { + "document_id": "notes.Problem18LeanReuseSearch20261001", + "workspace_relative_path": "research/Problem18LeanReuseSearch20261001.md", + "sha256": "be89defffc553ba892223cdcc3ae55998fbfa39e5b393c9d8b30004fed6faaaf", + "evidence": "SOURCE_ONLY_UNELABORATED", + "section_read": "Machine construction reuse, lines 108\u2013114", + "usable_fact": "RAM definitions alone are not a simulation theorem; compositional compilation consumes actual subroutine witnesses." + } +] diff --git a/research/kappa-literature-map/ram/REVIEW.md b/research/kappa-literature-map/ram/REVIEW.md new file mode 100644 index 0000000000..0399428112 --- /dev/null +++ b/research/kappa-literature-map/ram/REVIEW.md @@ -0,0 +1,109 @@ +# Word RAM and transform literature: exact transferable mechanisms + +The strongest concrete result in this lane is a phase-preserving modular port of the actual repaired complex prefix: its two- and three-call arbitrary-target identities work over every commutative ring containing an invertible 2 and a square root of −1. The triangular ports do not need their coupling to be invertible. Exact replay over F₅, F₁₇ and F₉₇ demonstrates the useful characteristic-5 distinction. This is an implementation lemma and tested research direction, not an improved complete multiplication κ. + +Eighteen selected primary works were inspected, with honest reading depths in [SOURCES.json](SOURCES.json). Four local Problem 1.8 modules and one machine-reuse note were read and hash-pinned in [LOCAL-PRECEDENTS.json](LOCAL-PRECEDENTS.json), as source-level precedents only. The search is bounded and does not establish that a technique has never appeared in the project. No Lean build, kernel audit, or exhaustive DAG ingestion was performed. + +## Fair model and current-caller comparison + +Use one uniform Word RAM with w = C log₂(n + 2) bits per word, for a fixed sufficiently large constant C. Charge ordinary arithmetic, Boolean operations, shifts, comparisons, indirect access and stores on bounded words; specify multiplication/high-product access when used. A fixed number of words is allowed for an intermediate whose bit length is explicitly bounded by a constant multiple of w. Neither an arbitrary complex number nor a whole array is a unit-cost register. Packed input and output conversions, table generation, private initialization, and cleanup are part of the bill. + +Fürer's [2014 paper](https://arxiv.org/html/1402.1811v1), §2 and Theorems 4.1–4.2, already proves O(n) log-RAM multiplication for SS-C and Fürer's algorithm. The refined depth-cost model is different. The project's [#4541](https://github.com/CrocSwap/integer-mult-bounds/pull/4541) is a stronger comparison baseline than one native operation per TM step: its explicit local tables and packed IO give O((T(n) + n + m)/log(n + 2) + (n + 2)^(1/16) log(n + 2)) for a fixed finite machine with a polynomial address envelope. [#4552](https://github.com/CrocSwap/integer-mult-bounds/pull/4552) and [#4553](https://github.com/CrocSwap/integer-mult-bounds/pull/4553) provide separate checks. Consequently T(n) = O(n log(n)^(1 − κ)) already transfers conditionally to O(n/log(n)^κ) native operations. Removing tape syntax again does not improve that κ. + +The pinned [current upstream manuscript](https://github.com/openai/math/tree/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026) already has Gaussian-dyadic phase frames, selected-bit packing, signed polynomial packing and explicit guard growth. Read locations are `00-introduction.tex`, `05-layers.tex`, `06-transforms.tex`, and `07-resampling.tex`; exact hashes and URLs are in SOURCE-PINS.json. Its complete product also uses analytic Gaussian resampling, roots approximated on a disk grid, CRT layouts and final rounding. A modular identity for the finite dyadic network transports only that algebraic component. It does not make these other operations finite-field operations or discharge their invoices. + +The cp22f port uses N = 8^f coordinates and P + H + 4f + 12 bits per real or imaginary coordinate under its displayed contract. With P, H = Θ(log n), only O(1) complete coordinates fit into a C log n-bit word. Broadword packing of such coordinates is therefore a constant-factor optimization. Packing many *short metadata fields* is still useful for address and phase generation, but must not be counted as a second logarithmic speedup. + +## Positive theorem: base change of the actual arbitrary-target ports + +Let S = Z[i, 1/2], and let R be any commutative ring with identity, an invertible element 2, and an element j with j² = −1. There is a ring homomorphism φ: S → R sending i to j and 1/2 to the inverse of 2. Apply φ entrywise to the literal predecessor matrices and separately tensor each individual letter f times. For every positive f, write + + A = C0_f, L = P_f + 2 Q_f, + D = J_f W_f C0_f, + B = M_f C2_f + 2 K_f a_f. + +Then the actual three-call branch identity is + + D L A = B. + +The two-call and three-call arbitrary-input maps respectively are + + U₂ = [[A, 0], [A L A, A]], + U₃ = [[A, 0], [D L A, D]]. + +They are invertible over R, with literal inverses + + U₂⁻¹ = [[A⁻¹, 0], [−L, A⁻¹]], + U₃⁻¹ = [[A⁻¹, 0], [−L, D⁻¹]]. + +Their forward and reverse schedules each use two or three Gaussian calls, respectively, together with separately applied monomial terms and ordinary field/ring mixing. Both input banks may be arbitrary. No coupling inverse is executed in these schedules. + +**Proof.** The predecessor Gaussian letter is `(1 + i) I/2 + (1 − i) X/2`; its square is X, so its inverse is X times the same letter. All monomial letters have inverse monomial letters with coefficients among fourth roots of unity. Their inverses are identities already inside S; no positive-definite inner product is needed after base change. Each predecessor branch is a matrix-word equality over S. Entrywise φ preserves sums and products, while tensor products commute with φ. Thus each separately tensorized branch equality remains valid. Add the two branches with scalar coefficients 1 and 2 to obtain D L A = B. Direct block multiplication verifies each displayed inverse in both orders. These multiplications use A A⁻¹ = D D⁻¹ = I and never cancel L. + +For an explicit Word RAM implementation over a fixed word-sized split prime field, apply each Cj_f in f stages of independent two-point butterflies. This costs O(Nf) ordinary bounded-word field operations per call. Apply monomial maps by the existing address/phase enumeration, with O(N) work and separately owned workspace whose initialization and clearing cost O(N). This gives an actual O(Nf + N) implementation of each fixed port, without a fast-transform oracle. A faster recursive supplier may replace these calls only after its complete contract is bound and paid. + +If 15 is also invertible, put T = P_f⁻¹ Q_f. The actual source has T⁴ = I, and + + L⁻¹ = −(I − 2T + 4T² − 8T³) P_f⁻¹ / 15. + +Indeed `(I + 2T)(I − 2T + 4T² − 8T³) = −15 I`; all factors commute as polynomials in T. This proves both inverse orders. This *optional* formula needs 15 invertible; the triangular ports do not. Over F₅ with i ↦ 2, the actual tested L is singular at widths 1 and 2 while both complete ports remain invertible. Over F₁₇ and F₉₇ the formula is valid. Finite tests support these examples; the ring argument proves every width. + +Absolute scalar phases remain attached before tensorization. In particular, `(−G)⊗f = (−1)^f G⊗f`. Tensoring `P + 2Q` as one base letter introduces different mixed terms and is not the port above. The tests reject this error and an actual phase mutation. Euclidean singular-value and conditioning statements have not been transferred to finite fields. In particular, φ into a split prime field with its identity involution is not a star homomorphism: φ(conjugate(i)) = −j differs from φ(i) = j. A literal conjugated-coefficient inverse word may be transported as that fixed word, but its image is not automatically the Hermitian adjoint for a chosen field involution. In a nonsplit quadratic extension F_(p²), for p ≡ 3 modulo 4, Frobenius can separately supply the conjugation i ↦ −i; that is a different involutive target and is not assumed by these split-field tests. + +This theorem reuses the actual letters of [#4688](https://github.com/CrocSwap/integer-mult-bounds/pull/4688), the phase repair and branch identities of [#4710](https://github.com/CrocSwap/integer-mult-bounds/pull/4710), and the arbitrary-target extension of cp22f. It is an elementary base-change application; worldwide novelty is not asserted. It is useful because a modular controller can compose the full port without imposing a false clean-target or coupling-unit precondition. + +## Positive theorem: signed modular recovery with an explicit bill + +Let a and b be integer polynomials of degree less than r, with every coefficient of absolute value at most B. Every coefficient of their product modulo y^r + 1 has absolute value at most rB²: exactly r signed products contribute to each coefficient. For pairwise coprime moduli p₁, …, p_s with product M > 2rB², the s residue convolutions uniquely determine the exact signed product by centered CRT recovery. + +**Proof.** Each coefficient lies strictly inside an interval of length M. Two different such integers cannot be congruent modulo M. The CRT supplies one residue modulo M; its unique centered representative is the coefficient. This argument applies independently to every output coordinate. Each modulus requires its own convolution and its conversion/reconstruction work; the theorem supplies no free prime search or transform roots. + +The exact test uses moduli 17 and 97, r in {2, 4, 8}, and B = 3. It checks 192 complete signed negacyclic products, including negative wrap and centered recovery. It also rejects an out-of-range signed recovery. This validates the recovery mechanism, not an optimized NTT multiplier or asymptotic prime supplier. The current manuscript's `signed-ring-product` already contains a complete signed Kronecker alternative; compare complete child sizes and conversions before replacing it. + +## Tested and untried technique ledger + +| Technique | Exact evidence here | Effect licensed by the evidence | +|---|---|---| +| Modular base change of actual cp22f | Literal 8 × 8 phases rebuilt independently; widths 1 and 2, arrays of length 8 and 64, over three split prime fields; both branch identities and block inverse orders | Exact all-input modular port and direct O(Nf) native implementation; no new complete κ | +| Redundant-residue inverse NTT butterfly | Harvey Algorithm 4 exhaustively checked on five small primes, all twiddles and all redundant input representatives; quotient-removal mutant rejected | A valid bounded-word arithmetic kernel with fewer reductions; constant-factor benefit only | +| Zero-tail TFT | All truncation lengths 1–8 over F₁₇ and 256 roundtrips; equality with selected full DFT outputs and dirty-tail control | Valid truncated interface for declared zero support; test is a matrix oracle, not the fast TFT implementation | +| Carry-isolated SWAR addition | All two-lane additions for data widths 1–4; unguarded-carry control | Safe packed lane arithmetic under the explicit guard condition | +| Precision and paid-bank invoice | Seven exact cp22f guard rows, squared error inequality, full-rank triangular two-bank map | Constant coordinate packing and two independent output banks; no extra productive bank from the off-diagonal term | +| Signed CRT recovery | 192 exact negacyclic products with two paid modulus channels | Sufficient coefficient-recovery mechanism with a strict modulus bound | +| Cache-oblivious FFT / transpose | Primary proof-local review only | Useful implementation plan; no measured speedup or changed native exponent | +| Multipoint Kronecker / two-level cyclotomic CRT | Primary mechanism review only | Candidate reduction of actual padding/child widths; not implemented in the current caller | + +The most promising exponent-changing avenue among these is a **complete modular caller** that amortizes a real representation expansion across recursion levels, rather than merely substituting a faster butterfly. [Cyclotomic coefficient rings](https://arxiv.org/html/1712.03693v1), §1.3, provide an actual precedent for that sort of saving. Here the positive starting interfaces are the modular arbitrary-target port and strict signed CRT recovery. A κ claim would still require the explicit whole caller, all independent endpoint jobs, prime/root/setup costs, reconstruction, and a strictly improved complete recurrence. None of those unbuilt components is assumed as an oracle in the present result. + +## Primary reading index + +The machine-readable bibliography gives exact locations, assumptions and mapping to this caller. “Abstract only” means precisely that; “local proof” means only the specified proof passage, not the whole article. + +| ID | Primary work | Depth and relevant location | +|---|---|---| +| SS71 | [Schönhage–Strassen, 1971](https://doi.org/10.1007/BF02242355) | Publisher abstract; fixed-tape baseline | +| F09 | [Fürer, 2009 / STOC 2007](https://doi.org/10.1137/070711761) | Abstract; cheap roots and recursive twiddles | +| F14 | [Fürer, 2014](https://arxiv.org/html/1402.1811v1) | §2 and complete local proofs of Theorems 4.1–4.2 | +| DKSS08 | [De–Kurur–Saha–Saptharishi, 2008 / journal 2013](https://arxiv.org/pdf/0801.1416) | Abstract, §2.2 prime search and §2.3 lifting mechanism | +| HHL14 | [Harvey–van der Hoeven–Lecerf, 2014 preprint](https://www.texmacs.org/joris/mul/mul.pdf) | Theorem 1.1; precision composition §§3.4–4 | +| HV18 | [Harvey–van der Hoeven, 2018](https://arxiv.org/html/1802.07932v1) | Theorem 1.1 and representation-expansion discussion | +| HV21 | [Harvey–van der Hoeven, 2021](https://annals.math.princeton.edu/2021/193-2/p04) | Published abstract; analytic resampling | +| FLPR99 | [Frigo–Leiserson–Prokop–Ramachandran, 1999 / 2012](https://cs.uwaterloo.ca/~imunro/cs840/frigo.pdf) | §3 transpose proof and FFT work/miss separation | +| B90 | [Bailey, 1990](https://www.davidhbailey.com/dhbpapers/fftq.pdf) | Abstract and four-step transform mechanism | +| vdH04 | [van der Hoeven, 2004](https://www.texmacs.org/joris/issac04/issac04.html) | Univariate TFT; corrected multivariate caveat retained | +| H08 | [Harvey, 2008](https://arxiv.org/html/0810.3203v1) | TFT/ITFT definitions and row/column decomposition | +| HR10 | [Harvey–Roche, 2010](https://arxiv.org/html/1001.5272v1) | Explicit ownership/model §2.1 and Algorithm 1 | +| H07K | [Harvey, 2007 / journal 2009](https://arxiv.org/html/0712.4046v1) | Multipoint packing and reciprocal carry equations | +| H12N | [Harvey, 2012 / journal 2014](https://arxiv.org/pdf/1205.2926) | Algorithm 4 and complete Theorem 3 proof | +| V08 | [Vigna, 2008; updated author PDF](https://vigna.di.unimi.it/ftp/papers/Broadword.pdf) | Abstract and §2 broadword framework | +| HV16P | [Harvey–van der Hoeven, 2016](https://arxiv.org/abs/1611.07144) | Abstract; explicitly conjectural prime supply | +| HV17C | [Harvey–van der Hoeven, 2017](https://arxiv.org/html/1712.03693v1) | Theorems 1.1–1.2, §1.3 two-level CRT, principal roots | +| OAI26 | [Pinned OpenAI manuscript, 2026](https://github.com/openai/math/tree/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026) | Actual phase/guard/signed-packing/resampling source passages | + +The local Problem 1.8 modules provide reusable *source-level* run composition, straight-line execution, `Function.update` memory semantics, power-of-two reductions, and a separate bit-cost ledger. Their polynomial-word-length theorems do not imply w = C log n, and their schoolbook instruction bound does not imply a new sharp multiplication exponent. Canonical sources and the live DAG were not edited. A targeted typed-DAG name lookup returned no exact module hit; an expensive broader lookup was stopped without a result, so no typed-port retrieval or source-matched kernel evidence is claimed from it. + +## Reproduce and credit + +Run `python3 -I -B test.py` and `python3 -I -O -B test.py` from any working directory, supplying the absolute or relative script path as appropriate. Python 3.12 or later and the standard library suffice. Expected final line: `PASS_RAM_LITERATURE_TECHNIQUES`. EXPECTED.json is a deterministic receipt, not an independent proof certificate. Every check raises explicitly under optimized Python. Tests implement the positive lemmas independently; they do not fetch papers, import Lean, or make network requests. + +Credit the paper authors above; Dugongue's earlier packed transfer (#4541), its independent checks (#4552/#4553), Jacob Alan Sussman's complex engine framework (#4628), lee-phys's prefix (#4688), Yiyang / Lyy-iiis's phase repair (#4710), and all inherited current-provider suppliers. Prepared for Dugongue with substantial OpenAI Codex assistance. The tests and proofs here are not independent human peer review. No copyrighted paper PDFs or local Lean source files are copied into this deliverable. diff --git a/research/kappa-literature-map/ram/SEARCH.json b/research/kappa-literature-map/ram/SEARCH.json new file mode 100644 index 0000000000..b58c47a772 --- /dev/null +++ b/research/kappa-literature-map/ram/SEARCH.json @@ -0,0 +1,58 @@ +{ + "date_utc": "2026-10-22", + "scope": "Bounded primary-source review and exact technique tests, not exhaustive literature or novelty certification", + "queries": [ + "Furer Integer Multiplication and Models of Computation 2014 log RAM arxiv", + "Harvey van der Hoeven integer multiplication time O n log n 2021 paper", + "Frigo Leiserson Prokop Ramachandran cache oblivious algorithms FFT 1999 paper", + "De Kurur Saha Saptharishi fast integer multiplication modular arithmetic 2008 paper", + "FFT truncated space Harvey Roche 2010", + "broadword Vigna 2008", + "Harvey faster arithmetic number theoretic transforms lazy reduction 2014 pdf", + "Schonhage Strassen 1971 schnelle multiplikation grosser zahlen pdf", + "van der Hoeven truncated Fourier transform 2004 pdf", + "Bailey 1990 FFTs external hierarchical memory pdf", + "Harvey Kronecker substitution multipoint", + "Faster integer multiplication cyclotomic coefficient rings", + "Current openai/math pinned 2026 manuscript actual transform/precision sources" + ], + "local_queries": [ + "rg word-RAM / WordRAM / wordRam in canonical Mathproof/Meta/Problem18*.lean", + "Read four exact Problem 1.8 source modules and record byte hashes", + "Read cp22f FULL-INPUT-PORT.md, SECTOR-COMPLETION.md and actual PR 4710 letter definitions", + "Read-only typed-DAG exact module-token FTS lookup: no hits; broader module scan stopped after exceeding its discovery budget, without a receipt", + "Read-only notes FTS for Lax13 found Problem18LeanReuseSearch20261001; read Machine construction reuse and pin the note hash without copying its contents." + ], + "false_leads_excluded": [ + { + "id": "arXiv:2610.08144", + "verified_title": "Navier-Stokes lost in translation: Why Lean verification of AI autoformalisation does not guarantee correct natural language proofs", + "reason": "Not an integer-multiplication or transform source; excluded from the 18-work bibliography" + }, + { + "id": "arXiv:1904.00931", + "verified_title": "Longtime behavior for a generalized Cahn–Hilliard system with fractional operators", + "reason": "Wrong identifier during attempted 2019 multiplication lookup; not used" + } + ], + "access_limits": [ + "Schönhage–Strassen original full text was subscription-only; read publisher Summary only", + "HV21 author/HAL PDF access failed or was blocked; read published abstract only", + "No source claims worldwide novelty or complete recent-PR coverage from this lane", + "No paper PDFs, personal paths or local Lean source headers are included" + ], + "concrete_outputs": [ + "All-ring dyadic-Gaussian base-change theorem for actual cp22f full-input ports", + "Characteristic-5 separation: triangular invertibility survives singular coupling", + "Signed CRT coefficient-recovery sufficient theorem", + "Independent exact tests for six technique groups" + ], + "not_implemented": [ + "Complete modular integer-multiplication caller", + "Asymptotic prime/root supplier with paid costs", + "Fast TFT algorithm: matrix oracle used instead", + "Cache-oblivious FFT benchmark", + "Multipoint Kronecker caller replacement", + "New complete recursive paid profile or improved kappa" + ] +} diff --git a/research/kappa-literature-map/ram/SOURCE-PINS.json b/research/kappa-literature-map/ram/SOURCE-PINS.json new file mode 100644 index 0000000000..76c06aaba8 --- /dev/null +++ b/research/kappa-literature-map/ram/SOURCE-PINS.json @@ -0,0 +1,38 @@ +{ + "upstream/build/sections/00-introduction.tex": { + "sha256": "98721f03682ccf1cc7d0850b07adabaa2d8f3afe552e3861753eba9d284d0da0", + "url": "https://raw.githubusercontent.com/openai/math/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026/build/sections/00-introduction.tex" + }, + "upstream/build/sections/05-layers.tex": { + "sha256": "20cfc8d12099d4e4ed9e3e7eeb6162edd9b6e0e076f24693364cd24377252594", + "url": "https://raw.githubusercontent.com/openai/math/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026/build/sections/05-layers.tex" + }, + "upstream/build/sections/06-transforms.tex": { + "sha256": "924316e4bc905066281d8f9e8746a49d8829aeb393688608deb1e61c3c87853c", + "url": "https://raw.githubusercontent.com/openai/math/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026/build/sections/06-transforms.tex" + }, + "upstream/build/sections/07-resampling.tex": { + "sha256": "8a6b91670f9163afb54892489fa2210c77fe1b058f0325ec7d18b44b94be6e2c", + "url": "https://raw.githubusercontent.com/openai/math/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026/build/sections/07-resampling.tex" + }, + "cp22f/FULL-INPUT-PORT.md": { + "sha256": "52b8462e28f9e87925ccfea27872630e2b2da23f19fd3d2265c2654bc016088c" + }, + "cp22f/SECTOR-COMPLETION.md": { + "sha256": "2e72e19c4733213d1875f60cf87eddb733dde9266cf2581cb56393c3fabf1933" + }, + "cp22f/pr4710/verify_residual.py": { + "sha256": "0d277854396e4ceda1e0f26916bd576b6decb474c0692b6671ebf2595283ddb9" + }, + "cp22f/SOURCE-PINS.json": { + "sha256": "9d039350b6fcba24dda2ec603dab2083ff8cc7c671c374d849b1c76b431aec0a" + }, + "predecessor_urls": [ + "https://github.com/CrocSwap/integer-mult-bounds/pull/4541", + "https://github.com/CrocSwap/integer-mult-bounds/pull/4552", + "https://github.com/CrocSwap/integer-mult-bounds/pull/4553", + "https://github.com/CrocSwap/integer-mult-bounds/pull/4628", + "https://github.com/CrocSwap/integer-mult-bounds/pull/4688", + "https://github.com/CrocSwap/integer-mult-bounds/pull/4710" + ] +} diff --git a/research/kappa-literature-map/ram/SOURCES.json b/research/kappa-literature-map/ram/SOURCES.json new file mode 100644 index 0000000000..ef4c2f06ec --- /dev/null +++ b/research/kappa-literature-map/ram/SOURCES.json @@ -0,0 +1,275 @@ +{ + "scope": "18 selected primary works, 1971–2026; bounded review, not exhaustive", + "sources": [ + { + "id": "SS71", + "title": "Schnelle Multiplikation großer Zahlen", + "authors": "A. Schönhage; V. Strassen", + "year": 1971, + "url": "https://doi.org/10.1007/BF02242355", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "publisher Summary; Computing 7, 281–292" + ], + "statement": "Two n-bit integers can be multiplied in O(n log n log log n) steps.", + "model_assumptions": "Fixed multitape Turing machine or binary logical network.", + "caller_mapping": "Historical baseline; not an asymptotic native RAM record. Original full text was not available in this review.", + "status": "read" + }, + { + "id": "F09", + "title": "Faster Integer Multiplication", + "authors": "Martin Fürer", + "year": 2009, + "url": "https://doi.org/10.1137/070711761", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "SIAM abstract; STOC 2007 predecessor" + ], + "statement": "Multiplication in n log n 2^{O(log* n)} time.", + "model_assumptions": "Multitape Turing machine; same size bound for Boolean circuits.", + "caller_mapping": "Exploit cheap roots versus costly twiddles; dropping recursion only at word-sized leaves changes the invoice, not automatically the finite paid profile.", + "status": "read" + }, + { + "id": "F14", + "title": "How Fast Can We Multiply Large Integers on an Actual Computer?", + "authors": "Martin Fürer", + "year": 2014, + "url": "https://arxiv.org/html/1402.1811v1", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "§2 Definition 1; §4 Theorems 4.1 and 4.2 with proofs" + ], + "statement": "SS-C and Fürer multiplication take O(n) time on the log-RAM; SS-F takes O(n log log n).", + "model_assumptions": "O(log n)-bit registers with arithmetic, multiplication, division, Boolean operations, cyclic shifts, indirect access and packed IO. Depth-cost model is a separate refinement.", + "caller_mapping": "Prevents falsely advertising linear Word RAM multiplication as new. Compare to packed TM transfer #4541 under the same input ABI.", + "status": "read" + }, + { + "id": "DKSS08", + "title": "Fast Integer Multiplication Using Modular Arithmetic", + "authors": "Anindya De; Piyush P. Kurur; Chandan Saha; Ramprasad Saptharishi", + "year": 2008, + "url": "https://arxiv.org/pdf/0801.1416", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; §2.2 choosing the prime, Theorem 2.2 and Remark 2.3; §2.3 root lifting" + ], + "statement": "N log N 2^{O(log* N)} multiplication using modular arithmetic rather than approximate complex coefficients.", + "model_assumptions": "Deterministic bit complexity; chosen multivariate dimension makes required prime search sublinear in N. Root and modulus construction are charged.", + "caller_mapping": "A modular caller must pay prime generation and root lifting. Mapping the finite Gaussian word modulo p does not supply these parts. Journal version: https://doi.org/10.1137/100811167 (2013).", + "status": "read" + }, + { + "id": "HHL14", + "title": "Even faster integer multiplication", + "authors": "David Harvey; Joris van der Hoeven; Grégoire Lecerf", + "year": 2014, + "url": "https://www.texmacs.org/joris/mul/mul.pdf", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "Theorem 1.1; §3.4 Propositions 3.7–3.8; §4 Proposition 4.1 and its packing bound" + ], + "statement": "O(n log n 8^{log* n}) bit complexity; short DFTs reduce to cyclic integer products.", + "model_assumptions": "Multitape Turing bit complexity; explicit precision, root approximations and coefficient-size bounds. Read author manuscript dated 2015; journal publication 2016.", + "caller_mapping": "Use its compositional error method and exact 2p+r+2 coefficient fields when evaluating truncated or modular alternatives; count expanded child widths.", + "status": "read" + }, + { + "id": "HV18", + "title": "Faster integer multiplication using short lattice vectors", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2018, + "url": "https://arxiv.org/html/1802.07932v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "Theorem 1.1; Introduction discussion of three expansion factors; §2 overview" + ], + "statement": "Unconditional O(n log n 4^{log* n}) multiplication.", + "model_assumptions": "Deterministic fixed finite-tape bit model; Minkowski short-vector representation plus paid conversions. Published Open Book Series 2019.", + "caller_mapping": "A representation change can improve an expansion factor only when conversion frequency is controlled. Not a free replacement for current physical entrance/exit charts.", + "status": "read" + }, + { + "id": "HV21", + "title": "Integer multiplication in time O(n log n)", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2021, + "url": "https://annals.math.princeton.edu/2021/193-2/p04", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "published abstract, Annals 193, 563–617" + ], + "statement": "O(n log n) multiplication using Gaussian resampling and multidimensional power-of-two complex DFTs.", + "model_assumptions": "Multitape Turing machine and ordinary binary encoding.", + "caller_mapping": "The current manuscript builds on this analytic reduction. A finite-field port of a dyadic network does not transport its analytic resampling estimates. Full PDF fetch failed here; no full-proof read claimed.", + "status": "read" + }, + { + "id": "FLPR99", + "title": "Cache-oblivious algorithms", + "authors": "Matteo Frigo; Charles E. Leiserson; Harald Prokop; Sridhar Ramachandran", + "year": 1999, + "url": "https://cs.uwaterloo.ca/~imunro/cs840/frigo.pdf", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "2012 journal revision abstract; §3 matrix transpose, recurrence (8), Theorem 3.2; six-step FFT work/data-movement derivation" + ], + "statement": "Recursive transpose has O(mn) work and O(1+mn/B) misses; FFT has O(n log n) work and O(1+(n/B)(1+log_M n)) misses.", + "model_assumptions": "Ideal cache of M items and lines B with tall cache M = Ω(B²); cache misses are separate from RAM work.", + "caller_mapping": "Improve native locality and workspace scheduling; this alone leaves paid Gaussian calls and the Word RAM exponent unchanged. Source is the 2012 revision of FOCS 1999, DOI 10.1145/2071379.2071383.", + "status": "read" + }, + { + "id": "B90", + "title": "FFTs in External or Hierarchical Memory", + "authors": "David H. Bailey", + "year": 1990, + "url": "https://www.davidhbailey.com/dhbpapers/fftq.pdf", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; four-step algorithm, manuscript pp. 2–3" + ], + "statement": "Ordered transforms can use as few as two external passes under the stated hierarchical-memory layout.", + "model_assumptions": "External memory transfers, unit stride and available main-memory subtransforms; not a claim of two arithmetic passes total.", + "caller_mapping": "Reorder current monomial passes/transpose blocks for bandwidth, retaining all twiddle and arithmetic costs.", + "status": "read" + }, + { + "id": "vdH04", + "title": "The Truncated Fourier Transform and Applications", + "authors": "Joris van der Hoeven", + "year": 2004, + "url": "https://www.texmacs.org/joris/issac04/issac04.html", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; univariate TFT construction; §5 multivariate statement inspected only" + ], + "statement": "Truncated transforms smooth power-of-two jumps in polynomial multiplication.", + "model_assumptions": "Suitable roots of unity and declared input/output support. Author abstract warns of a multivariate mistake corrected in follow-up work.", + "caller_mapping": "Use only the univariate zero-tail interface here. Do not claim the older multivariate logarithmic gain without its correction or discard arbitrary dirty channels.", + "status": "read" + }, + { + "id": "H08", + "title": "A cache-friendly truncated FFT", + "authors": "David Harvey", + "year": 2008, + "url": "https://arxiv.org/html/0810.3203v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1 row/column decomposition; §2 TFT/ITFT definitions; §3 mechanism" + ], + "statement": "Cache-friendly TFT and ITFT reorder butterfly work while preserving truncated transforms.", + "model_assumptions": "Commutative ring with invertible 2 and principal power-of-two roots; mixed Fourier/time-domain ITFT input convention.", + "caller_mapping": "Explicitly retain n transformed coordinates and complementary supplied coefficients; exact test checks the zero-tail specialization, not arbitrary dirty erasure.", + "status": "read" + }, + { + "id": "HR10", + "title": "An in-place truncated Fourier transform and applications to polynomial multiplication", + "authors": "David Harvey; Daniel S. Roche", + "year": 2010, + "url": "https://arxiv.org/html/1001.5272v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1.3; §2.1 computational model; §3 Algorithm 1 and butterfly identities" + ], + "statement": "TFT and inverse in O(n log n) ring operations with O(1) auxiliary ring cells/pointers.", + "model_assumptions": "Input overwrite is allowed for in-place transforms; polynomial multiplication uses read-only input and read/write output; ring elements are abstract unit-cost objects.", + "caller_mapping": "Replace scratch fields only with an actual ownership-preserving schedule. O(1) ring cells need not be O(1) bits, and root generation is part of the algorithm.", + "status": "read" + }, + { + "id": "H07K", + "title": "Faster polynomial multiplication via multipoint Kronecker substitution", + "authors": "David Harvey", + "year": 2007, + "url": "https://arxiv.org/html/0712.4046v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "§1 four smaller multiplications; §3.2 reciprocal-point carry equations (4)–(8)" + ], + "statement": "Multiple packing points reduce zero-padding and improve moderate-size polynomial multiplication constants.", + "model_assumptions": "Integer/carry recovery must reconstruct every coefficient; benefit depends on M(b) versus several M(b/k), plus linear conversion.", + "caller_mapping": "Evaluate actual child widths and conversion, not simply number of products; current signed packing already pays coefficient growth. Preprint 2007, journal 2009.", + "status": "read" + }, + { + "id": "H12N", + "title": "Faster arithmetic for number-theoretic transforms", + "authors": "David Harvey", + "year": 2012, + "url": "https://arxiv.org/pdf/1205.2926", + "read_depth": "LOCAL_PROOF_READ", + "locations_read": [ + "Algorithm 4 and Theorem 3, §4, manuscript p. 6; §3 redundant ranges" + ], + "statement": "Redundant representatives reduce modular reductions in word-prime NTT butterflies.", + "model_assumptions": "For Algorithm 4: word base β, p < β/4, inputs in [0,4p), precomputed twiddle W and quotient approximation floor(Wβ/p), high/low product access.", + "caller_mapping": "Exact exhaustive test covers input/output range and residue. This is a constant-factor native kernel optimization; it is not evidence of fewer recursive Gaussian jobs. Journal 2014.", + "status": "read" + }, + { + "id": "V08", + "title": "Broadword Implementation of Rank/Select Queries", + "authors": "Sebastiano Vigna", + "year": 2008, + "url": "https://vigna.di.unimi.it/ftp/papers/Broadword.pdf", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "abstract; §2 broadword framework, pp. 2–3" + ], + "statement": "SWAR operations implement practical rank/select primitives by simultaneous word-lane operations.", + "model_assumptions": "Fixed-width word arithmetic/bitwise primitives with explicit lane masks and carry discipline; author PDF updated 2023.", + "caller_mapping": "Use for address/phase metadata and safe lane arithmetic. Full-precision Θ(log n)-bit coefficients occupy only O(1) lanes in a C log n-bit word.", + "status": "read" + }, + { + "id": "HV16P", + "title": "Faster integer multiplication using plain vanilla FFT primes", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2016, + "url": "https://arxiv.org/abs/1611.07144", + "read_depth": "ABSTRACT_ONLY", + "locations_read": [ + "abstract, version 2 (2017)" + ], + "statement": "O(n log n 4^{log* n}) under a conjectural bound for the least prime in an arithmetic progression.", + "model_assumptions": "Conditional deterministic bit-complexity result; special FFT-prime availability must not be assumed unconditionally.", + "caller_mapping": "A word-prime CRT route needs its own unconditional or explicitly conditional prime/root supplier. No use as a proved current caller component.", + "status": "read" + }, + { + "id": "HV17C", + "title": "Faster integer and polynomial multiplication using cyclotomic coefficient rings", + "authors": "David Harvey; Joris van der Hoeven", + "year": 2017, + "url": "https://arxiv.org/html/1712.03693v1", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "Theorems 1.1–1.2; §1.3 CRT/two-level overview; §2.2 principal roots; Proposition 3.4 construction inspected" + ], + "statement": "Integer bound O(n log n (4√2)^{log* n}); polynomial expansion constant 4 through cyclotomic coefficient rings.", + "model_assumptions": "Deterministic bit model; coefficient ring may be a product of fields; principal roots and conversions are constructed.", + "caller_mapping": "Amortizing zero-padding across two recursion levels can change a real expansion factor. Preserve principal-root orthogonality in rings with zero divisors and charge CRT conversion.", + "status": "read" + }, + { + "id": "OAI26", + "title": "Integer multiplication below n log n", + "authors": "OpenAI", + "year": 2026, + "url": "https://github.com/openai/math/tree/adc7f1241b42e322a6451854ab7e4b4c146bf78a/preprints/Integer-multiplication-below-n-log-n-September-23-2026", + "read_depth": "STATEMENT_AND_LOCAL_MECHANISM", + "locations_read": [ + "00-introduction.tex: two tape operations and exact product; 05-layers.tex: phase identities and explicit guard bound; 06-transforms.tex: signed-ring-product proof; 07-resampling.tex: one-dimensional interface" + ], + "statement": "The pinned manuscript states T(n)=O(n (lg n)^{1−2^(−182)}) for one fixed finite-tape exact multiplier.", + "model_assumptions": "Research manuscript, not independently re-proved here; complete finite networks, source/sink frames, dyadic precision, CRT layouts and final rounding are obligations.", + "caller_mapping": "Current benchmark context. It already uses packed selected bits and signed Kronecker recovery; our new test cannot count them as newly introduced mechanisms. Modular base change applies to finite dyadic identities, not automatically to analytic resampling.", + "status": "read" + } + ] +} diff --git a/research/kappa-literature-map/ram/test.py b/research/kappa-literature-map/ram/test.py new file mode 100644 index 0000000000..b1eaed5a45 --- /dev/null +++ b/research/kappa-literature-map/ram/test.py @@ -0,0 +1,280 @@ +#!/usr/bin/env python3 +"""Exact, bounded technique tests. Standard library only; no timing claims.""" +from fractions import Fraction as F +from itertools import product +from pathlib import Path +import hashlib,json,sys + + +def need(p, label): + if not p: + raise RuntimeError(label) + + +def lazy_inverse_butterfly(): + # Harvey, arXiv:1205.2926v2, Algorithm 4 / Theorem 3. + beta = 128 + cases = 0 + for p in (3, 5, 13, 17, 29): + need(4*p < beta, 'word slack') + for w in range(1, p): + wp = (w*beta)//p + for x, y in product(range(4*p), repeat=2): + xx = x - 2*p if x >= 2*p else x + q = (wp*y)//beta + t = (w*y-q*p) % beta + a, b = xx+t, xx-t+2*p + need(0 <= t < 2*p, 'redundant multiplication range') + need(0 <= a < 4*p and 0 <= b < 4*p, 'butterfly word range') + need(a % p == (x+w*y) % p and b % p == (x-w*y) % p, + 'lazy butterfly value') + cases += 1 + # Fixed explicit mutant: omitting the approximate quotient is not safe. + p,w,x,y = 29,28,0,115 + bad_t = (w*y) % beta + bad_a = bad_t + need(bad_a % p != (x+w*y) % p, 'quotient-removal mutant') + return {'cases':cases,'word_bits':7,'primes':[3,5,13,17,29], + 'quotient_removal_mutant_rejected':True} + + +def invmat(a,p): + n=len(a) + m=[[(x % p) for x in row]+[int(i==j) for j in range(n)] for i,row in enumerate(a)] + for j in range(n): + pivot=next((i for i in range(j,n) if m[i][j]),None) + need(pivot is not None, 'TFT principal minor invertible') + m[j],m[pivot]=m[pivot],m[j] + z=pow(m[j][j],-1,p) + m[j]=[(v*z)%p for v in m[j]] + for i in range(n): + if i != j: + z=m[i][j] + m[i]=[(u-z*v)%p for u,v in zip(m[i],m[j])] + return [row[n:] for row in m] + + +def mv(a,x,p): + return [sum(u*v for u,v in zip(row,x))%p for row in a] + + +def truncated_fourier(): + # Exact linear-algebra oracle, NOT an implementation of the fast TFT. + p,length,omega=17,8,2 + need(pow(omega,length,p)==1 and pow(omega,length//2,p)!=1, 'root order') + br=lambda j:int(format(j,'03b')[::-1],2) + a=[[pow(omega,br(i)*j,p) for j in range(length)] for i in range(length)] + cases=0 + for n in range(1,length+1): + t=[row[:n] for row in a[:n]] + ti=invmat(t,p) + for seed in range(32): + x=[(seed*(j+1)+3*j*j+5)%p for j in range(n)] + y=mv(t,x,p) + need(mv(ti,y,p)==x, 'truncated roundtrip') + full=mv(a,x+[0]*(length-n),p) + need(full[:n]==y, 'zero-tail TFT equals selected full outputs') + cases+=1 + # A nonzero discarded tail must remain visible in an arbitrary-input ABI. + n=5 + dirty=[0]*length;dirty[n]=1 + need(any(mv(a,dirty,p)[:n]), 'dirty-tail mutant rejected') + return {'roundtrips':cases,'length':length,'prime':p, + 'dirty_tail_mutant_rejected':True,'implementation':'exact matrix oracle'} + + +def zadd(x,y):return (x[0]+y[0],x[1]+y[1]) +def zneg(x):return (-x[0],-x[1]) +def zmul(x,y):return (x[0]*y[0]-x[1]*y[1],x[0]*y[1]+x[1]*y[0]) +def red(x,p,i): + def rat(q):return q.numerator*pow(q.denominator,-1,p)%p + return (rat(x[0])+i*rat(x[1]))%p + + +def split_gaussian_base_change(): + # Ring homomorphism Z[i,1/2] -> F_p. Absolute phases remain present. + values=[(F(a,2**d),F(b,2**d)) for a,b,d in product(range(-2,3),range(-2,3),range(3))] + count=0 + for p,ii in ((17,4),(97,22)): + need(ii*ii%p==p-1,'split Gaussian prime') + for x,y in product(values,repeat=2): + need(red(zadd(x,y),p,ii)==(red(x,p,ii)+red(y,p,ii))%p,'base change addition') + need(red(zmul(x,y),p,ii)==red(x,p,ii)*red(y,p,ii)%p,'base change multiplication') + count+=1 + one=(F(1),F(0)); zero=(F(0),F(0)) + c=[[(F(1,2),F(1,2)),(F(1,2),F(-1,2))], + [(F(1,2),F(-1,2)),(F(1,2),F(1,2))]] + cm=[[red(z,p,ii) for z in row] for row in c] + cc=[[sum(cm[a][k]*cm[k][b] for k in range(2))%p for b in range(2)] for a in range(2)] + need(cc==[[0,1],[1,0]],'absolute-phase C squared equals X') + # Wrong i=1 loses i^2=-1 and must not be accepted. + need(red(zmul((F(0),F(1)),(F(0),F(1))),p,1)!=1,'phase-drop mutant') + return {'add_mul_pairs':count,'split_primes':[17,97], + 'full_phase_C_squared_X':True,'phase_drop_mutant_rejected':True} + + +def packing_and_precision(): + # Positive no-carry lemma: s lanes of q-bit data plus one guard bit. + cases=0 + for q in range(1,5): + width=q+1; mask=(1<>width)&mask==b+d, 'carry-isolated packed addition') + cases+=1 + need(((3+(0<<2))+(1+(0<<2)))>>2 != 0,'unguarded carry mutant') + rows=[] + for logn in (16,32,64,128,256,1024,4096): + f=(logn-1).bit_length();h=precision=logn + bits=precision+h+4*f+12 + word=8*logn + lanes=word//bits + # cp22f: error <= 10*2^(3f/2)*2^(-P-2f-6). + # Squared ratio to 2^-P is 100 / (4096*2^f), strictly below 1. + squared_ratio=F(100,4096*(1<=modulus else z + cases=0 + for r in (2,4,8): + bound=r*3*3 + need(modulus>2*bound,'strict signed CRT range') + for seed in range(64): + a=[((seed+3*j*j)%7)-3 for j in range(r)] + b=[((2*seed+5*j+1)%7)-3 for j in range(r)] + exact=[0]*r + for i,x in enumerate(a): + for j,y in enumerate(b): + q,k=divmod(i+j,r);exact[k]+=(-1 if q else 1)*x*y + channels=[[x%p for x in exact] for p in primes] + need([crt(u,v) for u,v in zip(*channels)]==exact,'signed negacyclic CRT') + cases+=1 + # Modulus alone never recovers signed data outside its strict range. + need(crt((-825)%17,(-825)%97)!=-825,'insufficient modulus mutant rejected') + return {'cases':cases,'primes':primes,'modulus':modulus, + 'max_coefficient_bound':72,'strict_recovery_modulus_lower_bound':144, + 'paid_prime_channels':2,'insufficient_modulus_mutant_rejected':True} + + +def run(): + return {'lazy_butterfly':lazy_inverse_butterfly(),'truncated_fourier':truncated_fourier(), + 'split_base_change':split_gaussian_base_change(),'packing_precision_invoice':packing_and_precision(), + 'actual_cp22f_modular_port':actual_cp22f_modular_port(), + 'crt_signed_convolution':crt_signed_convolution()} + + +if __name__=='__main__': + got=run(); path=Path(__file__).with_name('EXPECTED.json') + if '--write-expected' in sys.argv: + path.write_text(json.dumps(got,indent=2)+'\n',encoding='utf-8') + else: + need(got==json.loads(path.read_text(encoding='utf-8')),'deterministic expected receipt') + print(json.dumps(got,sort_keys=True)) + print('PASS_RAM_LITERATURE_TECHNIQUES') diff --git a/research/kappa-literature-map/root/CHECKPOINT-RAM.md b/research/kappa-literature-map/root/CHECKPOINT-RAM.md new file mode 100644 index 0000000000..6495836fb0 --- /dev/null +++ b/research/kappa-literature-map/root/CHECKPOINT-RAM.md @@ -0,0 +1,38 @@ +# New-main checkpoint: RAM overlap and predecessor credit + +Read-only checkpoint at canonical main `624de9dc66858af0945e5f8a0942488d62280d43`. The frozen RAM lane was not edited. The relevant archived work confirms substantial prior native migration, stability, modular execution and signed-recovery coverage; none of these general concepts should be described as first applied by this literature package. + +## Sources actually inspected + +- [`research/pr4554-native-stability-check/README.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/pr4554-native-stability-check/README.md), plus its vendored `PR4554-NATIVE-STABILITY.md` in full. +- [`research/word-ram-transfer/README.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/word-ram-transfer/README.md). +- [`research/modular-port-borrowing/README.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/modular-port-borrowing/README.md). +- [`research/modular-gaussian-recovery/README.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/modular-gaussian-recovery/README.md). +- [`research/packed-carry-symbolic/README.md`](https://github.com/CrocSwap/integer-mult-bounds/blob/624de9dc66858af0945e5f8a0942488d62280d43/research/packed-carry-symbolic/README.md). + +## Meaningful shared and distinct scope + +**Native rational stability was already developed and independently checked.** The #4554 text derives fixed-template prefix/suffix bounds K^(D+1), scalar-rounding envelopes and explicit integral/fractional widths; its #956 instance has a logarithmic recursion depth and retains a funded kernel exponent. Ryanson Jonathan's archived independent check credits Dugongue, the #956/#390/Sussman/P193 lineage and ram_cost's shear estimate. It expressly excludes the unresolved full Newton/Toeplitz preparation. Our guard-bit examples and fixed-word qualifications are an application/review of this established line, not a new general stability theorem or a complete caller. Its polyloglog absorption statement also means a precision overhead exceeding a fixed number of limbs is not automatically fatal: an explicitly bounded polyloglog cost can preserve every strict exponent below the algebraic saving. + +**The general Word RAM migration already exists.** `word-ram-transfer` contains a Problem 1.8 logarithmic-word bridge, a finite TM emitter, packed tape accesses and affine/quarter-phase native kernels. It already separates local primitive correctness from complete multiplication invoices and explicitly notes Fürer's 2014 O(n) log-RAM baseline. Credit Dugongue/OpenAI Codex, the Problem 1.8 authors, Szymon Torunczyk/GPT and the detailed inherited lineage. Our contribution is not first migration, first monomial lowering, or first use of those Lean sources. The sharper packed-time comparison #4541 remains the appropriate baseline for a claimed computational gain. + +**Modular dirty-port execution is also prior work.** Gareth Davidson (@bitplane)'s `modular-port-borrowing` gives an actual backend for integer-factor borrowed echoes modulo 2^w, restores arbitrary dirty ports and pays reductions, product registers and final signed recovery. It credits PR1057, PR822, PR673, PR730, PR628 and the Ben-Or–Cleve principle, and discusses Ali Romman's PR1135 rational lift. It excludes general dyadic factors because division by 2 is not defined on that quotient. Our exact cp22f base change uses odd characteristic with 2 invertible, the literal Gaussian phase letters, and two/three-call triangular maps. That is a different algebraic interface; it does not improve the existing modular backend's call count or demonstrate a complete multiplier. + +**Residue-assisted Gaussian recovery and carry-free packing are already concretely implemented.** Dugongue's `modular-gaussian-recovery` extends Mason Hale's backend with a paid low-residue product to reduce numerical precision while keeping certified exact output. The archived package charges the additional child, packing and lifting and claims no κ. Our two-modulus signed CRT test is a small exact mechanism check, not first modular reconstruction in the project or a stronger end-to-end recovery theorem. The best research use would compare a complete new caller against this existing paid alternative, rather than rediscover its premise. + +**Packed carry correctness has stronger prior symbolic evidence than our tiny lane test.** Philipp (@mightyOil)'s `packed-carry-symbolic` independently certifies Hanson Sun / bbMisk PR1245's matching-prefix table for every even radix, retaining PR773, PR735 and manuscript credit. Our exhaustive two-lane guarded-add test validates a simpler primitive under its own guard assumption. It is useful as a model sanity check, but it does not subsume that symbolic all-radix source-bound certificate. + +The distinct positive result retained by our lane is narrowly stated: polynomial/inverse identities of the literal cp22f arbitrary-target port transport through Z[i,1/2] into split finite fields, with absolute phases and separate tensorization; the triangular block remains invertible in characteristic 5 despite singular coupling. Only its optional coupling inverse needs 15 invertible. This is not a star-homomorphism, numerical-conditioning, physical-supplier, complete-caller or new-κ claim. The lookup did not establish novelty even for this narrower application. + +## Search limits + +A bounded root-name scan found many related packing, CRT, precision and modular archives, including `packed-ram-speedup`, `pr4541-packed-transfer-check`, `pr4541-packed-io-check`, `modular-port-borrowing`, `modular-gaussian-recovery`, `unconditional-batched-crt`, `native-wordram-tightening` and `fft-word-parameter-bounds`. A content grep across all archived READMEs could not finish because the partial clone attempted to fetch a missing promisor blob and Git HTTPS reported `SEC_E_NO_CREDENTIALS`. Targeted primary raw URLs and already-present Git blobs supplied the six reads above. No Git configuration or authentication was changed; this is incomplete source coverage, not evidence of absent TFT/CRT/packing work. + +## Exact source-byte pins + +- `research/pr4554-native-stability-check/README.md`: SHA-256 `5fee242033d3c0f1af81c4bdf619ec26130b066282f465c6e85ecc0b357964b5`. +- `research/pr4554-native-stability-check/PR4554-NATIVE-STABILITY.md`: SHA-256 `260e78bf8f88667a637b804d013d1e7c6dfdf1e23ae35ffdc64a4366c7321221`. +- `research/word-ram-transfer/README.md`: SHA-256 `4160d820310fb9bcebc359e7108146ea2e1ca9713277feaa4636e820211fabef`. +- `research/modular-port-borrowing/README.md`: SHA-256 `61512ec419a9ae04b1f5321167d14515e4e25db6702704f417cdb32857243fb7`. +- `research/modular-gaussian-recovery/README.md`: SHA-256 `4242f0541146aa3f072762ec79845b36867557e9b10a87c223aed96950c48fe8`. +- `research/packed-carry-symbolic/README.md`: SHA-256 `85f47131b595189a8c6dbb6b266d726c859e3ac0ae0fc0954d22c2dcb307243c`. diff --git a/research/kappa-literature-map/root/CLOSED-OVERLAP.json b/research/kappa-literature-map/root/CLOSED-OVERLAP.json new file mode 100644 index 0000000000..2d01ce051d --- /dev/null +++ b/research/kappa-literature-map/root/CLOSED-OVERLAP.json @@ -0,0 +1,58 @@ +[ + { + "term": "Hecke", + "total": 0, + "incomplete": false, + "results": [] + }, + { + "term": "catalytic", + "total": 4, + "incomplete": false, + "results": [ + { + "number": 1949, + "state": "closed", + "title": "Prove a diagonal-span projection barrier for the PR117 word", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1949" + }, + { + "number": 1604, + "state": "closed", + "title": "Research: nine-call minimum for dyadic ternary frames with arbitrary dirty registers", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1604" + }, + { + "number": 4359, + "state": "closed", + "title": "Conditional \u03ba = 0.0023 (+5.690e-4, +32.87% over #4181): productive helper jobs compiled into a uniform supplier", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4359" + }, + { + "number": 673, + "state": "closed", + "title": "Research: dirty echo, verifier repair, and priced bit-sharing boundaries", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/673" + } + ] + }, + { + "term": "\"operator scaling\"", + "total": 0, + "incomplete": false, + "results": [] + }, + { + "term": "\"border rank\"", + "total": 1, + "incomplete": false, + "results": [ + { + "number": 3872, + "state": "closed", + "title": "Reuse exact principal-window inverses with weighted recovery certificates", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/3872" + } + ] + } +] diff --git a/research/kappa-literature-map/root/EXPECTED.json b/research/kappa-literature-map/root/EXPECTED.json new file mode 100644 index 0000000000..4f13627005 --- /dev/null +++ b/research/kappa-literature-map/root/EXPECTED.json @@ -0,0 +1,19 @@ +{ + "direct_rank_three_calls": 12, + "echo_paid_calls": 4, + "exact_port_identities": 27, + "hypothetical_rank_three_query_calls": 27, + "matching_vector_encoded_queries": 9, + "matching_vector_recovered_arrays": 4, + "new_kappa": false, + "status": "PASS_CATALYTIC_TRANSPOSE_LITERATURE", + "transparent_echo_cases": 9, + "transpose_forward_calls": 2, + "transpose_reverse_calls": 2, + "widths": [ + 1, + 2, + 3 + ], + "wrong_adjoint_controls": 9 +} diff --git a/research/kappa-literature-map/root/FINAL-CROSS-CHECK.json b/research/kappa-literature-map/root/FINAL-CROSS-CHECK.json new file mode 100644 index 0000000000..a4f5a42693 --- /dev/null +++ b/research/kappa-literature-map/root/FINAL-CROSS-CHECK.json @@ -0,0 +1,57 @@ +{ + "mode": [ + "-I", + "-O", + "-B" + ], + "new_kappa": null, + "receipt": { + "direct_rank_three_calls": 12, + "echo_paid_calls": 4, + "exact_port_identities": 27, + "hypothetical_rank_three_query_calls": 27, + "matching_vector_encoded_queries": 9, + "matching_vector_recovered_arrays": 4, + "new_kappa": false, + "status": "PASS_CATALYTIC_TRANSPOSE_LITERATURE", + "transparent_echo_cases": 9, + "transpose_forward_calls": 2, + "transpose_reverse_calls": 2, + "widths": [ + 1, + 2, + 3 + ], + "wrong_adjoint_controls": 9 + }, + "review_scope": { + "adjoint_inverse_adjoint_and_translation": "Unchanged formulas independently reviewed with the Hermitian convention; all exact tests pass.", + "ledger_counts": [ + { + "baseline_leaves": 16, + "depth": 2, + "local_times_two_leaves": 64, + "outside_times_two": 32 + }, + { + "baseline_leaves": 64, + "depth": 3, + "local_times_two_leaves": 512, + "outside_times_two": 128 + }, + { + "baseline_leaves": 256, + "depth": 4, + "local_times_two_leaves": 4096, + "outside_times_two": 512 + } + ], + "model_limits": "Finite-character decoding is over F13; no complete Gaussian supplier or new kappa is claimed.", + "new_ledger_control": "Actual recursive leaf enumerations at depths 2, 3 and 4 distinguish a one-time outside multiplier from a multiplicity at every node." + }, + "reviewed_file": "root/test.py", + "reviewer": "independent Codex worker", + "sha256": "ed46fe83837c19fade6ca90c1b7ee8326f27069fa190fd43ea645f0eaab7af97", + "source_hash_guard": "before-and-after SHA-256 equal", + "status": "PASS_FINAL_ROOT_CROSS_CHECK" +} diff --git a/research/kappa-literature-map/root/LOCAL-PRECEDENTS.json b/research/kappa-literature-map/root/LOCAL-PRECEDENTS.json new file mode 100644 index 0000000000..c5f78ec2bb --- /dev/null +++ b/research/kappa-literature-map/root/LOCAL-PRECEDENTS.json @@ -0,0 +1,25 @@ +[ + { + "module": "Mathproof.BreakthroughPatterns", + "project_relative_path": "Mathproof/BreakthroughPatterns.lean", + "sha256": "dddcc4fc487471c9ed0c7ac265659fd8476d3c819ddc5dfb0d415035f47d5584", + "declarations_located": [ + "catalytic_reuse_requires_smaller_depth", + "reduction_is_direction_neutral" + ], + "evidence": "SOURCE_ONLY_UNELABORATED", + "use": "Discovery precedent only; no fresh kernel, dependency or axiom audit in this literature review." + }, + { + "module": "Mathproof.Meta.RankNotCircuit20260902", + "project_relative_path": "Mathproof/Meta/RankNotCircuit20260902.lean", + "sha256": "20d9cb562083d49709def80ee6f21bcc1f85bc060e64a7ef53c2cb65bb4a7539", + "declarations_located": [ + "matchForm_eq_prod", + "circuitComplexity_matchForm_le", + "exponential_rank_linear_circuit" + ], + "evidence": "SOURCE_ONLY_UNELABORATED", + "use": "Discovery precedent only; no fresh kernel, dependency or axiom audit in this literature review." + } +] diff --git a/research/kappa-literature-map/root/PR-OVERLAP.json b/research/kappa-literature-map/root/PR-OVERLAP.json new file mode 100644 index 0000000000..7a8b48f0a5 --- /dev/null +++ b/research/kappa-literature-map/root/PR-OVERLAP.json @@ -0,0 +1,128 @@ +{ + "pages": [ + { + "page": 1, + "total": 427, + "incomplete": false + }, + { + "page": 2, + "total": 427, + "incomplete": false + }, + { + "page": 3, + "total": 427, + "incomplete": false + }, + { + "page": 4, + "total": 427, + "incomplete": false + }, + { + "page": 5, + "total": 427, + "incomplete": false + } + ], + "unique_pr_bodies": 427, + "query_terms": [ + "Hecke", + "Mackey", + "matching vector", + "transposition", + "catalytic", + "noncommutative rank", + "operator scaling", + "border rank", + "Hadamard", + "ZX", + "Word RAM", + "word-RAM" + ], + "matches": { + "Hecke": [], + "Mackey": [], + "matching vector": [], + "transposition": [ + { + "number": 4740, + "title": "Prove shortest S3 single-target word rigidity", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4740" + }, + { + "number": 4647, + "title": "Prove length-2 S3 words miss the transposition (0 2).", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4647" + }, + { + "number": 4619, + "title": "Classify #4598's 24 five-request decompositions: 2 stars + 10 char-2 mixed + 12 Hamiltonian-cycle pentagons (#4598 OQ1; no new \u03ba)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4619" + }, + { + "number": 3905, + "title": "Research: exact four-call minimum for an integer-shear target", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/3905" + }, + { + "number": 357, + "title": "\u03ba = 8.03654539036015e-4: #354's staged Design T + twins on a reordered-design p10b base word (+0.064%)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/357" + }, + { + "number": 353, + "title": "\u03ba = 8.01598358635541e-4: #352 with Design T + twins on a reordered-design p10b base word (+0.064%)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/353" + } + ], + "catalytic": [], + "noncommutative rank": [], + "operator scaling": [], + "border rank": [], + "Hadamard": [ + { + "number": 897, + "title": "No new \u03ba: covers of E7 by hyperplane flats are exactly the D4-frame triples; near-covers are the A3s (checked)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/897" + } + ], + "ZX": [], + "Word RAM": [ + { + "number": 4724, + "title": "Compare native Word RAM with packed TM; prove robust portfolio adoption (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4724" + }, + { + "number": 4713, + "title": "Conditional DIV-free Word RAM \u03ba = 0.0030217758 (+4e-10 over #4635)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4713" + }, + { + "number": 4703, + "title": "Construct complementary native suppliers with a strict local moment improvement (no new kappa)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4703" + }, + { + "number": 4641, + "title": "Independently check #4635's native \u03ba step: the +1.6099e-6 is #4610's paid profile, not the Word RAM transfer (no new \u03ba)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4641" + }, + { + "number": 4635, + "title": "Conditional Word RAM \u03ba = 0.0030217754 (+0.0000016099 over #4630)", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4635" + }, + { + "number": 4630, + "title": "Conditional native Word RAM \u03ba = 0.0030201655: fused execution without TM simulation", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4630" + } + ], + "word-RAM": [] + }, + "limitations": "Open PR titles/bodies only; no full diffs or closed-only/Discussion coverage. Pages are not an atomic snapshot.", + "matching_rule": "case-insensitive whole phrase boundaries, not substrings such as checked/Hecke" +} diff --git a/research/kappa-literature-map/root/REVIEW.md b/research/kappa-literature-map/root/REVIEW.md new file mode 100644 index 0000000000..7ac09c849f --- /dev/null +++ b/research/kappa-literature-map/root/REVIEW.md @@ -0,0 +1,83 @@ +# Catalytic computation, transposition and priced information + +This lane reviewed 21 primary works to ask a specific implementation question: can an arbitrary-dirty, phase-sensitive prefix turn its reversible structure into more independently useful outputs per paid Gaussian call? The positive results below are identities on every input, with exact tests of the actual prefix. They extend the available interface; they do not establish a new multiplication exponent. [SOURCES.json](SOURCES.json) records each paper's read depth and locator, including abstract-only entries and failed full-text fetches. + +## The interface and its predecessors + +Fix a positive width f and N = 8^f. Let A = C0_f be the actual unitary Gaussian tensor letter, and L = P_f + 2 Q_f be the actual phase-sensitive sum of two signed address permutations. Tensor each letter individually before taking this sum. Thus L is not generally the tensor power of P + 2Q. The existing two-call port is + + U(x,y) = (A x, A y + A L A x). + +Both x and y may contain arbitrary dirty data. Its inverse is + + U⁻¹(t,s) = (A⁻¹ t, A⁻¹ s − L t). + +The source is the frozen native-prefix package cp22f, built on Yiyang's [#4710](https://github.com/CrocSwap/integer-mult-bounds/pull/4710), lee-phys's [#4688](https://github.com/CrocSwap/integer-mult-bounds/pull/4688), and Jacob Alan Sussman's [#4628](https://github.com/CrocSwap/integer-mult-bounds/pull/4628). Our test independently implements the actual C0, P and Q words using rational real/imaginary pairs; it does not import the earlier verifier or trust a numerical comparison. General dirty-echo and complete recursive accounting precede this package: androolloyd's [#673](https://github.com/CrocSwap/integer-mult-bounds/pull/673) already constructs and prices such adapters. The contribution here is a specialization to the repaired arbitrary-input prefix and a literature-to-interface map, not discovery of catalytic computation or dirty echo. + +## Positive theorem 1: a two-call Hermitian-adjoint port + +For all complex arrays u and v, + + U†(u,v) = (A†u + A†L†A†v, A†v). + +Its inverse is + + (U†)⁻¹(u,v) = (A u − L†v, A v). + +Proof. Take the block adjoint of U = [[A,0],[ALA,A]], reversing products and conjugating coefficients. Multiplying the displayed matrices gives the identity because A†A = I. Operationally compute w = A†v, then A†(u + L†w), retaining w. This uses two A† calls. Each A† is X0_f A for this particular Gaussian letter, so a forward call and a free signed permutation implement it. L† is the sum of the two reversed monomial words with conjugated phases. The inverse-adjoint likewise needs two forward calls and a monomial linear combination. This proves the identities on arbitrary inputs; the exact finite checks are supplementary evidence, not the universal proof. + +This is an application of the transposition principle, not a generic assertion that every forward routine is its own transpose. [Bostan–Lecerf–Schost (2003)](https://mathexp.eu/bostan/publications/BoLeSc03.pdf), §3 and §4.3, explain how reversing a linear program produces its transpose, with particular attention to initialization, accumulation and the chosen computational model. In our complex inner product the relevant operation is the **Hermitian adjoint**. The test verifies the conjugate inner-product identity and rejects treating the forward port as its adjoint in nine cases. + +The operator norm and inverse norm are unchanged by adjunction. Hence this theorem preserves the previous two-call invoice and conditioning; it does not lower its paid moment. It is useful when a joint encoder requires a dual action, because it supplies an actual all-input reverse interface rather than an assumed dual oracle. A future construction may use it inside a new encoder, but must count its calls and arrange the physical output ownership. + +[Baur–Strassen (1983)](https://web.vu.lt/mif/s.jukna/tropical/Baur-Strassen.pdf) is a related automatic-differentiation precedent. Its original threefold statement concerns nonscalar multiplications/divisions in the stated arithmetic model. It is not permission to multiply or divide a paid Gaussian-query invoice by three, nor a license to erase memory traffic or phase words. That distinction prevents an attractive but incorrect shortcut from reverse-mode arithmetic to this supplier model. + +## Positive theorem 2: transparent conjugated translation + +Let δ be an independent read-only array. Run U on arbitrary x,y, add δ to its first output, then run U⁻¹. The result is + + (x + A⁻¹δ, y − Lδ). + +Proof. The first output becomes Ax + δ. Substituting it and the unchanged second output into U⁻¹ gives x + A⁻¹δ in the first coordinate and + + A⁻¹(Ay + ALAx) − L(Ax + δ) = y − Lδ + +in the second. No zero-initialization assumption is used. Four Gaussian calls are paid, two in each direction; δ is preserved. Intermediate registers and the source of δ still have to be hosted. Taking δ = 0 restores the original inputs exactly, as expected. + +This realizes the transparent-register idea of [Buhrman–Cleve–Koucký–Loff–Speelman (2014)](https://iuuk.mff.cuni.cz/~koucky/papers/catalytic.pdf), §3.1 Theorem 2 and §3.2 Lemma 4, for a concrete prefix. Their catalytic-space simulation and the earlier [Ben-Or–Cleve three-register simulation](https://epubs.siam.org/doi/pdf/10.1137/0221006) make borrowed memory mathematically useful. Their time overhead is part of their theorem, however. A space simulation does not automatically improve time, and restoration does not turn the borrowed input into an additional independent completed job. + +[Bennett's reversible pebbling](https://mathweb.ucsd.edu/~sbuss/CourseWeb/Math268_2013W/Bennett_Tradeoffs.pdf), the Li–Tromp–Vitányi pebble analysis, and Lange–McKenzie–Tapp address related time/space tradeoffs. They distinguish controlled checkpoint storage from arbitrary pre-existing contents. The project must retain that distinction: a temporary blank array, a dirty borrowed array and a completed transform are different endpoints with different obligations. + +The 2024–2026 catalytic literature sharpens possible future encodings. [Williams (2025)](https://arxiv.org/html/2502.17779v1), including Appendix A's tree evaluation, exposes the interpolation mechanism behind space-efficient computation. [Henzinger–Pyne–Ragavan (2026)](https://arxiv.org/html/2602.14320v1), Theorems 3.1 and 3.5 and §§3.1–3.3, study catalytic compression. [Cook–Pyne (2025)](https://arxiv.org/html/2509.06209v1), §1.4 and the local-reversion theorem, is relevant to restoring a complicated auxiliary state in a local interval. The dossier records these as techniques to investigate, with their actual resource models. None is a proved sublogarithmic-cost Gaussian multiplier. + +## Positive theorem 3: character decoding, including its full query count + +Let a field contain a primitive m-th root ω with m invertible. For vectors u_i,v_j over Z/mZ, suppose ⟨u_j,v_j⟩ = 0 and each off-diagonal inner product is nonzero modulo m with vanishing full character sum. Define E(z) = Σ_i ω^⟨u_i,z⟩ x_i. For every linear map G, + + G(x_j) = (1/m) Σ_(t=0)^(m−1) G(E(t v_j)). + +Proof. Interchange the two finite sums using linearity. The coefficient of x_j is one; every other coefficient is a geometric character sum equal to zero. The hypothesis about a vanishing sum matters for composite m and general rings; merely saying nonzero is not enough there. + +Our exact example uses F₁₃, m = 3, ω = 3, four inputs, u_i the coordinate vectors and v_j the all-ones vector with coordinate j set to zero. The decoder recovers all four G(x_j) exactly for a fixed nontrivial linear G. The union of requested encoded points has size 1 + (3−1)·4 = **9**, since the zero query is shared and the other queries are distinct. Thus even a hypothetical rank-three query would pay 27 calls, against 12 for four direct rank-three jobs. This is a working coded decoder with an unfavorable invoice, not a new supplier or a claim about the actual Gaussian primitive over F₁₃. It illustrates why decoding success and profitable recursion are separate checks. + +The connection to the matrix-valued encoding in the algebra volume is actionable: move beyond scalar phase labels only if the new encoded query simultaneously carries enough independently recoverable information to offset its number and widths. A proof should expose the full query union and the rank of every decoded job. Neither favorable local cancellation nor compression of a description suffices. + +## Conditioning, lower bounds and model-specific guidance + +[Ailon (2014)](https://arxiv.org/pdf/1403.1307), Definition 2.1, Theorem 3.1 and Lemma 3.2, connects entropy growth with well-conditioned in-place linear circuits. The relevant condition is on intermediate states in the specified gate model. A well-conditioned final matrix does not control a factorization whose intermediate norms are huge. For a perturbed prefix, bound every partial product or its error recurrence before choosing a guard budget. Our adjoint theorem preserves an existing norm bound; it does not supply a missing bound for an arbitrary newly synthesized word. + +Morgenstern's bounded-coefficient Fourier lower bound and Ailon's unitary-gate variant concern different permitted gates. They are valuable design constraints, but do not give lower bounds on a model that treats an entire Gaussian tensor transform as one recursive call. Conversely a quantum circuit using few Hadamards is not automatically a cheap classical amplitude-array algorithm. The quantum volume makes that distinction explicit and tracks scalar phases that a symplectic tableau alone forgets. + +[Hong–Kung (1981)](https://perso.ens-lyon.fr/loris.marchal/docs-data-aware/hong_kung_red_blue_pebble_game_STOC81.pdf) explains how a fixed computation DAG can force data transfers. Its red/blue pebble theorem is useful for deciding whether an implementation is merely hiding array movement. It is not a universal lower bound for different algorithms or changed encodings. The more recent Papp–Sobczyk–Yzelman paper is version-sensitive: its arXiv v1 was explicitly incomplete/incorrect; SOURCES.json points to the corrected v2. Abstract-only reads are labelled accordingly, rather than used to assert uninspected theorem hypotheses. + +The local linked Lean tree supplies two modest precedents. `Mathproof.BreakthroughPatterns` records sufficient inequalities under which reuse beats storing all outputs; the precise inequalities are useful bookkeeping templates, not an algorithm for this problem. `Mathproof.Meta.RankNotCircuit20260902` exhibits matching tensors with exponential flattening rank but a small arithmetic formula. Its lesson is the precise counterexample to inferring general arithmetic-circuit size from that rank, not that every tensor-based lower-bound route is impossible. Both files were inspected as source and hash-pinned in LOCAL-PRECEDENTS.json. No fresh Lean elaboration or kernel audit is asserted. + +## What was tested and what to attempt next + +`test.py` checks 27 exact port identities at f = 1, 2, 3, nine transparent translations, nine wrong-adjoint controls, and recovery of four encoded arrays from nine queries. Rational arithmetic avoids rounding tolerances. These cases can falsify our implementation and verify the receipts; they do not exhaust all input arrays or prove a favorable asymptotic invoice. The displayed algebra proves the all-input identities. Other volumes independently reviewed the adjoint and conjugation formulas and replayed the tests. + +The next constructive task is a joint native encoder using operator-valued coefficients and both forward/adjoint ports. The algebra lane supplies an explicit invertible anchored-Pauli block, while the quantum lane supplies phase-aware synthesis machinery. Freeze its entire input/output map, owned workspace and lifetime schedule before optimizing. Test its literal action on arbitrary dirty baselines, derive an all-width identity, and compute all paid rank terms with precision and fallback included. Compare the complete moment against the unchanged selected baseline. Only then would a κ claim be justified. + +This search combined primary-paper queries, citation chains, local DAG retrieval and current-project overlap checks. The 427-result open-PR search snapshot is search-indexed and non-atomic; cached GitHub pages disagree about status and counts. All-state phrase searches found older catalytic contributions, including #673, so absence from the open snapshot was not evidence of project novelty. Full text was inaccessible for several sources and is explicitly labelled. Neither this finite search nor its source-only DAG retrieval proves global exhaustiveness. + +Prepared for Dugongue with substantial OpenAI Codex assistance. New prose and code: Apache-2.0. Predecessor results and literature retain their original attribution and licenses. diff --git a/research/kappa-literature-map/root/SEARCH.json b/research/kappa-literature-map/root/SEARCH.json new file mode 100644 index 0000000000..fa750f22da --- /dev/null +++ b/research/kappa-literature-map/root/SEARCH.json @@ -0,0 +1,79 @@ +{ + "date": "2026-10-22", + "scope": "Catalytic/reversible computation, transposed linear programs and Fourier/I/O model guards", + "queries": [ + "catalytic computation logarithmic space Buhrman Cleve Koucky Loff Speelman 2014 full memory", + "linear circuit complexity Fourier transform entropy lower bound Ailon bounded coefficients", + "reversible pebble games reversible simulation Bennett 1989 time space tradeoffs", + "site.arxiv.org Cook Mertz Tree Evaluation 2024 2023 catalytic space", + "site.arxiv.org Williams Simulating Time Square Root Space 2025", + "site.arxiv.org catalytic space 2025 2026 time algorithms", + "Morgenstern 1973 Note lower bound linear complexity fast Fourier transform doi", + "Baur Strassen 1983 Complexity partial derivatives transposition principle linear circuits original pdf", + "Tellegen transposition principle linear straight line programs Bostan Lecerf Schost 2003 paper", + "Ben Or Cleve computing algebraic formulas constant number registers 1992 catalytic", + "Hong Kung 1981 I O complexity red blue pebble game original pdf", + "site.cs.uwaterloo.ca cleve Ben Or formulas constant registers pdf", + "site.arxiv.org Reversible Space Equals Deterministic Space", + "site.arxiv.org Time and space bounds for reversible simulation", + "Baur Strassen 317 filetype:pdf derivatives original", + "Computing Algebraic Formulas Cleve filetype:pdf -V21", + "Tree Evaluation Mertz 174 pdf 2023" + ], + "citation_followups": [ + { + "from": "R01", + "to": [ + "R02", + "R03", + "R05", + "R06" + ], + "reason": "Transparent computation is stronger than generic reversibility." + }, + { + "from": "R09", + "to": [ + "R07", + "R08" + ], + "reason": "Identify the actual tree-evaluation algorithm and its space contract." + }, + { + "from": "R10", + "to": [ + "R01", + "R09" + ], + "reason": "Relate matching-vector retrieval to existing catalytic algorithms." + }, + { + "from": "R19", + "to": [ + "R20", + "R21" + ], + "reason": "Check whether fixed-DAG I/O assumptions survive partial accumulation." + } + ], + "local_catalog_queries": [ + "catalytic", + "pebbling", + "well conditioned", + "linear circuit", + "Bennett" + ], + "local_limit_per_query": 12, + "excluded_discovery_sources": "Secondary aggregators and search snippets were used only to locate primary works. Source depth records distinguish indexed excerpts from directly opened proofs.", + "failed_fulltext_fetches": [ + "R06 original extended-abstract PDF", + "R07 ECCC direct PDF", + "R08 author PDF", + "R14 original paper PDF" + ], + "limitations": [ + "A bounded dated search is not an exhaustive worldwide or priority guarantee.", + "No whole-paper proof audit is claimed for an abstract or selected-excerpt record.", + "Theorem locators and actual inspected statements are recorded, not invented completion claims." + ] +} diff --git a/research/kappa-literature-map/root/SOURCES.json b/research/kappa-literature-map/root/SOURCES.json new file mode 100644 index 0000000000..656710f7da --- /dev/null +++ b/research/kappa-literature-map/root/SOURCES.json @@ -0,0 +1,363 @@ +[ + { + "id": "R01", + "year": 2014, + "title": "Computing with a full memory: Catalytic space", + "authors": [ + "Harry Buhrman", + "Richard Cleve", + "Michal Koucky", + "Bruno Loff", + "Florian Speelman" + ], + "url": "https://iuuk.mff.cuni.cz/~koucky/papers/catalytic.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Introduction; section 3.1, Theorem 2; section 3.2, Lemma 4", + "relevance": "Transparent register programs restore arbitrary initial contents; polynomial-length algebraic simulation is not a fast paid-call invoice.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R02", + "year": 1992, + "title": "Computing Algebraic Formulas Using a Constant Number of Registers", + "authors": [ + "Michael Ben-Or", + "Richard Cleve" + ], + "url": "https://epubs.siam.org/doi/pdf/10.1137/0221006", + "read_depth": "abstract", + "locator": "Publisher abstract; journal pages 54-58", + "relevance": "Three-register algebraic formula simulation suggests operator-valued controllers; polynomial overhead cannot be ignored.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R03", + "year": 1989, + "title": "Time/Space Trade-Offs for Reversible Computation", + "authors": [ + "Charles H. Bennett" + ], + "url": "https://mathweb.ucsd.edu/~sbuss/CourseWeb/Math268_2013W/Bennett_Tradeoffs.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Pages 766-770, reversible simulation and pebbling", + "relevance": "Reversibility and checkpointing trade time for workspace; blank workspace and arbitrary dirty auxiliary data are different contracts.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R04", + "year": 1997, + "title": "Reversible Simulation of Irreversible Computation by Pebble Games", + "authors": [ + "Ming Li", + "John Tromp", + "Paul Vitanyi" + ], + "url": "https://arxiv.org/abs/quant-ph/9703009", + "read_depth": "abstract", + "locator": "Abstract and version history v3", + "relevance": "Optimality is scoped to the pebble model; it does not exclude changed catalytic algorithms.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R05", + "year": 2001, + "title": "Time and Space Bounds for Reversible Simulation", + "authors": [ + "Harry Buhrman", + "John Tromp", + "Paul Vitanyi" + ], + "url": "https://arxiv.org/abs/quant-ph/0101133", + "read_depth": "abstract", + "locator": "Abstract and version history v2", + "relevance": "Subexponential-time/subquadratic-space reversible simulation does not by itself reduce Gaussian work.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R06", + "year": 2000, + "title": "Reversible Space Equals Deterministic Space", + "authors": [ + "Klaus-Jorn Lange", + "Pierre McKenzie", + "Alain Tapp" + ], + "url": "https://doi.org/10.1006/jcss.1999.1672", + "read_depth": "abstract", + "locator": "Original extended abstract indexed text; full PDF fetch failed", + "relevance": "Space preservation can carry exponential time; do not replace a time guarantee by a space theorem.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R07", + "year": 2023, + "title": "Tree Evaluation is in Space O(log n log log n)", + "authors": [ + "James Cook", + "Ian Mertz" + ], + "url": "https://eccc.weizmann.ac.il/report/2023/174/download/", + "read_depth": "abstract-and-indexed-introduction", + "locator": "Primary abstract and TreeEval definition; algorithm also examined through Williams Appendix A", + "relevance": "Low-degree extensions and cancellation save space; actual query repetitions and value sizes remain charged.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R08", + "year": 2024, + "title": "On the Cook-Mertz Tree Evaluation procedure", + "authors": [ + "Oded Goldreich" + ], + "url": "https://www.wisdom.weizmann.ac.il/~oded/R1/tree-eval.pdf", + "read_depth": "abstract", + "locator": "Author-hosted indexed abstract; direct PDF fetch failed", + "relevance": "Polynomial interpolation explains the cancellation mechanism; no transfer of its space improvement to our time exponent is established.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R09", + "year": 2025, + "title": "Simulating Time With Square-Root Space", + "authors": [ + "R. Ryan Williams" + ], + "url": "https://arxiv.org/html/2502.17779v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorems 1.1 and 2.2; section 3 structure; Appendix A", + "relevance": "Tree evaluation can serve as an algorithmic transfer, but the simulation optimizes space rather than integer-multiplication runtime.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R10", + "year": 2026, + "title": "Catalytic Tree Evaluation From Matching Vectors", + "authors": [ + "Alexandra Henzinger", + "Edward Pyne", + "Seyoon Ragavan" + ], + "url": "https://arxiv.org/html/2602.14320v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorems 3.1 and 3.5; sections 3.1, 3.3 and 4.3", + "relevance": "Matching vectors and information retrieval give explicit encode/query/decode structures with local restoration. Our simple selector is constructed and invoiced separately.", + "test": "R-MV", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R11", + "year": 2025, + "title": "Efficient Catalytic Graph Algorithms", + "authors": [ + "James Cook", + "Edward Pyne" + ], + "url": "https://arxiv.org/html/2509.06209v1", + "read_depth": "theorem-and-selected-proof", + "locator": "Section 1.4; Theorem 12 and local revertibility; Theorem 17", + "relevance": "Recovering an old dirty register requires the correct predecessor state; compressed reuse can lose local revertibility.", + "test": "R-ECHO", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R12", + "year": 2026, + "title": "Frontier Space-Time Algorithms Using Only Full Memory", + "authors": [ + "Petr Chmel", + "Aditi Dudeja", + "Michal Koucky", + "Ian Mertz", + "Ninad Rajgopal" + ], + "url": "https://arxiv.org/abs/2602.21089", + "read_depth": "abstract", + "locator": "Abstract and submission history", + "relevance": "Recent catalytic algorithms make runtime explicit but remain different tasks and budgets; no direct Gaussian supplier is given.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R13", + "year": 2003, + "title": "Tellegen’s Principle into Practice", + "authors": [ + "Alin Bostan", + "Gregoire Lecerf", + "Eric Schost" + ], + "url": "https://mathexp.eu/bostan/publications/BoLeSc03.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Section 3, transposed program definition; section 4.3 FFT; section 6", + "relevance": "Reverse instruction order and transpose each primitive to obtain a dual linear program. Applied here with complex conjugation and the same paid Gaussian profile.", + "test": "R-ADJOINT", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R14", + "year": 1983, + "title": "The Complexity of Partial Derivatives", + "authors": [ + "Walter Baur", + "Volker Strassen" + ], + "url": "https://web.vu.lt/mif/s.jukna/tropical/Baur-Strassen.pdf", + "read_depth": "abstract-and-indexed-introduction", + "locator": "Primary abstract and introduction indexed text; direct PDF fetch failed", + "relevance": "The three-factor nonscalar theorem does not count free scalar work or our Gaussian oracle calls. Reverse-mode structure is relevant; the literal factor is not an admission result.", + "test": "R-ADJOINT", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R15", + "year": 2013, + "title": "A Lower Bound for Fourier Transform Computation in a Linear Model Over 2x2 Unitary Gates Using Matrix Entropy", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/abs/1305.4745", + "read_depth": "abstract", + "locator": "Abstract and model restriction", + "relevance": "A scalar-gate entropy count must not be called a lower bound on bulk Gaussian calls with nonunitary free mixing.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R16", + "year": 2014, + "title": "An Omega((n log n)/R) Lower Bound for Fourier Transform Computation in the R-Well Conditioned Model", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/pdf/1403.1307", + "read_depth": "theorem-and-selected-proof", + "locator": "Definition 2.1; Theorem 3.1, Lemma 3.2 and proof; section 5", + "relevance": "The bound controls all intermediate condition numbers in its layered scalar model. A well-conditioned endpoint alone does not satisfy that hypothesis.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R17", + "year": 2015, + "title": "Tighter Fourier Transform Complexity Tradeoffs", + "authors": [ + "Nir Ailon" + ], + "url": "https://arxiv.org/abs/1404.1741", + "read_depth": "abstract", + "locator": "Abstract and latest version v13", + "relevance": "Faster scalar Fourier circuits require ill-conditioned bottlenecks under the paper model; this motivates prefix bounds, not automatic rejection of a native supplier.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R18", + "year": 1973, + "title": "Note on a Lower Bound on the Linear Complexity of the Fast Fourier Transform", + "authors": [ + "Jacques Morgenstern" + ], + "url": "https://doi.org/10.1145/321752.321761", + "read_depth": "abstract", + "locator": "Publisher abstract; JACM 20(2), 305-306", + "relevance": "Bounded-coefficient unnormalized determinant growth has a normalization-sensitive model; it is not a blanket integer-multiplication lower bound.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R19", + "year": 1981, + "title": "I/O Complexity: The Red-Blue Pebble Game", + "authors": [ + "Jia-Wei Hong", + "H. T. Kung" + ], + "url": "https://perso.ens-lyon.fr/loris.marchal/docs-data-aware/hong_kung_red_blue_pebble_game_STOC81.pdf", + "read_depth": "theorem-and-selected-proof", + "locator": "Theorem 3.1; Lemma 3.1; Corollary 4.1", + "relevance": "I/O bounds depend on the fixed computation DAG and memory model. Changing the algorithm or allowing partial accumulation changes the object to price.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R20", + "year": 2026, + "title": "I/O complexity and pebble games with partial computations", + "authors": [ + "Aleksandros Sobczyk" + ], + "url": "https://arxiv.org/abs/2410.22237v2", + "read_depth": "abstract", + "locator": "Abstract and corrected version history, 7 March 2026", + "relevance": "Partial aggregation permits high-indegree operations to be evaluated without keeping every predecessor in fast memory.", + "test": "none", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + }, + { + "id": "R21", + "year": 2025, + "title": "The Impact of Partial Computations on the Red-Blue Pebble Game", + "authors": [ + "Pal Andras Papp", + "Aleksandros Sobczyk", + "A. N. Yzelman" + ], + "url": "https://arxiv.org/abs/2506.10854v2", + "read_depth": "abstract", + "locator": "Abstract and explicit correction notice, 10 December 2025", + "relevance": "Use the corrected v2; the initial upload was an incomplete draft. Partial sums can change I/O costs but not the independent Gaussian target by themselves.", + "test": "R-INVOICE", + "accessed": "2026-10-22", + "source_kind": "primary-research", + "novel_to_project": "not-established" + } +] diff --git a/research/kappa-literature-map/root/test.py b/research/kappa-literature-map/root/test.py new file mode 100644 index 0000000000..cf132ad989 --- /dev/null +++ b/research/kappa-literature-map/root/test.py @@ -0,0 +1,93 @@ +"""Exact literature adaptations: transposition, transparent echoes and MV decoding. +Prepared for Dugongue with substantial OpenAI Codex assistance. Apache-2.0. +""" +from fractions import Fraction as F +import itertools,json + +Z=(F(0),F(0));ONE=(F(1),F(0)) +def q(a=0,b=0):return F(a),F(b) +def add(a,b):return a[0]+b[0],a[1]+b[1] +def neg(a):return -a[0],-a[1] +def mul(a,b):return a[0]*b[0]-a[1]*b[1],a[0]*b[1]+a[1]*b[0] +def cj(a):return a[0],-a[1] +def sm(a,c):return [mul(q(c),x)for x in a] +def plus(a,b,c=1):return [add(x,mul(q(c),y))for x,y in zip(a,b)] +def inner(a,b): + s=Z + for x,y in zip(a,b):s=add(s,mul(cj(x),y)) + return s + +def gaussian(a,f,inverse=False): + a=a[:];alpha=q(F(1,2),F(-1 if inverse else 1,2));beta=cj(alpha) + for j in range(f): + bit=1<<(3*j);out=[Z]*len(a) + for x in range(len(a)):out[x]=add(mul(alpha,a[x]),mul(beta,a[x^bit])) + a=out + return a + +def monomial(a,f,which,adjoint=False): + p=([0,5,2,7,4,1,6,3] if which=='P' else [0,2,1,3,4,6,5,7]);out=[Z]*len(a);unit=[q(1),q(0,1),q(-1),q(0,-1)] + for x in range(len(a)): + dest=0;phase=0 + for j in range(f): + d=(x>>(3*j))&7;dest|=p[d]<<(3*j);phase+=d.bit_count()+p[d].bit_count() + if adjoint:out[x]=mul(unit[(-phase)&3],a[dest]) + else:out[dest]=mul(unit[phase&3],a[x]) + return out + +def L(a,f,adjoint=False):return plus(monomial(a,f,'P',adjoint),monomial(a,f,'Q',adjoint),2) +def forward(x,y,f): + t=gaussian(x,f);return t,gaussian(plus(y,L(t,f)),f) +def inverse(t,s,f):return gaussian(t,f,True),plus(gaussian(s,f,True),L(t,f),-1) +def adjoint(u,v,f): + y=gaussian(v,f,True);return gaussian(plus(u,L(y,f,True)),f,True),y +def inverse_adjoint(u,v,f):return plus(gaussian(u,f),L(v,f,True),-1),gaussian(v,f) +def pairinner(a,b):return add(inner(a[0],b[0]),inner(a[1],b[1])) +def need(ok,label): + if not ok:raise ValueError(label) + +def run(): + ids=0;controls=0;echo=0 + for f in (1,2,3): + N=8**f + for seed in range(3): + x=[q((3*j+seed)%7-3,(j+2*seed)%5-2)for j in range(N)];y=[q((5*j+seed)%11-5,(7*j+seed)%3-1)for j in range(N)] + u=[q((11*j+seed)%13-6,(2*j+seed)%7-3)for j in range(N)];v=[q((7*j+seed)%5-2,(3*j+seed)%11-5)for j in range(N)] + out=forward(x,y,f);need(inverse(*out,f)==(x,y),'forward reverse');ids+=1 + need(pairinner(out,(u,v))==pairinner((x,y),adjoint(u,v,f)),'weighted transpose');ids+=1 + need(adjoint(*inverse_adjoint(x,y,f),f)==(x,y),'inverse adjoint');ids+=1 + # A conjugated translation is transparent on every arbitrary baseline. + delta=[q((j+seed)%3-1,0)for j in range(N)] + shifted=inverse(plus(out[0],delta),out[1],f) + need(shifted==(plus(x,gaussian(delta,f,True)),plus(y,L(delta,f),-1)),'transparent echo');echo+=1 + # Ordinary forward calls are not automatically Hermitian transposes. + need(pairinner(out,(u,v))!=pairinner((x,y),forward(u,v,f)),'wrong adjoint control');controls+=1 + # Exact cyclic-character selector from a simple matching-vector family. + p=13;m=3;omega=3;r=4;N=8 + need(pow(omega,m,p)==1 and omega!=1,'nontrivial character') + data=[[(i*7+j*3+1)%p for j in range(N)]for i in range(r)] + def G(a):return [(a[j]+2*a[(j+1)%N]+5*a[(j+3)%N])%p for j in range(N)] + queries={tuple(t*(int(i!=j))%m for i in range(r))for j in range(r)for t in range(m)} + encoded={z:[sum(pow(omega,z[i],p)*data[i][k]for i in range(r))%p for k in range(N)]for z in queries} + transformed={z:G(a)for z,a in encoded.items()};inv_m=pow(m,-1,p) + for j in range(r): + zs=[tuple(t*int(i!=j)%m for i in range(r))for t in range(m)] + got=[inv_m*sum(transformed[z][k]for z in zs)%p for k in range(N)] + need(got==G(data[j]),'MV exact decoding') + bad=[sum(data[i][k]for i in range(r))%p for k in range(N)] + need(any(bad!=data[j]for j in range(r)),'trivial character rejects') + need(len(queries)==1+(m-1)*r==9,'query union bill') + # A rank-three transform at each encoded query would use 27 calls, not 12. + need(3*len(queries)>3*r,'no false independent-job gain') + # Outside prefactors and a multiplier at every recursive node differ. + # Four calls at every rank-eight level give 4**d leaves; doubling the + # complete runtime once gives 2*4**d, whereas doubling each invoice + # gives 8**d. This distinction already appears at depth two. + for depth in (2,3,4): + baseline=sum(1 for _ in itertools.product(range(4),repeat=depth)) + local_multiplier=sum(1 for _ in itertools.product(range(8),repeat=depth)) + need(baseline==4**depth and local_multiplier==8**depth,'recursive leaf invoice') + need(local_multiplier>2*baseline,'local multiplier is not outside prefactor') + return {'status':'PASS_CATALYTIC_TRANSPOSE_LITERATURE','widths':[1,2,3],'exact_port_identities':ids,'transparent_echo_cases':echo,'wrong_adjoint_controls':controls,'matching_vector_recovered_arrays':r,'matching_vector_encoded_queries':len(queries),'hypothetical_rank_three_query_calls':27,'direct_rank_three_calls':12,'transpose_forward_calls':2,'transpose_reverse_calls':2,'echo_paid_calls':4,'new_kappa':False} + +if __name__=='__main__':print(json.dumps(run(),sort_keys=True)) diff --git a/research/kappa-literature-map/sources/hook_engine.py b/research/kappa-literature-map/sources/hook_engine.py new file mode 100644 index 0000000000..8d2815a280 --- /dev/null +++ b/research/kappa-literature-map/sources/hook_engine.py @@ -0,0 +1,313 @@ +#!/usr/bin/env python3 +"""Exact Gaussian-integer ranks for a two-image block-3 prefix. + +Standard library only; no input files, floating point, assertions, or outputs +other than the report. See README.md for the mathematical scope. +""" + +from itertools import combinations, permutations, product + + +ZERO, ONE, MINUS_I = (0, 0), (1, 0), (0, -1) +I_POWERS = (ONE, (0, 1), (-1, 0), MINUS_I) +SUBSETS = tuple(combinations(range(8), 4)) +BASIS = tuple((x, subset) for x in range(8) for subset in SUBSETS) +INDEX = {label: index for index, label in enumerate(BASIS)} +CUTS = (2, 3, 6, 7, 8, 9, 12, 13) +U_PERM = tuple(x ^ ((x & 1) << 2) for x in range(8)) +V_PERM = tuple(x ^ (((x ^ (x >> 1)) & 1) * 3) for x in range(8)) + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def add(a, b): + return a[0] + b[0], a[1] + b[1] + + +def sub(a, b): + return a[0] - b[0], a[1] - b[1] + + +def mul(a, b): + return a[0] * b[0] - a[1] * b[1], a[0] * b[1] + a[1] * b[0] + + +def gaussian_divide(a, b): + denominator = b[0] ** 2 + b[1] ** 2 + require(denominator != 0, "division by zero") + real = a[0] * b[0] + a[1] * b[1] + imag = a[1] * b[0] - a[0] * b[1] + require(real % denominator == imag % denominator == 0, + "Gaussian division is not exact") + return real // denominator, imag // denominator + + +def gaussian_gcd(a, b): + """Euclidean gcd, up to a unit, using nearest integer quotients.""" + while b != ZERO: + denominator = b[0] ** 2 + b[1] ** 2 + quotient = ( + (a[0] * b[0] + a[1] * b[1] + denominator // 2) // denominator, + (a[1] * b[0] - a[0] * b[1] + denominator // 2) // denominator, + ) + a, b = b, sub(a, mul(quotient, b)) + return a + + +def accumulate(vector, index, coefficient): + value = add(vector.get(index, ZERO), coefficient) + if value == ZERO: + vector.pop(index, None) + else: + vector[index] = value + + +def wedge_sign(addresses): + if len(set(addresses)) != len(addresses): + return 0 + inversions = sum(addresses[i] > addresses[j] + for i in range(len(addresses)) + for j in range(i + 1, len(addresses))) + return -1 if inversions % 2 else 1 + + +def lift_direction(direction): + """Columns of rho(I - i X_direction) on V tensor exterior^4 V.""" + require(1 <= direction < 8, "direction must be nonzero") + columns = [] + for x, subset in BASIS: + column = {} + for choices in product((0, 1), repeat=5): + images = tuple(t ^ (direction if choice else 0) + for t, choice in zip(subset, choices[1:])) + sign = wedge_sign(images) + if not sign: + continue + phase = I_POWERS[-sum(choices) % 4] + row = INDEX[x ^ (direction if choices[0] else 0), tuple(sorted(images))] + accumulate(column, row, (sign * phase[0], sign * phase[1])) + columns.append(column) + return columns + + +def apply_permutation(permutation, columns): + """Apply rho(P), retaining the sign from sorting each exterior basis.""" + require(sorted(permutation) == list(range(8)), "not a permutation") + action = [] + for x, subset in BASIS: + images = tuple(permutation[t] for t in subset) + action.append((INDEX[permutation[x], tuple(sorted(images))], wedge_sign(images))) + return [{action[j][0]: (action[j][1] * value[0], action[j][1] * value[1]) + for j, value in column.items()} for column in columns] + + +def compose(left, right): + columns = [] + for column in right: + result = {} + for j, coefficient in column.items(): + for i, value in left[j].items(): + accumulate(result, i, mul(value, coefficient)) + columns.append(result) + return columns + + +def add_columns(left, right): + columns = [] + for a, b in zip(left, right): + result = a.copy() + for i, value in b.items(): + accumulate(result, i, value) + columns.append(result) + return columns + + +def scale_columns(columns, scalar): + return [{j: mul((scalar, 0), value) for j, value in column.items()} + for column in columns] + + +def orbit_number(x, subset): + nonplane = int(bool(subset[0] ^ subset[1] ^ subset[2] ^ subset[3])) + return 2 * int(x not in subset) + nonplane + + +def cut_indices(mask): + return tuple(i for i, label in enumerate(BASIS) + if mask & (1 << orbit_number(*label))) + + +def project(columns, indices): + """Rows of the map N -> H/N, in coordinate bases.""" + inside = set(indices) + rows = {i: {} for i in range(len(BASIS)) if i not in inside} + for column_index, j in enumerate(indices): + for i, value in columns[j].items(): + if i in rows: + rows[i][column_index] = value + return list(rows.values()) + + +def rank_exact(rows): + """Rank over Q(i), using span-preserving operations in Z[i]. + + Multiply a row by a nonzero pivot, subtract a pivot-row multiple, and + divide by a nonzero common Gaussian divisor. Content removal keeps the + coefficients small. This computes exact rank, not a modular lower bound. + """ + pivots = {} + for source in rows: + row = source.copy() + while row: + column = min(row) + if column not in pivots: + pivots[column] = row + break + pivot = pivots[column] + a, b = row[column], pivot[column] + row = {j: mul(b, value) for j, value in row.items()} + for j, value in pivot.items(): + coefficient = mul(a, value) + accumulate(row, j, (-coefficient[0], -coefficient[1])) + if row: + common = ZERO + for value in row.values(): + common = gaussian_gcd(common, value) + if common[0] ** 2 + common[1] ** 2 == 1: + break + if common[0] ** 2 + common[1] ** 2 > 1: + row = {j: gaussian_divide(value, common) for j, value in row.items()} + return len(pivots) + + +def check_lift(direction): + """Check every entry against a separate determinant definition.""" + matrix = [[ZERO for _ in range(8)] for _ in range(8)] + for x in range(8): + matrix[x][x] = ONE + matrix[x ^ 1][x] = MINUS_I + orders = tuple((order, wedge_sign(order)) for order in permutations(range(4))) + minors = {} + for rows in SUBSETS: + for cols in SUBSETS: + total = ZERO + for order, sign in orders: + term = (sign, 0) + for i in range(4): + term = mul(term, matrix[rows[i]][cols[order[i]]]) + total = add(total, term) + minors[rows, cols] = total + for j, (x, cols) in enumerate(BASIS): + for i, (y, rows) in enumerate(BASIS): + expected = mul(matrix[y][x], minors[rows, cols]) + require(direction[j].get(i, ZERO) == expected, "exterior lift disagrees with minor") + + +def reject_rank(rows, incorrect, label): + observed = rank_exact(rows) + require(observed != incorrect, "negative control was accepted: " + label) + + +def main(): + require(tuple(sum(orbit_number(*label) == j for label in BASIS) for j in range(4)) + == (56, 224, 56, 224), "coordinate class sizes changed") + direction = lift_direction(1) + check_lift(direction) + identity = [{j: ONE} for j in range(len(BASIS))] + shift = apply_permutation(tuple(x ^ 1 for x in range(8)), identity) + expected_square = [{i: mul((0, -32), value) for i, value in column.items()} + for column in shift] + require(compose(direction, direction) == expected_square, + "rho(I-iX)^2 must equal -32i rho(X)") + first_branch = compose(direction, apply_permutation(U_PERM, direction)) + second_branch = compose(direction, apply_permutation(V_PERM, direction)) + combined = add_columns(first_branch, scale_columns(second_branch, 2)) + singular_variant = add_columns(first_branch, second_branch) + target = compose(lift_direction(4), compose(lift_direction(2), direction)) + + print("mask dim first U-only V-only joint final lambda=1-final target", flush=True) + for mask in CUTS: + indices = cut_indices(mask) + first = project(direction, indices) + values = (rank_exact(first), + rank_exact(first + project(first_branch, indices)), + rank_exact(first + project(second_branch, indices)), + rank_exact(first + project(combined, indices)), + rank_exact(project(combined, indices)), + rank_exact(project(singular_variant, indices)), + rank_exact(project(target, indices))) + require(values == (80, 152, 152, 160, 160, 160, 224), + "rank profile failed for cut " + str(mask)) + print(mask, len(indices), *values, flush=True) + + indices = cut_indices(2) + first = project(direction, indices) + reject_rank(first + project(first_branch, indices), 160, "delete V branch") + reject_rank(first + project(second_branch, indices), 160, "delete U branch") + reject_rank(first + project(add_columns(first_branch, first_branch), indices), + 160, "duplicate U branch") + square = compose(direction, direction) + reject_rank(first + project(add_columns(first_branch, square), indices), + 160, "replace V by identity") + reject_rank(first, 79, "undercount first call") + + # R = U^{-1} V has cycles of lengths 1, 1, 2, 4. Its fourth power is I. + require(all(U_PERM[U_PERM[x]] == V_PERM[V_PERM[x]] == x for x in range(8)), + "U and V must be involutions") + ratio = tuple(U_PERM[V_PERM[x]] for x in range(8)) + remaining, lengths = set(range(8)), [] + while remaining: + start = min(remaining) + cycle, x = [], start + while x not in cycle: + cycle.append(x) + remaining.remove(x) + x = ratio[x] + require(x == start, "invalid permutation cycle") + lengths.append(len(cycle)) + require(sorted(lengths) == [1, 1, 2, 4], "ratio cycle type changed") + + # Polynomial identity (I+2R)(I-2R+4R^2-8R^3) = -15I for R^4=I. + polynomial = [0] * 4 + for i, a in enumerate((1, 2)): + for j, b in enumerate((1, -2, 4, -8)): + polynomial[(i + j) % 4] += a * b + require(polynomial == [-15, 0, 0, 0], "uniform inverse identity failed") + + # Independent cycle enumeration at widths 1, 2, 3 checks the all-width + # nullity formula of the lambda=1 negative control. + for width in (1, 2, 3): + remaining = set(product(range(8), repeat=width)) + even_cycles = 0 + while remaining: + start = min(remaining) + x, length = start, 0 + while True: + remaining.remove(x) + length += 1 + x = tuple(ratio[t] for t in x) + if x == start: + break + even_cycles += int(length % 2 == 0) + require(even_cycles == (8 ** width + 4 ** width - 2 * 2 ** width) // 4, + "singular-variant nullity formula failed") + require(even_cycles > 0, "lambda=1 incorrectly accepted as invertible") + + # Mixing acts outside the tensor lift: on e_1 tensor e_1, the incorrect + # (U+V) tensor (U+V) has the cross term e_5 tensor e_2; the true sum does not. + tensor_sum, sum_tensor = {}, {} + for permutation in (U_PERM, V_PERM): + accumulate(tensor_sum, (permutation[1], permutation[1]), ONE) + for p, q in product((U_PERM, V_PERM), repeat=2): + accumulate(sum_tensor, (p[1], q[1]), ONE) + require(tensor_sum.get((5, 2), ZERO) == ZERO + and sum_tensor[(5, 2)] == ONE, "width-two lift control failed") + print("PASS_CONTROLS 7", flush=True) + print("PASS_COMPLEX_TWO_IMAGE_HOOK_PREFIX", flush=True) + + +if __name__ == "__main__": + main() diff --git a/research/kappa-literature-map/verify.py b/research/kappa-literature-map/verify.py new file mode 100644 index 0000000000..f599c32607 --- /dev/null +++ b/research/kappa-literature-map/verify.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +"""Exact, bounded, network-free reproduction of a scoped literature dossier.""" +import argparse,hashlib,json,subprocess,sys +from pathlib import Path +P=Path(__file__).resolve().parent +def require(ok,msg): + if not ok:raise ValueError(msg) +def digest(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def main(): + a=argparse.ArgumentParser(description=__doc__) + a.add_argument('--quick',action='store_true',help='Skip the expensive hook replay.') + args=a.parse_args() + manifest=json.loads((P/'MANIFEST.json').read_text(encoding='utf-8')) + actual={p.relative_to(P).as_posix() for p in P.rglob('*') if p.is_file() and '__pycache__' not in p.parts and p.name!='MANIFEST.json'} + require(actual==set(manifest['files']),'manifest file inventory mismatch') + for name,pin in manifest['files'].items():require(digest(P/name)==pin,'source hash drift: '+name) + python=[sys.executable,'-I','-B']+(['-O'] if sys.flags.optimize else []) + receipts={} + for lane in ('root','quantum','algebra','ram'): + r=subprocess.run(python+[str(P/lane/'test.py')],capture_output=True,text=True,encoding='utf-8',timeout=120,cwd=P) + require(r.returncode==0,lane+' failed: '+r.stderr) + rows=[json.loads(line) for line in r.stdout.splitlines() if line.startswith('{')] + require(len(rows)==1,lane+' missing unique receipt') + require(rows[0]==json.loads((P/lane/'EXPECTED.json').read_text(encoding='utf-8')),lane+' expected receipt mismatch') + receipts[lane]=rows[0].get('status','PASS') + r=subprocess.run(python+[str(P/'algebra/anchor_check.py'),'--check',str(P/'algebra/ANCHOR-EXPECTED.json')],capture_output=True,text=True,encoding='utf-8',timeout=120,cwd=P) + require(r.returncode==0,'anchor compiler failed: '+r.stderr) + receipts['anchor']=json.loads(r.stdout)['status'] + if not args.quick: + r=subprocess.run(python+[str(P/'algebra/hook_check.py'),'--check',str(P/'algebra/HOOK-EXPECTED.json')],capture_output=True,text=True,encoding='utf-8',timeout=570,cwd=P) + require(r.returncode==0,'hook failed: '+r.stderr) + report=json.loads(r.stdout.splitlines()[-1]) + require(report['cases']==6,'hook case count') + receipts['hook']=report['status'] + bibliography=json.loads((P/'BIBLIOGRAPHY.json').read_text(encoding='utf-8')) + require(bibliography['record_count']==74,'bibliography record count') + print(json.dumps({'status':'PASS_KAPPA_LITERATURE_MAP','receipts':receipts,'source_records':74,'hook_replayed':not args.quick,'new_kappa':False},sort_keys=True)) +if __name__=='__main__':main()