I read The Complexity of Theorem-Proving Procedures by Stephen A. Cook (1971). Cook explains how to create a boolean formula $\Phi$ from $(M,w)$, where $M$ is a non-deterministic Turing machine that always halts in a polynomial number of steps and $w$ is a string in $\Sigma^*$ so that $\Phi$ is satisfiable if and only if $M$ accepts $w$.

  • Is every accepting path/route of $M$ with input $w$ a satisfying assignment of $\Phi$?
  • Is every rejecting path/route of $M$ with input $w$ a falsifying assignment of $\Phi$?
  • Is the number of satisfying assignments of $\Phi$ equal to the number of accepting routes/paths of $M$ with input $w$?
  • Is the number of falsifying assignments of $\Phi$ equal to the number of rejecting routes/paths of $M$ with input $w$?
  • $\begingroup$ Welcome to Computer Science! The title you have chosen is not well suited to representing your question. Please take some time to improve it; we have collected some advice here. Thank you! $\endgroup$ – Raphael Jan 11 '18 at 23:36
  • $\begingroup$ Downvoting for an awful title. $\endgroup$ – Andrej Bauer Jan 12 '18 at 8:02
  • $\begingroup$ Please ask only one question per post. Also, what have you tried/ If you understand the proof you should be able to make an attempt at working out the answer to these questions on your own and show us your thoughts. Or is there something that prevents you from doing that? If so it would help to highlight that in the question. $\endgroup$ – D.W. Jan 12 '18 at 20:53

The reduction in the Cook-Levin theorem is parsimonious, i.e. it preserves the number of witnesses. You should note that $\Phi_{M.w}$ does not talk in terms of computation paths, it is simply a boolean formula. However, if you look at the details of the reduction, you will see that each accepting path for $w$ corresponds to a satisfying assignment for $\Phi$, and vice versa. Once you show that $\Phi_{M,w}$ treats its variables as a possible path for $M$ on $w$, and is satisfied iff that path is accepting, the first three questions are naturally answered in the positive.

The reduction does not preserve the number of "non-witnesses" (note that the total number of possible witnesses for the input and output is not necessarily equal, hence a parsimonious reduction might change the number of "bad" witnesses), so the last point is wrong. As an example, suppose $M$ accepts $w$ on every path (hence it has zero rejecting routes), but any assignment to the variables of $\Phi_{M,w}$ which does not represent a valid computation of $M$ on $w$ is not satisfying.

Note that it is an open problem whether every NP complete problem has parsimonious reductions (i.e. for every $\mathsf{L\in NP}$ there exists a parsimonious reduction from $L$ to the complete language). Most classical NP complete problems are known to have such reductions, but this is not known in general, see this related post.

| cite | improve this answer | |
  • 1
    $\begingroup$ I find the fourth question incorrect, because $\Phi_{M,w}$ never can be a tautology, and that means that it always must have at least 1 falsifying assignment, means that the number of falsifying assignments is greater than zero, while all paths/routes of M on w can be accept and M on w can have zero reject paths/routes. $\endgroup$ – user82913 Jan 18 '18 at 18:36
  • $\begingroup$ Thank you, the fourth point is indeed incorrect. Any assignment which doesn't represent a valid computation of $M$ on $w$ does not satisfy $\Phi_{M,w}$. $\endgroup$ – Ariel Jan 18 '18 at 18:56
  • $\begingroup$ I think that you should improve your answer and say that the fourth point is incorrect. $\endgroup$ – user82913 Jan 18 '18 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy