LearnViz CompSci
Home / Learn / Theory & Discrete Math / Cook-Levin Theorem

Advanced Topic 38 of 51 Theory & Discrete Math

Cook-Levin Theorem

Result proving SAT is NP-complete.

How it works

The Cook-Levin theorem, proved by Stephen Cook in 1971 and independently by Leonid Levin, states that the Boolean satisfiability problem is NP-complete. The proof shows that any problem in NP, decided by a nondeterministic polynomial-time Turing machine, can be encoded as a Boolean formula that is satisfiable exactly when the machine accepts, by representing the computation's tableau of configurations with variables and constraints. It was the first NP-complete problem.

Step-by-step walkthrough

  1. Take any problem in NP with a polynomial verifier.
  2. Describe the machine's computation as Boolean formulas.
  3. The formula is satisfiable exactly when the answer is yes.
  4. So every NP problem reduces to SAT.
  5. This was the first NP-complete problem.

Where it is used

It provides the starting point for proving other problems NP-complete by reduction from SAT or 3-SAT, creating thousands of known NP-complete problems. It also motivated SAT solvers, since many problems can be encoded in SAT.

Common pitfall

The encoding is polynomial in size but large, and the theorem is about worst-case encodings, not practical solving. Do not confuse showing SAT is NP-hard with solving all NP problems fast. Constructions in proofs must carefully handle polynomial bounds on time and space. Study the tableau idea rather than memorizing formulas.

Where it fits in the course

Cook-Levin Theorem is topic 38 of 51 in Theory & Discrete Math, rated Advanced. It follows NP-Completeness. The next topic is P vs NP.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Theory & Discrete Math quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Cook-Levin Theorem?
Result proving SAT is NP-complete. It belongs to Theory & Discrete Math and is an advanced-level topic.
Where do people use Cook-Levin Theorem?
It provides the starting point for proving other problems NP-complete by reduction from SAT or 3-SAT, creating thousands of known NP-complete problems.
What is the most common mistake with Cook-Levin Theorem?
The encoding is polynomial in size but large, and the theorem is about worst-case encodings, not practical solving.
What should I learn before this topic?
Start with NP-Completeness, the topic just before it in Theory & Discrete Math.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Theory & Discrete Math quiz.
Is Cook-Levin Theorem hard to learn?
It is an Advanced topic. Expect to read the explanation more than once and to connect it with earlier topics. Working through a small example by hand helps most.
How long does it take to learn Cook-Levin Theorem?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Cook-Levin Theorem?
NP-Completeness, P vs NP, Class NP are closely connected. The full list is in the related topics section of this page.
What should I study after Cook-Levin Theorem?
Continue with P vs NP, the next topic in Theory & Discrete Math.

Related topics