Executable composition from a realized assignment tester #
An AssignmentTester.Implementation supplies executable queries and acceptance for runtime Boolean
constraints. Implementation.Realizes certifies their exact mathematical interpretation. One
generator enumerates the coin-to-query edges for any such realization. The fixed finite types,
numbering, and coin/query lists are independent of the runtime graph. Its certificates charge
graph enumeration, all tables, copies, and output storage; they do not give alphabet-uniform or
practical bounds.
Main definitions #
Cslib.PCP.AssignmentTester.Implementation: executable data interpreting a mathematical tester.Cslib.PCP.AssignmentTester.Implementation.compose: the numbered gadget graph.Cslib.PCP.AssignmentTester.Implementation.composeTabulated: its tabulated constraints.
Main results #
Cslib.PCP.AssignmentTester.Implementation.toGraph_compose: exact interpretation.Cslib.PCP.AssignmentTester.Implementation.isPolyTime_composeTabulated: construction certificate.Cslib.PCP.AssignmentTester.Implementation.unsatVal_composeTabulated_eq: exact value transfer.
References #
The local input, auxiliary, and coin slots in a numbered gadget block.
Instances For
Executable queries and decisions for runtime Boolean constraints. Correctness relative to a
mathematical tester is the separate proposition Implementation.Realizes.
Compute one queried input or auxiliary position.
Decide acceptance from the supplied query answers.
Instances For
Exact agreement with a mathematical tester, kept separate from executable data so that noncomputable mathematical definitions are absent from compiled generator arguments.
- query_eq (constraint : α → α → Bool) (coins : R) (i : Q) : impl.query constraint coins i = (T.test fun (a b : α) => constraint a b = true).query coins i
Computed positions agree with the mathematical tester.
- accepts_eq_true (constraint : α → α → Bool) (coins : R) (answers : Q → Γ) : impl.accepts constraint coins answers = true ↔ (T.test fun (a b : α) => constraint a b = true).Accepts coins answers
Computed decisions agree with the mathematical acceptance predicate.
Instances For
Build the edge from one coin vertex to one of the queried proof positions.
Instances For
Verify the claimed answers and their agreement with the queried proof symbol.
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.
Executable composition retains the mathematical tester’s quantitative gap bound.
Tabulating the output constraints preserves the exact mathematical composition value.
Tabulated full composition preserves satisfiability.