A menos que você esteja traduzindo problemas matemáticos para instâncias do SAT como um exercício de aprendizado, seu tempo será muito mais proveitoso aprendendo sobre teorias de módulos de satisfação . O SMT permitirá que você expresse equações e outras restrições muito mais naturalmente do que nas instâncias Sool booleanas. Alguns solucionadores SMT suportam quantificadores existenciais e universais, permitindo que você vá além do NP e expresse problemas do PSPACE.
Além de serem mais expressivos, os solucionadores SMT são mais rápidos. Não P = NP mais rápido, mas mais eficiente, pois um bom solucionador SMT não descarta informações estruturais específicas da teoria que ajudam a guiar o solucionador pelo espaço de pesquisa. Fazer uma redução de Karp diretamente em uma instância SAT força o solucionador SAT a reaprender toda essa estrutura, geralmente a um custo exponencial. Por exemplo, o fato de a adição ser comutativa é perdido nos solucionadores SAT baseados em DPLL e em pesquisa local; o solucionador não está ciente de que está lidando com números! Para evitar tentar todas as permutações de x + y + z = 10, um solucionador SAT precisa de código de quebra de simetria, o que requer detecção de automorfismo gráfico. Os melhores algoritmos atuais de reconhecimento de automorfismo gráfico exigem tempo exponencial ao número de vértices, na pior das hipóteses,