¨Ubungsblatt 10

Werbung
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
Herunterladen