The Cook-Levin Theorem Matvey Soloviev (Cornell University) CS 4820, - - PowerPoint PPT Presentation

the cook levin theorem
SMART_READER_LITE
LIVE PREVIEW

The Cook-Levin Theorem Matvey Soloviev (Cornell University) CS 4820, - - PowerPoint PPT Presentation

The Cook-Levin Theorem Matvey Soloviev (Cornell University) CS 4820, Summer 2020 1 Today By using our formal definition of nondeterministic Turing machines, we will prove the existence of a universal polynomial time. This problem will be


slide-1
SLIDE 1

The Cook-Levin Theorem

Matvey Soloviev (Cornell University) CS 4820, Summer 2020

1

slide-2
SLIDE 2

Today

By using our formal definition of nondeterministic Turing machines, we will prove the existence of a universal subproblem which every problem in NP can be reduced to in polynomial time. This problem will be provably hard under the assumption that any problem in NP is.

2

slide-3
SLIDE 3

Hardness from reductions, made concrete (1)

Before, we talked about how a reduction from P to Q lets us infer hardness of Q from hardness of P conceptually. Let’s make a concrete instance of the statement. Proposition Suppose P is a problem for which there exists no polynomial-time algorithm, and there is a polynomial- time reduction from P to Q. Then there is no polynomial-time algorithm for Q.

3

slide-4
SLIDE 4

Hardness from reductions, made concrete (1)

Before, we talked about how a reduction from P to Q lets us infer hardness of Q from hardness of P conceptually. Let’s make a concrete instance of the statement. Proposition Suppose P is a problem for which there exists no polynomial-time algorithm, and there is a polynomial- time reduction from P to Q. Then there is no polynomial-time algorithm for Q.

3

slide-5
SLIDE 5

Hardness from reductions, made concrete (1)

Before, we talked about how a reduction from P to Q lets us infer hardness of Q from hardness of P conceptually. Let’s make a concrete instance of the statement. Proposition Suppose P is a problem for which there exists no polynomial-time algorithm, and there is a polynomial- time reduction from P to Q. Then there is no polynomial-time algorithm for Q.

3

slide-6
SLIDE 6

Hardness from reductions, made concrete (2)

  • Proof. Suppose not, and there is in fact a polynomial-time

algorithm for Q that runs in time O(p(n)). Plug this algorithm into the reduction. By definition of a polynomial-time reduction, we obtain a correct algorithm that solves size-n instances of P in time h n g n O p f n . Since all of f, g and h are polynomials, this is again a polynomial (check this!). But then we actually do have a polynomial-time algorithm for P, contradicting the assumption.

4

slide-7
SLIDE 7

Hardness from reductions, made concrete (2)

  • Proof. Suppose not, and there is in fact a polynomial-time

algorithm for Q that runs in time O(p(n)). Plug this algorithm into the reduction. By definition of a polynomial-time reduction, we obtain a correct algorithm that solves size-n instances of P in time h(n) + g(n) · O(p(f(n))). Since all of f, g and h are polynomials, this is again a polynomial (check this!). But then we actually do have a polynomial-time algorithm for P, contradicting the assumption.

4

slide-8
SLIDE 8

Hardness from reductions, made concrete (2)

  • Proof. Suppose not, and there is in fact a polynomial-time

algorithm for Q that runs in time O(p(n)). Plug this algorithm into the reduction. By definition of a polynomial-time reduction, we obtain a correct algorithm that solves size-n instances of P in time h(n) + g(n) · O(p(f(n))). Since all of f, g and h are polynomials, this is again a polynomial (check this!). But then we actually do have a polynomial-time algorithm for P, contradicting the assumption.

4

slide-9
SLIDE 9

Hardness from reductions, made concrete (2)

  • Proof. Suppose not, and there is in fact a polynomial-time

