Cook’s Theorem
The class NP can be defined as the class of problems decidable by a nondeterministic Turing machine in polynomial time. This theorem shows that SAT is NP-complete by encoding the operation of any nondeterministic Turing machine by a boolean formula, in such a way that the machine accepts if and only if that formula is SATisfiable.
Historically speaking, the notion of NP-completeness was introduced in Richard Karp’s seminal paper (Reducibility Among Combinatorial Problems), where he defined NP-completeness, used Cook’s theorem, and in one big shot, proved 21 problems NP-complete.