1. Übungsblatt zu Einführung in die Computationale Logik, SS 2003

Werbung
R
S
SA
IS
S
UN
E R SIT
A
IV
A VIE N
1. Übungsblatt zu Einführung in die Computationale Logik, SS 2003
Prof. Dr. Gert Smolka, Marco Kuhlmann, MSc
http://www.ps.uni-sb.de/courses/cl-ss03/
Stoff dieser Woche: Skript, Abschnitte 4.1 und 4.4 (Aufgabe 1.13 bezieht sich bereits auf Abschnitt 4.5)
Allgemeine Hinweise: Jede Woche gibt es ein Übungsblatt mit Aufgaben zum aktuellen Stoff. Die
Übungsblätter dienen Ihrer persönlichen Vorbereitung auf die Klausuren; sie müssen nicht abgegeben
werden und werden insbesondere auch nicht bewertet. Zu den Übungsblättern werden aber Musterlösungen erstellt, die Sie mit Ihren eigenen Lösungsvorschlägen vergleichen können. Diese Musterlösungen erscheinen eine Woche nach dem Ausgabetermin des jeweiligen Übungsblattes auf der Webseite
zur Vorlesung. Eventuelle Unklarheiten und Probleme können Sie in den Übungsgruppen und während
der „Office Hours“ ihres Tutors ansprechen.
Aufgabe 1.1: Eine Boolesche Algebra Geben Sie eine Boolesche Algebra (B, 0, 1, ∧, ∨, ¬) und
zwei Elemente x, y ∈ B an, sodass x ∧ y = 0, x 6 = 0 und y 6 = 0.
Aufgabe 1.2: Die Beatles-Algebra
Geben Sie eine Boolesche Algebra mit 64 Elementen an.
Aufgabe 1.3: Zum Satz von Stone In Abschnitt 4.1 des Skriptes wird ein Ergebnis von S TONE
erwähnt, aus dem folgt, dass es keine Boolesche Algebra mit 7 Elementen gibt. Erklären Sie diese
Folgerung.
Aufgabe 1.4: Wahrheitstafeln Beweisen Sie die folgende Boolesche Gleichung durch Erstellen einer Wahrheitstafel für die beiden Teilausdrücke: (x + y)(x + y) = x y + x y.
Aufgabe 1.5: Axiome der Booleschen Algebra
Boolesche Algebren aus dem Stegreif?
Kennen Sie die im Skript angegebenen Axiome für
Aufgabe 1.6: Herleitung von Gleichungen (?) Von den im Skript angegebenen Axiomen für Boolesche Algebren sind einige überflüssig, da sie aus anderen Axiomen folgern. Verwenden Sie im Folgenden nur die die Axiome für Kommutativität, Distributivität, Identitäten und Komplemente und beweisen
Sie die Gültigkeit der folgenden Gleichungen:
(a) x x = x
(b) x0 = 0
(c) x(x + y) = x
Für (c) können Sie (b) benutzen. (Hinweis: Benutzen Sie für den ersten Schritt jedes Beweises das
Identitätsaxiom.)
Wie lange benötigen Sie für den Beweis der folgenden Gleichungen:
(a) x + x = x
(b) x + 1 = 1
(c) x + x y = x
Aufgabe 1.7: Herleitung von Gleichungen mit Resolution
chungen in jeder Booleschen Algebra gelten:
Beweisen Sie, dass die folgenden Glei-
(a) (x + z)(x + y) = x y + x z
(b) x y + x z = x y + x z
(c) (x y + x z)y z = y z
Verwenden Sie in jedem Beweis die Resolutionsregel.
Aufgabe 1.8: XOR Sei die folgende Notation für Boolesche Ausdrücke gegeben:
x⊗y
def
=
(x − y) + (y − x)
Zeigen Sie, dass die folgenden Gleichungen in allen Booleschen Algebren gültig sind:
(a) x ⊗ y = x ⊗ y
(b) x ⇔ y = x ⊗ y
(c) x ⊗ y = x ⇔ y
Aufgabe 1.9: Binäre Boolesche Funktionen Diese Aufgabe soll Ihnen helfen, sich einen Überblick
über die Funktionen in B2 → B zu verschaffen.
(a) Realisieren Sie mit Hilfe zweier SML-Prozeduren
to
: (bool * bool -> bool) -> bool * bool * bool * bool
from : bool * bool * bool * bool -> (bool * bool -> bool)
eine Bijektion (B2 → B) → B4 .
Hinweis: Die Menge B2 hat 4 Elemente x 1 , x 2 , x 3 , x 4 . Eine Funktion B2 → B kann durch das
Tupel ( f x 1 , . . . , f x 4 ) dargestellt werden.
(b) Wieviele Funktionen B2 → B gibt es?
(c) Stellen Sie jede Funktion f ∈ B2 → B durch jeweils einen möglichst kurzen Booleschen Ausdruck a wie folgt dar:
(i) f = λ (x, y) ∈ B2 . a.
(ii) a ist mit x, y, 0, 1, ¬, ∧, ∨, ⇒, ⇔ und ⊗ gebildet.
Aufgabe 1.10: Normierung und äquivalente Gleichungen Geben Sie zu den folgenden Gleichungen jeweils eine möglichst kurze äquivalente normale Gleichung der Form a = 1 an, wobei Sie neben
Variablen nur die Konstanten 0 und 1 und die Operationen Konjunktion, Disjunktion und Komplement verwenden sollen. (Äquivalenz zweier Gleichungen ` 1 und `2 bedeutet, dass für jede Boolesche
Algebra A gilt: `1 ist in A gültig genau dann, wenn `2 in A gültig ist.)
(a) x = y
(b) x y = z
(c) x y = x + y
(d) x y = x + y
Aufgabe 1.11: Boolesche Mengen für Boolesche Ausdrücke Sei Var = {x, y, z} gegeben. Boolesche Mengen über Var können durch Boolesche Ausdrücke oder alternativ durch Tabellen beschrieben
werden. Beispielsweise beschreibt der Ausdruck x y dieselbe Menge wie die Tabelle
x
y
z
1
1
1
1
0
1
Beschreiben Sie in diesem Sinne die durch die folgenden Ausdrücke gegebenen Booleschen Mengen
durch Tabellen:
(a) x ⇔ y
(b) x y + x z + z y
(c) (x ⇒ y)(x + z)
(d) x ⇔ y
Aufgabe 1.12: Boolesche Ausdrücke für Boolesche Mengen Sei Var = {x, y, z} gegeben. Geben
Sie Boolesche Ausdrücke an, die die folgenden Booleschen Mengen beschreiben:
(a) { σ ∈ 6 | σ x + σ y + σ z = 1 }
(b) { σ ∈ 6 | σ x + σ y = 2 }
(c) { σ ∈ 6 | 1 ≤ 2σ x + σ y ≤ 2 }
ACHTUNG : Die folgende Aufgabe bezieht sich bereits auf Abschnitt 4.5 des Skriptes. Sie ist als Knobelaufgabe für das lange Wochenende gedacht.
Aufgabe 1.13: Modellierung (?) Ein mit Ihnen befreundeter Logiker hat vor kurzem eine Stelle an
der Universität von Knusiland angetreten und berichtet: „In Knusiland gibt es zwei Stämme, die Abianer und die Bebianer. Die Abianer sagen immer die Wahrheit, die Bebianer sagen immer die Unwahrheit. Gestern hatte ich das Vergnügen, in einer Kneipe sieben sehr nette Knusiländer kennenzulernen,
die mir schnell zu guten Freunden wurden: Omno, Dino, Imto, Ondo, Efro, Amso und Osno. Ich hätte
sehr gerne gewusst, welchem Stamm sie jeweils angehörten, traute mich aber nicht, sie direkt zu fragen.
Zum Glück war der Wirt der Kneipe, ein Abianer, bereit, mir die folgenden Hinweise zu geben:
(i) Wenn Amso nicht lügt, dann lügt Efro.
(ii) Wenn nicht Dino, wohl aber Efro lügt, dann lügt Ondo.
(iii) Wenn es zutrifft, dass, wenn Dino nicht lügt, zwar Omno nicht lügt, aber Ondo, dann lügt Amso.
(iv) Wenn Dino lügt, dann lügt Imto nicht.
(v) Wenn Omno lügt, dann lügt Efro nicht.
(vi) Wenn Amso lügt, dann lügt Ondo nicht, wohl aber Efro.
(vii) Wenn Ondo nicht lügt, dann lügt Osno auf keinen Fall.
Mit diesen Informationen war es mir möglich, die Stammeszugehörigkeit meiner neuen Freunde zu
folgern.“
Die Stammeszugehörigkeit der sieben Knusiländer kann durch ein Tupel
(Omno, Dino, Imto, Ondo, Efro, Amso, Osno) ∈ B 7
modelliert werden; eine Komponente dieses Tupels ist 1 genau dann, wenn die entsprechende Person
lügt (also Bebianer ist).
(a) Beschreiben Sie jede der Auskünfte des Wirtes durch einen Booleschen Ausdruck, der sich
möglichst eng an die jeweilige Formulierung anlehnt. Verwenden Sie dabei nur die Variablen
Omno, Dino, Imto, Ondo, Efro, Amso, Osno, die beschreiben, ob die entsprechende Person lügt.
(b) Geben Sie die Stammeszugehörigkeit der sieben Knusiländer an.
Herunterladen