Logik für Informatiker Wintersemester 2007/08 Thomas Schwentick Teil B: Prädikatenlogik 6. Eigenschaften Version von: 4. Februar 2008(17:25) Inhalt 6.1 Vollständigkeit und Co. 6.2 Algorithmen und Unentscheidbarkeit 6.3 Unvollständigkeit 6.4 Grenzen der Ausdrucksfähigkeit Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 1 Der Vollständigkeitssatz der Prädikatenlogik • Sei F eine PL-Formel und F eine Menge von PL-Formeln • Wir schreiben F ` F , falls gilt: (1) es gibt eine endliche Teilmenge F0 ⊆ F, (2) es gibt eine Klauselmenge K, die der Matrixklauselform von F 0 ∪ {¬F } entspricht, und (3) ∅ ∈ Res∞(K) • Informell: wir schreiben F ` F , falls es einen prädikatenlogischen Resolutionsbeweis für die Unerfüllbarkeit von F ∪ {¬F } gibt Satz 6.1 [Gödelscher Vollständigkeitssatz (1930)] • Sei F eine PL-Formel und F eine Menge von PL-Formeln Beweisskizze • Wir skizzieren nur den Beweis für endliche Formelmengen F • Nach Definition gilt F |= F genau dann wenn F ∪ {¬F } unerfüllbar ist • Sei F 0 die Konjunktion der Formeln in F ∪ {¬F } • Sei K die Matrixklauselform zu F 0 (und damit auch zu F ∪ {¬F }) • Mit Satz 5.7 folgt dann die Behauptung • Gödel hat den Satz für einen anderen Beweiskalkül bewiesen • Er gilt auch für viele weitere Beweiskalküle der Prädikatenlogik (später mehr) • Der Satz gilt auch für die Prädikatenlogik mit Gleichheit, der Beweis ist aber komplizierter • Dann gilt: F |= F ⇐⇒ F ` F Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 2 Der Endlichkeitssatz der Prädikatenlogik Satz 6.2 [Endlichkeitssatz] Eine unendliche Menge F von PL-Formeln ist genau dann erfüllbar, wenn jede endliche Teilmenge von F erfüllbar ist Beweis • Der Satz folgt direkt aus dem Vollständigkeitssatz und der Tatsache, dass Resolutionsbeweise nur endlich viele Klauseln verwenden • Genauer: – Klar: Ist F erfüllbar, so auch jede (endliche) Teilmenge – Andererseits: ∗ Sei F unerfüllbar ➨ Es gibt einen Resolutionsbeweis für die Unerfüllbarkeit von F ➨ Dieser Beweis verwendet nur Klauseln aus einer endlichen Teilmenge F 0 ⊆ F ➨ F 0 ist unerfüllbar Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 3 Prädikatenlogik mit Gleichheit • In der Prädikatenlogik mit Gleichheit können Formeln F wie z.B. ∀x f (x) = x formuliert werden • Klar: diese Formel ist erfüllbar, aber sie hat kein Herbrand-Modell (so wie wir es bisher definiert haben) • Der Vollständigkeitssatz gilt trotzdem auch für die Prädikatenlogik mit Gleichheit • Der Beweis erfordert jedoch eine Modifikation der Definition von Herbrand-Modellen: – Statt der Menge aller Terme wird die Menge aller Äquivalenzklassen von Termen verwendet hinsichtlich der Äquivalenzrelation s ∼ t :⇐⇒ F ` s = t – Das macht den Beweis nicht gerade einfacher... • Der Endlichkeitssatz gilt entsprechend ebenfalls für die Prädikatenlogik mit Gleichheit • Der Satz von Löwenheim-Skolem gilt in einer leicht modifizierten Form: – Die Formel ¬∃x ∃y ¬(x = y) drückt aus, dass eine Struktur höchstens ein Element enthält ➞ Sie hat sicher kein abzählbares Modell – Der Satz von Löwenheim-Skolem für die Prädikatenlogik mit Gleichheit garantiert deshalb nur ein abzählbares oder endliches Modell Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 4 Andere Beweiskalküle: Hilbertkalküle • Es gibt eine Vielzahl teilweise sehr • • • unterschiedlicher Beweiskalküle der Prädikatenlogik Hier: Hilbertkalkül Ein Hilbertbeweis für eine Aussage F `H F ist eine Folge F1 , . . . , Fn mit – Fn = F – Jedes Fi ist entweder ∗ ein Axiom, oder ∗ in F , oder ∗ geht durch Anwendung einer Schlussregel aus Formeln Fj , Fk hervor mit j, k < i Schlussregeln: – Modus ponens: G – Generalisierung: • Wir betrachten einen Beispielbeweis des aussagenlogischen Hilbertkalküls • AX bezeichne die Menge aller Formeln, die sich in einer der drei folgenden Formen schreiben lassen: (A1) [F1 → (F2 → F3 )] → [(F1 → F2 ) → (F1 → F3 )] (A2) F1 → (F2 → F1 ) (A3) (¬F1 → ¬F2 ) → (F2 → F1 ) • Ein Beweis von AX |= F → F könnte dann wie folgt geführt werden: (1) [F → ((F → F ) → F )] → [(F → (F → F )) → (F → F )] G → G0 G0 G(c) (2) (3) ∀x G(x) • Obwohl der Hilbert-Kalkül zunächst sehr natürlich wirkt, ist es recht schwierig, Hilbert-Beweise zu finden Logik für Inf. / Schwentick / WiSe 07/08 (4) (5) (A1) (A2) F → ((F → F ) → F ) (F → (F → F )) → (F → F ) F → (F → F ) F →F B: Prädikatenlogik - 6. Eigenschaften (MP aus (1) und (2)) (A2) (MP aus (3) und (4)) Folie 5 Andere Beweiskalküle: Sequenzenkalküle • Sequenzen-Kalkül: – Im Sequenzenkalkül werden Paare (Γ, ∆) von endlichen Formelmengen verwendet – Schreibweise: Γ ⇒ ∆ – Γ ⇒ ∆ heißt gültig, falls jedes Modell von Γ auch Modell mindestens einer Formel aus ∆ ist – Eine typische Schlussregel: Γ ∪ {F } ⇒ ∆ Γ ∪ {G} ⇒ ∆ Γ ∪ {F ∨ G} ⇒ ∆ • • (Die Mengenklammern werden meistens weggelassen) Es ist meist einfacher, Beweise im Sequenzenkalkül zu finden Außerdem lassen sich in vielen Fällen sogar Modelle (Gegenbeispiele) konstruieren • Im nächsten Kapitel lernen wir noch den Tableau-Kalkül kennen Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 6 Andere Beweiskalküle: Sequenzenkalküle (Forts.) • Schlussregeln des AL-Sequenzenkalküls: (¬ ⇒) (∨ ⇒) (∧ ⇒) Γ ⇒ ∆, F Γ, ¬F ⇒ ∆ Γ, F ⇒ ∆ Γ, G ⇒ ∆ Γ, F ∨ G ⇒ ∆ Γ, F, G ⇒ ∆ Γ, F ∧ G ⇒ ∆ Γ, F ⇒ ∆ (⇒ ¬) Γ ⇒ ∆, ¬F Γ ⇒ ∆, F, G (⇒ ∨) Γ ⇒ ∆, F ∨ G Γ ⇒ ∆, F Γ ⇒ ∆, G (⇒ ∧) Γ ⇒ ∆, F ∧ G • Schlussregeln des PL-Sequenzenkalküls (ohne Gleichheit): (∃ ⇒) (∀ ⇒) Γ, F [x/c] ⇒ ∆ Γ, ∃x F (x) ⇒ ∆ Γ, F [x/t] ⇒ ∆ Γ, ∀x F (x) ⇒ ∆ (∗) (⇒ ∃) (#) (⇒ ∀) Γ ⇒ ∆, F [x/t] Γ ⇒ ∆, ∃x F (x) Γ ⇒ ∆, F (c) Γ ⇒ ∆, ∀x F (x) (#) (∗) #: F darf nur eine freie Variable x haben und t muss ein Grundterm sein ∗: c darf nicht in Γ, ∆ oder F vorkommen Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 7 Andere Beweiskalküle: Sequenzenkalküle (Forts.) • Beispiel eines Beweises von ∃x ∀y R(x, y) |= ∀y ∃x R(x, y) mit dem prädikatenlogischen Sequenzenkalkül • Es wird versucht, die Zielsequenz schrittweise auf (im Allgemeinen mehrere) Axiome zurückzuführen ∃x ∀y R(x, y) ⇒ ∀y ∃x R(x, y) (∃ ⇒) ∀y R(c, y) ⇒ ∀y ∃x R(x, y) (⇒ ∀) ∀y R(c, y) ⇒ ∃x R(x, d) (∀ ⇒) R(c, d) ⇒ ∃x R(x, d) (⇒ ∃) R(c, d) ⇒ R(c, d) Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 8 Hilbert und Gödel Kurz-Bio: David Hilbert • • • • • • • • Kurz-Bio: Kurt Gödel Geboren: 23.1.1862 in Königsberg Studium in Königsberg Professor in Göttingen von 1895-1934 Bedeutendster Mathematiker zu Beginn des 20. Jahrhunderts Fundamentale Beiträge zu den meisten Gebieten der Mathematik Hilberts Programm Hilberts 23 Probleme Gestorben: 14.2.1943 in Göttingen Logik für Inf. / Schwentick / WiSe 07/08 • • • • • • • Geboren: 28.4.1906 in Brno (Brünn) Studium in Wien (Physik, Mathematik) Promotion 1930: Vollständigkeitssatz 1931: Unvollständigkeitssätze Ab 1933 häufig (ab 1940 dauernd) in Princeton Zusammenarbeit mit (u.a.) von Neumann und Einstein Gestorben: 14.1.1978 in Princeton B: Prädikatenlogik - 6. Eigenschaften Folie 9 Inhalt 6.1 Vollständigkeit und Co. 6.2 Algorithmen und Unentscheidbarkeit 6.3 Unvollständigkeit 6.4 Grenzen der Ausdrucksfähigkeit Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 10 Algorithmische Auswertung prädikatenlogischer Formeln • Ziel: Algorithmus, der bei Eingabe einer endlichen Struktur und einer Formel die Menge aller Tupel berechnet, die die Formel wahr machen • Wir schreiben Frei(F ) für die Menge der freien Variablen der Formel F • Im Folgenden sei immer Frei(F ) ⊆ {x1 , . . . , xk}, für ein k • Für eine Formel F mit Frei(F ) ⊆ {x1 , . . . , xk} und eine Struktur A mit Grundmenge A bezeichne F (A, k) die Menge aller k-Tupel (a1 , . . . , ak) ∈ Ak mit (A, [x1 7→ a1 , . . . , xk 7→ ak]) |= F Definition: PL-W ERT Gegeben: Struktur A, k, PL-Formel F mit Frei(F ) ⊆ {x1 , . . . , xk} Ergebnis: • Es soll hier nur das prinzipielle Vorgehen betrachtet werden, keine ausgefeilten Optimierungen (Datenstrukturen) • Für den „Daten-Zugriff“ nehmen wir deshalb nur die Existenz einer Programm-Funktion Eval an, die für jede Struktur A mit Grundmenge A die folgenden Eigenschaften hat: – Eval(f, a1 , . . . , an) liefert den Wert f A(a1 , . . . , an), für jede Funktion fA – Eval(c) liefert den Wert cA, für jede Konstante cA – Eval(R, a1 , . . . , an) liefert den Wert 1, falls (a1 , . . . , an) ∈ RA (andernfalls 0), für jede Relation RA F (A, k) Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 11 Algorithmische Auswertung prädikatenlogischer Formeln (Forts.) • Wir beschränken uns auf Formeln in reduzierter Form (nur ∃, ∨, ¬) Alg. 6.3 [PL-Auswertungs-Alg.: WERT] Eingabe: k, PL-Formel F mit Frei(F ) ⊆ {x1 , . . . , xk}, Ausgabe: F (A, k) 1: case F ist 2: R(t1 , . . . , tl ): 3: Return REL(A, F, k) 4: ¬G: 5: Return NEG(A, F, k) 6: G1 ∨ G2 : 7: Return OR(A, F, k) 8: ∃x G: 9: Return EX(A, F, k) Eingabe: k, PL-Term t mit Frei(t) ⊆ {x1 , . . . , xk}, Elemente aufgeführt Sie ist gewissermaßen in Eval verkapselt Logik für Inf. / Schwentick / WiSe 07/08 Auswertung von Termen und die vier Funktionsunterprogramme REL, NEG, OR, EX Alg. TERM • Die Struktur A wird nicht als Parameter • • Wir betrachten jetzt ein Hilfsprogramm zur a1 , . . . , ak ∈ A Ausgabe: tA(a1 , . . . , ak) 1: case t ist 2: xi, für ein i: 3: Return ai 4: c: 5: Return Eval(c) 6: f (t1 , . . . , tl ): 7: for i := 1 TO l do 8: bi := TERM(k, ti, a1 , . . . , ak) 9: Return Eval(f, b1 , . . . , bl) B: Prädikatenlogik - 6. Eigenschaften Folie 12 Algorithmische Auswertung prädikatenlogischer Formeln (Forts.) Alg. REL Alg. OR Eingabe: k, F = R(t1 , . . . , tl) mit Frei(F ) ⊆ {x1 , . . . , xk} Ausgabe: F (A, k) 1: 2: 3: 4: 5: 6: 7: S := ∅ for (a1 , . . . , ak) ∈ Ak do for i := 1 TO l do bi := TERM(k, ti, a1 , . . . , ak) if Eval(R, b1 , . . . , bl) = 1 then S := S ∪ {(a1 , . . . , ak)} Return S Alg. NEG 3: 4: 5: 6: 4: 5: 6: S := ∅ for (a1 , . . . , ak) ∈ Ak do if (a1 , . . . , ak) ∈ S1 oder (a1 , . . . , ak) ∈ S2 then S := S ∪ {(a1 , . . . , ak)} Return S Alg. EX S := ∅ for (a1 , . . . , ak) ∈ Ak do if (a1 , . . . , ak) 6∈ S 0 then S := S ∪ {(a1 , . . . , ak)} Return S Logik für Inf. / Schwentick / WiSe 07/08 3: 7: Eingabe: k, F = ¬G mit Frei(F ) ⊆ {x1 , . . . , xk} Ausgabe: F (A, k) 0 1: S := WERT(k, G) 2: Eingabe: k, F = F1 ∨ F2 mit Frei(F ) ⊆ {x1 , . . . , xk} Ausgabe: F (A, k) 1: S1 := WERT(k, F1 ) 2: S2 := WERT(k, F2 ) Eingabe: k, F = ∃xk+1 G mit Frei(F ) ⊆ {x1 , . . . , xk} Ausgabe: F (A, k) 0 1: S := WERT(k + 1, G) 2: 3: 4: 5: S := ∅ for (a1 , . . . , ak+1 ) ∈ S 0 do S := S ∪ {(a1 , . . . , ak)} Return S B: Prädikatenlogik - 6. Eigenschaften Folie 13 Algorithmische Auswertung von PL-Formeln: Beispiel Beispiel a b e g G= c d f F (x1 ) = (∃x2 E(x1 , x2 )) ∧ ¬∃x2 E(x2 , x1 ) WERT(2, E(x1 , x2 )) x1 a c d d b f x2 b a b e e f Logik für Inf. / Schwentick / WiSe 07/08 WERT(2, E(x2 , x1 )) x1 b a b e e f WERT(1, ∃x2 x2 a c d d b f B: Prädikatenlogik - 6. Eigenschaften E(x1 , x2 )) x1 a c d b f Folie 14 Alg. Auswertung von PL-Formeln: Beispiel (Forts.) Beispiel a b e g G= c d f F (x1 ) = (∃x2 E(x1 , x2 )) ∧ ¬∃x2 E(x2 , x1 ) WERT(1, ∃x2 E(x2 , x1 )) WERT(1, ¬∃x2 E(x2 , x1 )) x1 b a e f Logik für Inf. / Schwentick / WiSe 07/08 x1 c d g B: Prädikatenlogik - 6. Eigenschaften WERT(1, F ) x1 c d Folie 15 Algorithmische Auswertung prädikatenlogischer Formeln (Forts.) Satz 6.4 (a) Algorithmus WERT löst das Auswertungsproblem für prädikatenlogische Formeln in Zeit O(|A|k|F |), falls k die maximale Anzahl freier Variablen einer Teilformel von F ist (b) Das Problem PL-W ERT ist vollständig für die Komplexitätsklasse PSPACE • Die Zeitschranke in (a) gilt für eine halbwegs effiziente Implementierung • Die Komplexitätsklasse PSPACE ist eine Oberklasse von NP: – Das Auswertungsproblem für prädikatenlogische Formeln ist also vermutlich schwieriger als das Erfüllbarkeitsproblem für aussagenlogische Formeln • Die Prädikatenlogik entspricht genau der relationalen Algebra und damit • • • dem Kern der Datenbank-Anfragesprache SQL Zur Erinnerung: Relationale Datenbanken lassen sich durch endliche Strukturen ohne Funktionen und Konstanten repräsentieren Algorithmus WERT kann also als Anfrageauswertungs-Algorithmus verwendet werden Die hohe Komplexität spielt in der Praxis zum Glück keine Rolle Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 16 Entscheidungsprobleme für die Prädikatenlogik • Wir haben ein Verfahren, das die • • • • Unerfüllbarkeit einer PL-Formel nachweist Bei Eingabe einer PL-Formel F hat es – die Ausgabe „unerfüllbar“, falls F unerfüllbar ist und – keine Ausgabe, falls F erfüllbar ist Wir hätten gerne ein Verfahren, das bei Eingabe einer PL-Formel F – die Ausgabe „unerfüllbar“ hat, falls F unerfüllbar ist und – die Ausgabe „erfüllbar“ hat, falls F erfüllbar ist Für die Aussagenlogik gibt es solche Verfahren: – Wahrheitstafel – Resolution – und viele Andere Falls es kein solches Verfahren geben sollte, wie ließe sich das beweisen? Logik für Inf. / Schwentick / WiSe 07/08 • Entscheidungsproblem zu einer Menge L: Gegeben: „Kandidat“ x Frage: Ist x ∈ L? • L heißt entscheidbar, falls es einen Algorithmus gibt, der bei Eingabe x – die Ausgabe „ja“ hat, falls x ∈ L und – die Ausgabe „nein“ hat, falls x 6∈ L • L heißt semientscheidbar, falls es einen Algorithmus gibt, der bei Eingabe x – die Ausgabe „ja“ hat, falls x ∈ L und – nicht anhält, falls x 6∈ L • Für eine Definition des Begriffes Algorithmus • siehe GTI Klar: es gibt nicht entscheidbare Mengen von PL-Formeln, denn: – Es gibt nur abzählbar viele Algorithmen – Es gibt überabzählbar viele Mengen von Formeln B: Prädikatenlogik - 6. Eigenschaften Folie 17 Entscheidungsprobleme für die Prädikatenlogik (Forts.) Satz 6.5 • Wir betrachten das Entscheidungsproblem zu den folgenden Mengen von PL-Formeln: – L1 = Menge der erfüllbaren Formeln – L2 = Menge der unerfüllbaren Formeln – L3 = Menge der Tautologien – L4 = Menge der endlich erfüllbaren Formeln (a) L2 , L3 , L4 sind semientscheidbar, aber nicht entscheidbar (b) L1 ist nicht semientscheidbar Beweisskizze • Dass L2 und L3 semientscheidbar sind, wissen wir schon • Die Semientscheidbarkeit von L4 folgt, da allgemein gültig endlich erfüllbar erfüllbar aber nicht allgemein gültig unerfüllbar die endlichen Strukturen systematisch aufgezählt werden können, und so ein endliches Modell immer gefunden wird • Wir betrachten nun die Unentscheidbarkeit von L3 • Die Unentscheidbarkeit von L3 wurde (unabhängig) von Church und Turing im Jahre 1936 bewiesen Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 18 Alonso Church und Alan Turing Kurz-Bio: Alan Turing Kurz-Bio: Alonzo Church • Geboren: 14.6.1903 in Washington • Studium in Princeton, Ph.D.: 1927 • Sein Beweis der Unentscheidbarkeit der ➞ • Prädikatenlogik führte außerdem den Lambda-Kalkül ein Grundlage der funktionalen Programmierung Gestorben am 11.8.1995 in Princeton • Geboren: 23.6.1912 in Paddington, London • 1931-1934: King’s College, Cambridge • 1936: On computable numbers with an • • • • Logik für Inf. / Schwentick / WiSe 07/08 application to the Entscheidungsproblem 1938-1945: maßgeblich an der Entschlüsselung der deutschen Enigma-Chiffrier-Maschine beteiligt 1945-1950: Mitarbeit an Entwicklung und Programmierung eines der ersten Computer 1948: Marathon in 2h46 7.6.1954: Selbstmord B: Prädikatenlogik - 6. Eigenschaften Folie 19 Ein sehr schwieriges algorithmisches Problem Definition: Postsches Korrespondenzproblem (PCP) Gegeben: zwei String-Folgen x1 , . . . , xk und y1 , . . . , yk über dem Alphabet {0, 1} Frage: Gibt es einen String w 6= , der sowohl aus xis als auch aus yis zusammen gesetzt werden kann mit derselben Indexfolge? Zwei Beispiele x1 = 1 x2 = 10 x1 x3 x2 x3 = 011 x3 1 0 1 1 1 0 0 1 1 y1 y1 = 101 y3 y2 y3 y2 = 00 y3 = 11 • Die Eingabe 10, 011, 101 und 101, 11, 011 hat keine Lösung Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 20 Ein komplizierteres Beispiel Drittes Beispiel • x = 001, 01, 01, 10; y = 0, 011, 101, 011 Drittes Beispiel: minimale Lösung 01 10 01 10 10 01 001 01 10 01 10 01 10 10 01 10 10 01 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} x2 x4 x3 x4 x4 x2 x1 x2 x4 x3 x4 x3 x4 x4 x3 x4 x4 x2 001 10 10 01 001 01 10 001 001 01 10 10 10 01 001 01 001 001 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} x1 x4 x4 x2 x1 x3 x4 x1 x1 x3 x4 x4 x4 x2 x1 x2 x1 x1 001 01 10 01 10 001 01 001 10 10 01 001 10 001 001 01 10 001 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} x1 x3 x4 x3 x4 x1 x2 x1 x4 x4 x2 x1 x4 x1 x1 x3 x4 x1 001 01 001 001 01 001 01 001 10 001 001 01 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} x1 x3 x1 x1 x3 x1 x2 x1 x4 x1 x1 x3 = 011 001 101 001 001 011 0 011 001 101 001 101 001 001 101 001 001 011 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} y2 y4 y3 y4 y4 y2 y1 y2 y4 y3 y4 y3 y4 y4 y3 y4 y4 y2 0 001 001 011 0 101 001 0 0 101 001 001 001 011 0 011 0 0 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} y1 y4 y4 y2 y1 y3 y4 y1 y1 y3 y4 y4 y4 y2 y1 y2 y1 y1 0 101 001 101 001 0 011 0 001 001 011 0 001 0 0 101 001 0 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} y1 y3 y4 y3 y4 y1 y2 y1 y4 y4 y2 y1 y4 y1 y1 y3 y4 y1 0 101 0 0 101 0 011 0 001 0 0 101 |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z} y1 y3 Logik für Inf. / Schwentick / WiSe 07/08 y1 y1 y3 y1 y2 y1 y4 y1 B: Prädikatenlogik - 6. Eigenschaften y1 y3 Folie 21 Entscheidungsprobleme für die Prädikatenlogik (Forts.) Satz 6.6 Beweisskizze (Forts.) • Das PCP-Problem ist semientscheidbar • Seien also x1 , . . . , xk und y1 , . . . , yk und unentscheidbar Beweisskizze: Unentscheidbarkeit von L3 • Wir zeigen: Wäre L3 entscheidbar, so • • auch das PCP-Problem Daraus folgt direkt, dass L3 nicht entscheidbar ist Im Beweis kodieren wir 0-1-Strings durch Terme mit a sowie f0 und f1 • Beispiel: 011 ≡ f1 (f1 (f0 (a))) • Den zu einem String u gehörigen Term bezeichnen wir mit tu(x) • Also: t011 (x) = f1 (f1 (f0 (x))) • Außerdem verwenden wir ein 2-stelliges Relationssymbol P mit der Intention: – ((tu (a))A , (tv (a))A ) ∈ P A ⇐⇒ es gibt i1 , . . . , in mit ∗ u = xi1 · · · xin und • eine Eingabe für das PCP-Problem Sei F1 die Formel P (a, a)∧ (∀u ∀v P (u, v) → Vk i=1 P (txi (u), tyi (v)))∧ ∀z f0 (z) 6= a ∧ f1 (z) 6= a • Sei F2 die Formel ∃w w 6= a ∧ P (w, w) • Es lässt sich zeigen: Die Eingabe hat eine Lösung ⇐⇒ F1 → F2 ist allgemein gültig • Es folgt damit auch direkt, dass die Menge L1 der erfüllbaren Formeln nicht entscheidbar ist, wegen: F Tautologie ⇐⇒ ¬F unerfüllbar ∗ v = yi1 · · · yin Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 22 Exkurs: Axiomensysteme und Theorien (1/3) • Sei eine Signatur fest gewählt • Eine Formelmenge T heißt Theorie , falls sie – erfüllbar und – unter Folgerungen abgeschlossen ist (also: T |= F ⇒ F ∈ T Satz 6.7 (a) Jede axiomatisierbare Theorie ist semientscheidbar (b) Jede axiomatisierbare, vollständige Theorie ist entscheidbar ) Satz 6.8 • T heißt vollständig , falls für jede (a) T h(N, +) ist entscheidbar geschlossene Formel F gilt: F ∈ T oder ¬F ∈ T (b) T h(R, +, ×) ist entscheidbar • Eine Formelmenge F ⊆ T heißt (c) T h(N, +, ×) ist unentscheidbar Axiomensystem für T , falls F |= T (d) T h(N, +, ×) ist nicht axiomatisierbar • T heißt endlich axiomatisierbar , falls es • (a): Presburger (1929) ein endliches Axiomensystem hat • (b): Tarski (1929) • T heißt axiomatisierbar , falls es ein entscheidbares Axiomensystem für T • (c),(d): Church (1936) gibt • Ist A eine Struktur, so sei T h(A) die Menge aller in A gültigen geschlossenen • Formeln Klar: T h(A) ist immer vollständig Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 23 Exkurs: Axiomensysteme und Theorien (2/3) • Wir betrachten ein Axiomensystem für die natürlichen Zahlen (ähnlich dem Axiomensystem von Peano) • Als Signatur verwenden wir das Konstantensymbol 0 und das 1-stellige (s(n) entspricht n + 1) Funktionssymbol s • Erster Versuch: (1) ∀x ∀y s(x) = s(y) → x = y (Keine zwei verschiedenen Zahlen haben den selben Nachfolger) (2) ∀x s(x) 6= 0 (0 ist nicht Nachfolger irgend einer Zahl) (3) ∀M (M (0) ∧ ∀x M (x) → M (s(x))) → (∀x M (x)) (Jede Menge M , die 0 enthält und für die mit einem Element n auch s(n) enthält enthält alle natürlichen Zahlen) • (3) können wir in dieser Form natürlich nicht verwenden: es ist eine Formel der Prädikatenlogik zweiter Stufe, da es eine Quantifizierung über Mengen (statt Elemente) enthält • Stattdessen verwenden wir eine unendliche Menge von Axiomen, eines für jede PL-Formel der Form F (x, y1 , . . . , yk): (3’) ∀y1 · · · ∀yk (F (0, y1 , . . . , yk)∧ ∀x F (x, y1 , . . . , yk) → F (s(x), y1 , . . . , yk)) → (∀x F (x, y1 , . . . , yk)) • Die Peano-Arithmetik hat zusätzlich Axiome für die Addition und die Multiplikation Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 24 Exkurs: Axiomensysteme und Theorien (3/3) • Wir fügen noch ein 2-stelliges Relationssymbol < hinzu • PAX bezeichne die Menge mit den • folgenden Formeln: – Axiome (1), (2) – alle Formeln der Form (3’) – Formeln, die ausdrücken, dass ≤ eine lineare Ordnung ist, und – ∀x x ≤ s(x) Wie gut beschreibt PAX die natürlichen Zahlen? • Es ist leicht zu sehen, dass PAX außer dem „normalen“ Modell der natürlichen Zahlen noch weitere Modelle hat: – Sei Fi die Formel si(0) < c (wobei si(0) den Term mit i Anwendungen von s auf 0 bezeichnet) – Sei PAX+ die Menge PAX ∪ {Fi | i ≥ 0} – Klar: Jede endliche Teilmenge von PAX+ hat ein Modell ➨ PAX+ hat ein Modell M (Endlichkeitssatz) – Es gibt also in M ein Element cM, das größer ist als alle Elemente der Form si(0) ➞ cM wird Nichtstandard-Element genannt und M ist ein Nichtstandard-Modell von PAX • Ein Beispiel für ein Nichtstandardmodell von PAX: – Universum: {(0, n) | n ∈ N} ∪ {(1, z) | z ∈ Z} – s(n, m) = (n, m + 1) – ≤: lexikographische Ordnung Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 25 Inhalt 6.1 Vollständigkeit und Co. 6.2 Algorithmen und Unentscheidbarkeit 6.3 Unvollständigkeit 6.4 Grenzen der Ausdrucksfähigkeit Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 26 Die Gödelschen Unvollständigkeitssätze • Zur Erinnerung: der Gödelsche Vollständigkeitssatz sagt: F |= F ⇐⇒ F ` F • Die Unvollständigkeitssätze geben weitere Grenzen • • • • für Hilberts Programm an Aus Zeitgründen werden sie hier nicht ausführlich behandelt sondern nur intuitiv angedeutet Eine Formelmenge F heißt widerspruchsfrei, falls es keine Formel F gibt mit F ` F und F ` ¬F 1. Gödelscher Unvollständigkeitssatz: Ist F widerspruchsfrei und „mindestens so ausdrucksstark wie die Peano-Arithmetik“, so gibt es eine Formel F mit F 6` F und F 6` ¬F – Beweisidee: kodiere Formeln und Beweise durch Zahlen („Gödelisierung“) und wähle dann eine Formel F , die ausdrückt, dass es für F keinen Beweis gibt 2. Gödelscher Unvollständigkeitssatz: Die Widerspruchsfreiheit einer solchen Menge F lässt sich nicht aus F beweisen (`) Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 27 Inhalt 6.1 Vollständigkeit und Co. 6.2 Algorithmen und Unentscheidbarkeit 6.3 Unvollständigkeit 6.4 Grenzen der Ausdrucksfähigkeit Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 28 Logik und Datenbanken • Schon erwähnt: die Prädikatenlogik kann genau alle Anfragen der relationalen Algebra (RA) beschreiben (und damit auch alle „einfachen“ SQL-Anfragen) Beispiel • Eine Datenbank enthalte eine Relation SFAEHRT, die Informationen über zur Zeit (!) aktive S-Bahn-Teilstücke enthält: SFAEHRT Linie Von Nach 1 Do-Universität Do-Dorstfeld Süd 1 Do-Dorstfeld Süd Do-Dorstfeld 4 Do-Dorstfeld Do West 4 Do West Do Möllerbrücke • Die folgende Anfrage ergibt alle Paare (u, v), für die die Station v von der Station u aus zwei Stationen entfernt ist: SELECT A.Von, B.Nach FROM SFAEHRT A, SFAEHRT B WHERE A.Nach = B.Von • Sie ist auch durch folgende Formel ausdrückbar: F (x, y) ≡ ∃z ∃z1 ∃z2 SFAEHRT(z1 , x, z) ∧ SFAEHRT(z2 , z, y) Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 29 Ausdrucksstärke der Prädikatenlogik • Um zu beweisen, dass eine Anfrage nicht durch die RA ausgedrückt werden können, genügt es also, zu zeigen, dass es keine PL-Formel gibt, die sie ausdrückt • Aber wie? • Beispielanfrage R EACH(u, v): alle Paare (u, v), für die die Station v von der Station u aus erreichbar ist • Behauptung: R EACH(u, v) kann nicht durch eine PL-Formel ausgedrückt werden • Wir werden hier zwei Methoden zum Beweis dieser Aussage betrachten: – Ehrenfeucht-Spiele – Lokalität Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 30 Ehrenfeucht-Spiele: Beispiel 1 Beispiel 1 1 2 2 erfüllt F sch r e V erfüllt F nicht en ie d ! Gleich! F = ∃x∀y E(x, y) ∨ x = y Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 31 Ehrenfeucht-Spiele • Die Bedeutung von Ehrenfeucht-Spielen Definition • k-Runden-Ehrenfeucht-Spiele: – Zwei Spieler (Spoiler und Duplicator) spielen auf zwei Strukturen A, B – In k aufeinander folgenden Spielrunden – wählt zunächst der Spoiler ein Element von A oder B und – dann der Duplicator ein Element der jeweils anderen Struktur • Sind a1 , . . . , ak die in A gewählten Elemente und b1 , . . . , bk die in B gewählten Elemente, so gewinnt der Duplicator, falls die Teilstrukturen A[a1 , . . . , ak] und B[b1 , . . . , bk] isomorph sind via ai 7→ bi Logik für Inf. / Schwentick / WiSe 07/08 ergibt sich durch den folgenden Satz: Satz 6.9 [Ehrenfeucht, Fraïssé (1953,1961)] • Für eine Menge M von Strukturen (zu einer festen Signatur) sind äquivalent: (1) Es gibt eine PL-Formel F mit A |= F ⇐⇒ A ∈ M (2) Es gibt ein k, so dass für beliebige (passende) Strukturen A ∈ M und B 6∈ M der Spoiler eine Gewinnstrategie im k-Runden-Ehrenfeucht-Spiel hat • Es gilt sogar: k kann als „Quantoren-Tiefe“ von F gewählt werden • Um zu zeigen, dass M nicht ausdrückbar ist, genügt es also zu beweisen: – Für jedes k gibt es A ∈ M und B 6∈ M , für die der Duplicator eine Gewinnstrategie im k-Runden-Ehrenfeucht-Spiel hat B: Prädikatenlogik - 6. Eigenschaften Folie 32 Ehrenfeucht-Spiel: Zweites Beispiel Beispiel 2: 3 Runden-EF-Spiel 3 1 2 1 2 3 chi s r Ve Logik für Inf. / Schwentick / WiSe 07/08 n! e d e Gleich! B: Prädikatenlogik - 6. Eigenschaften Folie 33 Unausdrückbarkeit der R EACH-Anfrage: EF-Spiel • Zur Erinnerung: R EACH(u, v) liefert alle Paare (u, v), für die die Station v von der Station u erreichbar ist • Wir illustrieren jetzt grob einen EF-Spiel-Beweis dafür, dass R EACH nicht durch eine PL-Formel ausdrückbar ist • Aus „technischen“ Gründen zeigen wir die äquivalente Aussage, dass es keine PL-Formel gibt, die für gerichtete Graphen G mit Kantenrelation E und zwei Konstanten c, d genau dann wahr wird, falls es in G einen Weg von c nach d gibt • Für ein beliebiges k wählen wir dafür zwei Graphen G, G0 mit Konstanten c, d und c0, d0, für die gilt: – In G existiert ein Weg von c nach d – In G0 existiert kein Weg von c0 nach d0 – Der Duplicator hat eine Gewinnstrategie für das k-Runden-EF-Spiel auf (G, c, d) und (G0, c0, d0) Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 34 Unausdrückbarkeit der R EACH-Anfrage: EF-Spiel (Forts.) Beweisidee mit Ehrenfeucht-Spiel: k Runden c0 #$%&'() 1234567 c G 1 > 2k−2 G0 1 3 !" *+,-./0 k−3 >2 2k + 1 Logik für Inf. / Schwentick / WiSe 07/08 2 2 d d0 B: Prädikatenlogik - 6. Eigenschaften Folie 35 Unausdrückbarkeit der R EACH-Anfrage: Lokalität • Sei A eine Struktur (ohne Funktionen) • Der Gaifman-Graph GA zu A hat – die selbe Grundmenge wie A und – eine (ungerichtete) Kante von (u, v), wenn u und v gemeinsam in einem Tupel einer Relation von A vorkommen • Der Abstand dA(u, v) zweier Elemente von A ist ihr Abstand in GA • Sei u = (u1 , . . . , uk) ein k-Tupel von Elementen aus A – dA(v, u) : minimaler Abstand zwischen v und einem ui – UdA(u) : Menge der Elemente v von A mit d(v, u) ≤ d – • Eine Anfrage q heißt Gaifman-lokal , falls es ein d ≥ 0 gibt, so dass für jede Struktur A und beliebige Tupel u und v gilt: NdA(u) ∼ = NdA(v) =⇒ (u ∈ q(A) ⇐⇒ v ∈ q(A)) • (Hierbei bezeichnet q(A) das Ergebnis von Anfrage q für die Struktur A) Satz 6.10 [Gaifman 1982] • Jede in der Prädikatenlogik ausdrückbare Anfrage ist Gaifman-lokal • Die R EACH-Anfrage ist nicht Gaifman-lokal ➨ Sie ist nicht in der Prädikatenlogik ausdrückbar NdA(u) : Die von UdA(u) induzierte Teilstruktur von A mit Konstanten-Tupel u Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 36 Zusammenfassung • Gute Nachrichten: – F |= F und F ` F sind äquivalente Aussagen, jede – – – – – Folgerung lässt sich also beweisen Um die Unerfüllbarkeit einer Formelmenge zu erkennen, genügt es, ihre endlichen Teilmengen zu betrachten Diese Aussagen gelten auch für die Prädikatenlogik mit Gleichheit Es gibt eine Vielzahl weiterer Kalküle, die F ` F äquivalent definieren PL-Formeln können auf endlichen Strukturen algorithmisch ausgewertet werden Es gibt Methoden zum Nachweis, dass eine Eigenschaft von Strukturen nicht in PL ausdrückbar ist: Ehrenfeucht-Spiele und Lokalität • Schlechte Nachrichten: – Fragen hinsichtlich der Erfüllbarkeit oder Gültigkeit von PL-Formeln sind algorithmisch nicht lösbar – Die Gödelschen Unvollständigkeitssätze geben weitere Grenzen der formalen Methode an Logik für Inf. / Schwentick / WiSe 07/08 B: Prädikatenlogik - 6. Eigenschaften Folie 37