Exponential error amplification for BPP
ProvedSipserGacsLautemann.error_amplificationcomplexity-theoryrandomized-algorithmstheoretical-computer-science
Let be a language in . There is a polynomially bounded random-tape length and a deterministic polynomial-time verifier whose probability of returning the wrong answer on every input is at most
Equivalently, the exact number of rejecting random strings for , and of accepting random strings for , is at most a fraction of all random strings.
This amplification statement supplies the density gap needed by the shifted-cover argument.
Preamble
import Definitions.Def_sipser_gacs_lautemann
Formal statement
namespace SipserGacsLautemann
theorem error_amplification (language : Language) (hbpp : InBPP language) :
∃ (randomBits : Nat → Nat) (verifier : List Bool → List Bool → Bool),
PolynomiallyBounded randomBits ∧
DecidesInPolynomialTime
(fun input : Fin 2 → List Bool => verifier (input 0) (input 1) = true) ∧
∀ input : List Bool,
(input ∈ language →
2 ^ (input.length + 1) *
rejectingCard verifier input (randomBits input.length) ≤
Fintype.card (BitString (randomBits input.length))) ∧
(input ∉ language →
2 ^ (input.length + 1) *
acceptingCard verifier input (randomBits input.length) ≤
Fintype.card (BitString (randomBits input.length))) := by sorry
end SipserGacsLautemannSource
James Aspnes, Notes on Computational Complexity Theory (2017), §§12.2–12.3, Theorem 12.3.1, pp. 90–92, https://www.cs.yale.edu/homes/aspnes/classes/468/notes-2017.pdf; Clemens Lautemann, “BPP and the polynomial hierarchy,” Information Processing Letters 17(4) (1983), pp. 215–217, https://doi.org/10.1016/0020-0190(83)90044-3
Human review
Confirmed by the mission captain (proposal self-audit).