Selecting one check of the Hadamard assignment tester #
The five checks of hadamardTester make at most six queries each. Selecting one uniformly,
instead of running their conjunction, reduces the query count from seventeen to six. The union
bound loses at most a factor of five in rejection. The original product of random strings is
retained, so this construction makes no claim of saving random bits.
Main definitions #
Cslib.PCP.HadamardTester.checks: the five checks, padded to a common six-query interface.Cslib.PCP.selectedHadamardTester: the tester selecting one of those checks uniformly.
Main results #
Cslib.PCP.HadamardTester.one_sub_acceptProb_le_five_mul_selected: rejection comparison.Cslib.PCP.HadamardTester.passes_selected_honestProof: perfect completeness.Cslib.PCP.HadamardTester.exists_inputDist_div_le_one_sub_acceptProb_selected: proximity soundness with loss140.
References #
The five checks on a common coin space and six query positions. The coefficient table is an argument so that the same construction works with mathematical and executable constraints.
Instances For
Select one of the five Hadamard checks uniformly. Shorter checks repeat queries to reach six positions; their acceptance predicates ignore the extra answers.
Instances For
Selecting a single check loses at most a factor of five in rejection probability.
Every selected check passes the honest proof of satisfying labels.
Perfect completeness of the six-query tester.
High acceptance by the selected tester decodes to satisfying labels near the input tables.
Proximity soundness of the six-query tester, with rejection coefficient 1/140.
An unsatisfiable constraint is rejected with probability at least 1/140.