The polynomial hierarchy is in BP·⊕P #
The first half of Toda's theorem Toda, Arora and Barak, Section 17.4:
every problem in the polynomial hierarchy is decided with bounded error by the parity of a number
of witnesses of a polynomial-time verifier (Cslib.Complexity.PH_subset_BPOp_ParityP).
Random parity representations #
A predicate P a u of instances a and strings u of length ℓ (ℓ, like every length here, a
polynomial of the length of the encoded instance) is represented with error 2 ^ (-e) by a
verifier W, random strings of length ρ and witnesses of length ζ
(Cslib.Complexity.Toda.IsRandomParityRep) when for every a and u, all but a 2 ^ (-e)
fraction of the random strings r have an odd number of witnesses z with W (a, u ++ r ++ z)
exactly when P a u. Representations are built along the quantifier prefix of a verifier of the
hierarchy, from the innermost quantifier out:
- A polynomial-time predicate of
uis represented without randomness by itself (Cslib.Complexity.Toda.isRandomParityRep_base). - Negation adds one witness (
Cslib.Complexity.Toda.IsRandomParityRep.not), as⊕Pis closed under complement. - An existential quantifier over strings
wof lengthm, appended tou, is the randomized isolation step ofCslibFrontier.Computability.Complexity.Classes.Toda.Isolation(Cslib.Complexity.Toda.IsRandomParityRep.exists): from a representation of the inner predicate with error2 ^ (-(e + m + 1)), the same random stringrserving everyw, the verifierCslib.Complexity.Toda.existsVerifierreads further seeds for4 (e + 1) (m + 3)trials and represents the quantified predicate with error2 ^ (-e).
A universal quantifier is a negated existential one. Since the error of the inner representation
can be chosen after the outer one, every predicate given by alternating quantifiers is represented
with every polynomial error (Cslib.Complexity.Toda.exists_isRandomParityRep_alternation). Error
1 / 4 gives BP·⊕P, after padding the witnesses to a polynomial of the length of the encoded
pair of instance and random string.
Main definitions #
Cslib.Complexity.Toda.IsRandomParityRep: random parity representations.Cslib.Complexity.Toda.notVerifier,Cslib.Complexity.Toda.existsVerifier: the verifiers of negation and of the existential quantifier.
Main results #
Cslib.Complexity.Toda.IsRandomParityRep.not,Cslib.Complexity.Toda.IsRandomParityRep.exists: the quantifier steps.Cslib.Complexity.Toda.exists_isRandomParityRep_alternation: representations of alternating quantifiers with every error.Cslib.Complexity.PH_subset_BPOp_ParityP:PH ⊆ BP·⊕P.
References #
Random parity representations #
W represents P with error 2 ^ (-e) at prefix length ℓ, with random strings of
length ρ and witnesses of length ζ, all polynomials of the length of the encoded instance:
for every instance a and string u of length ℓ, all but a 2 ^ (-e) fraction of the random
strings r have an odd number of witnesses z with W (a, u ++ r ++ z) = true exactly when
P a u.
Instances For
A representation of P represents every predicate agreeing with P on strings of length
ℓ.
Negation #
Negation adds one witness, with the same error.
The existential quantifier #
All trials: the j-th of the T rows of M + Z + 1 bits of y is accepted by succTest
of the j-th trial, at level j % (M + 3), with the j-th seed of B bits.
Instances For
The verifier of the existential quantifier over strings of length m: after the prefix
u of length ℓ come the inner random string r of length ρ and the seeds of
T = 4 (e + 1) (m + 3) trials of B = (m + 2) (m + 1) bits each; the witnesses are accepted by
succTest of all trials.
Instances For
The existential quantifier. From a representation of P at prefix length ℓ + m with
error 2 ^ (-(e + m + 1)), existsVerifier represents ∃ w, |w| = m ∧ P a (u ++ w) at prefix
length ℓ with error 2 ^ (-e), reading 4 (e + 1) (m + 3) (m + 2) (m + 1) more random bits and
witnesses of 4 (e + 1) (m + 3) (m + ζ + 1) + 1 bits.
Alternating quantifiers #
Alternating quantifiers are represented with every error. For a polynomial-time verifier
V and certificate lengths ps, the alternating quantifiers over ps applied to V (a, u ++ ·)
have a polynomial-time random parity representation at every prefix length ℓ with every error
2 ^ (-e).
The polynomial hierarchy #
Toda's theorem, first half: PH ⊆ BP·⊕P. Every problem in the polynomial hierarchy is
decided with bounded error, using random strings of polynomial length, by a problem in ⊕P about
pairs of an instance and a random string.