Um teorema da dicotomia (grosseira) afirma que, em uma certa classe de problemas, cada problema é difícil ou P ou NP. Por exemplo, o teorema da dicotomia de Schaefer diz respeito à classe de problemas da forma . Aqui é um conjunto de relações booleanas, e é o problema de decidir satisfiability de proposições que são conjunções de relações de . Isso é melhor explicado por um exemplo. O problema 2SAT é com consiste nos três predicados a seguir:
SAT(S)SSAT(S)SSAT(S2)S2
(x,y)↦x∨y,(x,y)↦x∨¬y,(x,y)↦¬x∨¬y.
Ou seja, cada instância do 2SAT é uma conjunção de cláusulas de uma dessas três formas, onde é possível substituir as variáveis desejadas por . Como outro exemplo,
HORNSAT é que é a seguinte coleção infinita:
o teorema da dicotomia de Schaefer afirma que, para cada
finitox,ySAT(SH)SHx↦x,x↦¬x,(x,y)↦x∨¬y,(x,y)↦¬x∨¬y,(x,y,z)↦x∨¬y∨¬z,(x,y,z)↦¬x∨¬y∨¬z,(x,y,z,w)↦x∨¬y∨¬z∨¬w,(x,y,z,w)↦¬x∨¬y∨¬z∨¬w,…
S , o problema está em P ou está completo em NP (esta é uma
dicotomia, pois existem apenas duas possibilidades). Por exemplo, 2SAT e -HORNSAT estão em P para cada , enquanto 3SAT é NP-completo. Isso é surpreendente, pois se acreditarmos que P NP, o teorema de Ladner mostra que existem problemas intermediários - problemas que não estão nem em P nem em NP completos. O teorema de Schaefer mostra que esses problemas não podem ter a forma .
SAT(S)kk≠SAT(S)
Uma versão mais refinada do teorema de Schaefer afirma que está co-NLOGTIME, L-completo, NL-completo, L-completo, P-completo ou NP-completo. Nos últimos anos, inúmeras generalizações do teorema de Schaefer foram comprovadas ou conjecturadas, incluindo resultados sobre soluções de contagem e aproximação do número máximo de cláusulas satisfatórias, além de resultados sobre domínios não-booleanos. A conjetura principal é a conjetura de dicotomia Feder-Vardi, que afirma que o teorema de Schaefer vale para relações em domínios arbitrários de tamanho finito. Para o status do teorema original de Schaefer no caso em que é infinito, veja esta pergunta .SAT(S)⊕S