Grundlagen der Logik in der Informatik WS 2016 Übungsblatt 10 Abgabe der Lösungen: Tutorium in der Woche 16.01–20.01 Aufgabe 1 Unifikation (Präsenzaufgabe) Verwenden Sie den Unifikationsalgorithmus, um zu entscheiden, ob die folgenden Gleichungen in der Signatur der Peano-Arithmetik (siehe Aufgabe 1, Übungsblatt 8) unifizierbar sind (d.h. einen Unifikator besitzen), und gegebenenfalls einen allgemeinsten Unifikator zu berechnen. . (a) (x + 0) + y = (y + 0) + (0 + (0 + (z + 0))); . (b) (x + 0) + y = (y + 0) + (0 + (0 + (x + 0))); . (c) (s(0) + s(s(0))) + x = x + (s(s(0)) + s(0)). Annotieren Sie dabei alle Umformungsschritte explizit mit der jeweils verwendeten Regel des Unifikationalgorithmus. Was passiert, wenn man den Occurs-Check aus dem Unifikationsalgorithmus weglässt, d.h. . (elim) auf x = E anwendet, ohne zu prüfen, ob x ∈ Vars(E)? Aufgabe 2 Wissenswertes über Substitution (Präsenzaufgabe) Beweisen Sie die folgende Tatsache über Substitution: für jeden Term E und alle Substitutionen σ und τ gilt E(στ ) = (Eσ)τ (man erinnere sich, dass die Substitution στ durch (στ )(x) = σ(x)τ definiert ist). Hinweis: Verwenden Sie Induktion über E. Aufgabe 3 Unifikation (8 Punkte) Verwenden Sie den Unifikationsalgorithmus, um zu entscheiden, ob die folgenden Gleichungen in der Signatur der Gruppentheorie (siehe Aufgabe 2, Übungsblatt 8) unifizierbar sind (d.h. einen Unifikator besitzen), und gegebenenfalls einen allgemeinsten Unifikator zu berechnen. 2 Punkte . (a) i(i(i(x))) ∗ (x ∗ e) = i(y) ∗ (y ∗ i(e)); 2 Punkte . (b) z ∗ (x ∗ (z ∗ i(z))) = e ∗ ((y ∗ y) ∗ y); 2 Punkte . (c) i(z ∗ i(x)) ∗ y = y ∗ i(x). GLoIn, WS 2016 Achtung: Annotieren Sie dabei alle Umformungsschritte explizit mit der jeweils verwendeten Regel des Unifikationalgorithmus. Was passiert jeweils, wenn man den Occurs-Check aus dem Unifikationsalgorithmus weglässt, . d.h. (elim) auf x = E anwendet, ohne zu prüfen, ob x ∈ Vars(E)? Aufgabe 4 Präordnung über Substitutionen 2 Punkte (8 Punkte) Eine binäre Relation . auf einer Menge M heißt eine Präordnung (engl.: preorder ), wenn für alle a, b, c ∈ M folgendes gilt: Reflexivität: a . a, Transitivität: wenn a . b und b . c, dann a . c. Eine Präordnung . heißt partielle Ordnung, wenn zusätzlich gilt: Antisymmetrie: Wenn a . b und b . a, dann a = b. Sei nun E die Relation auf Substitutionen, so dass σ E θ gdw. θ allgemeiner als σ ist; d.h. σ E θ gdw. es eine Substitution τ gibt, so dass σ = θτ . (a) Beweisen Sie, dass E eine Präordnung ist. 2 Punkte (b) Hat E ein größtes Element σ (d.h. θ E σ für alle θ)? Wenn ja: welches? 2 Punkte (c) Hat E ein kleinstes Element σ (d.h. σ E θ für alle θ)? Wenn ja: welches? 2 Punkte (d) Geben Sie eine Gleichung zwischen Termen an, für welche der Unifikationalgorithmus mindestens zwei verschiedene allgemeinste Unifikatoren liefert (dazu muss man natürlich die Regeln in zwei unterschiedlichen Abfolgen anwenden). Das zeigt insbesondere, dass E keine partielle Ordnung ist. 2 Punkte Aufgabe 5 Idempotente Substitutionen (4 Punkte) Beweisen Sie, dass das Unifikationsverfahren im Erfolgsfall stets eine idempotente Substitution σ liefert, d.h. eine, für die σσ = σ gilt. Hinweis: Beweisen und verwenden Sie folgende Eigenschaft: Wenn man den Range einer Substitution σ als [ Rg(σ) = FV (σ(x)) x∈Dom(σ) definiert, dann gilt: Wenn Rg(σ) ∩ Dom(σ) = ∅, so ist σ idempotent. 2