# Show that if the class of all 2CNF formulas is nice, then P = NP.

De nition 1. We say that a class C of propositional formulas is nice if it has the following property:
 There is a polynomial-time algorithm that|given a formula ‘ 2 C, a positive integer k 2 N, and
a partial truth assignment to (some of) the variables in Var(‘)|correctly decides if there exists
a truth assignment : Var(‘) ! f0; 1g that (i) extends , (ii) satis es ‘, and (iii) that sets at
least k variables among Var(‘) to true.
Exercise 1 (6pt; a: 11
2 pt, b: 11
2 pt, c: 11
2 pt, d: 11
2 pt ).
(a) Show that if the class of all 2CNF formulas is nice, then P = NP.
(b) Specify a class C of propositional formulas that is nice, and such that for every (arbitrary) propo-
sitional formula ‘, there exists some 2 C that is logically equivalent to ‘. Prove that this is the
case.
In the rest of this exercise, we will show that the class of all propositional 3CNF formulas does not
polynomial-size compile into any nice class C, unless the PH collapses.
De nition 2. Let C1; C2 be two classes of propositional formulas. The class C1 polynomial-size compiles
into C2 if there exists a polynomial p : N ! N such that for every ‘ 2 C1 there exists a f(‘) 2 C2 that
is logically equivalent to ‘ and for which holds jf(‘)j  p(j’j). Note that there are no requirements on
the running time to compute f(‘).
Consider the following family f’ngn2N of propositional formulas, where each ‘n contains variables
in f xi; xi;j j 1  i < j  n g, and is de ned as follows:
‘n =
^
1i<jn
(:xi;j _ :xi _ :xj)
(c) Let C be a class of propositional formulas that is nice. Suppose that there exists a polynomial p :
N ! N and a family f ngn2N of propositional formulas such that for each n 2 N: (i) n 2 C,
(ii) n is logically equivalent to ‘n, and (iii) j nj  p(n).
Show that then there exists a polynomial-time algorithm that|given a graph G = (V;E) with n
vertices, an integer k 2 N, and the formula n|decides if G has a clique of size k.
(d) Show that if 3CNF polynomial-size compiles into a class C that is nice, then PH = p
2.
Hint: use the answer that you gave for (c).
1 