Prof. Dr. Viorica Sofronie-Stokkermans Dipl.-Inform. Markus Bender AG Formale Methoden und Theoretische Informatik Fachbereich Informatik Universität Koblenz-Landau Klausur zur Vorlesung Logik für Informatiker Sommersemester 2016 29.07.2016 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 Σ 13 10 5 8 10 10 8 7 13 7 100 Note: . . . . . . . . . . . . . . . . . . . . 2 7 Unterschrift: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufgabe 1 (3 + 3 + 2 + 3 + 2 = 13 Punkte) Seien Π = {P, Q} eine Menge von Aussagenvariablen und F die folgende Formel über Π: F = (¬P → Q) ↔ (Q → P ) ∧ P ∨ Q 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 0 0 0 1 1 0 1 1 /3 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 c) Geben Sie mit Hilfe der Wahrheitstabelle aus a) jeweils eine disjunktive und eine konjunktive Normalform der Formel F an. /2 P 1 d) Seien G und H die folgenden Formel über Π: G = ¬((P ∧ Q) → P ) H = ¬(¬P ∧ ¬Q) Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für G und H angeben. Untersuchen Sie mit Hilfe der Wahrheitstabellen für F , G und H, ob I) F |= G, II) F |= H, gilt. Begründen Sie Ihre Antwort mit Hilfe der Wahrheitstabellen. /3 P e) Geben Sie, falls vorhanden, mit Hilfe der Wahrheitstabelle aus a) eine Wertebelgung für die Aussagenvariablen in Π an, in der i) F wahr ist, ii) F falsch ist. /2 P /13 P 2 Aufgabe 2 (1 + 5 + 4 = 10 Punkte) Seien Π = {P, Q, R, S, T, U, W, X} eine Menge von Aussagenvariablen und F und G die folgenden Formeln über Π in der Schreibweise als Konjunktion von Implikationen: F = (1) (2) P (3) U (4) X (5) R, W (6) X, W → → → → → → G= (1) P (2) W (3) Q, S (4) R, T (5) S, U (6) P, Q, S X R W P U → → → → → → Q T U X a) Definieren Sie, wann es sich bei einer Formel um eine Horn-Formel handelt. /1 P b) Wenden Sie, falls möglich, den Markierungsalgorithmus zur Überprüfung der Erfüllbarkeit von Hornklauseln auf I) die gegebene Konjunktion von Implikationen F , und II) die gegebene Konjunktion von Implikationen G an. Geben Sie explizit für jeden Schritt an, welche Atome markiert werden, und wieso die Markierung zustande kommt. Achten Sie darauf, dass bei der Ausführung in jeder Zeile nur eine neue Markierung hinzukommt. I) F : 3 II) G: /5 P c) Verwenden Sie, falls möglich, das Ergebnis / die Ergebnisse aus b, um eine begründete Aussage zur Erfüllbarkeit von I) F und II) G zu machen. Geben Sie im Falle der Erfüllbarkeit das Modell an, dass in b hergeleitet wurde. I) F : Erfüllbar: Ja Nein Modell: Begründung: II) G: Erfüllbar: Ja Nein Modell: Begründung: /4 P /10 P 4 Aufgabe 3 (5 Punkte) Seien Π = {P, Q, R, S, T, U } eine Menge von Aussagenvariablen und N die folgende Klauselmenge über Π: N = {{P, T }, {Q, ¬U }, {S, ¬T }, {¬P, R}, {¬P, ¬R}, {¬Q, U }, {¬S, ¬T }} Verwenden Sie den Resolutionskalkül (in Mengennotation), um zu begründen, dass N unerfüllbar ist. (1) {P, T } (2) {Q, ¬U } (3) {S, ¬T } (4) {¬P, R} (5) {¬P, ¬R} (6) {¬Q, U } (7) {¬S, ¬T } /5 P /5 P 5 Aufgabe 4 (8 Punkte) Seien Π = {P, Q, R} eine Menge von Aussagenvariablen und F und G die folgenden Formeln über Π: F = ¬P ∧ Q ∧ R G = Q ∧ (Q → P ) → ¬R Verwenden Sie den Tableaukalkül, um zu begründen, dass F |= G. Führen Sie keine Vereinfachungen an den gegebenen Formeln oder Kombinationen aus diesen durch. /8 P /8 P 6 Aufgabe 5 (3+7 = 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 Nop (F ) = 1 + Nop (F1 ) wenn F = ¬F1 1 + Nop (F1 ) + Nop (F2 ) wenn F = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔} wenn F 1 Nat (F ) = Nat (F1 ) wenn F Nat (F1 ) + Nat (F2 ) wenn F wenn 1 size(F ) = 1 + size(F1 ) wenn 1 + size(F1 ) + size(F2 ) wenn ∈ Π ∪ {>, ⊥} = ¬F1 = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔} F ∈ Π ∪ {>, ⊥} F = ¬F1 F = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔} (Nop (F ) beschreibt die Anzahl der Vorkommen von Operatoren, Nat (F ) die Anzahl der Vorkommen von Aussagenvariablen und > und ⊥, und size(F ) die Größe von F .) 7 Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen Formeln, dass für jede aussagenlogische Formel F über Π, die keine Negation enthält, gilt: Nop (F ) + Nat (F ) = size(F ). /7 P /10 P 8 Aufgabe 6 (2 + 2 + 1 + 2 + 2 + 1 = 10 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0}, und • Π = {p/1, q/2, r/3}. Ferner seien X eine Menge von Variablen und u, w, x, y, z ∈ X. a) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an. ∀ x ¬∃ y q(a, x) → q(y, b) /2 P b) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter Form an. ∀w ∃ x ¬∃ y r(w, x, y) → ∀ w ∃ y r(w, w, y) /2 P c) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an. ∃ w q(w, b) ∨ ∀ x q(x, a) ∧ ∀ y q(x, y) ∧ ∃ z ¬q(z, y) /1 P 9 d) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform: ∀w ∃x ∀y ∃z r(a, x, z) → ¬r(b, w, y) /2 P e) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix in konjunktiver Normalform an. ∀x q(x, a) ∧ ¬q(a, x) ∨ ¬p(b) ∨ p(a) /2 P f) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar. ∀x q(x, a) ∨ ¬q(x, b) ∧ p(a) ∨ p(x) ∧ ¬r(a, x, b) /1 P /10 P 10 Aufgabe 7 (2+3+3 = 8 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {0/0, 1/0, f /2, g/2}, und • Π = {≈/2}. Ferner seien X eine Menge von Variablen und x, y ∈ X. Gegeben sind die Struktur A und die Belegung β: • A = (Q+ , { 0A ∈ Q+ , 1A ∈ Q+ , fA : Q+ × Q+ → Q+ , gA : Q+ × Q+ → Q+ }, { ≈A }) mit – – – – – 0A = 1 ∈ Q+ 1A = 0.5 ∈ Q+ fA (q1 , q2 ) = q1 ∗ q2 ∈ Q+ gA (q1 , q2 ) = q1 + q2 ∈ Q+ ≈A = {(q, q) | q ∈ Q+ } • β : X → Q+ , definiert durch β(x) = 10, β(y) = 2, β(z) = 13 Dabei ist Q+ definiert als Q+ = {q | q ∈ Q, q ≥ 0}. Evaluieren Sie die folgenden Terme und Formeln in klaren und leicht nachvollziehbaren Schritten. I) A(β) ! f g f (x, y), f (y, z) , 1 /2 P 11 II) A(β) ∃ x ∃ y f (x, y) ≈ f (0, z) /3 P III) A(β) ∃ x ∀ y f (x, y) ≈ 0 /3 P /8 P 12 Aufgabe 8 (2+2+3 = 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) {w = x, w = a, g(f (x), f (z)) = g(y, f (w)), g(z, w) = g(x, z)} ? ? ? II) {w = f (a), x = y, g(w, x) = g(y, a)} 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) {w = x, w = a, g(f (x), f (z)) = g(y, f (w)), g(z, w) = g(x, z)} /2 P 13 ? ? ? II) {w = f (a), x = y, g(w, x) = g(y, a)} /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 (5+4+4 = 13 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0, c/0, f /1}, und • Π = {q/3, r/3}. Ferner seien X eine Menge von Variablen und x, y, z ∈ X. a) Geben Sie die allgemeine Form der prädikatenlogischen Resolutionsregel und Faktorisierungsregel (für Klauseln in Mengennotation) an. /5 P 15 b) Es seien die folgenden Klauseln über Σ und X gegeben: (1) {q(f (x), y, x), q(z, x, x), r(x, y, z)} (2) {q(x, f (x), a), q(b, f (y), y), r(x, y, z)} (3) {q(x, f (z), z), q(f (y), y, a), r(x, y, z)} 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. /4 P 16 c) Es seien die folgenden Klauseln über Σ und X gegeben: (1) {q(f (x), y, a), ¬q(x, f (y), y)} (2) {q(f (x), x, b), ¬q(y, z, y)} (3) {q(x, x, f (x)), ¬q(f (c), y, y)} Bilden Sie sämtliche Resolventen, die sich aus den Klauseln: • (1) und (2), • (1) und (3), • (2) und (3) mit der Resolutionsregel bilden lassen und geben Sie dabei explizit die verwendeten Unifikatoren und durchgeführten Umbenennungen an. /4 P /13 P 17 18 Aufgabe 10 (7 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = ∅, und • Π = {p/3}. Ferner seien X eine Menge von Variablen und x, y, z ∈ X. Sei F die folgenden Formel über Σ und X: F = ∀ x ∃ y p(y, x, x) ∧ ∀ z p(z, y, z) ∧ ¬∃ z p(z, z, y) Verwenden Sie den Tableaukalkül mit freien Variablen um zu zeigen, dass F unerfüllbar ist. Führen Sie keine Vereinfachungen an der gegebenen Formel durch. /7 P /7 P 19 20 Aufgabe 11 (2 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei • Ω = {a/0, b/0, c/0, d/0}, und • Π = {p/1, q/2, r/3}. Ist das Herbrand-Universum von Σ endlich? Begründen Sie kurz ihre Antwort. /2 P /2 P 21 Aufgabe 12 (7 Punkte) Schreiben Sie das Prologprädikat mt(L1,L2), (Mittelteil), das genau dann wahr ist, wenn die Liste L2 identisch zur Liste L1 ist, mit dem Unterschied, dass in L2 das erste und das letzte Element aus L1 fehlen. Sie müssen die folgenden Arten von Eingaben beachten: • L1 und L2 sind Listen von Atomen mit beliebiger Länge • L1 ist eine Liste von Atomen mit beliebiger Länge; L2 ist eine Variable • L1 und L2 sind Variablen Beim Aufruf mit Variablen sollen diese entsprechend mit konkreten Werten belegt werden, sodass das Prädikat wahr ergibt. 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 verwenden: • den Cut-Operator ‘!’, • das Prädikat ‘fail’, das immer falsch ist, Verwendung von Arithmetik ist nicht gestattet. Zur Verdeutlichung der Funktion von mt einige korrekte Beispielaufrufe: Eingabe mt([a,b,c], [b]). mt([a,b,c,d], [b,c]). mt([a,b,a,b], [b,a]). mt([a,a,a,a], [a,a]). Ausgabe true true true true Eingabe mt([a,b,c], [a]). mt([a,b,c,d], [a,b,c]). mt([a,b,c,d], [c,d]). mt([], []). /7 P /7 P 22 Ausgabe false false false false