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 / 250 PL – Modellierung und Normalformen Ü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 45 / 250 PL – Modellierung und Normalformen Teil C C – Prädikatenlogik (PL) Kapitel 9: Modellierung und Normalformen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 46 / 250 PL – Modellierung und Normalformen Übersicht Kapitel 9 9.1 Formeln erstellen und verstehen 9.2 Äquivalenzen 9.3 Normalformen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 47 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Übersicht Kapitel 9 9.1 Formeln erstellen und verstehen 9.2 Äquivalenzen 9.3 Normalformen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 48 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln verstehen (1/4) Beispiel Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt ∀x (P (x, g(x)) → R(x)) • Für jeden Studierenden gilt: wenn er den besten Studierenden seiner Übungsgruppe kennt, hat er die Aufgaben verstanden • Einfacher formuliert: Wer den Besten seiner Übungsgruppe kennt, versteht auch die Übungsaufgaben • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 49 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln verstehen (2/4) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: ∃x [R(x) ∧ ∀y x 6= g(y)] • f (a) ist bester Freund von a • Es gibt einen Studierenden x, der die Aufgaben verstanden hat, und der für keinen Studierenden y der Übungsgruppen-Beste ist • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt • Einfacher formuliert (und auf den Punkt gebracht): Es gibt einen Studierenden, der die Aufgaben verstanden hat, obwohl er nicht Bester einer Übungsgruppe ist • g(a) ist bester Studierender in der Übungsgruppe von a • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 50 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln verstehen (3/4) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) ∀x ∀y [g(x) = g(y) → g(f (x)) = g(f (y))] • Für alle Studierenden x und alle Studierenden y gilt: falls x und y denselben Übungsgruppen-Besten haben, haben ihre besten Freunde auch denselben Übungsgruppen-Besten • Einfacher formuliert: Sind zwei Studierende in derselben Übungsgruppe G, so sind auch ihre besten Freunde in derselben (aber möglicherweise von G verschiedenen) Übungsgruppe Logik WS 2014/15 51 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (1/6) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Wir suchen jetzt jeweils Formeln in der Prädikatenlogik mit Gleichheit für natürlichsprachlich formulierte Aussagen: Jeder ist für jemanden der beste Freund • Umformuliert in „umgangssprachliche Aussage mit Quantoren“: Für jeden Studierenden gibt es einen Studierenden, der ihn als besten Freund hat • ∀x ∃y f (y) = x Logik WS 2014/15 52 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (2/6) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt Wer bester Freund eines ÜbungsgruppenBesten ist, hat die Aufgaben verstanden • Für jeden Studierenden gilt: wenn es einen Studierenden gibt, dessen Übungsgruppen-Bester ihn als besten Freund hat, dann hat er die Aufgaben verstanden • ∀x ((∃y f (g(y)) = x) → R(x)) • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 53 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (3/6) Beispiel (Forts.) Zur Erinnerung: Das Übungsgruppen-Szenario haben wir wie folgt modelliert: • f (a) ist bester Freund von a • g(a) ist bester Studierender in der Übungsgruppe von a • P (a, b) bedeutet, dass der Studierende a den Studierenden b kennt In einer der Übungsgruppen haben alle die Aufgaben verstanden • Es gibt einen Studierenden, so dass alle Studierenden mit demselben Übungsgruppen-Besten (wie dieser eine Studierende) die Aufgaben verstanden haben • ∃x ∀y (g(x) = g(y) → R(y)) • R(a) bedeutet, dass a die Aufgaben verstanden hat G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 54 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (4/6) Beispiel Zur Erinnerung: Strings w über {a, b, c} werden modelliert durch Strukturen mit • der Grundmenge A = {1, . . . , n} (n = Länge von w), Wir charakterisieren im Folgenden Mengen von Strings durch PL-Formeln: • Strings von der Form a∗ b∗ (beliebig viele a’s gefolgt von beliebig vielen b’s) – Es gibt kein c und für alle a-Positionen x und alle b-Positionen y gilt: x ≤ y • einer 2-stelligen Relation ≤, – Für alle Positionen x und y gilt: x hat kein c und falls x eine a-Position und y eine b-Position sind, so gilt x ≤ y • 1-stelligen Relationen Qa , Qb , Qc Bemerkung: Wir betrachten nur nicht-leere Strings (da A 6= ∅ gelten soll). G. Kern-Isberner (TU Dortmund) – ∀x ∀y [¬Qc (x)∧ ((Qa (x) ∧ Qb (y)) → x ≤ y)] Logik WS 2014/15 55 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (5/6) Beispiel (Forts.) Zur Erinnerung: Strings w über {a, b, c} werden modelliert durch Strukturen mit • Strings, die abwechselnd aus a’s und b’s bestehen – Für je zwei Positionen, die unmittelbar hintereinander stehen, gilt: genau eine hat ein a, die andere ein b • der Grundmenge A = {1, . . . , n} (n = Länge von w) • einer 2-stelligen Relation ≤, – Hilfsformel für „unmittelbar hintereinander stehen“: ϕ+1 (x, y) = [x ≤ y ∧ ¬(y ≤ x) ∧ ∀z (z ≤ x ∨ y ≤ z)] • 1-stelligen Relationen Qa , Qb , Qc Bemerkung: Wir betrachten nur nicht-leere Strings (da A 6= ∅ gelten soll). G. Kern-Isberner (TU Dortmund) – ∀x ∀y [ϕ+1 (x, y) → ((Qa (x) ∧ Qb (y))∨ (Qb (x) ∧ Qa (y)))] Logik WS 2014/15 56 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln erstellen (6/6) Beispiel (Forts.) Zur Erinnerung: Strings w über {a, b, c} werden modelliert durch Strukturen mit • Strings, die den Teilstring abc enthalten – Es gibt drei hintereinander liegende Positionen, die a, b, c enthalten • der Grundmenge A = {1, . . . , n} (n = Länge von w) – ∃x ∃y ∃z [ϕ+1 (x, y) ∧ ϕ+1 (y, z)∧ Qa (x) ∧ Qb (y) ∧ Qc (z)] • einer 2-stelligen Relation ≤, • 1-stelligen Relationen Qa , Qb , Qc Bemerkung: Wir betrachten nur nicht-leere Strings (da A 6= ∅ gelten soll). G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 57 / 250 PL – Modellierung und Normalformen Formeln erstellen und verstehen Prädikatenlogik: Formeln verstehen (4/4) Beispiel (Forts.) • ∀x ∀y [ϕ+1 (x, y) → (¬Qa (x) ∨ ¬Qa (y))] – Für zwei aufeinander folgende Positionen gilt, dass sie nicht beide a enthalten – Im String kommt aa nicht als Teilstring vor • ∃x ∀y [y ≤ x ∧ Qa (x)] – Es gibt eine Position, für die alle Positionen kleiner oder gleich sind, und die ein a enthält – Das letzte Zeichen ist ein a • ∀x ∀y [(ϕ+1 (x, y) ∧ Qa (x)) → Qb (y)] – Für jede Position, die ein a enthält und eine rechte Nachbarposition hat, steht dort ein b – Auf jedes a folgt direkt ein b, es sei denn, das a ist das letzte Zeichen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 58 / 250 PL – Modellierung und Normalformen Äquivalenzen Übersicht Kapitel 9 9.1 Formeln erstellen und verstehen 9.2 Äquivalenzen 9.3 Normalformen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 59 / 250 PL – Modellierung und Normalformen Äquivalenzen Teilformeln und äquivalente Formeln Definition 9.7 (Teilformeln, T (ϕ)) • Wir definieren die Menge T (ϕ) der Teilformeln von ϕ induktiv wie folgt: – – – – – – Ist ϕ atomar, so ist T (ϕ) =def {ϕ} T (¬ϕ) =def {¬ϕ} ∪ T (ϕ) T (ϕ1 ∧ ϕ2 ) =def {ϕ1 ∧ ϕ2 } ∪ T (ϕ1 ) ∪ T (ϕ2 ) T (ϕ1 ∨ ϕ2 ) =def {ϕ1 ∨ ϕ2 } ∪ T (ϕ1 ) ∪ T (ϕ2 ) T (∃x ϕ) =def {∃x ϕ} ∪ T (ϕ) T (∀x ϕ) =def {∀x ϕ} ∪ T (ϕ) Analog zur Aussagenlogik definieren wir: Zwei Formeln ϕ1 , ϕ2 heißen äquivalent, falls für jede zu ϕ1 und ϕ2 passende Interpretation I gilt: [[ϕ1 ]]I = [[ϕ2 ]]I (Notation: ϕ1 ≡ ϕ2 ) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 60 / 250 PL – Modellierung und Normalformen Äquivalenzen Ersetzungslemma Das Ersetzungslemma gilt auch völlig analog: (wir verzichten wieder auf eine formale Definition der Begriffe „Vorkommen“ und „Ersetzen“) Lemma 9.1 (Ersetzungslemma der Prädikatenlogik) • Sei ϕ1 eine PL-Formel, in der eine Teilformel ψ1 vorkommt • Sei ψ1 ≡ ψ2 • Sei ϕ2 die Formel, die aus ϕ1 entsteht, indem (ein Vorkommen von) ψ1 durch ψ2 ersetzt wird • Dann gilt: ϕ1 ≡ ϕ2 Substitutionen spielen in der Prädikatenlogik eine andere Rolle als in der Aussagenlogik (Wir werden sie im übernächsten Kapitel betrachten) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 61 / 250 PL – Modellierung und Normalformen Äquivalenzen Äquivalenzen der Prädikatenlogik (1/4) Satz 9.2 (PL-Äquivalenzen) • Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten die folgenden Äquivalenzen: Kommutativität – ϕ1 ∧ ϕ2 ≡ ϕ2 ∧ ϕ1 – ϕ1 ∨ ϕ2 ≡ ϕ2 ∨ ϕ1 Assoziativität – (ϕ1 ∧ ϕ2 ) ∧ ϕ3 ≡ ϕ1 ∧ (ϕ2 ∧ ϕ3 ) – (ϕ1 ∨ ϕ2 ) ∨ ϕ3 ≡ ϕ1 ∨ (ϕ2 ∨ ϕ3 ) Idempotenz – ϕ∧ϕ≡ϕ – ϕ∨ϕ≡ϕ Absorption – ϕ1 ∧ (ϕ1 ∨ ϕ2 ) ≡ ϕ1 – ϕ1 ∨ (ϕ1 ∧ ϕ2 ) ≡ ϕ1 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 62 / 250 PL – Modellierung und Normalformen Äquivalenzen Äquivalenzen der Prädikatenlogik (2/4) Satz 9.2 (PL-Äquivalenzen, Forts.) • Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten die folgenden Äquivalenzen: Distributivität – ϕ1 ∨ (ϕ2 ∧ ϕ3 ) ≡ (ϕ1 ∨ ϕ2 ) ∧ (ϕ1 ∨ ϕ3 ) – ϕ1 ∧ (ϕ2 ∨ ϕ3 ) ≡ (ϕ1 ∧ ϕ2 ) ∨ (ϕ1 ∧ ϕ3 ) Doppelnegation – ¬¬ϕ ≡ ϕ De Morgansche Regeln – ¬(ϕ1 ∧ ϕ2 ) ≡ ¬ϕ1 ∨ ¬ϕ2 – ¬(ϕ1 ∨ ϕ2 ) ≡ ¬ϕ1 ∧ ¬ϕ2 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 63 / 250 PL – Modellierung und Normalformen Äquivalenzen Äquivalenzen der Prädikatenlogik (3/4) Satz 9.3 • Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 gelten: (1) ¬∀x ϕ ≡ ∃x ¬ϕ und ¬∃x ϕ ≡ ∀x ¬ϕ (2) (∀x ϕ1 )∧(∀x ϕ2 ) ≡ ∀x (ϕ1 ∧ϕ2 ) und (∃x ϕ1 )∨(∃x ϕ2 ) ≡ ∃x (ϕ1 ∨ϕ2 ) (3) ∀x ∀y ϕ ≡ ∀y ∀x ϕ und ∃x ∃y ϕ ≡ ∃y ∃x ϕ (4) Falls x in ϕ2 nicht vorkommt: ∀x (ϕ1 ∧ ϕ2 ) ≡ (∀x ϕ1 ) ∧ ϕ2 und ∀x (ϕ1 ∨ ϕ2 ) ≡ (∀x ϕ1 ) ∨ ϕ2 (5) Falls x in ϕ2 nicht vorkommt: ∃x (ϕ1 ∨ ϕ2 ) ≡ (∃x ϕ1 ) ∨ ϕ2 und ∃x (ϕ1 ∧ ϕ2 ) ≡ (∃x ϕ1 ) ∧ ϕ2 Beweisskizze • Die Beweise erfolgen jeweils durch Rückführung auf die Semantik von PL-Formeln G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 64 / 250 PL – Modellierung und Normalformen Äquivalenzen Äquivalenzen der Prädikatenlogik (3/3) Beweisskizze (Forts.) Wir betrachten beispielhaft den Beweis der zweiten Äquivalenz in (4): Falls x in ϕ2 nicht vorkommt: ∀x (ϕ1 ∨ ϕ2 ) ≡ (∀x ϕ1 ) ∨ ϕ2 Sei I = (A, β) [[∀x (ϕ1 ∨ ϕ2 )]]I = 1 ⇐⇒ für alle a ∈ A gilt: [[ϕ1 ∨ ϕ2 ]]I[x/a] = 1 ⇐⇒ für alle a ∈ A gilt: [[ϕ1 ]]I[x/a] = 1 oder [[ϕ2 ]]I[x/a] = 1 ⇐⇒ für alle a ∈ A gilt: [[ϕ1 ]]I[x/a] = 1 oder [[ϕ2 ]]I = 1 (da x in ϕ2 nicht vorkommt) ⇐⇒ für alle a ∈ A gilt [[ϕ1 ]]I[x/a] = 1, oder es gilt [[ϕ2 ]]I = 1 ⇐⇒ [[∀x ϕ1 ]]I = 1 oder [[ϕ2 ]]I = 1 ⇐⇒ [[(∀x ϕ1 ) ∨ ϕ2 ]]I = 1 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 65 / 250 PL – Modellierung und Normalformen Normalformen Übersicht Kapitel 9 9.1 Formeln erstellen und verstehen 9.2 Äquivalenzen 9.3 Normalformen G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 66 / 250 PL – Modellierung und Normalformen Normalformen Normalformen: Begriffe (1/4) Definition 9.8 (reduzierte Form, NNF, Pränexform) • Eine PL-Formel ist in reduzierter Form, wenn sie nur ∃, ∨, ¬ verwendet, aber nicht ∀ und ∧ • Eine PL-Formel ϕ ist in Negations-Normalform (NNF), wenn Negationen in ϕ nur unmittelbar vor atomaren Formeln vorkommen • Eine PL-Formel ϕ ist in Pränexform, wenn sie die Gestalt Q1 x1 Q2 x2 . . . Qk xk ϕ0 hat, wobei – die Qi jeweils entweder ∃ oder ∀ sind, – die xi paarweise verschieden sind, und – ϕ0 quantorenfrei ist (also: ϕ0 ist atomar oder geklammert!) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 67 / 250 PL – Modellierung und Normalformen Normalformen Normalformen: Begriffe (2/4) Beispiel • ∃x ∀y (E(x, y) ∧ ¬E(y, x)) ist in Pränexform und in NNF, aber nicht in reduzierter Form • ∃x ∀y E(x, y) ∧ ¬E(y, x) ist in NNF, aber weder in Pränexform noch in reduzierter Form • ∃x ¬[∃y (¬E(x, y) ∨ E(y, x))] ist in reduzierter Form, aber weder in NNF noch in Pränexform G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 68 / 250 PL – Modellierung und Normalformen Normalformen Normalformen: Begriffe (3/4) Lemma 9.4 Zu jeder prädikatenlogischen Formel ϕ gibt es jeweils eine äquivalente Formel in (a) reduzierter Form, (b) Negations-Normalform und (c) Pränexform Beweisskizze • (a) und (b) lassen sich durch Anwendung von Satz 9.3 (1) und den De Morgan-Regeln beweisen • (c) beweisen wir gleich G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 69 / 250 PL – Modellierung und Normalformen Normalformen Normalformen: Begriffe (4/4) Bemerkungen: • Es kann auch immer eine äquivalente Formel konstruiert werden, die in Pränexform und in NNF ist • Nicht immer gleichzeitig möglich: – NNF und reduzierte Form – Pränex- und reduzierte Form G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 70 / 250 PL – Modellierung und Normalformen Normalformen Umwandlung in Pränexform: Variablenumbenennungen Zu beachten: in einer Pränexform ist es nicht sinnvoll, dass verschiedene Quantoren dieselbe Variable quantifizieren. ⇒ Deshalb sollte vor der Umwandlung einer Formel in Pränexform schon angestrebt werden, dass alle Quantoren verschiedene Variablen verwenden. Wir machen uns hierbei das folgende Lemma zunutze: Lemma 9.5 (Variablenumbenennung) • Sei ϕ eine Formel, in der die Variable x0 nicht vorkommt • Sei ϕ0 die Formel, die aus ϕ entsteht, indem jedes freie Vorkommen von x durch x0 ersetzt wird • Dann gelten: – ∃x ϕ ≡ ∃x0 ϕ0 und ∀x ϕ ≡ ∀x0 ϕ0 Wir können also durch Umbenennungen dafür sorgen, dass alle quantifizierten Variablen verschieden sind. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 71 / 250 PL – Modellierung und Normalformen Normalformen Ein Algorithmus zur Berechnung der Pränexform Im Folgenden stehen jedes Qi und jedes Q0i für einen Quantor ∃ oder ∀ Beweisskizze zu Lemma 9.4 (c) Eingabe: PL-Formel ϕ Ausgabe: PL-Formel ϕ0 = P F (ϕ) ≡ ϕ in Pränexform (PF) 1: Wandle ϕ äquivalent so um, dass alle quantifizierten Variablen 2: 3: 4: 5: 6: 7: paarweise verschieden und von den freien Variablen verschieden sind case ϕ ist von der Form atomar: RETURN ϕ ¬ψ: Berechne Q1 x1 . . . Qk xk χ := PF(ψ) RETURN Q1 x1 . . . Qk xk (¬χ) (wobei ∃ = ∀ und ∀ = ∃) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 72 / 250 PL – Modellierung und Normalformen Normalformen Berechnung der Pränexform (Forts.) Beweisskizze (Forts.) 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: case ϕ ist von der Form ϕ1 ∨ ϕ2 : Berechne Q1 x1 . . . Qk xk ψ1 := PF(ϕ1 ) Berechne Q01 y1 . . . Q0l yl ψ2 := PF(ϕ2 ) RETURN Q1 x1 . . . Qk xk Q01 y1 . . . Q0l yl (ψ1 ∨ ψ2 ) ϕ1 ∧ ϕ2 : Berechne Q1 x1 . . . Qk xk ψ1 := PF(ϕ1 ) Berechne Q01 y1 . . . Q0l yl ψ2 := PF(ϕ2 ) RETURN Q1 x1 . . . Qk xk Q01 y1 . . . Q0l yl (ψ1 ∧ ψ2 ) ∃x ψ : Berechne Q1 x1 . . . Qk xk χ := PF(ψ) RETURN ∃x Q1 x1 . . . Qk xk χ ∀x ψ: Berechne Q1 x1 . . . Qk xk χ := PF(ψ) RETURN ∀x Q1 x1 . . . Qk xk χ G. Kern-Isberner (TU Dortmund) Logik (alle xi 6= x) (alle xi 6= x) WS 2014/15 73 / 250 PL – Modellierung und Normalformen Normalformen Berechnung der Pränexform: Beispiel Beispiel • Wir betrachten die Formel [R(x) ∨ ∀y P (x, g(y))] ∧ ¬∀x ∃y P (f (x), y) • Da x gebunden und frei vorkommt und y zweimal quantifiziert wird, ersetzen wir die Variable y im ersten All-Quantor (und ihre Vorkommen) sowie die Variable x im Allquantor: [R(x) ∨ ∀y1 P (x, g(y1 ))] ∧ ¬∀x1 ∃y P (f (x1 ), y) • Da die Formel von der Form ϕ1 ∧ ϕ2 ist, wird zunächst für die beiden Teilformeln die Pränexform bestimmt: – PF(R(x) ∨ ∀y1 P (x, g(y1 ))) liefert die Formel ∀y1 [R(x) ∨ P (x, g(y1 ))] – PF(¬∀x1 ∃y P (f (x1 ), y)) führt zum Aufruf PF(∀x1 ∃y P (f (x1 ), y)) und liefert dann ∃x1 ∀y ¬P (f (x1 ), y) • Insgesamt erhalten wir also: ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y)) Die hier betrachtete Formel ist nicht dieselbe wie im letzten Kapitel! G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 74 / 250 PL – Modellierung und Normalformen Normalformen Umwandlung in Pränexform Die Korrektheit dieses Algorithmus lässt sich durch Induktion nach dem Aufbau der Formel ϕ beweisen. ⇒ Das vervollständigt dann den Beweis für Lemma 9.4 (c). Ein anderer Weg zur Umwandlung von Formeln in Pränexform ist durch (direkte) Anwendung von Äquivalenzregeln: Beispiel ∀x R(x) ∧ ∃y S(y) ≡ ∀x [R(x) ∧ ∃y S(y)] ≡ ∀x [∃y S(y) ∧ R(x)] ≡ ∀x ∃y (S(y) ∧ R(x)) ≡ ∀x ∃y (R(x) ∧ S(y)) G. Kern-Isberner (TU Dortmund) Logik Satz 9.3 (4) Kommutativität Satz 9.3 (5) Kommutativität WS 2014/15 75 / 250 PL – Modellierung und Normalformen Normalformen Erfüllbarkeit: Grundbegriffe (1/2) Definition 9.9 (Modell, (un)erfüllbar, allgemeingültig, |=) • Sei ϕ eine prädikatenlogische Formel • Eine Interpretation I mit [[ϕ]]I = 1 heißt Modell von ϕ – Alternative Notation dafür: I |= ϕ • ϕ heißt erfüllbar, falls ϕ ein Modell hat, andernfalls unerfüllbar • ϕ heißt allgemeingültig (oder: Tautologie), falls jede zu ϕ passende Interpretation ein Modell von ϕ ist • I ist Modell einer Menge Φ prädikatenlogischer Formeln (I |= Φ), falls für alle ϕ ∈ Φ gilt: I |= ϕ Die Begriffe „erfüllbar“ und „allgemeingültig“ werden für Mengen Φ von Formeln analog definiert. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 76 / 250 PL – Modellierung und Normalformen Normalformen Erfüllbarkeit: Grundbegriffe (2/2) Beispiel • ∀x P (x) ∨ ∃y ¬P (y) ist allgemeingültig • ∀x ¬P (x) ∧ ∃y P (y) ist unerfüllbar Bemerkungen: • Der Zusammenhang zwischen unerfüllbaren und allgemeingültigen Formeln ist genauso wie in der Aussagenlogik: ϕ unerfüllbar ⇔ ¬ϕ allgemeingültig • Ist ϕ eine geschlossene Formel mit Modell I = (A, β), so nennen wir auch A ein Modell von ϕ und schreiben A |= ϕ In den nächsten beiden Kapiteln werden wir uns mit Erfüllbarkeitstests für prädikatenlogische Formeln beschäftigen. ⇒ Dann werden wir die folgenden beiden Normalformen (Skolemform und Matrixklauselform) benötigen. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 77 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (1/6) Beobachtung: Wenn wir die Erfüllbarkeit einer Formel ϕ durch Umwandlung in eine andere Formel testen wollen, müssen die einzelnen Schritte nicht unbedingt äquivalente Formeln ergeben – es genügt, wenn sich jeweils die Erfüllbarkeit nicht ändert. Wenn wir Formeln auf Erfüllbarkeit testen wollen, hilft uns diese Beobachtung, Formeln (letztendlich) in Formeln mit weniger Quantoren umzuwandeln. Dazu definieren wir:Formeln ϕ1 , ϕ2 heißen erfüllbarkeitsäquivalent, wenn sie entweder beide erfüllbar oder beide unerfüllbar sind. Insbesondere: Sind x1 , . . . , xm die freien Variablen von ϕ1 , so ist ϕ2 = ∃x1 . . . ∃xm ϕ1 erfüllbarkeitsäquivalent zu ϕ1 . G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 78 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (2/6) Definition 9.10 (Skolemform) • Eine Formel ist in Skolemform, wenn sie die Form ∀x1 . . . ∀xn ψ hat, wobei – ψ quantorenfrei ist und – im Quantoren-Präfix keine Variable mehrfach vorkommt Zu beachten: Wie schon bei der Pränexform muss – nach Definition der Syntax prädikatenlogischer Formeln – ψ also atomar oder durch ein Klammerpaar umschlossen sein. Lemma 9.6 Es gibt einen Algorithmus, der zu jeder prädikatenlogischen Formel eine erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform berechnet. G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 79 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (3/6) Beispiel • Die Formel ϕ = ∀x ∃y E(x, y) sagt aus, dass jeder Knoten eines Graphen mindestens eine ausgehende Kante hat • Natürlich ist diese Formel erfüllbar • Tun wir trotzdem mal so, als wäre das noch nicht klar: – Wir wollen den ∃-Quantor loswerden, ohne an der Erfüllbarkeit der Formel etwas zu ändern – Etwas genauer sagt die Formel, dass es zu jedem Knoten einen weiteren Knoten gibt, so dass es vom ersten Knoten eine Kante zum zweiten Knoten gibt – Wenn G |= ϕ für einen Graphen G = (V, E) gilt, lässt sich also eine Funktion f : V 7→ V finden, so dass jeder Knoten a eine Kante zu f (a) hat – Umgekehrt lässt sich eine solche Funktion nur finden, wenn G |= ϕ gilt – Also ist die Formel ϕ erfüllbarkeitsäquivalent zu ∀x E(x, f (x)) G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 80 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (4/6) Allgemeiner kann jede Formel durch Anwendung der folgenden Skolem-Regel (und der Äquivalenzumwandlungen) in eine erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform umgewandelt werden: • Ist ϕ = ∀x1 ∀x2 . . . ∀xk ∃y ϕ0 , und kommt das Funktionssymbol f in ϕ0 nicht vor, so ist die Formel ∀x1 ∀x2 . . . ∀xk ϕ0 [y/f (x1 , . . . . , xk )] erfüllbarkeitsäquivalent zu ϕ • Steht der ∃-Quantor am Anfang (ist also k = 0), so wird y durch eine Konstante ersetzt Zur Erinnerung: Konstanten sind eigentlich 0-stellige Funktionen Zu beachten: ϕ darf durchaus weitere Quantoren enthalten 0 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 81 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (5/6) Die Umwandlung einer prädikatenlogischen Formel ϕ in eine erfüllbarkeitsäquivalente Formel in Skolemform erfolgt in drei Phasen: (i) Wandle ϕ in eine äquivalente Formel ϕ1 in Pränexform um (ii) Wandle ϕ1 in eine erfüllbarkeitsäquivalente, geschlossene Pränex-Formel ϕ2 um: – ϕ2 = ∃x1 . . . ∃xm ϕ1 , wobei x1 , . . . , xm die freien Variablen von ϕ1 sind (iii) Wandle ϕ2 durch Anwendung der Skolem-Regel (von links nach rechts) in eine erfüllbarkeitsäquivalente geschlossene Skolemformel ϕ3 um G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 82 / 250 PL – Modellierung und Normalformen Normalformen Skolemform (6/6) Beispiel • Wir wandeln die Formel ϕ = ∀y ∃z ∀w [(¬P (x, y) ∧ ¬R(y, f (z))) ∨ P (g(x, w), x)] in eine erfüllbarkeitsäquivalente Formel in Skolemform um • ϕ ist schon in Pränexform mit freier Variable x • Wir quantifizieren die freie Variable x: ∃x ∀y ∃z ∀w [(¬P (x, y) ∧ ¬R(y, f (z))) ∨ P (g(x, w), x)] • Der erste ∃-Quantor wird entfernt und jedes Vorkommen von x durch ein (neues) Konstantensymbol a ersetzt: ∀y ∃z ∀w [(¬P (a, y) ∧ ¬R(y, f (z))) ∨ P (g(a, w), a)] • Der zweite ∃-Quantor (im Wirkungsbereich von y!) wird entfernt und jedes Vorkommen von z durch den 1-stelligen Funktionsterm h(y) ersetzt: ∀y ∀w [(¬P (a, y) ∧ ¬R(y, f (h(y)))) ∨ P (g(a, w), a)] G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 83 / 250 PL – Modellierung und Normalformen Normalformen Matrixklauselform (1/2) Die erfüllbarkeitsäquivalente Vereinfachung von Formeln können wir noch etwas verfeinern, damit der quantorenfreie Teil eine günstige Form hat: • Sei ϕ eine Formel in Pränexform • Sei ψ = ∀y1 . . . ∀yk χ eine zu ϕ erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform • Der quantorenfreie Teil χ von ψ wird auch Matrix oder Matrix-Formel von ψ bzw. ϕ genannt • Sei χ0 eine KNF zu χ • Die Klauselmenge K zu χ0 nennen wir nun eine Matrixklauselform zu ϕ G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 84 / 250 PL – Modellierung und Normalformen Normalformen Matrixklauselform (2/2) Beispiel (Forts.) • Wir betrachten wieder die Formel [R(x) ∨ ∀y P (x, g(y))] ∧ ¬∀x ∃y P (f (x), y) • In Pränexform: ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y)) • Diese Formel ist erfüllbarkeitsäquivalent zu: ∃x ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y)) • Durch die Ersetzung x 7→ b und x1 7→ h(y1 ) erhalten wir die Skolemform: ∀y1 ∀y ([R(b) ∨ P (b, g(y1 ))] ∧ ¬P (f (h(y1 )), y)) • Die entstehende Matrixformel [R(b) ∨ P (b, g(y1 ))] ∧ ¬P (f (h(y1 )), y) ist bereits in KNF • Insgesamt erhalten wir die Matrixklauselform: {{R(b), P (b, g(y1 ))}, {¬P (f (h(y1 )), y)}} G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 85 / 250 PL – Modellierung und Normalformen Normalformen Zusammenfassung Sie sollten die folgenden Themen und Techniken kennen und beherrschen: • Beim Erstellen und Analysieren prädikatenlogischer Formeln ist es oft hilfreich und sinnvoll, einen Zwischenschritt in „formelähnlicher Sprache“ zu machen • Prädikatenlogische Formeln lassen sich in äquivalente Formeln in – Pränexform, – Negations-Normalform, und – reduzierte Form umwandeln • Prädikatenlogische Formeln lassen sich in erfüllbarkeitsäquivalente Formeln in Skolemform umwandeln • Die Matrixklauselform ergibt sich als Klauselmenge einer Formel in Skolemform, deren quantorenfreier Anteil in KNF ist G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 86 / 250