Prof. Dr. Viorica Sofronie-Stokkermans Dipl.-Inform. Markus Bender AG Formale Methoden und Theoretische Informatik Fachbereich Informatik Universität Koblenz-Landau Nachklausur zur Vorlesung Logik für Informatiker Sommersemester 2014 30.09.2014 Name: ................................................... Vorname: ................................................... Matrikelnummer: ................................................... Studiengang: ................................................... Hinweise • Legen Sie Ihren Studentenausweis und ein Ausweisdokument mit Lichtbild (Personalausweis, Pass, Führerschein) auf den Tisch. • Schalten Sie Ihr Handy aus. • Prüfen Sie Ihr Exemplar der Klausur auf Vollständigkeit (12 Aufgaben). • Schreiben Sie mit einem dokumentenechten, schwarzen oder blauen Stift. • Es sind keine Hilfsmittel erlaubt. Weitere leere Blätter sind bei der Aufsicht erhältlich. Diese sind mit Namen und Matrikelnummer zu beschriften und müssen abgegeben werden. • Heften Sie bei der Abgabe sämtliche Blätter zusammen. • Blätter, die versehentlich nicht abgegeben wurden, können nicht nachträglich abgegeben werden. Viel Erfolg! Aufgabe Punkte erreicht von möglichen 1 2 3 4 5 6 7 8 9 10 11 12 Σ 14 10 4 9 10 11 8 7 11 7 100 Note: . . . . . . . . . . . . . . . . . . . . 3 6 Unterschrift: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufgabe 1 (14 Punkte) Seien Π = {P, Q, R} eine Menge von Aussagenvariablen und F die folgende Formel über Π: F = (¬P ∧ Q) ∨ (P ∧ R) → Q ↔ P a) Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für sämtliche Teilformeln von F angeben. Bedenken Sie, dass auch F eine Teilformel von F ist. P Q R 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 /6 P b) Kreuzen Sie in der folgenden Tabelle an, ob F erfüllbar, unerfüllbar oder allgemeingültig ist. Begründen Sie Ihre Antwort mit Hilfe der Wahrheitstabelle aus a). ja nein erfüllbar unerfüllbar allgemeingültig Begründung: /3 P 1 c) Sei G die folgende Formel über Π: G = ¬(Q ∨ R) Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für G angeben. Untersuchen Sie mit Hilfe der Wahrheitstabellen für F und G, ob F |= G gilt. Begründen Sie Ihre Antwort mit Hilfe der Wahrheitstabellen. /3 P d) Geben Sie mit Hilfe der Wahrheitstabelle aus c) jeweils eine disjunktive und eine konjunktive Normalform der Formel G an. /2 P /14 P 2 Aufgabe 2 (10 Punkte) Seien Π = {P, Q, R, S, T, U, W, X} eine Menge von Aussagenvariablen und F die folgende Formel über Π: F = ¬U ∧ X ∧ T ∨ ¬X ∧ S ∨ ¬T ∨ ¬X ∧ ¬S ∨ W ∨ ¬X ∧ P ∨ ¬R ∨ ¬S ∨ ¬W ∧ ¬Q ∨ ¬R ∨ ¬T ∨ U ∧ R ∨ ¬S ∨ ¬W ∨ ¬X a) Begründen Sie, warum es sich bei F um eine Horn-Formel handelt. /1 P b) Schreiben Sie F als Konjunktion von Implikationen auf. /4 P 3 c) Wenden Sie den Markierungsalgorithmus zur Überprüfung der Erfüllbarkeit von Hornklauseln auf die im Schritt b) erzeugte Konjunktion von Implikationen an. Geben Sie explizit für jeden Schritt an, welche Atome markiert werden, und wieso die Markierung zustande kommt. /3 P d) Ist die Formel F erfüllbar oder unerfüllbar? Begründen Sie kurz Ihre Antwort mit Hilfe der Ergebnisse aus c); falls F erfüllbar ist, geben Sie ein Modell an. /2 P /10 P 4 Aufgabe 3 (4 Punkte) Seien Π = {P, Q, R, S} eine Menge von Aussagenvariablen und N die folgende Klauselmenge über Π: N = {{¬Q}, {¬S}, {¬P, S}, {P, Q, R}, {Q, ¬R, S}} Verwenden Sie den Resolutionskalkül, um zu begründen, dass N unerfüllbar ist. /4 P /4 P 5 Aufgabe 4 (9 Punkte) Seien Π = {P, Q, R, S} eine Menge von Aussagenvariablen und F die folgende Formel über Π: F = ¬ S ∧ P ∧ ¬ Q → R ∧ (Q ∧ S) → (P → R) Verwenden Sie den Tableaukalkül, um zu begründen, dass F allgemeingültig ist. Führen Sie keine Vereinfachungen an der gegebenen Formel durch. /9 P /9 P 6 Aufgabe 5 (10 Punkte) a) Geben Sie die allgemeinste Struktur eines Beweises mit struktureller Induktion über den Aufbau der Formeln in der Aussagenlogik an. /3 P b) Sei Π eine Menge von Aussagenvariablen. Seien die folgenden Funktionen auf aussagenlogischen Formeln über Π wie folgt definiert: Für jede aussagenlogische Formel F : wenn F ∈ Π ∪ {>, ⊥} 0 NB(F ) = NB(F1 ) wenn F = ¬F1 1 + NB(F1 ) + NB(F2 ) wenn F = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔} 1 0 NA(F ) = NA(F1 ) NA(F ) + NA(F ) 1 2 wenn wenn wenn wenn F F F F ∈Π ∈ {>, ⊥} = ¬F1 = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔} (NB(F ) bezeichnet die Anzahl der Vorkommen von binären Operatoren in F ; NA(F ) bezeichnet die Anzahl der Vorkommen von Aussagenvariablen in F .) 7 Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen Formeln, dass für jede aussagenlogische Formel F über Π, die > und ⊥ nicht enthält, gilt: 1 + NB(F ) = NA(F ). /7 P /10 P 8 Aufgabe 6 (11 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0, f /1}, und • Π = {p/1, q/1, r/2, s/3, t/5}. Ferner seien X eine Menge von Variablen und u, w, x, y, z ∈ X. I) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an. ! → ¬ q(x) ∨ q(z) ∨ q(a) ∀x ∃z ¬ p(z) → ¬¬q(x) /3 P II) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter Form an. ! ∀x∃y ∃z∀y s(x, y, z) ∨ ∃z r(y, z) ∧ ∃w (r(w, z)) /2 P III) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an. ! ∃u ∀w∃x s(u, w, x) ∨ ∃y r(u, y) ∧ ∀z (s(u, z, y)) /1 P 9 IV) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform: ∀u∃w∀x∃y∀z t(x, f (u), w, f (a), y) ∧ t(f (w), y, z, u, a) /2 P V) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix in konjunktiver Normalform an. ∀x∀y r(y, a) ∧ r(f (b), a) ∨ q(a) ∧ q(b) ∨ r(x, y) /2 P VI) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar. ∀x∀y r(x, b) ∧ r(x, y) ∨ ¬r(a, x) ∧ r(a, y) ∨ r(b, x) /1 P /11 P 10 Aufgabe 7 (8 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {f /1, g/1, h/2}, und • Π = {≈/2}. Ferner seien X eine Menge von Variablen und w, x, y, z ∈ X. Gegeben sind die Struktur A und die Belegung β: • A = (Q, {fA : Q → Q, gA : Q → Q, hA : Q × Q → Q}, {≈A }) mit n – fA (n) = 10 ∈Q – gA (n) = n ∗ 2 ∈ Q ( 0∈Q wenn n2 = 0 – hA (n1 , n2 ) = n1 6 0 n2 ∈ Q wenn n2 = – ≈A ist die Gleichheit, d.h. ≈A = {(n, n) | n ∈ Q} • β : X → Q, definiert durch β(x) = 15, β(y) = 20, β(z) = 30, β(w) = 300 Evaluieren Sie, in klaren und leicht nachvollziehbaren Schritten, I) A(β)(h(f (g(y)), h(z, x))) /2 P 11 II) A(β)(∀y ((y ≈ w) → (f (y)) ≈ g(x))) /3 P III) A(β)(∀x∃y (h(y, x) ≈ g(y))) /3 P /8 P 12 Aufgabe 8 (7 Punkte) Seien Ω = {a/0, f /1, g/2} eine Menge von Funktionssymbolen, X eine Menge von Variablen und w, x, y, z ∈ X. Gegeben sind die folgenden 2 Unifikationsprobleme über Ω und X: ? ? I) {g(w, w) = g(x, g(y, z)), f (g(y, a)) = f (x)} ? ? II) {g(g(w, x), y) = g(z, g(w, f (x))), f (y) = f (z)} a) Wenden Sie den Martelli-Montanari-Algorithmus auf die gegebenen Probleme an. Notieren Sie dabei sämtliche Zwischenschritte. Jeder Schritt soll der Anwendung genau einer Instanz einer Regel entsprechen. ? ? I) {g(w, w) = g(x, g(y, z)), f (g(y, a)) = f (x)} /2 P 13 ? ? II) {g(g(w, x), y) = g(z, g(w, f (x))), f (y) = f (z)} /2 P b) Verwenden Sie die Ergebnisse aus dem vorherigen Aufgabenteil um eine begründete Aussage über das (Nicht-)Vorhandensein eines Unifikators zu machen. Gibt es einen Unifikator für ein Problem, so geben Sie ihn explizit an. /3 P /7 P 14 Aufgabe 9 (11 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0, c/0, f /1}, und • Π = {p/1, q/3}. Ferner seien X eine Menge von Variablen und x, y ∈ X. a) Geben Sie die allgemeine Form der prädikatenlogischen Resolutionsregel und Faktorisierungsregel (für Klauseln in Mengennotation) an. /4 P b) Es seien die folgenden Klauseln über Σ und X gegeben: (1) {p(x), p(a), q(a, x, c)} (2) {p(a), p(b), ¬q(x, x, x), ¬q(x, c, a)} (3) {¬p(c), q(x, y, c), q(y, x, f (y))} I) Geben Sie sämtliche Faktoren an, die sich mit der Faktorisierungsregel aus den gegebenen Klauseln bilden lassen und geben Sie bei der Faktorisierung explizit die verwendeten Unifikatoren an. Sollte eine Faktorisierung nicht möglich sein, begründen Sie jeweils kurz, warum dem so ist. Dass eine Faktorisierung nicht möglich ist, weil Literale verschiedene Prädikatensymbole haben, brauchen Sie nicht zu erwähnen. 15 II) Bilden Sie sämtliche Resolventen, die sich aus den Klauseln: • (1) und (2), • (1) und (3), • (2) und (3) bilden lassen und geben Sie dabei explizit die verwendeten Unifikatoren und durchgeführten Umbenennungen an. /7 P /11 P 16 Aufgabe 10 (7 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0}, und • Π = {p/2, q/2}. Ferner seien X eine Menge von Variablen und x, y, z ∈ X. Sei F die folgenden Formel über Σ und X: F = ∀x ¬ ∃y p(x, y) ∨ q(x, a) → ∃y∃z (p(y, z) ∨ q(x, y)) Verwenden Sie den Tableaukalkül mit freien Variablen um zu zeigen, dass F unerfüllbar ist. /7 P /7 P 17 18 Aufgabe 11 (3 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0, f /1}, und • Π = {p/2, q/2}. a) Ist das Herbrand-Universum von Σ endlich? Begründen Sie kurz ihre Antwort. /2 P b) Zeigen Sie, wie das Herbrand-Universum für die Signatur Σ aufgebaut ist, indem Sie exemplarisch 6 ausgewählte Individuen des Herbrand-Universums angeben. /1 P /3 P 19 Aufgabe 12 (6 Punkte) Schreiben Sie das Prologprädikat ndf(E1, E2, Liste) (nirgendwo direkt folgend), das genau dann wahr ist, wenn in der Liste Liste die Atome E1 und E2 nirgendwo direkt aufeinanderfolgend vorkommen. Sie können davon ausgehen, dass Liste eine flache Liste von Atomen ist, d.h. es kommen keine verschachtelten Listen vor. Prolog soll für jeden Aufruf exakt eine Antwort zurück geben, es gibt also keine Möglichkeit nach weiteren Antworten zu fragen. Bis auf die folgenden Ausnahmen dürfen Sie keine built-in Prädikate und keine Arithmetik verwenden: • den Cut-Operator ‘!’, • das Prädikat ‘fail’, das immer falsch ist, Zur Verdeutlichung einige Beispielaufrufe: Eingabe ndf(a, ndf(a, ndf(a, ndf(a, ndf(c, b, b, a, c, c, [a,b]). [a,b,a]). [a,a,a]). [a,c,c,b]). [a,c,c,b]). Ausgabe false false false false false Eingabe ndf(a, ndf(b, ndf(a, ndf(c, ndf(a, /6 P /6 P 20 b, a, a, b, b, [b,a]). [a,b,a]). [a,b,a]). [a,c,c,b]). [a,c,c,b]). Ausgabe true false true false true