understing Cook theorem and input length

171 Views Asked by At

Following is my understanding of Cook theorem.

Let P be a $\mathcal{NP}$ problem.

And let M be a polynomial NDTM for P,

$$ M(x) = \left\{ \begin{array}{ll} 1\text{ if x∈ P}\\ 0\text{ otherwise} \end{array} \right. $$

By Cook theorem, there is a polynomial mapping R, such that

R(M) = φ where φ is a Boolean formula expression.

And

M(x)= 1 ⇔ φ (x') = true

My question is

  1. My understanding is correct?

  2. What't the relationship between x and x' ?

  3. I am confused. M accept any length of input digit of x, but Boolean formula accept x only finite fixed input digit of value (x'). How can we connect M and φ even though their input length is different?

1

There are 1 best solutions below

8
On BEST ANSWER

I think $R$ should map strings $x \in \{0,1\}^{\ast}$ to Boolean expressions with the property that $M(x) =1 $ if and only if $R(x)$ is satisfiable. So rather than $R(M)$ maybe you should write $R(x)$. Then $R(x)$ is a Boolean expression and we can talk about its "truth value" $R(x)(y)$ on a particular string $y$, where $y$ is a choice of "$1=true$" or "$0=false$" for each of the variables appearing in $R(x)$. Then we should have $M(x)=1$ if and only if there exists $y$ such that $R(x)(y) = true $. So $y$ is just the "certificate" for $R(x)$. It's length will depend on $x$ because as $x$ changes, the number of variables in $R(x)$ may change. I hope I'm not adding to your confusion; if you had gotten any other feedback I would not have risked confusing you further with my limited knowledge of theoretical computer science.