Logik Gabriele Kern-Isberner LS 1 – Information Engineering TU Dortmund Wintersemester 2014/15 WS 2014/15 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 1 / 234 Prädikatenlogik – Übersicht Teil C C – Prädikatenlogik (PL) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 2 / 234 Prädikatenlogik – Übersicht Übersicht Prädikatenlogik 8. Strukturen & Syntax 9. Modellierung und Normalformen 10. Erfüllbarkeit: Grundresolution 11. Prädikatenlogische Resolution 12. Logische Programmierung und Prolog 13. Weitere Ergebnisse G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 3 / 234 PL – Strukturen & Syntax Übersicht Prädikatenlogik 8. Strukturen & Syntax 9. Modellierung und Normalformen 10. Erfüllbarkeit: Grundresolution 11. Prädikatenlogische Resolution 12. Logische Programmierung und Prolog 13. Weitere Ergebnisse G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 4 / 234 PL – Strukturen & Syntax Teil C C – Prädikatenlogik (PL) Kapitel 8: Strukturen & Syntax G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 5 / 234 PL – Strukturen & Syntax Einleitende Beispiele Einleitende Beispiele (1/5) Beispiel: Dreifärbungsproblem Das Dreifärbungsproblem für die Landkarte der BRD konnten wir auf die Erfüllbarkeit der folgenden aussagenlogischen Formel zurückführen: =1 =1 =1 =1 =1 =1 =1 ϕ=1 NRW ∧ ϕBW ∧ ϕBY ∧ ϕRP ∧ ϕSR ∧ ϕHS ∧ ϕTH ∧ ϕSX ∧ =1 =1 =1 =1 =1 =1 =1 ϕNI ∧ ϕSA ∧ ϕBR ∧ ϕB ∧ ϕHH ∧ ϕHB ∧ ϕMV ∧ ϕ=1 SH ∧ 6= 6= 6= 6= 6= ϕNRW,HS ∧ ϕBW,BY ∧ ϕBW,RP ∧ ϕBW,HS ∧ ϕBY,HS ∧ ϕ6= BY,TH ∧ 6= 6= 6= 6= 6= ϕ6= BY,SX ∧ ϕSR,RP ∧ ϕRP,HS ∧ ϕRP,NRW ∧ ϕHS,TH ∧ ϕHS,NI ∧ 6= 6= 6= 6= 6= ϕ6= TH,SX ∧ ϕTH,SA ∧ ϕTH,NI ∧ ϕSX,BR ∧ ϕSX,SA ∧ ϕNRW,NI ∧ 6= 6= 6= 6= 6= ϕ6= NI,SH ∧ ϕNI,HB ∧ ϕNI,HH ∧ ϕNI,MV ∧ ϕNI,SA ∧ ϕNI,BR ∧ 6= 6= 6= ϕ6= SA,BR ∧ ϕBR,R ∧ ϕSH,HH ∧ ϕSH,MV G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 6 / 234 PL – Strukturen & Syntax Einleitende Beispiele Einleitende Beispiele (2/5) Beispiel: Dreifärbungsproblem (Forts.) Dies ist eine Abkürzung für eine Formel der Länge > 1000: (GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW ) ∧ ¬(BNRW ∧ RNRW ) ∧ ¬(BNRW ∧ GNRW ) ∧ . . . . . . (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH ) ∧ ¬(BSH ∧ RSH ) ∧¬(BSH ∧ GSH )∧ ¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) . . . . . . ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV ) Wir werden jetzt eine elegantere Modellierung mittels Prädikatenlogik betrachten. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 7 / 234 PL – Strukturen & Syntax Einleitende Beispiele Einleitende Beispiele (3/5) Beispiel: Dreifärbungsproblem (Forts.) • Die aussagenlogische Formel vermischt die „Daten“ und die „Eigenschaften“, die gelten sollen • Mit Hilfe der Prädikatenlogik können wir diese beiden Aspekte trennen: – Wir können die Informationen über Länder und ihre Nachbarschaftsbeziehungen durch einen Graphen H = (V, E) modellieren: ∗ Die Knotenmenge V enthält alle Länder: {NRW, BW, BY, . . . , SH} ∗ Die Kantenrelation E enthält alle Paare benachbarter Länder: {(NRW, HS), (BW, BY), . . . , (SH, MV)} – Färbungen der Länder lassen sich durch drei Mengen G, R, B modellieren – Eine Färbung ist zulässig, wenn sie die folgenden drei prädikatenlogischen Formeln erfüllt: ∗ ∀x [G(x) ∨ R(x) ∨ B(x)] ∗ ∀x ¬[(G(x) ∧ R(x)) ∨ (G(x) ∧ B(x)) ∨ (R(x) ∧ B(x))] ∗ ∀x ∀y [E(x, y) → ¬((G(x) ∧ G(y)) ∨ (B(x) ∧ B(y)) ∨ (R(x) ∧ R(y)))] G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 8 / 234 PL – Strukturen & Syntax Einleitende Beispiele Einleitende Beispiele (4/5) Beispiel: Speisende Philosophen • Speisende Philosophen: – Rund um einen Tisch sitzen n Philosophen – Zwischen je zwei nebeneinander sitzenden Philosophen liegt ein Essstäbchen – Um essen zu können, braucht ein Philosoph zwei Stäbchen – Da Philosophen kurze Arme haben, kann ein Philosoph nur die beiden Stäbchen unmittelbar links und rechts von sich erreichen ∗ Während ein Philosoph isst, kann also keiner seiner beiden Nachbarn essen • Diese Situation könnten wir mit Hilfe aussagenlogischer Formeln modellieren: – Wir könnten Variablen A1 , . . . , An verwenden mit der Bedeutung Ai ≡ „Philosoph i isst“ – Das Wissen über die Anordnung der Philosophen könnten wir zusammen mit dem Wissen über ihre Essgewohnheiten in einer Formel repräsentieren: Vn−1 ϕn = ¬(A1 ∧ An ) ∧ i=1 ¬(Ai ∧ Ai+1 ) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 9 / 234 PL – Strukturen & Syntax Einleitende Beispiele Einleitende Beispiele (5/5) Beispiel: Speisende Philosophen (Forts.) • Auch hier können wir durch Verwendung der Prädikatenlogik von der konkreten Situation abstrahieren und die auszudrückende Eigenschaft unabhängig von den „Daten“ formulieren: – Die Anordnung der Philosophen modellieren wir durch einen Graphen G = (V, E): ∗ V = {1, . . . , n} ∗ E = {(1, 2), (2, 3), . . . , (n − 1, n), (n, 1)} – Dass Philosoph j isst, drücken wir durch P (j) aus – Die Essgewohnheiten können wir dann durch folgende Formel beschreiben: ∀x ∀y E(x, y) → ¬(P (x) ∧ P (y)) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 10 / 234 PL – Strukturen & Syntax Relationen und Funktionen Repräsentation von Daten: Informatik vs. Mathematik (1/2) Informatiker beschäftigen sich (unter anderem) mit der geeigneten Repräsentation von Daten/Informationen zur Verarbeitung durch Computer. Verschiedene Aspekte: • Kodierung...: – ...im Rechner: Bit-Folgen – ...in Dateien: Daten lassen sich im Zweifelsfall als Strings/Textdateien repräsentieren • Datenstrukturen: – Arrays, Pointerstrukturen, etc. bieten eine komfortablere Repräsentation von Daten, die sich für die Manipulation „innerhalb von Programmen“ eignen • Datenbanken: „externe“ Speicherung von Informationen • Daten im Web... G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 11 / 234 PL – Strukturen & Syntax Relationen und Funktionen Repräsentation von Daten: Informatik vs. Mathematik (2/2) Um die Bedeutung/Semantik der Informationen formal festlegen zu können, müssen wir unsere „Daten“ durch mathematische Objekte modellieren. Diese mathematischen Objekte, die wir zur Repräsentation von Daten verwenden, nennen wir Strukturen. Strukturen bestehen aus Relationen, Funktionen und Konstanten. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 12 / 234 PL – Strukturen & Syntax Relationen und Funktionen Relationen (1/2) Definition 8.1 (Relation (Whlg.)) • Sei A eine Menge • Teilmengen R von über A n Faktoren An z }| { = A × · · · × A nennt man n-stellige Relationen Beispiele • Strikte Ordnung der natürlichen Zahlen: – A=N – R = {(m, n) ∈ N2 | m < n} = {(0, 1), (0, 2), (1, 2), (0, 3), . . .} • Äquivalente Brüche: – A = Z2 – R = {((z1 , n1 ), (z2 , n2 )) ∈ (Z2 )2 |z1 n2 = z2 n1 } = {. . . , ((−2, 3), (−4, 6)), ((−2, 3), (−6, 9)), . . .} G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 13 / 234 PL – Strukturen & Syntax Relationen und Funktionen Relationen (2/2) Beispiele • Logik-Hörer: – A = Menge aller Strings über {a, . . . , z}, – R = {(x, y) ∈ A2 | x ist Vorname, y ist Nachname eines Hörers der Logik-Vorlesung} • 0-stellige Relationen: Über jeder Grundmenge A gibt es genau zwei 0-stellige Relationen: – ∅ und {()} G. Kern-Isberner (TU Dortmund) („()“ ist das 0-stellige Tupel) Logik WS 2014/15 14 / 234 PL – Strukturen & Syntax Relationen und Funktionen Funktionen und Konstanten (1/3) n-stellige Funktionen über einer Grundmenge A sind Abbildungen f : An → A Beispiele • Addition über den natürlichen Zahlen: – f+ : N2 → N – f+ (n, m) = n + m • Verkettete Listen lassen sich als 1-stellige Funktionen repräsentieren: f (x) = Element, auf das der Zeiger von x zeigt G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 15 / 234 PL – Strukturen & Syntax Relationen und Funktionen Funktionen und Konstanten (2/3) Es besteht ein enger Zusammenhang zwischen Funktionen und Relationen: • Der Graph einer n-stelligen Funktion f ist eine (n + 1)-stellige Relation: graph(f ) = {(a1 , . . . , an , a) | f (a1 , . . . , an ) = a} Beispiel graph(f+ ) = {(0, 0, 0), (0, 1, 1), . . . , (9, 16, 25), . . .} G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 16 / 234 PL – Strukturen & Syntax Relationen und Funktionen Funktionen und Konstanten (3/3) Neben Relationen und Funktionen werden wir auch Konstanten c verwenden. • Konstanten können als 0-stellige Funktionen über der Grundmenge A aufgefasst werden: – Abbildung () 7→ c mit c ∈ A Im Folgenden sind also unsere 0-stelligen Funktionen gerade die Konstanten. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 17 / 234 PL – Strukturen & Syntax Strukturen Strukturen (1/2) Für die meisten Modellierungen ist es vorteilhaft, mehr als eine Relation oder Funktion zur Verfügung zu haben. → Wir verwenden Strukturen, die aus mehreren Relationen, Funktionen und Konstanten bestehen dürfen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 18 / 234 PL – Strukturen & Syntax Strukturen Strukturen (2/2) Definition 8.2 (Struktur) • Eine Struktur A besteht aus – – – – einer Grundmenge A 6= ∅, Relationen R1 , . . . , Rk über A Funktionen f1 , . . . , fl über A Konstanten c1 , . . . , cm aus A • Wir schreiben A dann als (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm ) Bemerkungen: • Es ist auch k = 0, l = 0 oder m = 0 möglich • Wir betrachten nur Strukturen mit endlich vielen Relationen und Funktionen • Wir betrachten nur Strukturen mit nichtleerer Grundmenge • Statt „Grundmenge“ sagen wir manchmal auch „Universum“, die Elemente der Grundmenge nennt man auch „Individuen“ oder „Objekte“ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 19 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Graphen Eingabe-Instanzen für algorithmische Probleme lassen sich auch durch mathematische Strukturen modellieren: Beispiel: Gerichtete Graphen G: a b c d Beispiel: Erreichbarkeitsproblem Beim Erreichbarkeitsproblem besteht die Eingabe aus einem Graphen sowie einem Start- und einem Zielknoten. AG = (V, E), wobei V = {a, b, c, d} und E = {(a, b), (a, c), (c, b), (b, d), (d, c)} G. Kern-Isberner (TU Dortmund) Logik Die Eingabe G, a, d lässt sich zum Beispiel durch die Struktur AG,a,d = (V, E, a, d) beschreiben, mit V und E wie oben. WS 2014/15 20 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Algebraische Strukturen In der Mathematik werden häufig Strukturen mit Funktionen betrachtet: Beispiel • Peano-Arithmetik: (natürliche Zahlen mit Addition und Multiplikation) – Sie lässt sich durch die Struktur (N, +, ×, 0, 1) repräsentieren: ∗ N ist die Menge der natürlichen Zahlen ∗ +, × sind 2-stellige Funktionen ∗ 0 und 1 sind Konstanten • Gruppen: – Gruppen lassen sich durch Strukturen der Art (G, ◦, e) repräsentieren, wobei ∗ G die Menge der Elemente ist, ∗ ◦ eine 2-stellige Funktion, die Gruppenverknüpfung, ist, und ∗ e eine Konstante ist, das neutrale Element G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 21 / 234 PL – Strukturen & Syntax Strukturen Strukturen: „Informatik-Strukturen“ Beispiele • Zeichenketten: – Der String s = bacabba lässt sich durch die Struktur (P, ≤, Qa , Qb , Qc ) repräsentieren, wobei ∗ P = {1, 2, 3, 4, 5, 6, 7} die Menge der Positionen von s ist, ∗ ≤ die übliche lineare Ordnung auf P ist, ∗ Qa = {2, 4, 7} die Menge der Positionen, an denen ein a steht, ist, und entsprechend: Qb = {1, 5, 6}, Qc = {3} • Relationale Datenbanken: – D = (U, R1 , . . . , Rk ) – U : die Menge der in D vorkommenden Datenwerte – R1 , . . . , Rk : Die Relationen über U G. Kern-Isberner (TU Dortmund) Logik („Tabellen“) WS 2014/15 22 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Transitionssysteme Beispiel • Transitionssysteme bestehen aus Zuständen, in denen Propositionen gelten können und Transitionen zwischen den Zuständen: B,C A A 1 2 B 3 A ¬o C ¬o ¬o B,C 4 o – Dieses Transitionssystem kann durch (Z, EA , EB , EC , Po , s) repräsentiert werden, wobei ∗ ∗ ∗ ∗ ∗ ∗ Z = {1, 2, 3, 4} EA = {(1, 2), (2, 2), (3, 4)}, EB = {(1, 1), (2, 3), (3, 1)}, EC = {(1, 1), (2, 1), (3, 1)}, Po = {4} s=1 G. Kern-Isberner (TU Dortmund) Logik (Zustände) („A-Transitionen“) („B-Transitionen“) („C-Transitionen“) (Zustände mit Eigenschaft o) (Anfangszustand) WS 2014/15 23 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Signaturen (1/3) Beispiel • Erreichbarkeitsproblem A: 1 2 3 4 – A = (V A , E A , cA , dA ), wobei ∗ V A = {1, 2, 3, 4} und ∗ E A = {(1, 2), (1, 3), (3, 2), (2, 4), (4, 3)} ∗ cA = 1, dA = 4 Formeln werden jeweils über Strukturen eines gewissen „Typs“ sprechen, also z.B. über Erreichbarkeitsprobleme oder Strings. Informell ist der „Typ“ einer Struktur durch die Menge ihrer Relationssymbole, Funktionssymbole und Konstantensymbole gegeben, wobei die Relationssymbole R und Funktionssymbole f eine feste Stelligkeit (engl. arity) haben, die wir mit a(R) bzw. a(f ) bezeichnen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 24 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Signaturen (2/3) • Eine Signatur ist eine Menge von Relations-, Funktions- und Konstantensymbolen • Die Signatur σ(A) einer Struktur A ist die Menge der Symbole zu den in A vorkommenden Relationen, Funktionen und Konstanten • Eine Struktur A ist passend zu einer Signatur S, wenn S ⊆ σ(A) Beispiele • Die Signatur von Erreichbarkeitsproblemen ist {E, c, d}, wobei E ein 2-stelliges Relationssymbol ist und c, d Konstantensymbole sind • Die Signatur von Zeichenketten über dem Alphabet {a, b, c} ist {≤, Qa , Qb , Qc }, wobei ≤ ein 2-stelliges Relationssymbol ist und Qa , Qb , Qc jeweils 1-stellige Relationssymbole sind G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 25 / 234 PL – Strukturen & Syntax Strukturen Strukturen: Signaturen (3/3) Wir müssen unterscheiden zwischen • konkreten Relationen, Funktionen und Konstanten, die in konkreten Strukturen vorkommen • Relationssymbolen, Funktionssymbolen und Konstantensymbolen, die in Signaturen (und in Formeln) vorkommen und für beliebige Relationen, Funktionen und Konstanten stehen Dieser Unterschied spiegelt sich in unserer Notation wider: • Die konkrete Relation, die in einer Struktur A dem Relationssymbol R zugeordnet ist, bezeichnen wir mit RA (entsprechend für Konstanten und Funktionen) • Da dies zu oft zu einer etwas überladenen Notation führt, lassen wir das Superskript A weg, wenn aus dem Zusammenhang klar ist, – dass eine konkrete Relation gemeint ist, und – welche konkrete Struktur gemeint ist G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 26 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Syntax der Prädikatenlogik (1/2) Sei PV eine abzählbare Menge prädikatenlogischer Variablen. PV enthalte mindestens x, y, z sowie xi , yi , zi , für alle i ∈ N. Definition 8.3 (Syntax prädikatenlogischer Terme) • Sei σ eine Signatur • Die Menge PT(σ) der prädikatenlogischen Terme über σ ist induktiv wie folgt definiert: – Jede Variable aus PV ist ein Term – Jedes Konstantensymbol aus σ ist ein Term – Ist f ein k-stelliges Funktionssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist f (t1 , . . . , tk ) ein Term über σ Terme, die keine Variablen verwenden, nennen wir Grundterme. Beispiel Terme über {R, f, c}, für 2-stelliges f , sind z.B. c, x, y, f (c, c), f (c, x), f (y, f (x, x)), . . .. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 27 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Syntax der Prädikatenlogik (2/2) Definition 8.4 (Syntax prädikatenlogischer Formeln) Sei σ eine Signatur. Die Menge PL(σ) der prädikatenlogischen Formeln über σ ist induktiv wie folgt definiert: (1) Ist R ein k-stelliges Relationssymbol aus σ und sind t1 , . . . , tk Terme über σ, so ist R(t1 , . . . , tk ) in PL(σ) (2) Sind ϕ, ϕ1 , ϕ2 in PL(σ), so auch (a) ¬ϕ (b) (ϕ1 ∧ ϕ2 ) (c) (ϕ1 ∨ ϕ2 ) (3) Ist x eine Variable und ϕ in PL(σ), so sind auch (a) ∃x ϕ und (b) ∀x ϕ in PL(σ) G. Kern-Isberner (TU Dortmund) • Zusätzliche Klammern in Formeln sind erlaubt • ∃ heißt Existenzquantor, ∀ heißt Allquantor • Formeln vom Typ (1) heißen atomar • Formeln, die nur durch (1) und (2) gebildet werden können, heißen quantorenfrei • Wenn σ durch den Zusammenhang klar ist (oder unwichtig), schreiben wir einfach PL statt PL(σ) • Umgekehrt: die Signatur σ(ϕ) einer Formel ϕ ist die Menge der in ϕ vorkommenden Relations-, Funktions- und Konstantensymbole Wenn die Signatur nicht explizit angegeben ist, gelten folgende Konventionen: • Variablen sind kleine Buchstaben vom Ende des Alphabets • Konstantensymbole sind kleine Buchstaben vom Anfang des Alphabets • Funktionssymbole sind kleine Buchstaben „aus der Mitte des Alphabets“ wie f, g, h • Relationssymbole sind große Buchstaben Logik WS 2014/15 28 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Wirkungsbereich von Quantoren 1/2 Der Aufbau prädikatenlogischer Formeln lässt sich durch Syntaxbäume illustrieren: Beispiel ∀z P (x, g(z)) ∨ ∀y P (f (z), y) hat den folgenden Syntaxbaum: ∨ ∀z ∀y P (x, g(z)) P (f (z), y) G. Kern-Isberner (TU Dortmund) Wie weit reicht die „Wirkung“ von Quantoren? • Bezieht sich ∀z noch auf P (f (z), y) oder nicht mehr? • Soll ∨ oder ∀z eine stärkere Bindungsstärke haben? Diese Frage haben wir implizit durch Definition 8.4 beantwortet. Streng genommen müsste die Formel ein äußeres Klammerpaar (. . . ) haben. In jedem Fall ist die „äußerste Operation“, durch die die Formel entstanden ist, das „oder“, da andernfalls P (x, g(z)) ∨ ∀y P (f (x), y) geklammert sein müsste. → Syntaxbaum Logik WS 2014/15 29 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Wirkungsbereich von Quantoren 2/2 • Ein Vorkommen einer Variablen x in einer Formel ϕ ist in ∃x ϕ im Wirkungsbereich des Quantors ∃x (analog für Allquantoren) • Jedes Vorkommen einer Variablen x in einer Formel im Wirkungsbereich eines Quantors ∃x oder ∀x heißt gebunden (durch die jeweiligen Quantoren) • Jedes andere Vorkommen einer Variablen in einer Formel ist frei • Die freien Variablen einer Formel sind alle Variablen, die mindestens einmal frei vorkommen • Eine Formel ist geschlossen, wenn sie keine freien Vorkommen von Variablen enthält • Die Schreibweise ϕ(x1 , . . . , xk ) soll implizit bedeuten, dass ϕ keine anderen freien Variablen hat als die in x1 , . . . , xk genannten (aber möglicherweise weniger) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 30 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Freie und gebundene Variablen Beispiel • Sei ϕ1 = R(x) ∨ ∀z P (x, g(z)) ∨ ∀y P (f (x), y) – Sämtliche Vorkommen von x in ϕ1 sind frei, die Vorkommen von y und z sind gebunden • In ϕ2 = P (x) ∨ ∃x R(x, y) kommt x sowohl frei als auch gebunden vor – Die Menge der freien Variablen dieser Formel ist also {x, y} • Sei ϕ3 = ∀x [∀y ∃x E(y, x) ∧ E(x, y)] ∧ E(x, x) – frei: x in E(x, x) und y in E(x, y) – gebunden: x in E(y, x) (durch ∃x) und x in E(x, y) (durch ∀x) y in E(y, x) (durch ∀y) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 31 / 234 PL – Strukturen & Syntax Syntax der Prädikatenlogik Relationen und Prädikate Wir sprechen von Relationen und Relationssymbolen, genauso gut könnten wir von Prädikaten und Prädikatssymbolen sprechen, Letzteres ist die traditionellere Sprechweise (daher kommt ja auch der Name “Prädikatenlogik”). Jedenfalls bedeutet „R(x, y)“ in prädikatenlogischen Formeln, dass „(x, y) ∈ RA “ wahr ist. Es ist also etwas intuitiver, von Relationen und Relationssymbolen zu sprechen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 32 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Prädikatenlogische Interpretationen (1/2) Bei der Definition der Semantik der Prädikatenlogik ergibt sich folgendes Problem: Sei ϕ = ∀x ∃y E(x, y) • Intuitiv drückt diese Formel (für einen Graphen) aus, dass jeder Knoten eines Graphen eine ausgehende Kante hat • Es ist intuitiv klar, dass ϕ in dem folgenden Graphen gilt: a b c d Wir wollen die Semantik jetzt formal definieren. Um die Semantik von ϕ induktiv (der Syntax folgend) zu definieren, müssen wir jedoch zuerst die Semantik von E(x, y) in G definieren. Das wirft die Frage auf, wie freie Variablen einer Formel interpretiert werden sollen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 33 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Prädikatenlogische Interpretationen (2/2) Für die Semantik einer PL-Formel ϕ benötigen wir deshalb zweierlei: • eine Struktur, in der die Relations-, Funktions- und Konstantensymbole interpretiert werden, sowie • eine Zuordnung von Werten zu den freien Variablen von ϕ Definition 8.5 ((passende) Interpretationen) • Eine Interpretation I = (A, β) besteht aus – einer Struktur A mit Grundmenge A und – einer partiellen Abbildung β : PV → A (der Belegung) • Eine Interpretation (A, β) heißt passend für eine PL-Formel ϕ, falls – A passend zur Signatur von ϕ ist und – β(x) für jede freie Variable x von ϕ definiert ist • Entsprechend sind zu einem Term passende Interpretationen definiert • Notation: Ist β z.B. eine Belegung mit β(x) = 2, so schreiben wir statt (A, β) auch (A, x 7→ 2). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 34 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Präd.-logische Interpretationen: Beispiel (1/5) Beispiel • Kürzlich in der Logik-Übung gaben solche Studierende eine korrekte Lösung ab, auf die eine der folgenden Aussagen zutraf: (1) Der Studierende hat die Aufgaben verstanden (2) Der Studierende kennt den besten Studierenden aus irgendeiner Übungsgruppe (3) Der beste Freund des Studierenden kennt alle Studierenden • Modellierung: – (1) - (3) machen jeweils eine Aussage über einen Studierenden – Für diesen verwenden wir die Variable x – Die Funktion f soll jedem Studierenden seine/n beste(n) Freund(in) zuordnen – g ordnet jedem Studierenden den besten Studierenden seiner Übungsgruppe zu – P (x, y) soll ausdrücken, dass der Studierende x den Studierenden y kennt – R(x) soll ausdrücken, dass x die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 35 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Präd.-logische Interpretationen: Beispiel (2/5) Beispiel (1) Der Studierende x hat die Aufgaben verstanden (2) Der Studierende x kennt den besten Studierenden aus irgendeiner Übungsgruppe (3) Der beste Freund des Studierenden x kennt alle Studierenden • Ziel: Herleitung einer Formel ϕ(x), die genau dann wahr wird, falls x einer der in (1)-(3) beschriebenen Studierenden ist • Die drei Aussagen lassen sich wie folgt ausdrücken: (1) R(x) (2) ∃z P (x, g(z)) (3) ∀y P (f (x), y) • Die Gesamtformel ϕ ist dann also: R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y) (in der nur x frei vorkommt) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 36 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Präd.-logische Interpretationen: Beispiel (3/5) Beispiel • Seien Anton, Berta, Julius und Otto in einer ÜG (mit Julius als Bestem) • Seien Paula, Richard und Martha in einer anderen ÜG (mit Paula als Bester) • Anton kennt Julius, Otto kennt Anton, und Martha kennt Paula • Für alle (bis auf Otto) ist Otto der beste Freund, Ottos bester Freund ist Richard • Außerdem habe Berta die Aufgaben verstanden G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 37 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Präd.-logische Interpretationen: Beispiel (4/5) Beispiel • Eine zu ϕ(x) = R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y) passende Interpretation (A, β), die die obige Situation repräsentiert, ist dann: – Grundmenge: ( { Anton, Berta, Julius, Martha, Otto, Paula, Richard } Richard für x = Otto – f A (x) = Otto sonst ( Julius für x = Anton, Berta, Julius oder Otto – g A (x) = Paula für x = Paula, Richard oder Martha A – P = { (Anton, Julius), (Otto, Anton), (Martha, Paula) } – RA = {Berta} – β(x) = Anton G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 38 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Präd.-logische Interpretationen: Beispiel (5/5) Beispiel • Eine andere zu ϕ(x) = R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y) passende Interpretation (A0 , β 0 ): – – – – – – – Grundmenge: R 0 f A sei die Sinus-Funktion 0 g A sei die Cosinus-Funktion 0 P A sei die ≤-Relation 0 RA = [3, ∞) β 0 (x) = π/2 β 0 (y) = 1 G. Kern-Isberner (TU Dortmund) 0 (also: (p, q) ∈ P A , falls p ≤ q) Logik WS 2014/15 39 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Semantik der Prädikatenlogik (1/2) Die Semantik der Prädikatenlogik ordnet jeder Formel ϕ und jeder passenden Interpretation I einen Wahrheitswert [[ϕ]]I zu. Sei a ∈ A. Ist β eine Belegung, so ist β[x/a] die Belegung, die aus β in der folgenden Weise entsteht: a, wenn y = x β[x/a](y) = β(y), wenn y 6= x Ist I = (A, β), so bezeichnet I[x/a] die Interpretation (A, β[x/a]). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 40 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Semantik der Prädikatenlogik (2/2) Definition 8.6 (Semantik prädikatenlogischer Formeln) • Sei I = (A, β) eine Interpretation • Der Wert [[t]]I eines (zu I passenden) Terms t ist induktiv wie folgt definiert: – [[x]]I =def β(x) für Variablen x ∈ PV – [[c]]I =def cA für Konstantensymbole c – [[f (t1 , . . . , tk )]]I =def f A ([[t1 ]]I , . . . , [[tk ]]I ) • Der Wahrheitswert [[ϕ]]I einer PL-Formel ϕ ist induktiv wie folgt definiert: (1) [[R(t1 , . . . , tk )]]I = 1 ⇔ ([[t1 ]]I , . . . , [[tk ]]I ) ∈ RA (2) (a) [[¬ϕ]]I = 1 ⇔ [[ϕ]]I = 0 (3) (b) (c) (a) (b) [[ϕ1 ∧ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 und [[ϕ2 ]]I = 1 [[ϕ1 ∨ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 oder [[ϕ2 ]]I = 1 [[∃xϕ]]I = 1 ⇔ es gibt ein a ∈ A mit [[ϕ]]I[x/a] = 1 [[∀xϕ]]I = 1 ⇔ für alle a ∈ A gilt [[ϕ]]I[x/a] = 1 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 41 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Semantik der Prädikatenlogik: Beispiel Beispiel Sei wieder ϕ = ϕ1 ∨ ϕ2 ∨ ϕ3 mit • ϕ1 = R(x) • ϕ2 = ∃z P (x, g(z)) • ϕ3 = ∀y P (f (x), y) • [[R(x)]]I = 0 Sei I = (A, β) die Interpretation mit • Grundmenge: { Anton, Berta, Julius, Martha, Otto, Paula, Richard } ( Richard für x = Otto A • f (x) Otto sonst A • g ( (x) = Julius für x ∈ {Anton, Berta, Julius, Otto} Paula für x ∈ {Paula, Richard, Martha} • PA = {(Anton, Julius), (Otto, Anton), (Martha, Paula)} ⇒ [[ϕ1 ]]I = 0 • Für a = Otto ist [[g(z)]]I[z/a] = Julius ⇒ Es gibt a ∈ A mit [[P (x, g(z))]]I[z/a] = 1 ⇒ [[ϕ2 ]]I = 1 ⇒ [[ϕ]]I = 1 • RA = {Berta} • β(x) = Anton G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 42 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Prädikatenlogik mit Gleichheit Für das 2-stellige Relationssymbol „=“ erlauben wir immer nur die Interpretation {(a, a) | a ∈ A} - Infix-Schreibweise: „t1 = t2 “ statt „= (t1 , t2 )“ Wenn wir die Verwendung von „=“ erlauben, sprechen wir von Prädikatenlogik mit Gleichheit. - Andernfalls: Prädikatenlogik ohne Gleichheit G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 43 / 234 PL – Strukturen & Syntax Semantik der Prädikatenlogik Zusammenfassung Sie sollten die folgenden Themen und Techniken kennen und beherrschen: • Bei der prädikatenlogischer Modellierung ist es - im Gegensatz zur aussagenlogischen Modellierung - möglich, die Daten von den Eigenschaften zu trennen • Prädikatenlogische Formeln werden auf Strukturen ausgewertet, die aus Relationen, Funktionen und Konstanten über einer Grundmenge bestehen • Syntax und Semantik der Prädikatenlogik sind sauber zu trennen, auf der Syntaxebene spricht man über Symbole, auf der Semantikebene über Individuen oder Objekte. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 44 / 234