During his PhD, Cook worked on complexity of functions, mainly on multiplication. In his seminal 1971 paper "The Complexity of Theorem Proving Procedures", Cook formalized the notions of
polynomial-time reduction (also known as
Cook reduction) and
NP-completeness, and proved the existence of an
NP-complete problem by showing that the
Boolean satisfiability problem (usually known as SAT) is
NP-complete. This theorem was proven independently by
Leonid Levin in the
Soviet Union, and has thus been given the name
the Cook–Levin theorem. The paper also formulated the most famous problem in computer science, the
P vs. NP problem. Informally, the "P vs. NP" question asks whether every optimization problem whose answers can be efficiently verified for correctness/optimality can be solved optimally with an efficient algorithm. Given the abundance of such optimization problems in everyday life, a positive answer to the "P vs. NP" question would likely have profound practical and philosophical consequences. Cook conjectures that there are optimization problems (with easily checkable solutions) that cannot be solved by efficient algorithms, i.e., P is not equal to NP. This conjecture has generated a great deal of research in
computational complexity theory, which has considerably improved our understanding of the inherent difficulty of computational problems and what can be computed efficiently. Yet, the conjecture remains open and is among the seven famous
Millennium Prize Problems. In 1982, Cook received the Turing Award for his contributions to complexity theory. His citation reads: For his advancement of our understanding of the complexity of computation in a significant and profound way. His seminal paper,
The Complexity of Theorem Proving Procedures, presented at the 1971 ACM SIGACT Symposium on the Theory of Computing, laid the foundations for the theory of NP-Completeness. The ensuing exploration of the boundaries and nature of NP-complete class of problems has been one of the most active and important research activities in computer science for the last decade. In his "Feasibly Constructive Proofs and the Propositional Calculus" paper published in 1975, he introduced the equational theory PV (standing for Polynomial-time Verifiable) to formalize the notion of proofs using only polynomial-time concepts. He made another major contribution to the field in his 1979 paper, joint with his student
Robert A. Reckhow, "The Relative Efficiency of Propositional Proof Systems", in which they formalized the notions of
p-simulation and efficient
propositional proof system, which started an area now called propositional
proof complexity. They proved that the existence of a proof system in which every true formula has a short proof is equivalent to
NP =
coNP. Cook co-authored a book with his student
Phuong The Nguyen in this area titled "Logical Foundations of Proof Complexity". His main research areas are
complexity theory and
proof complexity, with excursions into
programming language semantics,
parallel computation, and
artificial intelligence. Other areas that he has contributed to include
bounded arithmetic, bounded
reverse mathematics,
complexity of higher type functions,
complexity of analysis, and lower bounds in propositional
proof systems.
Some other contributions He named the complexity class
NC after
Nick Pippenger. The complexity class
SC is named after him. The definition of the complexity class
AC0 and its hierarchy
AC are also introduced by him. According to
Don Knuth the
KMP algorithm was inspired by Cook's automata for recognizing concatenated palindromes in
linear time. ==Awards and honors==