Running a verifier twice #
Dinur's amplification leaves a constant gap, which need not be as large as the
one half the PCP classes ask for. Independent repetition closes that: two runs
on independent coins reject a non-member with probability 1 - (1 - s)², and
repeating the doubling a constant number of times drives the error below any
threshold.
The coin string of the doubled verifier is split by the per-run coin count,
a function of the input length, rather than by halving the string. That keeps
the split point polynomial-time computable from the input alone, which is what
the positions and verdict conditions need.
Main definitions #
Complexity.PCPVerifier.squareAt— two independent runsComplexity.PCPWith— the class with an explicit soundness error
Main results #
Complexity.PCPVerifier.positions_squareAt,Complexity.PCPVerifier.mem_verdict_squareAt— what the doubled verifier doesComplexity.PCPWith_square,Complexity.mem_PCP_of_PCPWith— any soundness error below one can be driven under one half
The queries of two independent runs, one after the other.
Equations
- V.sqPositions t x ρ = V.positions x (Complexity.PCPVerifier.fstCoins t x ρ) ++ V.positions x (Complexity.PCPVerifier.sndCoins t x ρ)
Instances For
The input, out of a verdict argument pair (pair x ρ) a.
Equations
Instances For
The coins, out of a verdict argument.
Equations
Instances For
The answers, out of a verdict argument.
Equations
Instances For
The verdict of the doubled verifier: both runs accept. The answers of the
first run are the first |positions| of them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The pieces are polynomial time #
The doubled verifier's query list is polynomial-time computable.
The doubled verifier's verdict is polynomial-time decidable.
Two independent runs, as a verifier in its own right.
Equations
Instances For
Splitting the coin string #
What the doubled verifier accepts #
Amplifying the class #
Driving the error below one half #
Repeated doubling. After j doublings the error is s ^ (2 ^ j).