algorithm for Q that runs in time O(p(n)). Plug this algorithm into the reduction. By definition of a polynomial-time reduction, we obtain a correct algorithm that solves size-n instances of P in time h(n) + g(n) · O(p(f(n))). Since all of f, g and h are polynomials, this is again a polynomial (check this!). But then we actually do have a polynomial-time algorithm for P, contradicting the assumption. ✷

4

slide-10
SLIDE 10

Boolean formulae

A Boolean formula is an expression generated recursively by the grammar φ, ψ ::= φ ∧ ψ | φ ∨ ψ | ¬φ | x, y, z, . . . | (φ), where x, y, z, . . . ∈ V are variable names, which represents a function from assignments to truth values {T, F}. An assignment is itself a function from V to truth values. For instance, φ = x ∧ (y ∨ z) → (¬v).

5

slide-11
SLIDE 11

Conjunctive normal form

A Boolean formula is said to be in conjunctive normal form (CNF) if it is of the form (ℓ1,1 ∨ . . . ℓ1,n1) ∧ . . . ∧ (ℓm,1 ∨ . . . ∨ ℓm,nm), where each ℓi,j is a literal: that is, either a variable v ∈ V or the negation ¬v of one. For example, (x ∨ ¬z) ∧ (y ∨ z ∨ x ∨ v) ∧ (x). Each

i 1 i ni is called a clause. 6

slide-12
SLIDE 12

Conjunctive normal form

A Boolean formula is said to be in conjunctive normal form (CNF) if it is of the form (ℓ1,1 ∨ . . . ℓ1,n1) ∧ . . . ∧ (ℓm,1 ∨ . . . ∨ ℓm,nm), where each ℓi,j is a literal: that is, either a variable v ∈ V or the negation ¬v of one. For example, (x ∨ ¬z) ∧ (y ∨ z ∨ x ∨ v) ∧ (x). Each (ℓi,1 ∨ . . . ∨ ℓi,ni) is called a clause.

6

slide-13
SLIDE 13

The CNF-SAT problem

The conjunctive normal form Boolean satisfiability problem (CNF-SAT) is: Given a Boolean formula in CNF, does there exist any assignment to its variables that makes this formula true? This problem is in NP: We can write out the assignment (as a string of the form x T y F ) and use it as a certificate.

7

slide-14
SLIDE 14

The CNF-SAT problem

The conjunctive normal form Boolean satisfiability problem (CNF-SAT) is: Given a Boolean formula in CNF, does there exist any assignment to its variables that makes this formula true? This problem is in NP: We can write out the assignment (as a string of the form x → T, y → F, . . .) and use it as a certificate.

7

slide-15
SLIDE 15

The Cook-Levin Theorem

Theorem (Cook-Levin) The CNF-SAT problem is NP-complete.

8

slide-16
SLIDE 16

Proof of Cook-Levin: High-level overview (1)

We already know that the problem is in NP, so it just remains to establish that it is NP-hard. That is, we need to show that there exists a polynomial-time reduction from every problem in NP to CNF-SAT.

9

slide-17
SLIDE 17

Proof of Cook-Levin: High-level overview (1)

We already know that the problem is in NP, so it just remains to establish that it is NP-hard. That is, we need to show that there exists a polynomial-time reduction from every problem in NP to CNF-SAT.

9

slide-18
SLIDE 18

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input

to P.

  • 2. In time polynomial in

, write out a specially prepared CNF Boolean formula

MP

which has a satisfying assignment if and only if MP accepts the string .

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-19
SLIDE 19

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input

to P.

  • 2. In time polynomial in

, write out a specially prepared CNF Boolean formula

MP

which has a satisfying assignment if and only if MP accepts the string .

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-20
SLIDE 20

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input

to P.

  • 2. In time polynomial in

, write out a specially prepared CNF Boolean formula

MP

which has a satisfying assignment if and only if MP accepts the string .

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-21
SLIDE 21

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input

to P.

  • 2. In time polynomial in

, write out a specially prepared CNF Boolean formula

MP

