Aussagenlogik Prädikatenlogik Vorlesung “Logik” Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Barbara König Logik 1 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: 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 . . . ” 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 Logik 123 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Variablen, Terme Definition (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). 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 124 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Variablen, Terme Bemerkungen zur Syntax der Prädikatenlogik: 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). Genauso gibt es nullstellige Prädikatsymbole der Form P() bzw. einfach nur P. Barbara König Logik 125 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Variablen, Terme Weitere Bemerkungen: Für Variablen schreiben wir auch x, y , z, u, v , w , . . . Für Prädikatsymbole schreiben wir auch P, Q, R, S, . . . (die Stelligkeit ergibt sich dann aus dem Kontext). Für Funktionssymbole schreiben wir auch f , g , h, . . . (die Stelligkeit ergibt sich dann ebenfalls aus dem Kontext). Für Konstanten(-symbole) schreiben wir auch a, b, c, d, . . . Barbara König Logik 126 Aussagenlogik Prädikatenlogik 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. 1 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. 3 Für alle Formeln F und G sind auch (F ∧ G ) und (F ∨ G ) Formeln. 4 Falls x eine Variable ist und F eine Formel, so sind auch ∃xF und ∀xF Formeln. Das Symbol ∃ wird Existenzquantor und ∀ Allquantor genannt. Barbara König Logik 127 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Syntax der Prädikatenlogik: Formeln Bemerkungen: Atomare Formeln nennen wir genau 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 . Quantoren binden stärker als alle anderen Operatoren, d.h., Formeln werden folgendermaßen geklammert: ∀xP(x) ∧ Q(y ) entspricht (∀xP(x)) ∧ Q(y ) P(x) ∨ ∃yQ(y ) ∨ R(z) entspricht P(x) ∨ (∃yQ(y )) ∨ R(z) Barbara König Logik 128 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Freie und gebundene Variablen Definition (Freie und gebundene Variable) 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. Eine Formel ohne Vorkommen einer freien Variablen heißt geschlossen oder eine Aussage. Barbara König Logik 129 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Freie und gebundene Variablen 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. Definition (Matrix) 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 ∗ . Barbara König Logik 130 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zur Prädikatenlogik NF: Keine Formel F: Formel, aber nicht Aussage NF 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 Barbara König Logik 131 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zur Prädikatenlogik NF: Keine Formel F: Formel, aber nicht Aussage A: Aussage NF F 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)) Barbara König Logik 132 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Definition (Struktur) 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 jedem k-stelligen Prädikatensymbol P (das im Definitionsbereich von IA liegt) eine k-stellige Relation (bzw. ein k-stelliges Prädikat) über UA zuordnet, jedem k-stelligen Funktionssymbol f (das im Definitionsbereich von IA liegt) eine k-stellige Funktion auf UA zuordnet, jeder Variablen x (sofern IA auf x definiert ist) ein Element der Grundmenge UA zuordnet. Barbara König Logik 133 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Bemerkungen zu Strukturen: 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 f A : UA → UA (a1 , . . . , an ) 7→ f A (a1 , . . . , an ), beispielsweise die einstellige Nachfolgerfunktion auf den natürlichen Zahlen (UA = N): f A: N → N n 7→ n + 1 Barbara König Logik 134 Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aussagenlogik Prädikatenlogik Semantik der Prädikatenlogik: 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 n P A ⊆ UA = UA × · · · × UA {z } | n-mal P A = {(a1 , . . . , an ) | a1 , . . . , an ∈ UA und . . . } beispielsweise die zweistellige ≤-Relation auf den natürlichen Zahlen: PA ⊆ N × N P A = {(n, m) | n, m ∈ N, n ≤ m} Barbara König Logik 135 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Definition (Passende Struktur) 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. Der Definitionsbereich von IA ist also eine Teilmenge von {Pik , fi k , xi | i = 1, 2, 3, . . . und k = 0, 1, 2, . . .} (wobei alle Prädikatsymbole, Funktionssymbole und freien Variablen von F vorkommen) 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 136 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Definition (Wert eines Terms) 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. Die Definition ist wieder induktiv. 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 die Form hat t = a. In diesem Fall ist also A(t) = aA . Barbara König Logik 137 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert der Formeln F unter der Struktur A, wobei wir ebenfalls die Bezeichnung A(F ) verwenden. 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 hat, so ist 1, falls A(G ) = 0 A(F ) = 0, sonst Barbara König Logik 138 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen Falls F die Form F = (G ∧ H) hat, so ist 1, falls A(G ) = 1 und A(H) = 1 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 Barbara König Logik 139 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Semantik der Prädikatenlogik: Strukturen 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 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 Hierbei steht A[x/d] für diejenige Struktur A0 , die überall mit A 0 identisch ist, bis auf die Definition von x A . Wir definieren 0 x A = d, wobei d ∈ UA = UA0 – unabhängig davon, ob IA auf x definiert ist oder nicht. Barbara König Logik 140 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Modell, Gültigkeit, Erfüllbarkeit 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 . 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. Barbara König Logik 141 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit 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 F = ∀xP(x) 2 G = ∀x∃yQ(x, f (y )) Barbara König Logik 142 Aussagenlogik Prädikatenlogik 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 = N PA = N (das ist die einzige mögliche Interpretation von P, die zu einem Modell führt) Struktur, die kein Modell für F = ∀xP(x) ist: Universum UB = N P B = {n | n gerade} Barbara König Logik 143 Aussagenlogik Prädikatenlogik 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 = N Q A = {(n, m) | n < m} f A : N → N mit f A (n) = n + 1 Struktur, die kein Modell für G = ∀x∃yQ(x, f (y )) ist: Universum UB = N Q B = {(n, m) | n < m} f B : N → N 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 144 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar U: Unerfüllbar G 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)) Barbara König Logik 145 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Prädikatenlogik mit Gleichheit 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: Falls t1 , t2 Terme sind, dann ist (t1 = t2 ) eine Formel. 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 Logik 146 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Erfüllbarkeit und Gültigkeit G: Gültig E: Erfüllbar U: Unerfüllbar G 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) Barbara König Logik 147 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World 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 148 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World – Screenshot Barbara König Logik 149 Aussagenlogik Prädikatenlogik 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: 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. Variablen, aussagenlogische Operatoren und Quantoren können beliebig benutzt werden. Außerdem ist das Prädikat Gleichheit (=) erlaubt. Barbara König Logik 150 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Einschränkungen an die Semantik – zulässige Strukturen: Universen bestehen immer aus Mengen von Körpern auf dem Schachbrett. 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. Barbara König Logik 151 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Tarski’s World Daraus folgt: Nicht jede Formel, die in jeder Tarski’s World gilt, ist eine im prädikatenlogischen Sinne gültige Formel. Beispiel: ∀x(Small(x) ∨ Medium(x) ∨ Large(x)) Barbara König Logik 152 Aussagenlogik Prädikatenlogik 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: Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch Modell von G . Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von F1 , . . . , Fk ist. Definition (Äquivalenz) 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 153 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Folgerung und Äquivalenz 1 F1 = ∀xP(x) ∨ ∀xQ(x) 2 F2 = ∀x(P(x) ∨ Q(x)) 3 F3 = ∀xP(x) ∨ ∀yQ(y ) J N F1 |= F2 F2 |= F3 F3 |= F1 Barbara König Logik 154 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Folgerung und Äquivalenz 1 F1 = ∃y ∀xP(x, y ) 2 F2 = ∀x∃yP(x, y ) J N F1 |= F2 F2 |= F1 Barbara König Logik 155 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Aufgabe zu Folgerung und Äquivalenz 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 Barbara König N ∨ G) ∧ G) ∨ G) ∧ G) Logik 156 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Äquivalenzen Satz (Äquivalenz von prädikatenlogischen Formeln) Seien F und G beliebige Formeln. Dann gilt: 1 ¬∀xF ≡ ∃x¬F ¬∃xF ≡ ∀x¬F 2 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 ) 3 ∀xF ∧ ∀xG ≡ ∀x(F ∧ G ) ∃xF ∨ ∃xG ≡ ∃x(F ∨ G ) 4 ∀x∀yF ≡ ∀y ∀xF ∃x∃yF ≡ ∃y ∃xF Barbara König Logik 157 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Äquivalenzen Bemerkung: alle Äquivalenzgesetze der Aussagenlogik behalten weiterhin ihre Gültigkeit. Beispiel: ∀x¬(P(x) ∧ ¬P(x)) ≡ ∀x(¬P(x) ∨ P(x)) (nach deMorgan) Barbara König Logik 158 Aussagenlogik Prädikatenlogik 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. Dabei geht man davon aus, dass durch die Substitution keine Variable in t gebunden wird. Beispiele für Substitutionen: 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 Logik 159 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Substitution Unterscheidung zwischen F [x/t] und A[x/d] : 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. Der Zusammenhang zwischen beiden Notationen ist wie folgt: Überführungslemma Für jede Formel F , jede Variable x und jeden Term t, der keine in F gebundene Variable enthält, gilt: A(F [x/t]) = A[x/A(t)] (F ). Barbara König Logik 160 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Bereinigte Formeln Definition (Bereinigte Formel) 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. Lemma (Gebundene Umbenennung) Sei y eine Variable, die in F nicht vorkommt. Dann gilt: ∃xF ≡ ∃y (F [x/y ]) ∀xF ≡ ∀y (F [x/y ]) Lemma Zu jeder Formel F gibt es eine äquivalente Formel in bereinigter Form. Barbara König Logik 161 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Definition (Pränexform) Eine Formel heißt pränex oder in Pränexform, falls sie folgende Bauart hat Q1 y1 Q2 y2 . . . Qn yn F , wobei Qi ∈ {∃, ∀}, n ≥ 0, und die yi (paarweise verschiedene) Variablen sind. Es kommt ferner kein Quantor in F vor. Satz Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in Pränexform. Barbara König Logik 162 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Verfahren zur Bestimmung der Pränexform: Gegeben: eine prädikatenlogische Formel F . 1 2 3 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 ) (∃xF ∨ G ) ≡ ∃x(F ∨ G ) (Für diese Umformung ist es unbedingt notwendig, dass F zuvor bereinigt wurde.) Barbara König Logik 163 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Pränexform Beispiel: Formen Sie die folgende Formel in Pränexform um. F = (∀x∃y P(x, g (y , f (x))) ∨ ¬Q(z)) ∨ ¬∀x R(x, y ) Barbara König Logik 164 Aussagenlogik Prädikatenlogik 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. Definition (Skolemform) Eine Formel ist in Skolemform, falls sie folgende Bauart hat ∀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 165 Aussagenlogik Prädikatenlogik 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 : 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 Logik 166 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform 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. 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. Barbara König Logik 167 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Beispiel 1: Formen Sie folgende Formel in Skolemform um. F = ∃x∀y ∃z∀u∃vP(x, y , z, u, v ) Barbara König Logik 168 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Skolemform Beispiel 2: Gegeben sei die Formel F = ∀x∃y P(x, y ) 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 169 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Definition (Klauselform) Eine Aussage heißt in Klauselform, falls sie die Bauart hat ∀y1 ∀y2 . . . ∀yn F , 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 Logik 170 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform Verfahren zur Bestimmung der Klauselform: Gegeben: eine prädikatenlogische Formel F (mit eventuellen Vorkommen von freien Variablen). 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. Barbara König Logik 171 Aussagenlogik Prädikatenlogik Grundbegriffe, Äquivalenz und Normalformen Herbrandtheorie und Resolution Grundlagen der Logik-Programmierung und Ausblick Klauselform 4 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 . 5 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 172 Aussagenlogik Prädikatenlogik 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? B 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) Barbara König Logik 173 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 174