Papadimitrious "Computational Complexity" besagt, dass VALIDITY, das Problem der Entscheidung, ob eine logische Formel erster Ordnung (ohne Arithmetik) gültig ist, rekursiv aufzählbar ist. Dies folgt aus den Vollständigkeits- und Soliditätssätzen, die GÜLTIGKEIT und THEOREMHOOD gleichsetzen, wobei letzteres das Problem ist, einen Beweis für eine Formel zu finden, von der zuvor gezeigt wurde, dass sie rekursiv aufzählbar ist.
Ich verstehe jedoch nicht, warum VALIDITY nicht auch rekursiv ist, da bei einer gegebenen Formel zwei Turing-Maschinen für THEOREMHOOD gleichzeitig ausgeführt werden können, eine auf und die andere auf \ neg \ phi . Da mindestens einer von ihnen gültig ist, kann immer entschieden werden, ob \ phi gültig ist oder nicht. Was vermisse ich?
Anmerkung: Diese Frage bezieht sich auf Logik erster Ordnung ohne Arithmetik, daher hat Gödels Unvollständigkeitssatz hier keine Bedeutung.
quelle
Antworten:
Das ist falsch. Eine Formel ist gültig, wenn sie in allen Modellen gilt.ϕ
Es ist nicht wahr, dass mindestens eines von und gültig sein muss: Beide können in einigen Modellen gelten, aber nicht in allen.ϕ ¬ϕ
Triviales Beispiel: Nehmen Sie FOL mit zwei konstanten Symbolen und der Formel . Dann gilt in einigen Modellen (diejenigen, die und mit demselben Punkt interpretieren ), aber nicht in allen (ein Modell kann sie bestimmten Punkten zuordnen). Und tatsächlich kann FOL weder noch beweisen .a,b ϕ≡a=b ϕ a b a=b a≠b
quelle
Ein Satz erster Ordnung ist gültig, wenn er in jedem möglichen Modell wahr ist, dh wenn er für alle Entscheidungen gilt, was die Beziehungssymbole, Funktionssymbole (falls vorhanden) und konstanten Symbole bedeuten. Ein Satz ist in einem Beweissystem nachweisbar , wenn dieses Beweissystem einen Beweis des Satzes enthält.
Beachten Sie, dass Beweisbarkeit und Gültigkeit zwei getrennte Konzepte sind. Ihr Versuch, zu zeigen, dass Gültigkeit rekursiv ist, bestimmt jedoch tatsächlich die Beweisbarkeit und nicht die Gültigkeit.
Gültigkeit und Beweisbarkeit sind durch zwei weitere Begriffe miteinander verbunden:
Ihre vorgeschlagene Methode wäre also in Ordnung, wenn Sie ein solides und vollständiges Beweissystem verwenden würden: Das würde bedeuten, dass Sie genau alle gültigen Sätze beweisen könnten, sodass die Entscheidung über die Beweisbarkeit dasselbe wäre wie die Entscheidung über die Gültigkeit. Leider sagen Gödels berühmte Unvollständigkeitssätze , dass es kein solides und vollständiges Beweissystem für Logik erster Ordnung gibt.
Wenn Ihr System also solide ist (es beweist nur wahre Dinge), ist es unvollständig (es beweist nicht alle wahren Dinge). Insbesondere gibt es einige Sätze so dass weder noch einen Beweis in Ihrem System haben, was bedeutet, dass Ihre Turing-Maschine bei der Eingabe nicht und daher keine Sprache entscheidet . Wenn Ihr System vollständig ist (es beweist alle wahren Dinge), dann ist es nicht in Ordnung: Es beweist mindestens eine falsche Sache, und da falsch irgendetwas impliziert, beweist es tatsächlich, dass jeder Satz gültig ist. In diesem Fall entscheidet die Turing-Maschine, von der Sie dachten, sie würde über die Gültigkeit entscheiden, tatsächlich über .φ φ ¬φ φ Σ∗
quelle