Dans la théorie de la complexité computationnelle, le théorème de Cook -- Levin, également connu sous le nom de théorème de Cook, indique que le problème de satisfabilité booléenne est NP-complet.
Une conséquence importante de ce théorème est que s'il existe un algorithme déterministe de temps polynomial pour résoudre la satisfabilité booléenne, il existe alors un algorithme déterministe de temps polynomial pour résoudre tous les problèmes du NP.