TU Ilmenau, Fakultät IA Institut TI, FG Theoretische Informatik Prof. Dr. D. Kuske, M.Sc. M. Huschenbett http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20112012/vus/ 3. Übungsblatt Verifikation unendlicher Systeme“ ” Die Lösungen der folgenden Aufgaben werden in der Übung am 21. November 2011 besprochen. Bearbeiten Sie die Aufgaben daher bitte vor diesem Übungstermin zu Hause. Aufgabe 1 In LTL erlauben die temporalen Operatoren lediglich Aussagen über die Zukunft. Ziel der Aufgabe ist es, LTL um zwei Operatoren Y und S zu erweitern, die Aussagen über die Vergangenheit ermöglichen. Die Formel Yϕ soll dabei aussagen, dass ϕ im vorherigen Schritt galt, während ϕSψ bedeute, dass irgendwann in der Vergangenheit einmal ψ galt und seitdem ϕ gilt. Die Operatoren Y und S sind in gewisser Weise somit analog zu X und U, beziehen sich jedoch auf die Vergangenheit anstelle der Zukunft. Die so gebildete Logik trägt den Namen LTLP für LTL+Past“. ” Formal ist die Syntax von LTLP folgendermaßen definiert: ϕ ::= tt | p | ¬ϕ | ϕ ∨ ϕ | Xϕ | Yϕ | ϕUϕ | ϕSϕ , wobei p ∈ AP eine atomare Proposition ist. Offensichtlich ist jede LTL-Formel auch eine LTLPFormel. Zusätzlich zu den Abkürzungen F und G benutzen wir die Operatoren und Hϕ := ¬O¬ϕ Oϕ := ttSϕ mit den Namen Once“ und Historically“. ” ” Die Definition der Semantik von LTLP ist aufgrund der Rückwärtsverweise durch die Vergangenheitsoperatoren etwas aufwendiger als bei LTL. Für eine Kripke-Struktur M = (S, R, L), einen Pfad π = (s0 , s1 , . . . ) in M , ein i ∈ N und eine Formel ϕ ∈ LTLP definieren wir M, π, i |= ϕ induktiv über den Aufbau von ϕ: M, π, i |= tt gilt immer und M, π, i |= p :⇐⇒ p ∈ L(si ) M, π, i |= ¬ϕ :⇐⇒ M, π, i 6|= ϕ M, π, i |= ϕ ∨ ψ :⇐⇒ M, π, i |= ϕ oder M, π, i |= ψ M, π, i |= Xϕ :⇐⇒ M, π, i + 1 |= ϕ M, π, i |= Yϕ :⇐⇒ i > 0 und M, π, i − 1 |= ϕ M, π, i |= ϕUψ :⇐⇒ ∃j ≥ i : M, π, j |= ψ und ∀k ∈ {i, . . . , j − 1} : M, π, k |= ϕ M, π, i |= ϕSψ :⇐⇒ ∃j ∈ {0, . . . , i} : M, π, j |= ψ und ∀k ∈ {j + 1, . . . , i} : M, π, k |= ϕ Weiter schreiben wir M, π |= ϕ als Abkürzung für M, π, 0 |= ϕ. Durch eine einfache Induktion kann man zeigen, dass die so definierte Semantik für LTL-Formeln mit derjenigen aus der Vorlesung übereinstimmt. Insbesondere erhält man für LTL-Formeln ϕ und ψ die Äquivalenz M, π, i |= ϕ ⇐⇒ M, π i |= ϕ . (?) a) Geben Sie die Semantik der Operatoren F, G, O und H im Stil der obigen Definition an. Beschreiben Sie außerdem die Semantik von O und H informal. Bitte wenden! 2 3. Übungsblatt Verifikation unendlicher Systeme“ ” b) Betrachten Sie die folgende LTLP-Formel: ϕ = G(alarm → O fault) , wobei alarm, fault ∈ AP atomare Propositionen seien. Welche informale Eigenschaft drückt diese Formel aus? Worin liegt der Unterschied zur Formel G(fault → F alarm) ? Zwei LTLP-Formeln ϕ und ψ heißen initial äquivalent, wenn für alle Kripke-Strukturen M und Pfade π in M gilt: M, π |= ϕ ⇐⇒ M, π |= ψ . Gilt zusätzlich für alle i ∈ N die Äquivalenz M, π, i |= ϕ ⇐⇒ M, π, i |= ψ , dann heißen ϕ und ψ global äquivalent. Offensichtlich sind global äquivalente LTLP-Formeln auch initial äquivalent. Aus einem komplizierten Resultat von Gabbay, Pnueli, Shelah und Stavi1 folgt, dass zu jeder LTLP-Formel ϕ eine initial äquivalente LTL-Formel ψ existiert, im Allgemeinen ist ψ jedoch mindestens exponentiell größer als ϕ. c) Finden Sie eine zu ϕ aus Teilaufgabe c) initial äquivalente LTL-Formel ψ. d) Beweisen Sie, dass initial äquivalente LTL-Formeln auch global äquivalent sind. e) Zeigen Sie, dass es initial äquivalente LTLP-Formeln ϕ und ψ gibt, die nicht global äquivalent sind. Schlussfolgern Sie, dass LTLP-Formeln die Äquivalenz (?) im Allgemeinen nicht erfüllen. f ) Es seien M eine Kripke-Struktur und π ein Pfad in M . Zeigen Sie, dass M, π |= Yψ für keine LTLP-Formel ψ gilt. Geben Sie außerdem eine LTLP-Formel ϕ0 an, so dass M, π, i |= ϕ0 für i ∈ N genau dann gilt, wenn i = 0. Zeigen Sie, dass es keine zu ϕ0 global äquivalente LTL-Formel gibt. g) Zeigen Sie, dass die LTLP-Formeln ¬Yψ und Y¬ψ für jede LTLP-Formel ψ weder initial noch global äquivalent sind. Finden Sie eine LTLP-Formel ϕ1 , so dass ¬Yψ und (Y¬ψ) ∨ ϕ1 für alle LTLP-Formel ψ global äquivalent sind. h) Das Model-Checking-Problem für LTLP ist das folgende: Eingabe: Eine Kripke-Struktur M und eine LTLP-Formel ϕ. Frage: Gilt M, π |= ϕ für alle Pfade π in M ? Offensichtlich ist dieses Problem PSPACE-hart, da es das Model-Checking-Problem für LTL als Spezialfall enthält. Zeigen Sie, dass LTLP-Model-Checking ebenfalls in PSPACE liegt. Passen Sie dafür den entsprechenden Beweis für das LTL-Model-Checking an. Folgende Hinweise helfen Ihnen dabei: 1. Wenn Sie den Abschluss definieren, müssen Sie ϕ0 berücksichtigen. 2. Bei der Definition maximal konsistenter Mengen müssen Sie die Erkenntnisse aus Teilaufgabe g) berücksichtigen. 1 D. M. Gabbay, A. Pnueli, S. Shelah, J. Stavi: On the temporal analysis of fairness. In: Proc. 7th ACM Symp. Principles of Programming Languages (POPL’80), S. 163–173, 1980. 3. Übungsblatt Verifikation unendlicher Systeme“ ” 3 3. Die Kantenrelation des Tableaus muss den Y-Operator berücksichtigen. 4. Für die Definition von sicheren Pfaden müssen Sie f ) berücksichtigen, den S-Operator jedoch nicht. 5. Denken Sie beim Beweis von Lemma 2.5 an die Erkenntnisse aus e) bezüglich der Äquivalenz (?). Dementsprechend müssen Sie auch die Aussage von Lemma 2.3 anpassen. 6. Die Beweise von Lemma 2.6 und Proposition 2.7 bedürfen keiner Anpassung.