which has a satisfying assignment if and only if MP accepts the string .

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-22
SLIDE 22

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input α to P.
  • 2. In time polynomial in

, write out a specially prepared CNF Boolean formula

MP

which has a satisfying assignment if and only if MP accepts the string .

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-23
SLIDE 23

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input α to P.
  • 2. In time polynomial in α, write out a specially prepared CNF

Boolean formula φMP(α) which has a satisfying assignment if and only if MP accepts the string α.

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-24
SLIDE 24

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input α to P.
  • 2. In time polynomial in α, write out a specially prepared CNF

Boolean formula φMP(α) which has a satisfying assignment if and only if MP accepts the string α.

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-25
SLIDE 25

Proof of Cook-Levin: High-level overview (2)

We will establish this as follows: Let P be an arbitrary problem in NP. Since P is in NP, there must exist a nondeterministic polynomial-time Turing machine MP which decides P. Using our knowledge of this machine, we can write the following reduction:

  • 1. Read the input α to P.
  • 2. In time polynomial in α, write out a specially prepared CNF

Boolean formula φMP(α) which has a satisfying assignment if and only if MP accepts the string α.

  • 3. Run our algorithm for CNF-SAT on this formula.
  • 4. Accept if the algorithm accepted. Reject if the algorithm

rejected.

10

slide-26
SLIDE 26

Proof of Cook-Levin: High-level overview (3)

The meat of the proof clearly is in the second point: Why should such a formula even exist, and why can we write it out in polynomial time? It is for the sake of this point that we put in all the work of formally defining NTMs.

11

slide-27
SLIDE 27

Proof of Cook-Levin: High-level overview (3)

The meat of the proof clearly is in the second point: Why should such a formula even exist, and why can we write it out in polynomial time? It is for the sake of this point that we put in all the work of formally defining NTMs.

11

slide-28
SLIDE 28

Proof of Cook-Levin: Notational preliminaries (1)

Some notational points that will help us stay sane. For a finite set S and formulae

s for every s

S,

s S s

denotes the conjunction

s1 sn.

Likewise for . By definition, the implication is equivalent to . Recall de Morgan’s laws: ; .

12

slide-29
SLIDE 29

Proof of Cook-Levin: Notational preliminaries (1)

Some notational points that will help us stay sane. For a finite set S and formulae φs for every s ∈ S, ∧

s∈S φs

denotes the conjunction φs1 ∧ . . . ∧ φsn. Likewise for . By definition, the implication is equivalent to . Recall de Morgan’s laws: ; .

12

slide-30
SLIDE 30

Proof of Cook-Levin: Notational preliminaries (1)

Some notational points that will help us stay sane. For a finite set S and formulae φs for every s ∈ S, ∧

s∈S φs

denotes the conjunction φs1 ∧ . . . ∧ φsn. Likewise for ∨. By definition, the implication is equivalent to . Recall de Morgan’s laws: ; .

12

slide-31
SLIDE 31

Proof of Cook-Levin: Notational preliminaries (1)

Some notational points that will help us stay sane. For a finite set S and formulae φs for every s ∈ S, ∧

s∈S φs

denotes the conjunction φs1 ∧ . . . ∧ φsn. Likewise for ∨. By definition, the implication φ → ψ is equivalent to ¬φ ∧ ψ. Recall de Morgan’s laws: ; .

12

slide-32
SLIDE 32

Proof of Cook-Levin: Notational preliminaries (1)

Some notational points that will help us stay sane. For a finite set S and formulae φs for every s ∈ S, ∧

s∈S φs

denotes the conjunction φs1 ∧ . . . ∧ φsn. Likewise for ∨. By definition, the implication φ → ψ is equivalent to ¬φ ∧ ψ. Recall de Morgan’s laws: ¬(φ ∧ ψ) ≜ ¬φ ∨ ¬ψ; ¬(φ ∨ ψ) ≜ ¬φ ∧ ¬ψ.

