Vorlesung “Logik” Sommersemester 2011 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Universum
Motivation: Um die Erfüllbarkeit/Unerfüllbarkeit einer
prädikatenlogischen Formel zu testen, müsste man ungeheuer viele
Strukturen durchprobieren.
Vorlesung “Logik”
Sommersemester 2011
Universität Duisburg-Essen
Wir zeigen im folgenden, dass es reicht nur ganz bestimmte
Strukturen, sogenannte Herbrand-Strukturen—benannt nach dem
Logiker Jacques Herbrand—zu testen.
Barbara König
Übungsleitung: Christoph Blume
Diese können immer noch ein unendlich großes Universum haben
und unendlich viele sein, sind aber dennoch wesentlich
überschaubarer.
Darauf aufbauend kann dann ein automatisches Verfahren
entwickelt werden, dass mit Hilfe von Resolution die
Unerfüllbarkeit einer prädikatenlogischen Formel überprüft.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
1
Barbara König
Aussagenlogik
Prädikatenlogik
Herbrand-Universum
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
175
Herbrand-Universum
Definition (Herbrand-Universum)
Das Herbrand-Universum D(F ) einer geschlossenen Formel F in
Skolemform ist die Menge aller variablenfreie Terme, die aus den
Bestandteilen von F gebildet werden können. Falls in F keine
Konstante vorkommt, wählen wir zunächst eine beliebige
Konstante, zum Beispiel a, und bilden dann die variablenfreien
Terme.
Beispiel: Bestimmen Sie die Herbrand-Universen zu folgenden
Formeln
F1 = ∀x P(f (x), g (a))
F2 = ∀x∀y Q(h(x, y ))
F3 = ∀x P(x)
D(F ) wird wie folgt induktiv definiert:
1
2
Alle in F vorkommenden Konstanten sind in D(F ). Falls F
keine Konstante enthält, so ist a in D(F ).
Für jedes in F vorkommende n-stellige Funktionssymbol f und
Terme t1 , . . . , tn in D(F ) ist der Term f (t1 , . . . , tn ) in D(F ).
Barbara König
Logik
176
Barbara König
Logik
177
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Strukturen
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Strukturen
Definition (Herbrand-Struktur)
Für eine Herbrand-Struktur A vereinfacht sich das
Überführungslemma:
Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende
Struktur A = (UA , IA ) eine Herbrand-Struktur für F , falls
folgendes gilt:
1
2
Lemma (Überführungslemma für Herbrand-Strukturen)
UA = D(F ),
Sei A eine Herbrand-Struktur. Dann gilt für jede Formel F , jede
Variable x und jeden variablenfreien Term t:
für jedes in F vorkommende n-stellige Funktionssymbol f und
t1 , t2 , . . . , tn ∈ D(F ) ist f A (t1 , t2 , . . . , tn ) = f (t1 , t2 , . . . , tn ).
A(F [x/t]) = A[x/t] (F ).
Idee: Jeder variablenfreie Term t wird “durch sich selbst”
interpretiert, d.h., A(t) = t. (Vermischung von Syntax und
Semantik.)
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
178
Aussagenlogik
Prädikatenlogik
Der fundamentale Satz der Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
179
Der fundamentale Satz der Prädikatenlogik
Beispiel zum vorherigen Satz: Gegeben sei die Formel
F = ∀x P(x, f (x))
Satz
Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar,
wenn F ein Herbrand-Modell besitzt.
Aufgaben:
Bestimmen Sie ein beliebiges Modell A von F .
Anschließend definieren Sie ein Herbrand-Modell B von F ,
dessen Relation P B analog zu P A definiert ist. (So wie im
Beweis zum vorherigen Satz beschrieben.)
Barbara König
Logik
180
Barbara König
Logik
181
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Expansion
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Satz von Löwenheim-Skolem
Wiederholung: Abzählbarkeit
Definition (Abzählbarkeit)
Definition (Herbrand-Expansion)
Eine Menge M heißt abzählbar, wenn es eine surjektive Abbildung
f : N → M gibt. Das heißt es gibt eine (nicht notwendigerweise
konstruktive) Aufzählung f (0), f (1), f (2), . . . aller Elemente von
M, in der jedes Element von M mindestens einmal vorkommt.
Sei F = ∀y1 ∀y2 . . . ∀yn F ∗ eine Aussage in Skolemform. Dann ist
E (F ) die Herbrand-Expansion von F , definiert als
E (F ) = {F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ] | t1 , t2 , . . . , tn ∈ D(F )}
Bemerkungen:
Beispiele für abzählbare Mengen sind N, Q (die Menge der
rationalen Zahlen bzw. Brüche) und die Menge aller Terme,
die aus einer endlichen Menge von Funktionssymbolen
gebildet werden. (Daher: ein Herbrand-Universum D(F ) ist
immer abzählbar.)
Die Menge R der reellen Zahlen ist nicht abzählbar.
Die Formeln in E (F ) entstehen also, indem die Terme in D(F ) in
jeder möglichen Weise für die Variablen in F ∗ substituiert werden.
Bemerkung: Da das Herbrand-Universum D(F ) abzählbar ist, ist
auch die Menge E (F ) abzählbar.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
182
Barbara König
Aussagenlogik
Prädikatenlogik
Herbrand-Expansion
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
183
Herbrand-Expansion
Idee: Behandle die Formeln in der Herbrand-Expansion wie
aussagenlogische Formeln. D.h., betrachte jedes auftauchende
Prädikat P(t1 , . . . , tn ) wie eine atomare Formel A.
Beispiel:
Beispiel: Bestimme die Herbrand-Expansion der Formel
E (F ) = {F1 , F2 , . . . }.
Sei beispielsweise
∀x∀y ∀zP(x, f (y ), g (z, x)).
F1 = (P(f (a), f (b)) ∨ Q(g (a, b)) ∨ P(a, b)) ∧ P(f (a), f (b)) .
|
{z
} | {z } | {z }
|
{z
}
A
B
C
A
Dies entspricht (A ∨ B ∨ C ) ∧ A.
Eine Formel in der Herbrand-Expansion ist erfüllbar, genau dann,
wenn sie im aussagenlogischen Sinne erfüllbar ist.
Barbara König
Logik
184
Barbara König
Logik
185
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Satz von Gödel-Herbrand-Skolem
Satz von Gödel-Herbrand-Skolem
A ist ein Herbrand-Modell für F
gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt:
Satz (Gödel-Herbrand-Skolem)
Für jede Aussage F in Skolemform gilt: F ist erfüllbar genau dann,
wenn die Formelmenge E (F ) (im aussagenlogischen Sinn) erfüllbar
ist.
A[y1 /t1 ][y2 /t2 ]...[yn /tn ] (F ∗ ) = 1
gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt:
A(F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ]) = 1
Beweis: Es genügt zu zeigen, dass F ein Herbrand-Modell besitzt
genau dann, wenn E (F ) erfüllbar ist.
Die Formel F habe die Form ∀y1 ∀y2 . . . ∀yn F ∗ . Es gilt:
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
gdw. für alle G ∈ E (F ) gilt A(G ) = 1
gdw. A ist ein Modell für E (F )
186
Barbara König
Aussagenlogik
Prädikatenlogik
Satz von Herbrand
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
187
Algorithmus von Gilmore
Sei F eine prädikatenlogische Aussage in Skolemform und sei
{F1 , F2 , F3 , . . . } eine Aufzählung von E (F ).
Satz (Herbrand)
Algorithmus von Gilmore
Eingabe: F
Eine Aussage F in Skolemform ist unerfüllbar genau dann, wenn es
eine endliche Teilmenge von E (F ) gibt, die (im aussagenlogischen
Sinn) unerfüllbar ist.
Beweis: Ummittelbare Folge des Satzes von
Gödel-Herbrand-Skolem und des Endlichkeitssatzes.
Barbara König
Logik
n := 0;
repeat
n := n + 1;
until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar;
Gib “unerfüllbar” aus und stoppe.
Endlichkeitssatz
188
Barbara König
Logik
189
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Algorithmus von Gilmore
Bemerkungen zum Algorithmus von Gilmore:
Man wählt eine beliebige unendliche Aufzählung F1 , F2 , F3 , . . .
aller Formeln in E (F ).
Dabei muss nur darauf geachtet werden, dass jede Formel
irgendwann in dieser Aufzählung vorkommt. Das ist möglich,
da E (F ) abzählbar ist.
Beispiel: Zeigen Sie mit Hilfe des Algorithmus von Gilmore, dass
folgende Formeln
Es dürfen Formeln mehrfach vorkommen. Das ist insbesondere
immer dann so, wenn E (F ) endlich ist.
unerfüllbar sind.
F = ∀x∀y (¬P(f (f (x))) ∧ P(f (y )))
G = ∀x (P(f (x)) ∧ ¬P(x))
Wenn alle Formeln in einer endlichen Menge E (F )
abgearbeitet sind, dann kann der Algorithmus auch stoppen
und “erfüllbar” ausgeben.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
190
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
191
Algorithmus von Gilmore
Semi-Entscheidbarkeit (informell)
Aus dem Satz von Herbrand folgt:
Sei M ⊆ X eine Menge (auch Sprache oder Problem genannt). Die
Menge M heißt semi-entscheidbar, wenn es einen Algorithmus A
gibt, der
Falls die Formel F unerfüllbar ist, so stoppt der Algorithmus
von Gilmore nach endlicher Zeit und gibt unerfüllbar aus.
Falls der Algorithmus von Gilmore unerfüllbar ausgibt, so ist F
tatsächlich unerfüllbar.
ein Element x ∈ X als Eingabe nimmt und
genau dann, wenn x ∈ M gilt, terminiert und “x ist in M
enthalten” zurückgibt.
Wenn F jedoch erfüllbar ist, so gibt es keine Garantie dafür, dass
der Algorithmus jemals terminiert.
Der Algorithmus A muss jedoch nicht terminieren, wenn x 6∈ M
gilt. Falls A auch in diesem Fall terminiert und “x ist nicht in M
enthalten” zurückgibt, so heißt M entscheidbar.
Es kann auch gezeigt werden, dass es tatsächlich keinen
Algorithmus gibt, der das Unerfüllbarkeitsproblem der
Prädikatenlogik löst und immer mit der korrekten Antwort
(unerfüllbar bzw. erfüllbar) terminiert.
Barbara König
Barbara König
Logik
Bemerkung: die Begriffe Entscheidbarkeit und
Semi-Entscheidbarkeit werden detailliert in der Vorlesung
“Berechenbarkeit und Komplexität” besprochen.
192
Barbara König
Logik
193
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Semi-Entscheidbarkeitssätze
Semi-Entscheidbarkeitssätze
Satz (Semi-Entscheidbarkeit)
Beweis:
Folgende Probleme sind semi-entscheidbar, jedoch nicht
entscheidbar:
(a) Das Problem ist nicht entscheidbar (ohne Beweis). Der
Algorithmus von Gilmore kann es jedoch “semi-entscheiden”.
(a) Das Unerfüllbarkeitsproblem für prädikatenlogische Formeln.
(b) F gültig gdw. ¬F unerfüllbar.
(b) Das Gültigkeitsproblem für prädikatenlogische Formeln.
(c) F |= G gdw. F → G gültig.
(c) Das Folgerungsproblem für prädikatenlogische Formeln.
(d) F ≡ G gdw. F ↔ G gültig.
(d) Das Äquivalenzproblem für prädikatenlogische Formeln.
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
194
Barbara König
Aussagenlogik
Prädikatenlogik
Satz von Löwenheim-Skolem
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
195
Resolution in der Prädikatenlogik
Abzählbarkeit
Satz (Löwenheim-Skolem)
Jede erfüllbare Formel der Prädikatenlogik besitzt bereits ein
abzählbares Modell (also eines mit abzählbarer Grundmenge).
Der Algorithmus von Gilmore funktioniert zwar, ist in der Praxis
aber unbrauchbar, weil er zuviele Formeln erzeugt und nicht
zielgerichtet arbeitet.
Beweis: Aus F gewinnen wir G in Skolemform mit:
Daher ist unser Programm der nächsten Stunden:
F hat ein Modell mit Grundmenge X genau dann, wenn
G ein Modell mit Grundmenge X hat.
Wie sieht Resolution in der Prädikatenlogik aus?
F erfüllbar ⇒ G erfüllbar ⇒ G besitzt ein Herbrand-Modell (U, I1 )
⇒ F besitzt ein Modell (U, I2 ) ⇒ F besitzt ein abzählbares Modell
(da U abzählbar)
Barbara König
Logik
196
Barbara König
Logik
197
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Wiederholung: Resolution in der Aussagenlogik
Anpassung des Algorithmus von Gilmore
Resolutionsschritt:
Algorithmus von Gilmore:
Sei F eine prädikatenlogische Aussage in Skolemform und sei
{F1 , F2 , F3 , . . . , } eine Aufzählung von E (F ).
{L0 , . . . , L0m , ¬A}
{L1 , . . . , Ln , A}
j1
jjjj
j
j
j
jjjj
jjjj
TTTT
TTTT
TTTT
TTT
{L1 , . . . , Ln , L01 , . . . , L0m }
Eingabe: F
Mini-Beispiel:
{¬A, B}
II
II
II
II
I
{A}
zz
zz
zz
z
z
{B} QQ
QQQ
QQQ
QQQ
QQQ
QQ
n := 0;
repeat n := n + 1;
until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar;
(dies kann mit Mitteln der Aussagenlogik,
beispielsweise Wahrheitstafeln, getestet werden)
Gib “unerfüllbar” aus und stoppe.
{¬B}
“Mittel der Aussagenlogik”
Unerfüllbarkeitstest
Eine Klauselmenge ist unerfüllbar genau dann, wenn die leere
Klausel abgeleitet werden kann.
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
198
Barbara König
Aussagenlogik
Prädikatenlogik
Definition von Res(M) (Wiederholung)
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
199
Grundresolutionsalgorithmus
Sei F1 , F2 , . . . weiterhin die Aufzählung der Herbrand-Expansion.
Definition
Sei M eine Klauselmenge. Dann ist Res(M) definiert als
Grundresolutionsalgorithmus
Eingabe: eine Aussage F in Skolemform
Res(M) = M ∪ {R | R ist Resolvent zweier Klauseln in M}.
i := 0;
M := ∅;
repeat
i := i + 1; M := M ∪ Fi ; M := Res∗ (M)
until ∈ M
Außerdem setzen wir:
Res 0 (M) = M
Res n+1 (M) = Res(Res n (M))
wir verwenden Resolution für den
für n ≥ 0
Gib “unerfüllbar” aus und stoppe.
und schließlich sei
Res ∗ (M) =
[
Res n (M).
Warum der Name Grundresolution? Im Gegensatz zu späteren
Verfahren werden Terme ohne Variable (= Grundterme)
substituiert, um die Formeln der Herbrand-Expansion zu erhalten.
n≥0
Barbara König
Logik
200
Barbara König
Logik
201
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Grundresolutionssatz
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Grundresolutionsalgorithmus
Aus dem Grundresolutionsalgorithmus ergibt sich folgender Satz:
Grundresolutionssatz
Eine Aussage in Skolemform F = ∀y1 . . . ∀yk F ∗ mit der Matrix F ∗
in KNF ist unerfüllbar genau dann, wenn es eine Folge von
Klauseln K1 , . . . , Kn gibt mit der Eigenschaft:
Beispiel: Zeigen Sie mit Hilfe von Grundresolution, dass folgende
Formel in Klauselform unerfüllbar ist.
Kn ist die leere Klausel
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (a))}}
Für i = 1, . . . , n gilt:
entweder ist Ki eine Grundinstanz einer Klausel K ∈ F ∗ ,
d.h. Ki = K [y1 /t1 ] . . . [yk /tk ] mit ti ∈ D(F )
oder Ki ist (aussagenlogischer) Resolvent zweier Klauseln
Ka , Kb mit a < i und b < i
Weglassen von Klauseln und Resolutionsschritten, die nicht zur
Herleitung der leeren Klausel beitragen.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
202
Aussagenlogik
Prädikatenlogik
Grundresolutionssatz
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
203
Grundresolutionssatz
Bei der Grundresolution kann man unnötigerweise in Sackgassen
laufen.
Idee: Variablen nur noch so weit “wie nötig” durch Terme ersetzen.
Statt Grundtermen Terme mit Variablen verwenden.
Beispiel:
{P(f (x)), Q(x)}
Barbara König
{¬P(f (g (y )))}
RRR
RRR
RRR
R
[x/g (f (a))] RRRR
{¬Q(g (a))}
{P(f (x)), Q(x)}
{{
{{
[y /f (a)]
{
{
{{
{
{Q(g (f (a)))} {{{
{
{{
{
{
{{
{{
{¬P(f (g (y )))}
RRR
RRR
RRR
R
[x/g (y )] RRRR
?
{¬Q(g (a))}
{{
{{
{
{{
{{
{
{Q(g (y ))} {{{ []
{{
{{
[y /a]
{
{
{{
[]
Besser wäre gewesen, die Variable x durch g (a) anstatt durch
g (f (a)) zu ersetzen. Aber woher kann man das vorher wissen?
Barbara König
Logik
204
Barbara König
Logik
205
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Wiederholung: Substitutionen
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Vertauschen von Substitutionen
Eine Substitution sub ist eine Abbildung von Variablen auf Terme.
Vertauschen von Substitutionen
Regel für das Vertauschen von Substitutionen:
F sub: Anwendung der Substitution sub auf die Formel F
t sub: Anwendung der Substitution sub auf den Term t
[x/t]sub = sub[x/t sub],
Eine Substitution kann auch als Folge von Ersetzungen beschrieben
werden:
[x/f (z)] [y /g (a, z)] [z/h(w )]
falls x in sub nicht vorkommt, d.h. weder ersetzt noch eingesetzt
wird.
entspricht folgender entflochtener Substitution:
Beispiele:
[x/f (h(w )), y /g (a, h(w )), z/h(w )].
[x/f (y )] [y /g (z)] = [y /g (z)][x/f (g (z))]
| {z }
Ersetzungen werden von links nach rechts durchgeführt!
sub
aber: [x/f (y )] [x/g (z)] 6= [x/g (z)][x/f (y )]
| {z }
Verknüpfung von Substitutionen: sub 1 sub 2 (zuerst wird sub 1
angewandt, anschließend sub 2 ).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
sub
206
Aussagenlogik
Prädikatenlogik
Unifikator/Allgemeinster Unifikator
207
Beispiele: Bestimmen Sie die allgemeinsten Unifikatoren folgender
Mengen (falls sie existieren):
Gegeben sei eine Menge L = {L1 , . . . , Lk } von Literalen. Eine
Substitution sub heißt Unifikator von L, falls
{P(x), P(f (y ))}
{P(x), Q(y )}
L1 sub = L2 sub = · · · = Lk sub
{Q(x, f (x)), Q(y , g (y ))}
Das ist gleichbedeutend mit |Lsub| = 1, wobei
Lsub = {L1 sub, . . . , Lk sub}.
{P(x), P(f (x))}
{Q(x, f (y )), Q(g (z), f (x))}
{Q(x, f (y )), Q(g (y ), f (x))}
Ein Unifikator sub von L heißt allgemeinster Unifikator von L, falls
für jeden Unifikator sub 0 von L gilt, dass es eine Substitution s gibt
mit sub 0 = sub s.
Logik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Unifikator/Allgemeinster Unifikator
Definition (Unifikation)
Barbara König
Barbara König
{Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
208
Barbara König
Logik
209
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Unifikator/Allgemeinster Unifikator
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Unifikationsalgorithmus
Unifikationsalgorithmus
Bemerkungen:
Eingabe: eine Literalmenge L 6= ∅
Eine Menge von Literalen kann mehrere allgemeinste
Unifikatoren haben.
sub := []; (leere Substitution)
while |Lsub| > 1 do
Suche die erste Position, an der sich zwei Literale L1 , L2
aus Lsub unterscheiden
if keines der beiden Zeichen ist eine Variable
then stoppe mit “nicht unifizierbar”
else Sei x die Variable und t der Term im anderen Literal
(möglicherweise auch eine Variable)
if x kommt in t vor
then stoppe mit “nicht unifizierbar”
else sub := sub [x/t]
Beispielsweise sind sowohl [y /f (x)] als auch [x/z][y /f (z)]
allgemeinste Unifikatoren von {P(f (x)), P(y )}.
Alle allgemeinsten Unifikatoren kann man jedoch durch
einfache Variablenumbenennung ineinander umformen.
Eine Menge L von (mehr als zwei) Literalen kann unter
Umständen nicht unifizierbar sein, auch wenn alle Paare von
Literalen unifizierbar sind.
Beispiel: {Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
Ausgabe: sub
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
210
Barbara König
Aussagenlogik
Prädikatenlogik
Unifikationsalgorithmus
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
211
Korrektheit des Unifikationsalgorithmus
Satz (Korrektheit des Unifikationsalgorithmus)
Der Unifikationsalgorithmus terminiert immer und gibt bei
Eingabe einer nicht-unifizierbaren Literalmenge “nicht
unifizierbar” aus.
Beispiel: Wende den Unifikationsalgorithmus auf folgende
Literalmenge an
Wenn eine Menge L von Literalen unifizierbar ist, dann findet
der Unifikationsalgorithmus immer den allgemeinsten
Unifikator von L.
L = {¬P(f (z, g (a, y )), h(z)), ¬P(f (f (u, v ), w ), h(f (a, b)))}
Bemerkung: hier sind a, b Konstanten und y , z, u, v , w Variablen
Das bedeutet unter anderem auch, dass jede unifizierbare Menge
von Literalen einen allgemeinsten Unifikator hat (Unifikationssatz
von Robinson).
Barbara König
Logik
212
Barbara König
Logik
213
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Prädikatenlogische Resolution
Prädikatenlogische Resolution
Schreibweise:
Zu resolvierende Literale unterstreichen und
Substitutionen angeben
Definition (Prädikatenlogischer Resolvent)
Eine Klausel R heißt prädikatenlogischer Resolvent zweier Klauseln
K1 , K2 , wenn folgendes gilt:
Beispiel:
Es gibt Substitutionen s1 , s2 , die Variablenumbenennungen
sind, so dass K1 s1 und K2 s2 keine gemeinsamen Variablen
enthalten.
{P(x), P(f (y )), Q(x, y )}
Es gibt Literale L1 , . . . , Lm aus K1 s1 und Literale
aus K2 s2 , so dass L = {L1 , . . . , Ln , L01 , . . . , L0n } unifizierbar ist.
Sei sub der allgemeinste Unifikator von L.
(L bezeichnet das negierte Literal L.)
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
mm
mmm
m
m
mm
mmm s2 =[x/z]
{Q(f (g (z)), g (z))}
Es gilt
R = ((K1 s1 − {L1 , . . . , Lm }) ∪ (K2 s2 − {L01 , . . . , L0n }))sub.
Aussagenlogik
Prädikatenlogik
{¬P(f (g (x)))}
TTTT
TTTT
TTTT
s1 = []
TTT
sub = [x/f (g (z)), y /g (z)]
L01 , . . . , L0n
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Hinweis: Es gibt noch zwei weitere Möglichkeiten, einen
prädikatenlogischen Resolutionsschritt mit diesen Klauseln
auszuführen.
214
Barbara König
Aussagenlogik
Prädikatenlogik
Aufgabe
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
215
Prädikatenlogische Resolution
Sind diese Klauseln resolvierbar?
Wieviele mögliche Resolventen gibt es?
K1
{P(x), Q(x, y )}
{Q(g (x)), R(f (x))}
{P(x), P(f (x))}
K2
{¬P(f (x))}
{¬Q(f (x))}
{¬P(y ), Q(y , z)}
Barbara König
Logik
Beispiel: Leiten Sie aus folgender Klauselmenge die leere Klausel
her (diesmal mit prädikatenlogischer Resolution anstatt
Grundresolution).
Möglichkeiten
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (a))}}
216
Barbara König
Logik
217
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Korrektheit und Vollständigkeit
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Lifting-Lemma
Lifting-Lemma
Zwei Fragen:
Seien K1 , K2 zwei
prädikatenlogische Klauseln und
seien K10 , K20 zwei Grundinstanzen
hiervon, die aussagenlogisch
resolvierbar sind und den
Resolventen R 0 ergeben.
Wenn man mit prädikatenlogischer Resolution aus einer
Formel F die leere Klausel ableiten kann, ist F dann
unerfüllbar? (Korrektheit)
Kann man für eine unerfüllbare Formel F immer durch
prädikatenlogische Resolution die leere Klausel herleiten?
(Vollständigkeit)
Dann gibt es einen
prädikatenlogischen Resolventen R
von K1 , K2 , so dass R 0 eine
Grundinstanz von R ist.
Obiges ist zwar bereits für die Grundresolution bekannt, aber noch
nicht für die prädikatenlogische Resolution.
Barbara König
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Beispiel zum Lifting-Lemma
K10
~~
~~
~
~
~~
0
K2
R
@@
~
@@
~
@@
~~
@ ~~~
R0
—: Resolution
→: Substitution
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
219
n
nnn
n
n
nnn
nnn
{Q(g (y ))}
SSS
SSS
SSS
SSS
SS
Resolutionssatz der Prädikatenlogik
Sei F eine Aussage in Skolemform mit einer Matrix F ∗ in KNF.
Dann gilt: F ist unerfüllbar genau dann, wenn ∈ Res ∗ (F ∗ ).
(Dabei bezeichnet Res die Bildung aller möglichen
prädikatenlogischen Resolventen.)
{¬P(f (g (y )))}
SSS
SSS
SSS
[x/g (a)]
SSS
SS
[y /a]
{¬P(f (g (a)))}
nnn
nnn
n
n
n
nnn
[y /a]
Für den Beweis des Resolutionssatzes benötigen wir noch den
Begriff des Allabschlusses . . .
{Q(g (a))}
Barbara König
K2
@@
@@
@@
@
Resolutionssatz
{P(f (x)), Q(x)}
{P(f (g (a))), Q(g (a))}
Barbara König
218
K1 @
Logik
220
Barbara König
Logik
221
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Resolutionssatz
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Verfeinerung der Resolution (Ausblick)
Für eine Formel H mit freien Variablen x1 , . . . , xn bezeichnen wir
mit
∀H = ∀x1 ∀x2 . . . ∀xn H
Probleme bei der prädikatenlogischen Resolution:
ihren Allabschluss.
Zu viele Wahlmöglichkeiten
Sei F eine Aussage in Skolemform und sei F ∗ deren Matrix in
KNF, so gilt:
^
F ≡ ∀F ∗ ≡
∀K
Immer noch zu viele Sackgassen
Kombinatorische Explosion des Suchraums
Lösungsansätze:
K ∈F ∗
Strategien und Heuristiken: Verbieten bestimmter
Resolutionsschritte, Suchraum wird dadurch eingeschränkt
Beispiel:
F ∗ = P(x, y ) ∧ ¬Q(y , x)
F
Vorsicht: Die Vollständigkeit darf dadurch nicht verloren gehen!
≡ ∀x∀y (P(x, y ) ∧ ¬Q(y , x)) ≡ ∀x∀yP(x, y ) ∧ ∀x∀y (¬Q(y , x))
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
222
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiele
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
223
Beispiele
Wir betrachten folgende Klauselmenge (Beispiel aus dem
Schöning):
Ist die Klauselmenge
{{P(f (x))}, {¬P(f (x)), Q(f (x), x)}, {¬Q(f (a), f (f (a)))},
F
{¬P(x), Q(x, f (x))}}
= {{¬P(x), Q(x), R(x, f (x))}, {¬P(x), Q(x), S(f (x))}, {T (a)},
{P(a)}, {¬R(a, x), T (x)}, {¬T (x), ¬Q(x)}, {¬T (x), ¬S(x)}}
unerfüllbar?
und zeigen ihre Unerfüllbarkeit mit Hilfe des
Resolutionstheorembeweisers otter (siehe auch die Vorstellung
von otter im Kapitel “Aussagenlogik”).
Barbara König
Logik
224
Barbara König
Logik
225
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Das Affe-Banane-Problem (Teil 1)
Wir betrachten folgende prädikatenlogische Formel:
(A1) Ein Tier, das Arme hat und nahe bei einem Ding ist,
kann das Ding erreichen.
F = ∀x(P(x) → P(f (x)))
(A2) Ein Tier auf einem hohen Gegenstand, der unter den
Bananen steht, ist nahe bei den Bananen.
Ist diese Formel gültig, erfüllbar oder unerfüllbar?
(A3) Wenn ein Tier in einem Raum einen Gegenstand zu
einem Ding schiebt, die beide im Raum sind, dann ist
das Ding nahe am Boden oder der Gegenstand ist
unter dem Ding.
Was passiert, wenn Sie als Eingabe für einen
Resolutionstheorembeweiser (wie beispielsweise otter)
verwendet wird?
Diese Formel ist erfüllbar: otter leitet immer neue Klauseln ab
und terminiert nicht.
(A4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf
dem Gegenstand.
(A5) Der Affe ist ein Tier, das Arme hat.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
226
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiele
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
227
Beispiele
Schema für die Lösung solcher Probleme:
Das Affe-Banane-Problem (Teil 2)
Seien A1 , . . . , An die Axiome oder Voraussetzungen und
(A6) Der Stuhl ist ein hoher Gegenstand.
S die Schlussfolgerung.
(A7) Die Bananen sind ein Ding.
Um zu zeigen, dass
(A8) Der Affe, die Bananen und der Stuhl sind im Raum.
A1 ∧ · · · ∧ An → S
(A9) Der Affe kann den Stuhl unter die Bananen schieben.
(A10) Die Bananen sind nicht nahe am Boden.
gültig ist, zeigen wir, dass
(A11) Der Affe kann den Stuhl ersteigen.
A1 ∧ · · · ∧ An ∧ ¬S
(S?) Kann der Affe die Bananen erreichen?
unerfüllbar ist.
Barbara König
Logik
228
Barbara König
Logik
229
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Gruppentheorie
Gruppe: Menge G mit Verknüpfung ◦ : G × G → G
(Infix-Notation)
Die Gruppenaxiome lassen sich folgendermaßen formalisieren:
Assoziativität
∀x∀y ∀zEqual(o(o(x, y ), z), o(x, o(y , z)))
Axiome:
◦ ist assoziativ.
Links-Neutrales und links-Inverses Element
∃x∀y (Equal(o(x, y ), y ) ∧ ∃zEqual(o(z, y ), x))
Es gibt ein neutrales Element e, d.h., für alle x ∈ G gilt
e ◦ x = x.
Jedes Element x hat ein Inverses x −1 , so dass gilt x −1 ◦ x = e.
Nach Skolemisierung: ∀y (Equal(o(e, y ), y ) ∧ Equal(o(i(y ), y ), e)
(Neue Konstante e und neue einstellige Funktion i)
Wir verwenden das Prädikatsymbol Equal (für die Gleichheit) und
das zweistellige Funktionssymbol o (für die Verknüpfung).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
230
Aussagenlogik
Prädikatenlogik
Beispiele
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
231
Beispiele
Zu beweisende Aussagen:
Zu beweisende Aussagen:
Links-Neutrales ist auch Rechts-Neutrales
∀xEqual(o(x, e), x)
Jede Gruppe, in der x ◦ x = e für alle x gilt, ist kommutativ
Nach Negierung und Skolemisierung: ¬Equal(o(a, e), a)
∀xEqual(o(x, x), e) → ∀x∀y (Equal(o(x, y ), o(y , x)))
Nach Negierung und Skolemisierung:
∀x(Equal(o(x, x), e) ∧ ¬Equal(o(a, b), o(b, a)))
Links-Inverses ist auch Rechts-Inverses
∀xEqual(o(x, i(x)), e)
Nach Negierung und Skolemisierung: ¬Equal(o(a, i(a)), e)
Barbara König
Logik
232
Barbara König
Logik
233
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Anwendungen
Zusätzlich werden noch benötigt:
Formalisierung in otter, Teil 1
set(prolog_style_variables).
set(knuth_bendix).
Axiome für das Prädikatsymbol Equal (Gleichheit),
insbesondere Reflexivität, Symmetrie, Transitivität und
Erhaltung unter Prädikaten und Funktionen.
list(sos).
Die effizientere Variante ist jedoch, die eingebaute
Gleichheitsbehandlung von otter zu nutzen.
% Gleichheit ist reflexiv, symmetrisch, transitiv
equal(X,X).
-equal(X,Y) | equal(Y,X).
-equal(X,Y) | -equal(Y,Z) | equal(X,Z).
Dann kann mit Hilfe eines Resolutionsbeweisers wie otter die
Gültigkeit obiger Folgerungen gezeigt werden.
Hinweis: Gruppentheorie ist mit Prädikatenlogik 1. Stufe
beschreibbar. Theorien (wie beispielsweise die Arithmetik), die
auch Quantifizierung über Prädikate oder Mengen und damit
Prädikatenlogik höherer Stufe benötigen, sind mit den vorgestellten
Methoden nicht behandelbar.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
% Gleichheit wird unter Operationen erhalten
-equal(X,Y) | equal(i(X),i(Y)).
-equal(X,Y) | -equal(Z,W) | equal(o(X,Z),o(Y,W)).
234
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendungen
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
235
Anwendungen
Formalisierung in otter, Teil 3
% Folgerung: Links-Inverses ist auch Rechts-Inverses
-equal(o(a,i(a)),e).
Formalisierung in otter, Teil 2
% Assoziativitaet
equal(o(o(X,Y),Z),o(X,o(Y,Z))).
% Folgerung: Links-Neutrales ist auch Rechts-Neutrales
% -equal(o(a,e),a).
% (Links-)Neutrales Element
equal(o(e,Y),Y).
% Jede Gruppe mit X^2 = e fuer alle X ist kommutativ
% equal(o(X,X),e).
% -equal(o(a,b),o(b,a)).
% (Links-)Inverses Element
equal(o(i(Y),Y),e).
end_of_list.
Barbara König
Logik
236
Barbara König
Logik
237
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Anwendungen
Anwendungen der prädikatenlogischen Resolution
Theorembeweiser: Beweis von Sätzen aus der Mathematik
Verifikation: Beweis der Korrektheit von Programmen
Schlussfolgerung in Expertensystemen
Planungssysteme
Logik-Programmierung (PROLOG)
siehe nächstes Kapitel
Bemerkung: Neben Resolution gibt es noch weitere Methoden, die
Unerfüllbarkeit prädikatenlogischer Formeln zu zeigen,
beispielsweise mit Hilfe von Tableau-Beweisen.
Barbara König
Logik
238
Herunterladen