Proving the Karp-Lipton theorem: \(\text{PH} = S_2^P\)
Happy Monday! Today, I'm going to share something really cool about the polynomial hierarchy. I know that I've written prior entries about the polynomial hierarchy where I've praised some of its properties, but this result about the Polynomial Hierarchy is the WILDest thing ever! If you're new here, I'm going to start by giving my regular schpiel about what the polynomial hierarchy is.
Define \(\Delta_0^P := \Sigma_0^P := \Pi_0^P:=P\), where \(P\) is the set of problems that can be solved in poly-time. Then, for all \(i \geq 0\), define:
$$\Delta_{i+1}^P:=\text{P}^{\Sigma_i^P}$$
$$\Sigma_{i+1}^P:=\text{NP}^{\Sigma_i^P}$$
$$\Pi_{i+1}^P:=\text{coNP}^{\Sigma_i^P}$$
The polynomial-time hierarchy is defined as:
$$\text{PH} = \bigcup_{i\in\mathbb{N}} \{\Delta_i^P, \Sigma_i^P, \Pi_i^P\}$$
The result that I want to show here is that every language in the polynomial hierarchy is equivalent in computational power to the complexity class of symmetric functions \(S_2^P\), which resides between the first and second levels of the polynomial hierarchy.
The formal definition of \(S_2^P\) is that any language \(L\) is said to be in \(S_2^P\) if there is a polynomial-time predicate \(P\) such that:
If \(x\in L\), then there exists a \(y\) such that for all \(z\), \(P(x,y,z)=1\)
If \(x\not\in L\), then there exists a \(z\) such that for all \(y\), \(P(x,y,z)=0\)
Another, more intuitive way to look at \(S_2^P\) is the following: Suppose that a polynomial-time computable judge has to decide whether a string \(x\) is in a language \(L\). Two lawyers submit written arguments to convince the judge, one arguing for the string in the language and the other arguing for the string to be out of the language. Neither lawyer can see the others arguments. For what languages can we have the judge always convinced? (The answer is \(S_2^P\)!)
Let L be an arbitrary language in \(π_π\). It follows by definition then that:
$$ π₯ β πΏ β βπ¦ βπ§, (π₯, π¦, π§) β π $$
$$ π₯ β πΏ β βπ§ βπ¦, (π₯, π¦, π§) β π $$
However, note that the order of the universal and existential quantifiers is commutative in this case only if the commutator is taken in both directions. So, from this we can write two alternate versions of the definition, where version 1 commutes the quantifiers in the case for \(π₯ β πΏ\) while holding the case for \(π₯ β πΏ\) to be constant, and version 2 commutes the quantifiers in the case for \(π₯ β πΏ\) while holding the case for \(π₯ β πΏ\) to be constant. This procedure yields:
Version 1:
$$π₯ β πΏ β βπ§ βπ¦, (π₯, π¦, π§) β π $$
$$π₯ β πΏ β βπ§ βπ¦, (π₯, π¦, π§) β π $$
Version 2:
$$π₯ β πΏ β βπ¦ βπ§, (π₯, π¦, π§) β π $$
$$π₯ β πΏ β βπ¦ βπ§, (π₯, π¦, π§) β π $$
However, by definition, the complexity class that version 1 decides is equal to \(\Sigma_2^P\), and the complexity class
that version 2 decides is equal to \(\Pi_2^P\). Therefore, if \(π₯ β S_2^P\) then \(π₯ β \Sigma_2^P\) and \(π₯ β \Pi_2^P\).
The language LEX-FIRST-ACCEPTANCE consists of those pairs \((πͺ_π, πͺ_π)\) for which \(πͺ_π, πͺ_π\) are circuits, and the lexicographically first-string \(x\) for which \(πͺ_π(π) = π\) is also accepted by \(πͺ_π\). (If there is no lexicographically first string, i.e., \(πͺ_π\) is unsatisfiable, then \((πͺ_π, πͺ_π)\) is not in the language). A bitstring \(x\) lexicographically precedes a bitstring \(y\) if the first position \(i\) in which they differ has \(π_π = π\) and \(π_π = π\).
The purpose of this lemma is to show that LEX-FIRST-ACCEPTANCE is \(P^{\text{NP}}\)-complete - that not only is it solvable by \(P^{\text{NP}}\) Turing Machine, but also it is representative of every problem in the \(P^{\text{NP}}\) complexity class.
Given an instance \((πΆ_1, πΆ_2)\), call the \(\text{NP}\) oracle to determine the first lexicographically first string \(π₯ β \{0, 1\}^π\) that is accepted by \(πΆ_1\). The \(\text{NP}\) oracle nondeterministically evaluates each string with \(πΆ_1\) but uses an arbitrary enumeration scheme to prioritize which string that is accepted by \(πΆ_1\) is lexicographically first. If there is no such string, the machine returns false.
If \(β\) a lexicographically-first string \(x\), the \(P\) machine would check if \(πΆ_2(π₯) = 1\):
If \(πΆ_2(π₯) = 1\), the \(P\) machine returns ACCEPT.
If \(πΆ_2(π₯) = 0\), the \(P\) machine returns REJECT.
QED.
In Lemma 2, I showed that LEXβFIRSTβACCEPTANCE (LFA) \(β \text{P}^\text{NP}\)-complete. Therefore, to show that \(P^\text{NP} β π_2^P\), we can instead just show that \(\text{LFA} β S_2^P\) since \(\text{LFA}\) can then be generalized to all other languages in \(π^{\text{NP}}\). Therefore, our goal is to show that for some predicate \(T\):
$$1) βπ₯β\text{LFA}, βπ¦βπ§, π(π₯,π¦,π§)=1$$
$$2) βπ₯β\text{LFA}, βπ§βπ¦, π(π₯,π¦,π§)=0$$
Given an instance \((πΆ_1, πΆ_2)\) of \(\text{LFA}\), we let \(π(π₯, π¦)\) be the lexicographically-first string (to be accepted by circuit \(πΆ_1\)) between \(x\) and \(y\). Therefore, we define the following predicate \(T\):
\(π(π₯, π¦, π§) = πΆ_2(π(π₯, π¦))\).
In the case that \(πΆ_1(π₯)\) and \(πΆ_1(π¦)\) are both \(0\), there is no lexicographically-first string. In this case, we simply set \(π(π₯, π¦, π§) = 0\). However, we can rewrite this as:
$$(πΆ_1,πΆ_2) β \text{LFA} \Rightarrow βyβz(βx), T(x,y,z) = 1 \Rightarrow βyβx, T(x,y)=1$$
$$(πΆ_1,πΆ_2) β \text{LFA} \Rightarrow βzβy(βx), T(x,y,z) = 0 \Rightarrow βxβy, T(x,y)=0$$
Since this is the definition of \(π_2^π\) (modified from above), this implies that \(\text{LFA} β π_2^π\). Hence, by the \(\text{P}^{\text{NP}}\)-completeness of \(\text{LFA}\), we have that:
$$\text{P}^{\text{NP}} β π_2^P$$
QED.
\(β πΏ_1 β \text{MA}\), we have by definition that:
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z [(π₯,π¦,π§)βπ ]β₯\frac{2}{3}$$
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z [(π₯,π¦,π§)βπ ]β€\frac{1}{3}$$
\(β πΏ_2 β π_2^P\), we have by definition that:
$$π₯ β πΏ_2 β βπ¦βπ§, (π₯,π¦,π§)βπ $$
$$π₯ β πΏ_2 β βπ§ βπ¦, (π₯,π¦,π§)βπ $$
We can increase the probability of successfully accepting a βyesβ instance through error reduction, from which we know that \(β πΏ_1 β \text{MA}, βπ β P\) such that:
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z[(π₯,π¦,π§)βπ ]=1$$
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z[(π₯,π¦,π§)βπ ]β€\frac{1}{3}$$
Similarly, we can successfully decrease the probability of incorrectly accepting a βnoβ instance through repeated error reduction which reduces the probability to:
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z[(π₯,π¦,π§)βπ ]=1$$
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z[(π₯,π¦,π§)βπ ]β€ \frac{1}{2^{|π¦|}}$$
We claim then through these definitions that \(βπΏ β \text{MA}, πΏ β π_2^P\). To show that \(π₯ β πΏ β βπ¦, \Pr\limits_z[(π₯, π¦, π§) β π ] = 1\) is contained in \(π₯ β πΏ_2 β βπ¦ βπ§, (π₯, π¦, π§) β π \): Since the probability of \((π₯, π¦, π§) β R\) is \(1\) for all \(z\):
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z [(π₯,π¦,π§)βπ ]=1$$
$$ β π₯ β πΏ_2 β βπ¦ βπ§, (π₯,π¦,π§)βπ $$
Using Booleβs inequality, we can take the union bound of the probability of incorrectly accepting a βnoβ instance of \(L\) across all possible values of \(y\) to get:
$$π₯ β πΏ_1 β βπ¦, \Pr\limits_z [(π₯,π¦,π§)βπ ]β€ \frac{1}{2^{|y|}}$$
$$β βπ¦ \text{ such that }\Pr\limits_z [(x, y, z)βπ ] β€ \frac{1}{2^{|y|}}\times 2^{|y|}$$
$$= βπ¦ \text{ such that }\Pr\limits_z [(x, y, z)βπ ] =1$$
$$β β π§ \text{ such that } βy(x, y, z)βπ $$
$$π₯ β L_2 β βπ§ βy, (x, y, z) β π $$
These equations fits the necessary condition for all languages in \(π_2^P\). Therefore, we have that:
$$β πΏ β \text{MA}, \text{MA} β π_2^P$$
$$\text{MA} β π_2^P$$
QED.
Lemma \(1\): \(\text{BPP} β \text{MA}\)
Given an arbitrary language \(\text{L} \in \text{BPP}\), we can show that there is an \(\text{MA}\) protocol that decides an instance \(x\):
Merlin (the prover) sends a single TRUE (\(1\)) bit (This is just a filler so that Merlin is doing something)
Arthur (the verifier) disregards Merlinβs bit and simulates the \(\text{BPP}\) machine for \(L\) on \(x\).
Note here that this is only possible since Arthur has the ability to flip coins and make random decisions.
If the \(\text{BPP}\) machine returns βTRUEβ, Arthur returns βTRUEβ.
If the BPP machine returns βFALSEβ, Arthur returns βFALSEβ.
Completeness and Soundness are intact here because Arthur simulates the \(\text{BPP}\) machine which has the same probabilities:
In particular, \(βπ₯ β L\), \(\Pr[π₯ \text{ accepted}] β₯ \frac{2}{3}\) and \(βπ₯ β L\), \(\Pr[π₯ \text{ rejected}] β₯ \frac{2}{3}\).
Therefore, any language in \(\text{BPP}\) has an \(\text{MA}\) protocol that decides it. Hence, \(\text{BPP} β \text{MA}\).
QED.
Therefore, since we know that \(\text{BPP} β \text{MA}\), we can use the transitivity property and the result proven in Lemma 4 to obtain:
$$\text{BPP} β \text{MA} β S_2^P$$
From this, we have that \(\text{BPP} β S_2^P\).
QED.
It is known from the Cook-Levin theorem that \(\text{SAT} β \text{NP-complete}\). Therefore, if \(\text{SAT}\) has polynomial-size circuits, then:
$$ \text{NP} \subseteq \text{P}/\text{poly}$$
To show that \(\text{PH} = S_2^P\), we need to show that:
1) \(\text{PH} = \Sigma_2^P\)
2) \(\text{PH} = \Pi_2^P\)
In Lemma \(1\), we showed that \(\text{PH} \subseteq \Sigma_2^P \cap \Pi_2^P\). Therefore, the onus of this proof is to show that:
1) \(\Sigma_2^P β \text{PH}\)
2) \(\Pi_2^P β \text{PH}\)
Sub-Lemma 6.1: \(\Sigma_2^π = \text{PH}\)
This follows from the regular Karp-Lipton theorem shown in Lemma 4.
Therefore, \(\Sigma_2^π β \text{PH}\) is trivially true.
QED.
Sub-Lemma 6.2: \(\Pi_2^P β \text{PH}\):
Let \(πΆ\) be a family of circuits which output \(1\) on satisfiable inputs and \(0\) on unsatisfiable inputs.
Let \(C'\) be the family of circuits using self-reducibility of \(\text{SAT}\) instances to output satisfying assignments for \(\text{SAT}\) formulas.
Let \(L\) be an arbitrary language in \(\Pi_2^P\) and let \(π\) be a predicate in \(P\). It follows then that:
However, note here that \(\{(π₯, π¦) | βπ§, Ο(x, y, z) = 1\}\) is by definition in \(\text{NP}\) (where \(z\) is a witness).
Therefore, \(C'\) must exist to find satisfying assignments \(z\) for satisfying formulas \(x\).
We define the predicate \(π'\) to be the polynomially verifiable instance \((πΆ, π₯, π¦)\).
Note that \((C,x,y)\) is \(\text{TRUE}\) if \(πΆ'(π₯) = π§\), where \(π(π₯, π¦, π§) = 1\), and \(\text{FALSE}\) otherwise.
Therefore,
$$π₯βπΏβ βπΆ \text{ such that }βπ¦, πΆ'(π₯)=π§ \text{ such that } π'(π₯,π¦,π§)=1$$
$$π₯βπΏβ βπΆ \text{ such that }βπ¦ βπ§, πΆ'(π₯)=π§ \text{ such that } π'(π₯,π¦,π§)=0$$