A "Complexidade Computacional" de Papadimitriou afirma que VALIDITY, o problema de decidir se uma fórmula de lógica de primeira ordem (sem aritmética) é válida, é recursivamente enumerável. Isso decorre dos teoremas da completude e da solidez, que igualam VALIDITY e THEOREMHOOD, sendo este último o problema de encontrar uma prova para uma fórmula, que anteriormente havia se mostrado recursivamente enumerável.
No entanto, não estou vendo por que VALIDITY também não é recursiva, porque, dada uma fórmula , pode-se executar duas máquinas de Turing para THEOREMHOOD, uma em e o outro em simultaneamente. Como pelo menos um deles é válido, é sempre possível decidir seé válido ou não é válido. o que estou perdendo?
Nota: esta questão se refere à lógica de primeira ordem sem aritmética, portanto o Teorema da Incompletude de Gödel não tem influência aqui.
fonte
Respostas:
Isto está errado. Uma fórmulaϕ é válido se for válido em todos os modelos.
Não é verdade que pelo menos um dosϕ e ¬ϕ deve ser válido: ambos podem conter alguns modelos, mas não todos.
Exemplo trivial: tome FOL com dois símbolos constantesa,b e a fórmula ϕ≡a=b . Entãoϕ vale em alguns modelos (aqueles que interpretam a e b com o mesmo ponto), mas não todos (um modelo pode mapeá-los para pontos distintos). E, de fato, a FOL não pode provara=b nem a≠b .
fonte
Uma sentença de primeira ordem é válida se for verdadeira em todos os modelos possíveis, isto é, se for verdadeira para todas as escolhas do que significam os símbolos de relação, símbolos de função (se houver) e símbolos constantes. Uma sentença é comprovável em algum sistema de prova se esse sistema de prova contiver uma prova da sentença.
Observe que a provabilidade e a validade são dois conceitos separados, mas sua tentativa de mostrar que a validade é recursiva na verdade determina provabilidade, não validade.
A validade e a provabilidade estão ligadas por mais duas noções:
Portanto, o método proposto seria bom se você estivesse usando um sistema de prova completo e completo: isso significaria que você poderia provar exatamente todas as frases válidas, portanto, decidir a provabilidade seria o mesmo que decidir a validade. Infelizmente, os famosos teoremas da incompletude de Gödel dizem que não existe um sistema de prova completo e sólido para a lógica de primeira ordem.
Portanto, se o seu sistema for sólido (ele só prova coisas verdadeiras), ele está incompleto (não prova todas as coisas verdadeiras). Em particular, existem algumas frasesφ de modo que nem φ nem ¬φ possui uma prova em seu sistema, o que significa que sua máquina de Turing não para na entrada φ , para que ele não decida realmente nenhum idioma. Como alternativa, se o seu sistema estiver completo (ele prova todas as coisas verdadeiras), ele não é doentio: prova pelo menos uma coisa falsa e, de fato, como falso implica alguma coisa, prova que todas as frases são válidas. Nesse caso, a máquina de Turing que você pensou que iria decidir a validade realmente decide Σ∗ .
fonte