1

My textbook states that CIRCUIT-SAT is in NP because you can guess an input and verify it in polynomial time.

My textbook also states that a problem is in NP if and only it has a polynomial-time verifier V(I, X) such that:

  1. if I is a YES instance, then there exists an X s.t. V(I, X) = YES

  2. if I is a NO instance, then for all X, V(I, X) = NO

I see how the textbook explanation satisfies case 1. Just feed the variables' assignment to the circuit and check the output. But what if I is a NO instance? Then all X must be passed through V(I, X). And since there is an exponential number of X's (each variable can be 1 or 0, yielding 2^n combinations for n variables), then even assuming computing the circuit output happens in constant time, the overall verification is O(2^n).

On a side note: Decision problems return a boolean: YES or NO. Then, how can one even verify the output of such a problem, if the X itself is not known? The only way I can see verification possible is to simply re-run the algorithm. I.e. the explanation given by the textbook above is not plausible because CIRCUIT-SAT returns a boolean (I), not the specific variable assignment (X). Since we don't know X, we cannot just feed X through the circuit and obtain an answer.

user81356
  • 11
  • 1
  • If $I$ is a NO instance, then it is the case, by definition of being a NO instance, that $I(x) = 0$ for all $x$. This proves 2). We don't need to verify that $I$ is, in fact, a NO instance, since we already know that it is by hypothesis. – Sam McGuire Dec 06 '17 at 02:05
  • The title does not really match the question since you are actually confused about the proof system definition of NP, not CIRCUIT-SAT. – dkaeae Jun 21 '19 at 07:07

0 Answers0