Theoretische Informatik und Logik Übungsblatt 3 (WS 2010) Aufgabe 3.1 Finden Sie Boolesche Ausdrücke über der Modellstruktur FamX, die folgendes ausdrücken (zusätzliche Variablensymbole z, . . ., die nicht in der jeweiligen Beschreibung vorkommen, sind erlaubt): a) x ist eine Tante von y väterlicherseits. b) y ist der einzige Onkel von x. c) Jeder Enkel x von Berta ist ein Mädchen. Hinweis: Falls Sie = benötigen, verwenden Sie dafür Infix-Notation (ohne äußere Klammern). Die Signatur zu FamX stellt keine Prädikatsymbole für “Tante” und “Enkel”zur Verfügung! Aufgabe 3.2 Spezifizieren Sie folgenden Datentyp formal als Modellstruktur LIST. Die Elemente des Datentyps sind binäre Listen, d.h. Listen, bei denen die Elemente aus {0, 1} sind. Nur die leere Liste soll als Konstante verfügbar sein. Die Listen seien dargestellt als Strings über {0, 1}. Auf alle Listen sind folgende Operationen anwendbar: app: Konkatenation zweier Listen. add0-left: Am Anfang der Liste eine 0 hinzufügen. add1-right: Am Ende der Liste eine 1 hinzufügen. rem-succ-dup: Aufeinanderfolgende gleiche Vorkommen eines Elements in der Liste eliminieren (d.h. jeweils nur ein Element davon übrig lassen). Außerdem gibt es ein zweistelliges Prädikat is-prefix-of, das zutrifft wenn das erste Argument (als String) ein Präfix des zweiten ist. Das 1-stellige Prädikat is-empty testet, ob das Argument die leere Liste darstellt. Hinweis: Sowohl is-prefix-of als auch die Funktion rem-succ-dup sind induktiv zu definieren. Dabei kann vorausgesetzt werden, dass Konkatenation zweier Listen durch app(v, w) = v · w für v, w ∈ {0, 1}∗ (bzw. in alternativer Schreibweise: vw) bereits definiert ist. Aufgabe 3.3 Gegeben sei das ALI-Programm π = while x≤y do x ← (x+y ) . Berechnen Sie MAL (I, π), wobei I(x) = 3 und I(y) = 4, und begründen Sie dabei alle Einzelschritte. Bestimmen Sie ferner die Menge It aller Variablenumgebungen, für die π terminiert. Begründen Sie Ihre Antwort. Hinweis: Beachten Sie, dass die Variablen ganze Zahlen als Werte haben können! Aufgabe 3.4 Sei F die aussagenlogische Formel A ∧ (¬A ∨ B). a) Ist F gültig / erfüllbar / widerlegbar? b) Gibt es eine Substitution σ, sodass F σ eine Tautologie ist? Wenn ja, geben Sie ein entsprechendes σ an, wenn nein, begründen Sie warum nicht? c) Gibt es eine Substitution σ, sodass F σ unerfüllbar ist? Wenn ja, geben Sie ein entsprechendes σ an, wenn nein, begründen Sie warum nicht? Aufgabe 3.5 Geben Sie bei den folgenden Aussagen jeweils an, ob sie richtig oder falsch sind, jeweils mit einer entsprechenden Begründung bzw. einem Gegenbeispiel. a) Eine aussagenlogische Formel kann gültig sowie äquivalent zu einer unerfüllbaren aussagenlogischen Formel sein. b) Eine erfüllbare aussagenlogische Formel, die keine Tautologie ist, kann durch Instanziierung (Anwendung einer Substitution) zu einer unerfüllbaren Formel werden. c) Jede aussagenlogische Formel, in der (von den aussagenlogischen Operatoren) nur ∧ und/oder ∨ vorkommt und die f nicht enthält, ist erfüllbar.