The Complexity of Theorem-Proving Procedures
If you could solve SAT fast, you could solve a whole universe of hard problems fast.
Thousands of famous problems look completely different — yet Cook proved they are secretly the same problem, and cracking any one of them would crack them all.
The big idea
Some questions are easy to check but seem terribly hard to solve. Give me a finished Sudoku and I can verify it in a minute; finding the solution from scratch can take ages. Computer scientists call the family of “easy to check, maybe hard to solve” questions NP.
Cook found a single problem — SAT, “Is there a way to set these true/false switches so a logical formula comes out true?” — and proved something startling: every problem in NP can be rewritten as a SAT question, quickly. So SAT is the hardest problem in the family. If anyone ever finds a genuinely fast method for SAT, that method would instantly make thousands of other hard problems fast too. Problems like SAT are called NP-complete: each one holds the whole family on its shoulders.
How it came about
By 1971 computers were fast, but a stubborn pattern had appeared: for whole families of problems — scheduling, routing, packing, puzzle-solving — every known method amounted, in the worst case, to trying all possibilities, and the number of possibilities exploded as the problem grew. Were these problems truly hard, or were people just not clever enough yet? Nobody could tell, because there was no way to compare one hard problem with another.
Stephen Cook, a young theorist who had just moved from Berkeley to the University of Toronto, gave the field that missing yardstick. In an eight-page paper at a 1971 conference, he defined what it means for one problem to be “no harder than” another, and then proved that satisfiability sits at the very top — every quickly-checkable problem reduces to it. The next year Richard Karp showed twenty-one famous problems were all in this same top tier; the idea spread like wildfire.
Why it mattered
Before Cook, “this problem seems hard” was just a feeling. After Cook, it became a precise claim you could prove: show your problem is NP-complete, and you have shown that a fast solution to it would solve a vast web of other problems no one has ever cracked — strong evidence to stop hunting for a perfect fast algorithm and look for good-enough shortcuts instead. The question of whether such fast solutions exist at all — P versus NP — became the central open problem of computer science, now carrying a million-dollar prize.
A way to picture it
Imagine a giant ring of locked doors, and a rumor that they all share one master key. Cook didn't find the key — he proved the rumor true: he showed that a key fitting the SAT door would fit every door in the ring. So no one needs to pick all the locks; the entire fate of the ring hangs on that single master door. Half a century on, no one has found the key, and many suspect it doesn't exist — but the doors are still provably linked.
Where it sits
Cook's paper is the keystone of a trio about the limits of computing. Alan Turing (1936) drew the line between what machines can and cannot do at all; Cook drew the line between what they can do quickly and what seems to take forever. Karp's 1972 catalogue then populated Cook's class with everyday problems, and Leonid Levin reached the same idea independently in the Soviet Union — which is why we say the Cook–Levin theorem. Every time your phone schedules tasks, routes a map, or your bank trusts that breaking its encryption is too slow to bother, you are living inside the landscape Cook charted.
Summary
It is shown that any recognition problem solved by a polynomial time-bounded nondeterministic Turing machine can be “reduced” to the problem of determining whether a given propositional formula is a tautology.
P-reducibility
Definition. A set S of strings is P-reducible (P for polynomial) to a set T of strings iff there is some query machine M and a polynomial Q(n) such that for each input string w, the T-computation of M with input w halts within Q(|w|) steps (|w| is the length of w) and ends in an accepting state iff w ∈ S.
Theorem 1 (and its corollary)
Theorem 1. If a set S of strings is accepted by some nondeterministic Turing machine within polynomial time, then S is P-reducible to {DNF tautologies}.
Theorem 2 — the equivalent problems
Theorem 2. The following sets are P-reducible to each other in pairs (and hence each has the same polynomial degree of difficulty): {tautologies}, {DNF tautologies}, D3, {subgraph pairs}.
Discussion
Furthermore, the theorems suggest that {tautologies} is a good candidate for an interesting set not in L*, and I feel it is worth spending considerable effort trying to prove this conjecture. Such a proof would be a major breakthrough in complexity theory.