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. 14 Abgabe: Freitag 08. Februar 2002 vor! der Vorlesung Aufgabe 1: Prädikatenlogische Formeln Es seien die folgenden Mengen von Variablen, Funktions- bzw. Prädikatsymbolen gegeben: V = {x, y, z} F̂ = F̂ (1) ∪ F̂ (2) mit F̂ (1) = {f }, F̂ (2) = {g, h} P̂ = P̂ (1) ∪ P̂ (2) mit P̂ (1) = {P }, P̂ (2) = {Q} Begründen Sie, welche der folgenden Ausdrücke prädikatenlogische Formeln sind: 1. ∀x (Q(x, f (y)) =⇒ ∃y P (g(x, y))) 4. ∀x∃y P (x) ⇐⇒ ∃x P (y) 2. ∃x (∀y Q(f (x), y) =⇒ P (h(x))) 5. ∀x ∃y f (x) =⇒ y 3. ¬(P (y) ∧ ∀z (P (z) =⇒ ¬∃y ¬∀x Q(f (g(x, y)), g(f (y), z)))) Aufgabe 2: Freie und gebundene Variable Versuchen Sie, für jede prädikatenlogische Formel aus Aufgabe 1 die Menge der freien bzw. gebundenen Variablen zu bestimmen. Geben Sie die entsprechenden Unterausdrücke an, falls eine Variable in einer Formel sowohl frei als auch gebunden vorkommt. Aufgabe 3: Potenzmenge Entwerfen Sie eine Funktion pmenge in Haskell, die zu einer gegebenen (endlichen) Menge — dargestellt als Liste — die Potenzmenge berechnet. Das Ergebnis ist somit eine Menge von Mengen, jedoch keine Multimenge. Sorgen Sie also dafür, dass ihre Funktion keine gleichen Elemente doppelt erzeugt und die Funktion bei Eingabe einer Multimenge trotzdem nur eine Menge zurückliefert. 1 Aufgabe 4: Axiomatische Semantik Zeigen Sie, daß > null = [] > succ x = 5 : x > pred (_:x) = x in Haskell eine korrekte Implementierung entsprechend den in der Vorlesung gegebenen Axiomen für natürliche Zahlen ist. Hinweis: Die obigen Namen sind vordefiniert in der Prelude. Um diese Definitionen trotzdem in ein Haskell-Modul aufnehmen zu können, muß dieses ein import Prelude hiding (null,pred,succ) enthalten. Aufgabe 5: Modelle Seien P und Q ein- bzw. zweistellige Prädikatsymbole. Beschreiben Sie die Gestalt möglicher Modelle der Aussagen ∀xP (x) ⇐⇒ ∃xP (x) und ∀x∃y Q(x, y) ⇐⇒ ∃y∀x Q(x, y). 2