Out: Tuesday, 6-Feb
Due: Tuesday, 13-Feb before class
SAT-BUT-NOT-TOO-SAT
Consider a 3CNF formula \(\phi = C_1 \wedge C_2 \wedge \cdots \wedge C_m\), where each \(C_i\) is a clause on three literals. Recall that \(\phi\) is satisfiable if there is a truth assignment to its variables that satisfies every clause.
Say that \(\phi\) is sat-but-not-too-sat if there is an assignment to its variables such that some literal in every clause is true and some literal in every clause is false.
For instance, the formula \[\phi = (x_1 \vee \bar{x}_2 \vee x_3) \wedge (x_2 \vee \bar{x}_3 \vee x_1) \wedge (\bar{x}_1 \vee \bar{x}_2 \vee \bar{x}_4)\] is sat-but-not-too-sat because of the assignment \((x_1,x_2,x_3,x_4)=(T,T,T,F)\).
Define the language \[ \textsf{3SAT-BUT-NOT-TOO-SAT} = \left\{ \phi : \phi \textrm{ is a sat-but-not-too-sat 3CNF formula}\right\} \]
Prove that \(\textsf{3SAT-BUT-NOT-TOO-SAT}\) is \(\mathsf{NP}\)-complete.
Consider the following two statements:
\(\mathsf{P}=\mathsf{NP}\)
For every language \(L \in \mathsf{P}\), the language \( \left\{ \varphi(w) : w \in L \right\} \) is also in \(\mathsf{P}\).