Question: Problem 8 ( Bonus: 3 0 points ) In this problem, we will prove the Cook - Levin theorem. Theorem ( Cook , 1 9
Problem Bonus: points
In this problem, we will prove the CookLevin theorem.
Theorem Cook; Levin, SAT is NPcomplete.
We saw in lecture that SAT is in NP so it remains to prove that SAT is NPhard, ie that every problem
in NP is polynomialtime mapping reducible to SAT. Let Ain NP Then we know that there exists a
time verifier for where is some polynomial. We will exhibit a polynomial time Turing machine that
computes a mapping reduction from to SAT. To do this, we will show how to construct a boolean formula
from the computation of on input such that there is a certificate with which accepts iff there
is a satisfying assignment of
Let Recall that a verifier is a tape Turing machine with a readonly
second tape called the certificate tape, so
:
Since is time, in the computation of on input xin with certificate there will never be more than
configurations and the worktape head will never move beyond the th cell on the worktape. The
contents of the worktape on every configuration may therefore be encoded in a matrix where
the th row of consists of the first cells in the worktape of the th configuration. Our formula
will be a conjunction of constraints requiring that encodes a valid computation of on parameterized
by the certificate Before defining our boolean variables, we will make a simplifying assumption that
doesn't lose generality.
Claim For any time verifier there is an equivalent time verifier such that the certificate tapehead
always transitions right.
Claim allows us to assume that the transition from to is the only transition which depends on the
We now define the set of boolean variables of as follows. For each iin
for each qinQ, we'll have a variable We will encode that the state of configuration is by
for each bin we'll have a variable We will encode that the th entry of the the certificate is
by
for each jin
for each ain we'll have a variable We will encode that entry ie the th worktape
cell of the th configuration contains symbol by
a variable We will encode that the worktape head is at cell on configuration by
a points
Prove Claim
b points
We want to use a set of boolean indicator variables in to encode an element from a set of size : eg we
have one indicator variable for each symbol ain However,
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
