Executable composition with the Hadamard assignment tester #
Composition replaces each original edge by the tester's coin-to-query edges. Supplied finite numberings give disjoint identifiers to input-table bits, proof-table bits, and coin vertices. Explicit lists enumerate coins and queries; the exact interpretation and soundness results require each list to enumerate its type once. The program itself also handles empty or incomplete lists, and preserves endpoint bounds for every well-formed input graph.
The alphabet, its numbering, and the coin/query lists are fixed independently of the input graph. The uniform polynomial-time certificate charges graph enumeration, tester queries, copying, and output storage. These constants can be enormous: this establishes asymptotic constructibility, not a practical bound on the size of a fully expanded tester gadget.
composeTabulated materializes each output constraint as a Boolean table over the fixed answer
alphabet. Its certificate hides internal coin/query encodings and composes with a graph routine
written in the client's input representation.
Main definitions #
Cslib.PCP.Encoded.Graph.compose: executable gadget enumeration and vertex numbering.Cslib.PCP.Encoded.Graph.composeTabulated: composition with tabulated output constraints.
Main results #
Cslib.PCP.Encoded.Graph.isPolyTime_composeTabulated: uniform, compositional cost certificate.Cslib.PCP.Encoded.Graph.toGraph_compose: exact agreement with mathematical composition.Cslib.PCP.Encoded.Graph.le_unsatVal_compose: the existing1/476gap bound transfers.Cslib.PCP.Encoded.Graph.satisfiable_composeTabulated_iff: satisfiability is preserved.
References #
Executable conjunction tester data used by the legacy composition API.
Instances For
The executable conjunction tester implements the mathematical assignment tester exactly.
The local slots in one numbered block: an input-table bit, a proof-table bit, or a coin vertex. The block's owner is the old vertex or edge index.
Instances For
Number a queried proof position using a supplied finite slot numbering.
Instances For
Build the edge from one coin vertex to one of the seventeen queried proof positions.
Instances For
Verify the claimed answers and their agreement with the queried proof symbol.
Instances For
Enumerate all supplied random strings and queries for every original edge, in list order.
Instances For
Compose an encoded graph with a specified list of coins and queries. Full alphabet reduction requires each of those lists to enumerate its type exactly once.
Instances For
Position numbering charges all runtime indices; finite dispatch only concerns the fixed alphabet's local proof position.
A gadget edge is computed uniformly in the original edge, its index, coins, and query.
The verifier's edge predicate charges all supplied finite tables and query answers.
The full construction charges the old graph, enumeration, each tester call, copying, and the complete output graph. The finite alphabet and supplied lists are fixed.
Return composition to the fixed Boolean-table descriptor type over its answer alphabet.
Instances For
Tabulated composition fixes its internal finite encodings, so clients only certify the input graph in their own input representation. Every output constraint table is charged.
Each original edge produces one edge for every supplied pair of coins and query.
The declared vertex count grows by a fixed factor in the old vertices and edges.
Split a mathematical composed vertex into its owner index and local slot.
Instances For
The same explicit numbering on all mathematical proof positions and coin vertices.
Instances For
Distinct table positions and coin vertices retain distinct identifiers.
The explicit endpoint selection agrees with ConstraintGraph.testerPos.
The dart enumeration includes exactly the valid old indices and listed coins/queries.
Valid old endpoints give valid output endpoints, even for empty or incomplete coin lists.
Listing each coin and query once lists each composed dart once.
Composition retains the ordered edge, coin and query occurrences, even when stored edge values coincide.
Instances For
Enumerating every coin and query once gives exactly the existing composed graph, with the specified vertex numbering and the explicit output edge order.
Exact interpretation and injective numbering preserve the mathematical composition value.
Full executable composition preserves satisfiability.
Full executable composition retains at least the existing 1/476 fraction of the gap.
Tabulating the output constraints preserves the exact mathematical composition value.
Tabulated full composition preserves satisfiability.