Praktische Informatik I Aufgabenblatt Nr. 13 Aufgabe 1 (12 Punkte

Werbung
Prof. Dr. Manfred Schmidt-Schauß
Künstliche Intelligenz/Softwaretechnologie
Fachbereich Biologie und Informatik / Institut für Informatik
Johann Wolfgang Goethe-Universität Frankfurt am Main
Praktische Informatik I
Wintersemester 2001/2002
Aufgabenblatt Nr. 13
Abgabe: Freitag 01. Februar 2002 vor! der Vorlesung
Aufgabe 1 (12 Punkte)
a) Spezifizieren Sie einen abstrakten Datentyp für eine Menge mittels einer axiomatischen
Semantik. Unterstützt werden sollen die Operationen union für Vereinigung, intersect
für Schnitt, setminus für Differenz sowie element für den Test auf Enthaltensein und
singleton für das Erzeugen einer einelementigen Menge.
(6 Punkte)
b) Geben Sie in Haskell eine Implementierung der Spezifikation aus Aufgabenteil a) für endliche Mengen an. Beweisen Sie dann mit Hilfe der Prinzipien Einsetzung und Instanziierung
unter Zuhilfenahme von Reduktion die Korrektheit Ihrer Implementierung für element
auf endlichen Mengen.
(3 Punkte)
c) Erklären Sie, wo Probleme Ihrer Implementierung beim Umgang mit abzählbar unendlichen Mengen liegen könnten und welche Axiome u.U. verletzt würden. Zeigen Sie mögliche
Erweiterungen bzw. Modifikationen Ihrer Implementierung auf, so daß die Spezifikation
auch für abzählbar unendliche Mengen erfüllt würde.
(3 Punkte)
Aufgabe 2 (3 Punkte)
a) Zeigen Sie, daß
> null
= 0::Int
> succ x = x + (1::Int)
> pred x = x - (1::Int)
> neg x = - (x::Int)
keine korrekte Haskell-Implementierung des abstrakten Datentyps GZ, wie er in der Vorlesung vorgestellt wurde, ist.
(3 Punkte)
b) Wie müßte die axiomatische Semantik von GZ verändert werden, damit die Implementierung aus Aufgabenteil a) korrekt ist?
(0 Punkte)
1
Aufgabe 3
Es sei V = {A, B, C, f, x, y} eine Menge von Variablen. Welche der folgenden Ausdrücke sind
somit nach der Definition im Skript Aussageformen und welche nicht?
1. x =⇒ y =⇒ x
6. x ∧ y =⇒ x ∨ y
2. x =⇒ (y =⇒ x)
7. (x ∧ y) =⇒ z
3. f (x) =⇒ y
8. ¬(x ∨ y ⇐⇒ x ∧ y)
4. x ∧ ¬x
9. (A ⇐⇒ B) ⇐⇒ A¬ ∨ B
5.
(A =⇒ (B =⇒ C)) =⇒ ((A =⇒ B) =⇒ (A =⇒ C))
Aufgabe 4 (5 Punkte)
a) Seien A, B, C aussagenlogische Variablen. Berechnen Sie die Wahrheitstafel der Aussageform
(A ∨ B) =⇒ (((¬A ∧ B) =⇒ C) ⇐⇒ (B =⇒ C))
(2 Punkte)
b) Simplifizieren Sie unter der Annahme, daß A ∨ B und A =⇒ B wahr sind, die Aussage
A ∧ B. Berechnen Sie also eine einfache Aussage D, so daß
A ∨ B, A =⇒ B |= A ∧ B ⇐⇒ D
(3 Punkte)
2
Herunterladen