Lecture 6: Polynomialtime hierarchy
A visit to the polynomialtime hierarchy
Thm:
 LexicoSAT is $Δ_2^P$complete
 CircuitSAT is $Δ_2^P$complete
 LexicoSAT:

the set of $φ(x_1, ⋯, x_n)$ s.t. $v(x_n) = ⊤$ in the first (lexicographically) valuation $v$ that satisfies $φ$
 CircuitSAT:

evaluate $x_n$ in the following program/circuit:
x_1 = ∃ Y_1; F_1(Y_1) x_2 = ∃ Y_2; F_2(Y_2, x_1) ⋮ x_n = ∃ Y_n; F_n(Y_n, x_1, ⋯, x_{n1})
⟶ you call the SAT oracle $n$ times
BUT: you have to store the intermedite $x_i$ (not the the formulas, they’re part of the input), so it’s not trivially in $L^{NP}$
 ask: is $φ ∈ SAT$
 then, set $x_1 = ⊤$, and is $φ(x_1 ← ⊤) ∈ SAT$
 ⋮
 then, set $x_n = ⊤$, and is $φ(x_1 ← ⊤, ⋯, x_{n1} ← ⊤) ∈ SAT$
But again, you have to recall the $x_i$ ⟶ not easily in $L^{NP}$
CircuitSAT is $Δ_2$hard
NB: Recall that $∃∀SAT$ is $\underbrace{Σ_2}_{= NP^{NP}}$complete
Let $L ∈ Δ_2$, $ℳ$ a PTIME det. TM calling SAT (or any other NPcomplete problem), write its transition table.
Your $x_i$ are here of the form $x_{t,i}^a$, and
LexicoSAT is $Δ_2$hard
Let’s show that CircuitSAT ≼_{\rm L} LexicoSAT
Given $S ≝$
 $x_1 ≝ ∃ Y_1, F_1(Y_1)$
 ⋮
 $x_n ≝ ∃ Y_n, F_n(Y_n, x_1, ⋯, x_{n1})$
where the $Y_i$ are all disjoint
$S’$ is the conjunction of
 $\overline{x_1} ∨ F_1(Y_1)$
 ⋮
 $\overline{x_n} ∨ F_n(Y_n, x_1, ⋯, x_{n1})$
 $(\overline{x_n} ∨ z) ∧ (x_n ∧ \overline{z})$
with the ordering
 $S’$ is satisifiable (set all the $x_i$ and $z$ to $⊥$ (and everything else as well)).
 $v_S : x_1, ⋯, x_n$ in $S$ (when you run the program) can be extended to a satisfying assignment (set $z$ to the same value as $x_n$)

any $v$ for $S’$ is smaller or equal (lexicographically) than $v_S$
By contradiction: assume that:
 $v$ satisifies $S’$
 $v$ agrees with $v_S$ on $x_1, ⋯, x_i$

$v > v_S$ on $x_{i+1}$ (the first position where they disagree):
 $v(x_{i+1}) = ⊤$
 $v_S(x_{i+1}) = ⊥$
then it means that $v(F_{i+1}(Y_{i+1}, x_1, ⋯, x_i)) = ⊤$, so that there exists indeed a satisfying assignment for the formula $∃Y_{i+1}, F_{i+1}(Y_{i+1}, x_1, ⋯, x_i)$, and by definition of $v_S$, $x_{i+1}$ has to be set to $⊤$: contradiction.
ParitySAT
 ParitySAT

\lbrace φ_1, ⋯, φ_n \mid \text{ such that an even number of } φ_i \text{ are satisifiable.} \rbrace
Obviously:
 $ParitySAT ∈ Δ_2$: you use the SAT oracle $n$ times and remember the result
 But you also have $ParitySAT ∈ θ_2^P = L^{NP}$: you use the SAT oracle $n$ times and each time, you remember the last bit (parity).
NB: counting how many of these valuations are satisfying ones is also in $θ_2^P = L^{NP}$, since counting can be done in logspace.
Thm:
 ParitySAT is $Θ_2^P$complete
Θ_2^P = L^{NP} = P^{NP}_{\vert \vert} = P^{NP[O(\log n)]}
 $P^{NP}_{\vert \vert}$:

there is just one call to the oracle, but we call all the questions (prepared in advance) in parallel (that is, we can’t use the answer of one question for another question)
 $P^{NP[O(r(n))]}$:

you can only call the oracle $≤ r(n)$ times
$ParitySAT ∈ P^{NP[O(\log(n))]}$: call the following oracle $\log n$ times (dichotomic search):
($L ∈ NP$: guess the $k$ formulas, call SAT)
Lemma: P^{NP[O(\log(n))]} = P^{NP}_{\vert\vert}
$⊆$
Let $L ∈ P^{NP[O(\log(n))]}$, $ℳ$ does $p(n)$ queries at most $c \log n$ times.
$ℳ’$ can simulate the behavior of $ℳ$ by building a tree, branching each time $ℳ$ call the oracle instead of calling it as well ⟹ the overall size of the time is polynomial, since $ℳ$ calls the oracle a logarithmic number of times.
Then, $ℳ’$ makes all the calls in parallel, and, as a result, knows which path to follow in the tree.
$⊇$
Let $L ∈ P^{NP}$, recognizes by $ℳ$.
With the same trick as the one used to show $ParitySAT ∈ P^{NP[O(\log(n))]}$, $ℳ’$ computes the numbered of satisfied queries.
 guess which ones are part of the $k$ ones
 if the computation is accepting (in NP, à la CookLevin): check in polynomial time that the $k$ $w_i$ guessed are actually satisifiable.
NB: NP^{NP[1]} = NP^{NP}
indeed: as $NP^{NP}$ reduces to $∃∀SAT ∈ NP^{NP[1]}$ (guess the number of times you call the oracle)
Boolean Hierarchy (over $NP$) = Difference Hierarchy
 First stage: $NP$ and $coNP$
 Second one: $B_1$ intersection of languages in $NP$ with languages in $coNP$ (by abuse of notation, denoted by $NP ∩ coNP$) and $coB_1$
 Third one: $B_2 = B_1 ∪ ⋯ ∪ B_1$ and $coB_2$
 ⋮
Alternation of union and intersection (with complementary).
Leave a comment