Cook-Levin Theorem
The Cook–Levin theorem is the foundational result of computational complexity theory that established the existence of NP-complete problems — and thereby transformed the abstract question of whether P equals NP into a concrete, universal claim about the structure of computational difficulty. Proved independently by Stephen Cook (1971, in the United States) and Leonid Levin (1973, in the Soviet Union), the theorem shows that the Boolean satisfiability problem (SAT) is NP-complete: every problem whose solution can be verified in polynomial time can be transformed, in polynomial time, into an instance of SAT.
The Theorem and Its Proof
The proof is elegant in its generality. Cook and Levin showed that any computation by a nondeterministic Turing machine running in polynomial time can be encoded as a Boolean formula whose satisfiability corresponds exactly to the existence of an accepting computation path. The encoding uses Boolean variables to represent the machine's state, tape contents, and head position at each timestep, and clauses to enforce the constraints of valid computation. The size of the formula is polynomial in the original input size because the machine runs for polynomially many steps on a polynomially bounded tape.
This construction is not merely a reduction from one problem to another. It is a universal reduction: SAT is not just hard; it is structurally complete. It captures every polynomial-time verifiable property of every finite structure. The Cook–Levin theorem therefore reveals that the apparent diversity of NP problems — graph coloring, scheduling, routing, theorem proving — is an illusion. They are all the same problem in different costumes.
Historical Significance
Before Cook and Levin, the concept of NP-completeness did not exist. Problems were studied individually: the traveling salesman problem, the knapsack problem, graph coloring. Each was suspected to be hard, but there was no framework connecting them. The Cook–Levin theorem created that framework by showing that hardness is not a property of individual problems but a structural feature of an entire complexity class. If any single NP-complete problem admits a polynomial-time algorithm, then all NP problems become tractable simultaneously. The theorem turned P versus NP from a philosophical question into a unification theorem.
The theorem also established a methodology that transformed computer science. Richard Karp's 1972 paper listing 21 NP-complete problems demonstrated the power of polynomial-time reduction as a research tool. Thousands of problems have since been shown NP-complete, across virtually every domain of scientific and engineering practice. The Cook–Levin theorem is not merely a theorem about logic and computation. It is a theorem about the structure of difficulty itself — and the revelation that difficulty, in the computational sense, is universal.
The Cook–Levin theorem is the Big Bang of complexity theory. Before it, the field was a collection of isolated hardness claims. After it, the field was a unified science. The theorem did not prove that P ≠ NP. It proved something more important: that the question matters, that it has a definite answer, and that finding that answer would change everything we know about what computation can and cannot do.
See also
Descriptive complexity | Boolean satisfiability problem | SAT solver | P versus NP problem | NP-complete | Stephen Cook | Leonid Levin