12

slide-33
SLIDE 33

Proof of Cook-Levin: Notational preliminaries (2)

From these, it follows that we can turn a big implication between conjunctions into a conjunction of clauses as follows: ∧

s∈S

φs → ∧

t∈T

ψt

t T s S s t t T s1 sn t s1 sn t1 tm

Note in particular that the size of the resulting CNF formula is a product of the sizes of S and T.

13

slide-34
SLIDE 34

Proof of Cook-Levin: Notational preliminaries (2)

From these, it follows that we can turn a big implication between conjunctions into a conjunction of clauses as follows: ∧

s∈S

φs → ∧

t∈T

ψt ≜ ∧

t∈T

(∧

s∈S

φs → ψt )

t T s1 sn t s1 sn t1 tm

Note in particular that the size of the resulting CNF formula is a product of the sizes of S and T.

13

slide-35
SLIDE 35

Proof of Cook-Levin: Notational preliminaries (2)

From these, it follows that we can turn a big implication between conjunctions into a conjunction of clauses as follows: ∧

s∈S

φs → ∧

t∈T

ψt ≜ ∧

t∈T

(∧

s∈S

φs → ψt ) ≜ ∧

t∈T

(¬φs1 ∨ . . . ∨ ¬φsn ∨ ψt)

s1 sn t1 tm

Note in particular that the size of the resulting CNF formula is a product of the sizes of S and T.

13

slide-36
SLIDE 36

Proof of Cook-Levin: Notational preliminaries (2)

From these, it follows that we can turn a big implication between conjunctions into a conjunction of clauses as follows: ∧

s∈S

φs → ∧

t∈T

ψt ≜ ∧

t∈T

(∧

s∈S

φs → ψt ) ≜ ∧

t∈T

(¬φs1 ∨ . . . ∨ ¬φsn ∨ ψt) ≜ (¬φs1 ∨ . . . ∨ ¬φsn ∨ ψt1) ∧ . . . ∧ (. . . ∨ ψtm). Note in particular that the size of the resulting CNF formula is a product of the sizes of S and T.

13

slide-37
SLIDE 37

Proof of Cook-Levin: Notational preliminaries (2)

From these, it follows that we can turn a big implication between conjunctions into a conjunction of clauses as follows: ∧

s∈S

φs → ∧

t∈T

ψt ≜ ∧

t∈T

(∧

s∈S

φs → ψt ) ≜ ∧

t∈T

(¬φs1 ∨ . . . ∨ ¬φsn ∨ ψt) ≜ (¬φs1 ∨ . . . ∨ ¬φsn ∨ ψt1) ∧ . . . ∧ (. . . ∨ ψtm). Note in particular that the size of the resulting CNF formula is a product of the sizes of S and T.

13

slide-38
SLIDE 38

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p non- cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time t p encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-39
SLIDE 39

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time t p encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-40
SLIDE 40

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time 0 ≤ t ≤ p(α) encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-41
SLIDE 41

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time 0 ≤ t ≤ p(α) encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-42
SLIDE 42

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time 0 ≤ t ≤ p(α) encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-43
SLIDE 43

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time 0 ≤ t ≤ p(α) encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-44
SLIDE 44

Proof of Cook-Levin: Mid-level overview (1)

We know that there’s a polynomial p such that MP halts on α in p(|α|) steps. At any time t, any possible configuration of the NTM MP consists of at most p(|α|) + |α| non-⊔ cells on the tape, one state and one integer encoding the position of the head. (We can only fill at most one cell per step!) Based on this, we will create Boolean variables for each time 0 ≤ t ≤ p(α) encoding the contents of the potentially non-empty cells of the tape, the state q and the position of the head. This should be a polynomial number!

14

slide-45
SLIDE 45

Proof of Cook-Levin: Mid-level overview (2)

