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