Aussagenlogik Prädikatenlogik Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Motivation: Prädikatenlogik Wir beschäftigen uns nun im folgenden mit der Prädikatenlogik, die gegenüber der Aussagenlogik folgendes erlaubt: Vorlesung “Logik” Wintersemester 2016/17 Universität Duisburg-Essen Man kann über ein beliebiges Universum (= Grundmenge) und dessen Elemente Aussagen machen. Man kann quantifizieren: “für alle x gilt . . . ”; “es gibt ein x, so dass . . . ” Barbara König Übungsleitung: Dennis Nolte, Harsh Beohar Es gibt mehrstellige Prädikatsymbole (interpretiert als Relationen) und mehrstellige Funktionssymbole (interpretiert als Funktionen). Der Aufbau dieses Kapitels ist ähnlich wie bei der Aussagenlogik: wir beginnen mit Grundbegriffen (Syntax, Semantik, Gültigkeit, Erfüllbarkeit), Äquivalenz und Normalformen, und beschäftigen uns dann mit der Resolution. Barbara König Aussagenlogik Prädikatenlogik Logik 1 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Syntax der Prädikatenlogik: Variablen, Terme Logik 130 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Variablen, Terme Definition (Syntax der Prädikatenlogik) Bemerkungen zur Syntax der Prädikatenlogik: Eine Variable hat die Form xi mit i = 1, 2, 3 . . .. Ein Prädikatensymbol hat die Form Pik und ein Funktionssymbol hat die Form fi k mit i = 1, 2, 3 . . . und k = 0, 1, 2 . . .. Hierbei heißt i jeweils der Unterscheidungsindex und k die Stelligkeit (oder Stellenzahl). Es sind auch Funktionssymbole der Stelligkeit 0 eingeschlossen, und in diesem Fall fallen die Klammern weg, d.h., statt c() schreiben wir nur c. Nullstellige Funktionssymbole heißen auch Konstanten(-symbole). Wir definieren nun die Terme durch einen induktiven Prozess: 1 Jede Variable ist ein Term. 2 Falls f ein Funktionssymbol mit der Stelligkeit k ist, und falls t1 , . . . , tk Terme sind, so ist auch f (t1 , . . . , tk ) ein Term. Barbara König Logik Genauso gibt es nullstellige Prädikatsymbole der Form P() bzw. einfach nur P. 131 Barbara König Logik 132 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Syntax der Prädikatenlogik: Variablen, Terme Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Formeln Nun können wir (wiederum induktiv) definieren, was Formeln (der Prädikatenlogik) sind. Weitere Bemerkungen: Für Variablen schreiben wir auch x, y , z, u, v , w , . . . 1 Für Prädikatsymbole schreiben wir auch P, Q, R, S, . . . (die Stelligkeit ergibt sich dann aus dem Kontext). Falls P ein Prädikatsymbol der Stelligkeit k ist, und falls t1 , . . . , tk Terme sind, dann ist P(t1 , . . . , tk ) eine Formel. 2 Für jede Formel F ist auch ¬F eine Formel. Für Funktionssymbole schreiben wir auch f , g , h, . . . (die Stelligkeit ergibt sich dann ebenfalls aus dem Kontext). 3 Für Konstanten(-symbole) schreiben wir auch a, b, c, d, . . . Barbara König Aussagenlogik Prädikatenlogik Logik 4 133 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Logik 134 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Freie und gebundene Variablen Bemerkungen: Definition (Freie und gebundene Variable) Atomare Formeln nennen wir genau diejenigen, die die Form P(t1 , . . . , tn ) haben (gemäß (1)). Falls F eine Formel ist und F als Teil einer Formel G auftritt, so heißt F Teilformel von G . Alle Vorkommen von Variablen in einer Formel werden in freie und gebundene Vorkommen unterteilt. Dabei heißt ein Vorkommen der Variablen x in der Formel F gebunden, falls F eine Formel der Form ∃xG oder ∀xG enthält und x in G vorkommt. Andernfalls heißt dieses Vorkommen von x frei. Quantoren binden stärker als alle anderen Operatoren, d.h., Formeln werden folgendermaßen geklammert: Eine Formel ohne Vorkommen einer freien Variablen heißt geschlossen oder eine Aussage. ∀xP(x) ∧ Q(y ) entspricht (∀xP(x)) ∧ Q(y ) P(x) ∨ ∃yQ(y ) ∨ R(z) entspricht P(x) ∨ (∃yQ(y )) ∨ R(z) Logik Falls x eine Variable ist und F eine Formel, so sind auch ∃xF und ∀xF Formeln. Das Symbol ∃ wird Existenzquantor und ∀ Allquantor genannt. Aussagenlogik Prädikatenlogik Syntax der Prädikatenlogik: Formeln Barbara König Für alle Formeln F und G sind auch (F ∧ G ) und (F ∨ G ) Formeln. 135 Barbara König Logik 136 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Freie und gebundene Variablen Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zur Prädikatenlogik Beispiele für freie und gebundene Variable: ∀xP(x): in dieser Formel kommt x gebunden vor. ∀xQ(x, y ): in dieser Formel kommt x gebunden und y frei vor. (∀xP(x)) ∧ R(x): in dieser Formel hat x sowohl ein gebundenes als auch ein freies Vorkommen. ∀x((∀xP(x)) ∧ R(x)): in dieser Formel ist das erste Vorkommen von x unter dem inneren und das zweite Vorkommen unter dem äußeren Quantor gebunden. NF: Keine Formel NF Die Matrix einer Formel F ist diejenige Formel, die man aus F erhält, indem jedes Vorkommen von ∃ bzw. ∀, samt der dahinterstehenden Variablen gestrichen wird. Symbolisch bezeichnen wir die Matrix der Formel F mit F ∗ . Aussagenlogik Prädikatenlogik 137 Logik F A: Aussage A ∀∃P(x) ∀xP(a) ∀x∃y (Q(x, y ) ∨ R(x, y )) ∀xQ(x, x) → ∃xQ(x, y ) ∀xP(x) ∨ ∀xQ(x, x) ∀P(x) P(x) → ∃x Definition (Matrix) Barbara König F: Formel, aber nicht Aussage Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zur Prädikatenlogik Logik 138 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Definition (Struktur) NF: Keine Formel F: Formel, aber nicht Aussage A: Aussage NF F Eine Struktur ist ein Paar A = (UA , IA ), wobei UA eine beliebige aber nicht-leere Menge ist, die die Grundmenge von A (oder der Grundbereich, der Individuenbereich, das Universum) genannt wird. Ferner ist IA eine Abbildung, die A ∀x¬∀yQ(x, y ) ∧ R(x, y ) ∃z(Q(z, x) ∨ R(y , z)) → ∃y (R(x, y ) ∧ Q(x, z)) ∃x(¬P(x) ∨ P(a)) P(x) → ∃xP(x) ∃x∀y ((P(y ) → Q(x, y )) ∨ ¬P(x)) jedem k-stelligen Prädikatensymbol P (im Definitionsbereich von IA ) eine k-stellige Relation über UA zuordnet, jedem k-stelligen Funktionssymbol f (im Definitionsbereich von IA ) eine k-stellige Funktion auf UA zuordnet, jeder Variablen x (im Definitionsbereich von IA ) ein Element der Grundmenge UA zuordnet. Barbara König Logik 139 Barbara König Logik 140 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Semantik der Prädikatenlogik: Strukturen Bemerkungen zu Strukturen: Die den Prädikatsymbolen zugeordneten Relationen können folgendermaßen dargestellt werden: sei P ein n-stelliges Prädikatsymbol, dann schreiben wir P A = IA (P) mit Eine Struktur ist das analoge Konzept zu Belegungen in der Aussagenlogik. Die den Funktionssymbolen zugeordneten Funktionen können folgendermaßen dargestellt werden: sei f ein n-stelliges Funktionssymbol, dann schreiben wir f A = IA (f ) mit n P A ⊆ UA = UA × · · · × UA {z } | n-mal n → UA f A : UA P (a1 , . . . , an ) 7→ f A (a1 , . . . , an ), f : N0 → N0 P A = {(n, m) | n, m ∈ N0 und n ≤ m} n 7→ n + 1 Aussagenlogik Prädikatenlogik = {(a1 , . . . , an ) | a1 , . . . , an ∈ UA und . . . } P A ⊆ N0 × N0 A Logik A beispielsweise die zweistellige ≤-Relation auf den natürlichen Zahlen: beispielsweise die einstellige Nachfolgerfunktion auf den natürlichen Zahlen (UA = N0 = {0, 1, 2, 3, 4, . . . }): Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik 141 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen Logik Semantik der Prädikatenlogik: Strukturen Definition (Passende Struktur) Definition (Wert eines Terms) Sei F eine Formel und A = (UA , IA ) eine Struktur. A heißt zu F passend, falls IA für alle in F vorkommenden Prädikatsymbole, Funktionssymbole und freien Variablen definiert ist. Sei F eine Formel und A eine zu F passende Struktur. Für jeden Term t, den man aus den Bestandteilen von F bilden kann (also aus den freien Variablen und Funktionssymbolen), definieren wir nun den Wert von t in der Struktur A, den wir mit A(t) bezeichnen. Es gilt A(t) ∈ UA . Die Definition ist wieder induktiv. Der Definitionsbereich der Abbildung IA ist also eine Teilmenge von {Pik , fi k , xi | i = 1, 2, 3, . . . und k = 0, 1, 2, . . .} (in der alle Prädikatsymbole, Funktionssymbole und freien Variablen von F enthalten sind) und der Wertebereich (bzw. Bildbereich) von IA ist eine Teilmenge aller Relationen und Funktionen auf UA , sowie der Elemente von UA . Wir schreiben abkürzend statt IA (P) einfach P A , statt IA (f ) einfach f A und statt IA (x) einfach x A . Barbara König Logik 142 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick 1 2 Falls t eine Variable ist (also t = x), so ist A(t) = x A . Falls t die Form t = f (t1 , . . . , tk ) hat, wobei t1 , . . . , tk Terme und f ein k-stelliges Funktionssymbol ist, so ist A(t) = f A (A(t1 ), . . . , A(tk )). Fall (2) schließt auch die Möglichkeit ein, dass f nullstellig ist, d.h., t = a für eine Konstante a. In diesem Fall gilt A(t) = aA . 143 Barbara König Logik 144 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen Semantik der Prädikatenlogik: Strukturen Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert einer Formel F unter der Struktur A, wobei wir ebenfalls die Bezeichnung A(F ) verwenden. Es gilt A(F ) ∈ {0, 1}. Falls F die Form F = (G ∧ H) hat, so ist 1, falls A(G ) = 1 und A(H) = 1 A(F ) = 0, sonst Definition (Wahrheitswert einer Formel) Falls F die Form F = P(t1 , . . . , tk ) hat mit den Termen t1 , . . . , tk und k-stelligem Prädikatsymbol P, so ist 1, falls (A(t1 ), . . . , A(tk )) ∈ P A A(F ) = 0, sonst Falls F die Form F = (G ∨ H) hat, so ist 1, falls A(G ) = 1 oder A(H) = 1 A(F ) = 0, sonst Falls F die Form F = ¬G hat, so ist 1, falls A(G ) = 0 A(F ) = 0, sonst Barbara König Aussagenlogik Prädikatenlogik Logik 145 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: Strukturen 146 Definition (Modell) Falls für eine Formel F und eine zu F passende Struktur A gilt A(F ) = 1, so schreiben wir wieder A |= F . Sprechweise: F gilt in A oder A ist Modell für F . Falls F die Form F = ∃xG hat, so ist 1, falls es ein d ∈ UA gibt mit: A[x/d] (G ) = 1 A(F ) = 0, sonst Gültigkeit, Erfüllbarkeit, Unerfüllbarkeit Falls jede zu F passende Struktur ein Modell für F ist, so schreiben wir |= F , andernfalls 6|= F . Sprechweise: F ist (allgemein-)gültig. Falls es mindestens ein Modell für die Formel F gibt, so heißt F erfüllbar, andernfalls unerfüllbar. Für d ∈ UA steht A[x/d] für diejenige Struktur A0 , die überall mit 0 A identisch ist, bis auf die Definition von x A . Wir definieren 0 x A = d, unabhängig davon, ob IA auf x definiert ist oder nicht. Logik Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Modell, Gültigkeit, Erfüllbarkeit Falls F die Form F = ∀xG hat, so ist 1, falls für alle d ∈ UA gilt: A[x/d] (G ) = 1 A(F ) = 0, sonst Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick 147 Barbara König Logik 148 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Erfüllbarkeit und Gültigkeit Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit Modell A für F = ∀xP(x): Universum UA = N0 Folgende Formeln sind erfüllbar, aber nicht gültig. Finden Sie jeweils eine Struktur, die ein Modell für die Formel ist, und eine Struktur, die kein Modell für die Formel ist. 1 2 P A = N0 (das ist die einzige mögliche Interpretation von P, die zu einem Modell führt) F = ∀xP(x) G = ∀x∃yQ(x, f (y )) Struktur, die kein Modell für F = ∀xP(x) ist: Universum UB = N0 P B = {n | n ∈ N0 , n gerade} Barbara König Aussagenlogik Prädikatenlogik Logik 149 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Erfüllbarkeit und Gültigkeit 150 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit Modell A für G = ∀x∃yQ(x, f (y )) Universum UA = N0 G: Gültig E: Erfüllbar U: Unerfüllbar Q A = {(n, m) | n, m ∈ N0 , n < m} G f A : N0 → N0 mit f A (n) = n + 1 E U ∀xP(a) ∃x(¬P(x) ∨ P(a)) P(a) → ∃xP(x) ∀xP(x) → ∃xP(x) ∀xP(x) ∧ ¬∀yP(y ) ∀xP(x) → ∀xP(f (x)) Struktur, die kein Modell für G = ∀x∃yQ(x, f (y )) ist: Universum UB = N0 Q B = {(n, m) | n, m ∈ N0 , n < m} f B : N0 → N0 mit f B (n) = 1 Bemerkung: diese Strukturen sind natürlich keineswegs die einzigen Beispiele für Modelle bzw. Nicht-Modelle von F , G . Barbara König Logik 151 Barbara König Logik 152 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Prädikatenlogik mit Gleichheit Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit Bei Prädikatenlogik mit Gleichheit sind Formeln genauso aufgebaut, wie bei herkömmlicher Prädikatenlogik, mit dem Unterschied, dass es ein spezielles Prädikat = gibt, das in Infix-Notation verwendet wird. Das heißt, zur Definition der Syntax wird folgender Satz hinzugefügt: G: Gültig E: Erfüllbar U: Unerfüllbar G Falls t1 , t2 Terme sind, dann ist (t1 = t2 ) eine Formel. E U ∃x∃y ∃z(x 6= y ∧ y 6= z ∧ x 6= z) ∀x∀y (x = y → f (x) = f (y )) ∀x∀y (f (x) = f (y ) → x = y ) ∃x∃y ∃z(f (x) = y ∧ f (x) = z ∧ y 6= z) Außerdem steht (t1 6= t2 ) für ¬(t1 = t2 ). Und die Definition des Wahrheitswert einer Formel wird folgendermaßen ergänzt: Falls F die Form F = (t1 = t2 ) hat mit den Termen t1 , t2 , so ist 1, falls A(t1 ) = A(t2 ) A(F ) = 0, sonst Barbara König Aussagenlogik Prädikatenlogik Logik 153 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Tarski’s World Logik 154 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World – Screenshot Tarski’s World Tarski’s World ist eine Lehrsoftware für Prädikatenlogik, entworfen von Jon Barwise und John Etchemendy. Dabei werden die Formeln auf einem Schachbrett evaluiert, auf dem sich Tetraeder, Würfel und Dodekaeder in drei Größen (small, medium, large) befinden können. Gegenüber der allgemeinen Prädikatenlogik gibt es sowohl Einschränkungen an die Syntax von Formeln als auch an die zulässigen Strukturen. Ob eine Formel für eine bestimmte Welt gilt (oder nicht), kann in einem Spiel gegen den Rechner intuitiv veranschaulicht werden. Barbara König Logik 155 Barbara König Logik 156 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Tarski’s World Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Einschränkungen an die Syntax – zulässige Konstanten und Prädikatsymbole: Einschränkungen an die Semantik – zulässige Strukturen: Universen bestehen immer aus Mengen von Körpern auf dem Schachbrett. Zulässige Konstanten: a, b, c, d, e, f Zulässige Prädikatsymbole (Auswahl): Einstellig: Tet, Cube, Dodec, Small, Medium, Large Zweistellig: Smaller , Larger , BackOf , FrontOf , LeftOf , RightOf Dreistellig: Between Neben den Konstanten kommen in den Formeln bei Tarski’s World keine weiteren Funktionssymbole vor. Die Interpretation der Prädikatsymbole ist durch die Größe und Art der Körper und durch ihre Positionierung auf dem Schachbrett festgelegt. Beispielsweise gilt: Tet(a) bedeutet, dass a ein Tetraeder ist. Smaller (a, b) bedeutet, dass a kleiner als b ist. LeftOf (c, d) sagt aus, dass sich c links von d befindet. Between(a, b, c) sagt aus, dass sich a zwischen b und c befindet. Variablen, aussagenlogische Operatoren und Quantoren können beliebig benutzt werden. Außerdem ist das Prädikat Gleichheit (=) erlaubt. Barbara König Aussagenlogik Prädikatenlogik Logik 157 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Barbara König Aussagenlogik Prädikatenlogik Tarski’s World Logik 158 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Folgerung und Äquivalenz Definition (Folgerung) Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls für jede Struktur, die sowohl zu F1 , . . . , Fk als auch zu G passend ist, gilt: Daraus folgt: Nicht jede Formel, die in jeder Tarski’s World gilt, ist eine im prädikatenlogischen Sinne gültige Formel. Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . Beispiel: ∀x(Small(x) ∨ Medium(x) ∨ Large(x)) Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. Definition (Äquivalenz) Barbara König Logik 159 Zwei Formeln F , G heißen (semantisch) äquivalent, falls für alle Strukturen A, die sowohl für F als auch für G passend sind, gilt A(F ) = A(G ). Hierfür schreiben wir F ≡ G . Barbara König Logik 160 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Folgerung und Äquivalenz 1 2 3 Aufgabe zu Folgerung und Äquivalenz F1 = ∀xP(x) ∨ ∀xQ(x) 1 F2 = ∀x(P(x) ∨ Q(x)) 2 F3 = ∀xP(x) ∨ ∀yQ(y ) J F1 = ∃y ∀xP(x, y ) F2 = ∀x∃yP(x, y ) N F1 |= F2 F2 |= F3 F3 |= F1 Barbara König Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick J N F1 |= F2 F2 |= F1 161 Logik Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Aufgabe zu Folgerung und Äquivalenz Logik 162 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Äquivalenzen Satz (Äquivalenz von prädikatenlogischen Formeln) J ∀x∀yF ≡ ∀y ∀xF ∀x∃yF ≡ ∃x∀yF ∀x∃yF ≡ ∃y ∀xF ∃x∃yF ≡ ∃y ∃xF ∀xF ∨ ∀xG ≡ ∀x(F ∀xF ∧ ∀xG ≡ ∀x(F ∃xF ∨ ∃xG ≡ ∃x(F ∃xF ∧ ∃xG ≡ ∃x(F Seien F und G beliebige Formeln. Dann gilt: N 1 2 ∨ G) ∧ G) ∨ G) ∧ G) 3 4 Barbara König Logik 163 ¬∀xF ≡ ∃x¬F ¬∃xF ≡ ∀x¬F Falls x in G nicht frei vorkommt, gilt: ∀xF ∧ G ≡ ∀x(F ∧ G ) ∀xF ∨ G ≡ ∀x(F ∨ G ) ∃xF ∧ G ≡ ∃x(F ∧ G ) ∃xF ∨ G ≡ ∃x(F ∨ G ) ∀xF ∧ ∀xG ≡ ∀x(F ∧ G ) ∃xF ∨ ∃xG ≡ ∃x(F ∨ G ) ∀x∀yF ≡ ∀y ∀xF ∃x∃yF ≡ ∃y ∃xF Barbara König Logik 164 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Äquivalenzen Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Substitution Definition (Substitution) Sei F eine Formel, x eine Variable und t ein Term. Dann bezeichnet F [x/t] diejenige Formel, die man aus F erhält, wenn man jedes freie Vorkommen der Variablen x in F durch t ersetzt. Durch [x/t] wird eine Substitution beschrieben. Bemerkung: alle Äquivalenzgesetze der Aussagenlogik behalten weiterhin ihre Gültigkeit. Beispiel: Dabei geht man davon aus, dass durch die Substitution keine Variable in t gebunden wird. ∀x¬(P(x) ∧ ¬P(x)) ≡ ∀x(¬P(x) ∨ P(x)) (nach deMorgan) Beispiele für Substitutionen: Barbara König Aussagenlogik Prädikatenlogik Logik 165 P(x) ∨ Q(f (x)) ∨ R(y ) [x/g (y )] = P(g (y )) ∨ Q(f (g (y ))) ∨ R(y ) ∀xP(x) ∨ Q(x) [x/g (y )] = ∀xP(x) ∨ Q(g (y )) Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Substitution Logik 166 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Bereinigte Formeln Definition (Bereinigte Formel) Unterscheidung zwischen F [x/t] und A[x/d] : Eine Formel heißt bereinigt, sofern es keine Variable gibt, die in der Formel sowohl gebunden als auch frei vorkommt, und sofern hinter allen vorkommenden Quantoren verschiedene Variablen stehen. Bei F [x/t] wird eine syntaktische Ersetzung innerhalb der Formel F vorgenommen. Bei A[x/d] wird eine Struktur verändert, d.h., diese Ersetzung bezieht sich auf die Semantik. Lemma (Gebundene Umbenennung) Der Zusammenhang zwischen beiden Notationen ist wie folgt: Sei y eine Variable, die in F nicht vorkommt. Dann gilt: ∃xF ≡ ∃y (F [x/y ]) Überführungslemma Für jede Formel F , jede Variable x und jeden Term t, der keine in F gebundene Variable enthält, gilt: ∀xF Lemma Zu jeder Formel F gibt es eine äquivalente Formel in bereinigter Form. A(F [x/t]) = A[x/A(t)] (F ). Barbara König Logik ≡ ∀y (F [x/y ]) 167 Barbara König Logik 168 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Pränexform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Verfahren zur Bestimmung der Pränexform: Definition (Pränexform) Gegeben: eine prädikatenlogische Formel F . Eine Formel heißt pränex oder in Pränexform, falls sie folgende Bauart hat Q1 y1 Q2 y2 . . . Qn yn F , 1 2 wobei Qi ∈ {∃, ∀}, n ≥ 0, und die yi (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. 3 (∀xF ∧ G ) ≡ ∀x(F ∧ G ) Satz Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in Pränexform. Barbara König Aussagenlogik Prädikatenlogik Logik Erstelle durch gebundene Umbenennung eine bereinigte Formel, die zu F äquivalent ist. Schieben alle Negationen mit Hilfe der Gesetze ¬∀xF ≡ ∃x¬F und ¬∃xF ≡ ∀x¬F hinter die Quantoren. Ziehe alle Quantoren nach vorne unter Verwendung folgender Gesetze (Annahme: x kommt nicht frei in G vor): (∀xF ∨ G ) ≡ ∀x(F ∨ G ) (∃xF ∧ G ) ≡ ∃x(F ∧ G ) (∃xF ∨ G ) ≡ ∃x(F ∨ G ) (Für diese Umformung ist es unbedingt notwendig, dass F zuvor bereinigt wurde.) 169 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Pränexform Logik 170 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Wir definieren nun noch die Skolemform, in der keine Existenzquantoren mehr enthalten sind. Beispiel: Formen Sie die folgende Formel in Pränexform um. Definition (Skolemform) Eine Formel ist in Skolemform, falls sie folgende Bauart hat F = (∀x∃y P(x, g (y , f (x))) ∨ ¬Q(z)) ∨ ¬∀x R(x, y ) ∀y1 ∀y2 . . . ∀yn F , wobei n ≥ 0, und die yi (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Barbara König Logik 171 Barbara König Logik 172 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Skolemform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Für jede Formel F in bereinigter Pränexform (BPF) definieren wir ihre Skolemform(-el) als das Resultat der Anwendung des folgenden Algorithmus auf F : Satz Für jede Formel F in bereinigter Pränexform gilt: F ist erfüllbar genau dann, wenn die Skolemform von F erfüllbar ist. while F enthält einen Existenzquantor do begin F habe die Form F = ∀y1 ∀y2 . . . ∀yn ∃z G für eine Formel G in BPF und n ≥ 0 (der Allquantorblock kann auch leer sein); Sei f ein neues bisher in F nicht vorkommendes n-stelliges Funktionssymbol; F := ∀y1 ∀y2 . . . ∀yn G [z/f (y1 , y2 , . . . , yn )]; (der Existenzquantor in F wird entfernt und jedes Vorkommen von z in G durch f (y1 , y2 , . . . , yn ) ersetzt) end Barbara König Aussagenlogik Prädikatenlogik Logik Bemerkung: die Umformung in die Skolemform erhält nur die Erfüllbarkeit von Formeln, nicht jedoch deren Gültigkeit! Man sagt daher, dass die Formel F und ihre Skolemform erfüllbarkeitsäquivalent sind. Sie sind im allgemeinen jedoch nicht äquivalent. 173 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Skolemform Logik 174 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Beispiel 2: Gegeben sei die Formel Beispiel 1: Formen Sie folgende Formel in Skolemform um. F = ∀x∃y P(x, y ) F = ∃x∀y ∃z∀u∃vP(x, y , z, u, v ) Bestimmen Sie zunächst die Skolemform F 0 von F . Geben Sie ein Modell von F an und erweitern Sie es zu einem Modell von F 0 . Barbara König Logik 175 Barbara König Logik 176 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Klauselform Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Definition (Klauselform) Verfahren zur Bestimmung der Klauselform: Eine Aussage heißt in Klauselform, falls sie die Bauart hat Gegeben: eine prädikatenlogische Formel F (mit eventuellen Vorkommen von freien Variablen). ∀y1 ∀y2 . . . ∀yn F , 1 Bereinige F durch systematisches Umbenennen der gebundenen Variablen. Es entsteht eine zu F äquivalente Formel F1 . 2 Seien y1 , y2 , . . . , yn die in F bzw. F1 vorkommenden freien Variablen. Ersetze F1 durch F2 = ∃y1 ∃y2 . . . ∃yn F1 . Dann ist F2 erfüllbarkeitsäquivalent zu F1 und F und enthält keine freien Variablen mehr. 3 Stelle eine zu F2 äquivalente (und damit zu F erfüllbarkeitsäquivalente) Aussage F3 in Pränexform her. wobei F keine Quantoren enthält und in KNF (konjunktiver Normalform) ist. Eine Aussage in Klauselform kann als Menge von Klauseln dargestellt werden. Beispiel: ∀x∀y ((P(x, y ) ∨ Q(x)) ∧ R(y )) ist in Klauselform und wird dargestellt als: {{P(x, y ), Q(x)}, {R(y )}} Barbara König Aussagenlogik Prädikatenlogik Logik 177 Barbara König Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Klauselform 178 Logik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Welche dieser Formel sind bereinigt, in Pränexform, in Skolemform, in Klauselform? 4 5 Eliminiere die vorkommenden Existenzquantoren durch Übergang zur Skolemform von F3 . Diese sei F4 und ist dann erfüllbarkeitsäquivalent zu F3 und damit auch zu F . B Forme die Matrix von F4 um in KNF, wodurch man die Klauselform erhält (und schreibe diese Formel F5 dann als Klauselmenge auf). Barbara König Logik P S K ∀x(Tet(x) ∨ Cube(x) ∨ Dodec(x)) ∃x∃y (Cube(y ) ∨ BackOf(x, y )) ∀x(¬FrontOf(x, x) ∧ ¬BackOf(x, x)) ¬∃xCube(x) ↔ ∀x¬Cube(x) ∀x(Cube(x) → Small(x)) → ∀y (¬Cube(y ) → ¬Small(y )) (Cube(a) ∧ ∀xSmall(x)) → Small(a) ∃x(Larger(a, x) ∧ Larger(x, b)) → Larger(a, b) 179 Barbara König Logik 180 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Beispiel: Formen Sie die folgenden Formeln in Klauselform um: F1 = ∀xP(x) → ∀xP(f (x)) F2 = (∀x∃y P(x, g (y , f (x))) ∨ ∀z¬Q(z)) ∧ ¬∀x R(x, x) Barbara König Logik 181