Cooke-Levinův teorém (také jen Cookův teorém ) říká, že problém splnitelnosti pro booleovskou formuli v CNF ( SAT ) je NP-úplný .
Důkaz tohoto teorému, který získal Stephen Cook ve své základní práci v roce 1971 , byl jedním z prvních důležitých výsledků teorie NP-úplných problémů. Nezávisle ve stejné době tuto větu dokázal sovětský matematik Leonid Levin [1] .
V důkazu Cookovy věty je každý problém z třídy NP výslovně redukován na SAT. S. Cook definoval třídu NP problémů rozpoznávání vlastností následovně. Úloha patří do třídy NP, pokud:
Tato třída, jak později ukázal R. Karp, zase obsahuje další širokou třídu problémů, nazvanou Karpem NP-complete problems , neboli NPC, redukované jedna na druhou v rámci této třídy.
Poté, co se objevily Cookovy výsledky, byla NP-úplnost prokázána u mnoha dalších problémů. V tomto případě se nejčastěji pro prokázání NP-úplnosti určitého problému zadává polynomiální redukce problému SAT na daný problém, případně v několika krocích, tedy pomocí několika meziproblémů.