Logik für Informatiker - LS1

Werbung
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
Herunterladen