Computação

Problemas Computacionais da Lógica de Primeira Ordem

Em relação à lógica proposicional, aqui apenas se substitui "proposição" por "fórmula" e "valoração" por "interpretação".


Definição (SAT)

O problema da satisfação (SAT) consiste no conjunto de pares em que é uma fórmula e um valor booleano tal que

Isto é, Determinar se uma fórmula data tem algum modelo.

Nos tipos de fórmulas, uma fórmula que tenha algum modelo é compatível ou satisfazível.


Definição (Validade)

O problema da validade consiste no conjunto de pares em que é uma fórmula e um valor booleano tal que

Isto é, Determinar se uma fórmula dada é válida.

Nos tipos de fórmulas, para uma fórmula válida (tautologia) todas as interpretações são modelos.


Definição (Provabilidade)

O problema da provabilidade consiste no conjunto de pares em que é uma fórmula e um valor booleano tal que

Isto é, Determinar se uma fórmula data tem uma prova.

Um teorema é uma fórmula que tem uma prova (sem hipóteses).


(In)Decidibilidade

Na lógica de primeira ordem o problema SAT é indecidível.

  • Na lógica proposicional, existe um algoritmo (não eficiente) que decide se uma proposição é, ou não, satisfazível.
  • Na lógica de primeira ordem nenhum algoritmo decida, em geral, se uma fórmula é, ou não, satisfazível.
  • Ao contrário do problema SAT proposicional, em que não se sabe se existe um algoritmo eficiente, sobre o SAT de primeira ordem sabe-se que não existe um algorimo, eficiente ou não.

Demonstrar estas afirmações está fora do âmbito desta disciplina.

  • Conhecem-se algoritmos para SAT em classes grandes de fórmulas, mas nenhum tem toda a generalidade.
  • Este assunto é referido na página do Post Correspondence Problem na wikipedia.

Verificação por Modelos

  • A maior expressividade da Lógica de Primeira Ordem em relação à Lógica Proposicional sacrifica a decidibilidade de SAT.
  • Ainda assim, As Amigos de Gandalf mostram que com a verificação de modelos é possível resolver problemas práticos de modelação.