Übungen zur Vorlesung Logik für Informatiker Gabriele Kern-Isberner Martin Schuster Nils Vortmeier WS 2015/16 Übungsblatt 5 23.11.2015 Abgabe bis zum 30.11.2015 um 10:10 Uhr • (vor der Vorlesung) im HG II, HS 3, oder • in den Briefkästen mit den Nummern 26-31 im Durchgangsflur, der die 1. Etage der OH 12 mit dem Erdgeschoss der OH 14 verbindet. Es gelten die Bedingungen von Blatt 1 und 2. Quizfragen: Welche der folgenden Aussagen sind richtig, welche sind falsch? Und warum? keine Punkte 1. In keinem saturierten Tableau einer allgemeingültigen aussagenlogischen Formel gibt es ein geschlossenes Blatt. 2. Für eine aussagenlogische Formel ϕ kann es viele saturierte Tableaus geben. Sie haben aber alle dieselbe Anzahl von Knoten. 3. Gemessen an der Länge n der Formel erzeugt der aussagenlogische Tableau-Kalkül höchstens ein Tableau der Größe 2O(n) . Aufgabe 5.1 [Aussagenlogischer Tableaukalkül] Sei die Formel ϕ = ((A ∧ ¬D) → B) ∧ ¬(D ∨ (¬A ∧ ¬B)) 4 Punkte gegeben. a) Konstruieren Sie ein saturiertes Tableau T für ϕ. Wählen Sie dazu bei jeder Regelanwendung jeweils einen möglichst dicht an der Wurzel des Tableaus liegenden unmarkierten Knoten. Sobald sich auf einem Zweig des Tableaus ein Widerspruch ergibt, können Sie diesen Zweig direkt schließen und müssen ihn nicht weiter verfolgen. (3 Punkte) b) Entscheiden Sie mit Hilfe des Tableaus T , ob die Formel ϕ erfüllbar ist. Wenn die Formel erfüllbar ist, markieren Sie die offenen Blätter und schreiben an jedes offene Blatt eine zu ihm korrespondierende erfüllende Belegung. (1 Punkt) Übungsblatt 5 Seite 2 Übungen zur Logik Aufgabe 5.2 [Modallogisches Folgern] In dieser Aufgabe sollen Sie entscheiden, ob aus der Formel 6 Punkte ϕ = 3(¬3(3¬B ∧ ¬A) ∧ 2(A → 3B)) die Formel ψ = 32A folgt. a) Stellen Sie eine Formel in NNF auf, die genau dann unerfüllbar ist, wenn ψ aus ϕ folgt. (2 Punkte) b) Beweisen oder widerlegen Sie mit Hilfe des modallogischen Tableaukalküls, dass ψ aus ϕ folgt. Wählen Sie dazu bei jeder Regelanwendung jeweils einen möglichst dicht an der Wurzel des Tableaus liegenden unmarkierten Knoten. Sobald sich auf einem Zweig des Tableaus ein Widerspruch ergibt, können Sie diesen Zweig direkt schließen und müssen ihn nicht weiter verfolgen. Wenn ψ nicht aus ϕ folgt, geben Sie eine Kripke-Struktur K und eine Welt s an, so dass K, s |= ϕ und K, s 6|= ψ. (4 Punkte) Zusatzaufgabe [The Times They Are a-Changin’...] 2 Punkte Wir wollen in dieser Aufgabe zeitlich getaktete Systeme beschreiben. Als Beispiel verwenden wir einen Drucker, für den wir sagen wollen: Wird der Einschaltknopf des Druckers betätigt, so ist er irgendwann bereit und bleibt es danach auch. Ist der Drucker bereit und erhält einen Auftrag, so beginnt er sofort danach zu drucken und druckt weiter, bis er keinen Auftrag mehr hat oder sein Papier alle ist. Für die Modellierung solcher Situationen eignet sich die lineare temporale Logik (LTL). LTL-Formeln sind syntaktisch von folgender Form: • Jede Proposition p ∈ Prop ist eine LTL-Formel. • Sind ψ und ζ LTL-Formeln, so sind auch – ¬ψ, ψ ∧ ζ und ψ ∨ ζ, – Xψ, Fψ, Gψ und ψUζ LTL-Formeln. Hierbei ist Prop eine Menge von Propositionen. Propositionen entsprechen den Variablen in der Modallogik. Die Symbole X, F, G und U heißen temporale Operatoren. Im Allgemeinen können LTL-Formeln in beliebigen Kripke-Strukturen ausgewertet werden. Zur Einfachheit beschränken wir uns hier auf lineare Strukturen: 1 P (1) 2 P (2) 3 P (3) 4 P (4) n P (n) Lineare Strukturen sind Kripkestrukturen mit V = {1, . . . , n} und E = {(1, 2), (2, 3), . . . , (n−1, n)}. Die Welt 1 heißt initiale Welt. Die Semantik von LTL Formeln für solche Strukturen ist induktiv definiert. Übungsblatt 5 Seite 3 Übungen zur Logik Eine lineare Struktur K erfüllt eine Formel ϕ in Welt i, geschrieben K, i |= ϕ, falls: (Atom) (Negation) (und) (oder) (nächste Welt) (in der Zukunft) (immer) (solange ... bis) ϕ := p ϕ := ¬ψ ϕ := ψ ∧ ζ ϕ := ψ ∨ ζ ϕ := Xψ ϕ := Fψ ϕ := Gψ ϕ := ψUζ und und und und und und und und p ∈ P (i) nicht K, i |= ψ K, i |= ψ und K, i |= ζ K, i |= ψ oder K, i |= ζ i + 1 existiert und K, i + 1 |= ψ es gibt j ≥ i, so dass K, j |= ψ für alle j ≥ i gilt K, j |= ψ es gibt j ≥ i, so dass K, j |= ζ, und für alle k mit j > k ≥ i gilt K, k |= ψ. Eine Struktur K ist ein Modell von ϕ, falls K, 1 |= ϕ gilt. Das obige Beispiel lässt sich nun wie folgt mit Hilfe von LTL modellieren. Als Propositionen nehmen wir {e, b, a, d, p} mit den intendierten Bedeutungen • e: Einschaltknopf wird betätigt. • b: Der Drucker ist bereit. • a: Der Drucker hat einen Auftrag. • d: Der Drucker druckt. • p: Der Drucker hat noch Papier. Die Formel G((e → F(b ∧ Gb)) ∧ ((b ∧ a) → X(dU(¬a ∨ ¬p))) beschreibt nun die oben angegebene Situation. Strukturen, die diese Formel in Welt 1 erfüllen, sind beispielsweise 1 e, p 2 p 3 b, a, p 4 b, a, d, p n b, a, d 1 a, p 2 a, e 3 d 4 a n e, b und (Man sieht, dass die Formel keineswegs nur reale Abläufe widerspiegelt.) a) Ist die folgende Struktur ein Modell der Formel ϕ = F(b ∧ ((¬e)Ud))? 1 b 2 e 3 b 4 b 5 e 6 b 7 d (1 Punkt) b) Geben Sie eine LTL-Formel ψ über den Propositionen {p, q, r} an, die folgende Situation beschreibt: • Wenn eine Welt die Proposition r trägt, so trägt die darauffolgende Welt mindestens eine der Propositionen {p, q}. • Trägt eine Welt höchstens zwei der drei Propositionen {p, q, r}, so folgt darauf irgendwann eine Welt mit der Proposition r; dazwischen muss allerdings mindestens eine Welt liegen, die keine Propositionen trägt. (1 Punkt)