Then, we will generate a polynomial number of clauses that encode the following statements about the variables: At time 0, the state is the initial state, the tape contains and the head points at the start. At each time t, we are in a unique configuration: there’s a well-defined state, tape contents and head position. At each time t 0, the configuration must follow from the configuration at time t 1 by a possible transition of MP. At some point, we are in an accepting state.

15

slide-46
SLIDE 46

Proof of Cook-Levin: Mid-level overview (2)

Then, we will generate a polynomial number of clauses that encode the following statements about the variables: At time 0, the state is the initial state, the tape contains ▷α ⊔ ⊔ . . . and the head points at the start. At each time t, we are in a unique configuration: there’s a well-defined state, tape contents and head position. At each time t 0, the configuration must follow from the configuration at time t 1 by a possible transition of MP. At some point, we are in an accepting state.

15

slide-47
SLIDE 47

Proof of Cook-Levin: Mid-level overview (2)

Then, we will generate a polynomial number of clauses that encode the following statements about the variables: At time 0, the state is the initial state, the tape contains ▷α ⊔ ⊔ . . . and the head points at the start. At each time t, we are in a unique configuration: there’s a well-defined state, tape contents and head position. At each time t 0, the configuration must follow from the configuration at time t 1 by a possible transition of MP. At some point, we are in an accepting state.

15

slide-48
SLIDE 48

Proof of Cook-Levin: Mid-level overview (2)

Then, we will generate a polynomial number of clauses that encode the following statements about the variables: At time 0, the state is the initial state, the tape contains ▷α ⊔ ⊔ . . . and the head points at the start. At each time t, we are in a unique configuration: there’s a well-defined state, tape contents and head position. At each time t > 0, the configuration must follow from the configuration at time t − 1 by a possible transition of MP. At some point, we are in an accepting state.

15

slide-49
SLIDE 49

Proof of Cook-Levin: Mid-level overview (2)

Then, we will generate a polynomial number of clauses that encode the following statements about the variables: At time 0, the state is the initial state, the tape contains ▷α ⊔ ⊔ . . . and the head points at the start. At each time t, we are in a unique configuration: there’s a well-defined state, tape contents and head position. At each time t > 0, the configuration must follow from the configuration at time t − 1 by a possible transition of MP. At some point, we are in an accepting state.

15

slide-50
SLIDE 50

Why will this work?

Key trick: While the cone of possible configurations of MP is of exponential size, a single path of computation is only

  • polynomial. Assignments to our variables only encode a single

path of computation, but asking for existence of a satisfying assignment ⇔ asking for existence of an accepting path ⇔ NTM acceptance.

16

slide-51
SLIDE 51

Proof of Cook-Levin: The details (1)

Let m = p(|α|). We create variables: Si,q for all 0 ≤ i ≤ m, q ∈ Q “at time i, state is q” Ti j for all 0 i j m, “at time i, tape[j] is ” Hi j for all 0 i j m “at time i, position is j”

17

slide-52
SLIDE 52

Proof of Cook-Levin: The details (1)

Let m = p(|α|). We create variables: Si,q for all 0 ≤ i ≤ m, q ∈ Q “at time i, state is q” Ti,j,σ for all 0 ≤ i, j ≤ m, σ ∈ Σ “at time i, tape[j] is σ” Hi j for all 0 i j m “at time i, position is j”

17

slide-53
SLIDE 53

Proof of Cook-Levin: The details (1)

Let m = p(|α|). We create variables: Si,q for all 0 ≤ i ≤ m, q ∈ Q “at time i, state is q” Ti,j,σ for all 0 ≤ i, j ≤ m, σ ∈ Σ “at time i, tape[j] is σ” Hi,j for all 0 ≤ i, j ≤ m “at time i, position is j”.

17

slide-54
SLIDE 54

Proof of Cook-Levin: The details (2)

Now, create clauses. Initial state at time 0: S0 q0 H0 0 T0 0

1 n

T0 n

n

n m

T0 n

18

slide-55
SLIDE 55

Proof of Cook-Levin: The details (2)

Now, create clauses. Initial state at time 0: S0,q0 ∧ H0,0 ∧ T0,0,▷ ∧ ∧

1≤n≤|α|

T0,n,αn ∧ ∧

|α|<n≤m

T0,n,⊔.

18

slide-56
SLIDE 56

Proof of Cook-Levin: The details (3)

Consistency (well-defined configuration) at every time i ≤ m: ∧

i≤m

q∈Q

 Si,q → ∧

q̸=q′∈Q

¬Si,q′   , ∧

i≤m

j≤m

 Hi,j → ∧

j̸=j′≤m

¬Hi,j′   , ∧

i≤m

j≤m

σ∈Σ

 Ti,j,σ → ∧

σ̸=σ′∈Σ

¬Ti,j,σ′   .

19

slide-57
SLIDE 57

Proof of Cook-Levin: The details (4)

Transition: at every time i < m, we must choose a transition in the set δ(q, σ) and move the head, update the tape and change states accordingly. ∧

i<m

j≤m

q∈Q

σ∈Σ

( Hi,j ∧ Si,q ∧ Ti,j,σ → ∨

(q′,σ′,dir)∈δ(q,σ)

(Hi+1,j′ ∧ Si+1,q′ ∧ Ti+1,j,σ′)   , where j′ =        j + 1 if dir= R j if j = 1 and dir= L j − 1 if dir= L is the updated position of the head;

20

slide-58
SLIDE 58

Proof of Cook-Levin: The details (5)

Transition consistency: Only the symbol under the head changes! ∧

i<m

j≤m

 Hi,j → ∧

j̸=j′≤m

σ∈Σ

( Ti,j′,σ → Ti+1,j′,σ )  

21

slide-59
SLIDE 59

Proof of Cook-Levin: The details (6)

Acceptance: ∨

i≤m

Si,qyes.

22

slide-60
SLIDE 60

Proof of Cook-Levin: The details (7)

Now just need to establish that MP accepts α iff the CNF-SAT instance we constructed has a satisfying assignment. Both directions are easy: If MP accepts , there must be an accepting path of NTM

  • transitions. Convert to an assignment and show that it’s

satisfying. If there is a satisfying assignment, show that there is a well-defined conversion to a sequence of possible NTM transitions that ends at qyes. And we’re done!

23

slide-61
SLIDE 61

Proof of Cook-Levin: The details (7)

Now just need to establish that MP accepts α iff the CNF-SAT instance we constructed has a satisfying assignment. Both directions are easy: If MP accepts α, there must be an accepting path of NTM

  • transitions. Convert to an assignment and show that it’s

satisfying. If there is a satisfying assignment, show that there is a well-defined conversion to a sequence of possible NTM transitions that ends at qyes. And we’re done!

23

slide-62
SLIDE 62

Proof of Cook-Levin: The details (7)

Now just need to establish that MP accepts α iff the CNF-SAT instance we constructed has a satisfying assignment. Both directions are easy: If MP accepts α, there must be an accepting path of NTM

  • transitions. Convert to an assignment and show that it’s

satisfying. If there is a satisfying assignment, show that there is a well-defined conversion to a sequence of possible NTM transitions that ends at qyes. And we’re done!

23

slide-63
SLIDE 63

Proof of Cook-Levin: The details (7)

Now just need to establish that MP accepts α iff the CNF-SAT instance we constructed has a satisfying assignment. Both directions are easy: If MP accepts α, there must be an accepting path of NTM

  • transitions. Convert to an assignment and show that it’s

satisfying. If there is a satisfying assignment, show that there is a well-defined conversion to a sequence of possible NTM transitions that ends at qyes. And we’re done! ✷

23

slide-64
SLIDE 64

Cook-Levin: consequences

Corollary If even one problem in NP can not be solved in poly- nomial time, then CNF-SAT can not be solved in poly- nomial time.

24