Logik für Informatiker Wintersemester 2007/08 Thomas Schwentick Teil C: Nichtklassische Logiken 9. Temporallogiken Version von: 4. Februar 2008(11:55) Inhalt 9.1 Vorüberlegungen 9.2 Lineare Zeit: LTL 9.3 Verzweigende Zeit: CTL Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 1 Vorüberlegungen (1/3) Nochmal: Ein Drucker und zwei Nutzer 0 end1 beg1 6 p1 , i2 end2 w1 , p2 req2 1 2 w 1 , i2 i1 , w 2 req2 beg2 4 end2 i1 , i2 req1 • In der Informatik ist es oft req1 • beg2 i1 , p2 end1 5 3 w1, w2 req2 7 beg1 p1 , w2 • req1 • Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken interessant, Aussagen über das Verhalten von Transitionssystemen zu machen In der Modallogik können wir solche Eigenschaften im Prinzip ausdrucken: – 33p1 drückt aus, dass es möglich ist, dass nach zwei Systemübergängen der Drucker einen Job für Nutzer 1 druckt Aber: jede ML-Formel F kann höchstens über md(F ) viele Schritte des Systems sprechen Interessante Systemeigenschaften beziehen sich aber auf unbeschränkte oder sogar unendliche Berechnungen Folie 2 Vorüberlegungen (2/3) • Statt Kripkestrukturen betrachten wir im folgenden Transitionssysteme: – Statt Welten sagen wir: Zustände – Zusätzlich: Menge I von initialen Zuständen • Eine Möglichkeit, um über längere Berechnungen zu sprechen: – Betrachte statt der Kantenrelation des Transitionssystems ihren transitiven Abschluss E ∗: ∗ Also: (u, v) ∈ E ∗ :⇐⇒ es gibt einen Weg von u nach v – Dann bedeutet 3F , dass die Formel F irgendwann in der Zukunft gilt – Dies ist der Weg, der auch in [Kreuzer/Kühling] eingeschlagen wird Logik für Inf. / Schwentick / WiSe 07/08 • Im Bereich der Automatischen Verifikation wird jedoch meistens anders vorgegangen: – Die Kanten des Transitionssystems entsprechen Ein-Schritt-Übergängen – Dafür werden neue logische Operatoren verwendet, die über ganze Berechnungen sprechen können • Dabei werden vor allem zwei verschiedene Logiken verwendet: – LTL kann Aussagen über Eigenschaften aller Berechnungen machen – CTL kann Aussagen über den Baum der möglichen Berechnungen machen C: 9. Temporallogiken Folie 3 Vorüberlegungen (3/3) • Notation: Um eine Verwechslung mit den temporallogischen Operatoren F, G, U , X zu vermeiden, werden in diesem Kapitel AL-Variablen mit kleinen Buchstaben wie p, q bezeichnet und Formeln mit kleinen griechischen Buchstaben wie ϕ oder ψ Beispiel 1 2 a a, b 4 3 a • Eine Berechnung eines Transitionssystems T = (V, E, P, I) ist eine Folge s0 , s1 , s2 , . . . von Zuständen mit (si, si+1 ) ∈ E , für jedes i • Berechnungen können endlich oder unendlich sein: – 1, 2, 3, 2, 3, 2, 3, ... – 1, 4, 4, 4, 3, 2 • Eine Berechnung heißt initial, wenn ihr erster Zustand initial ist Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 4 Inhalt 9.1 Vorüberlegungen 9.2 Lineare Zeit: LTL 9.3 Verzweigende Zeit: CTL Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 5 Lineare Zeit: Grundbegriffe • Jede Berechnung π = s0 , s1 , s2 , . . . induziert einen Trace („Spur“) P (π) = P (s0 ), P (s1 ), P (s2 ), . . . • Die Linearzeitlogik LTL macht Aussagen über die möglichen Traces • • eines Systems Einige typische Aussagen: – Jeder Druckjob von Nutzer 1 wird irgendwann gedruckt – Es kommt nicht vor, dass ein Job für Nutzer 1 und einer für Nutzer 2 gleichzeitig gedruckt werden – Jederzeit kann einer der beiden Nutzer in einem Schritt zum Warten übergehen Dazu verwendet LTL die folgenden Operatoren: – Fϕ: irgendwann in der Zukunft gilt ϕ – Gϕ: immer in der Zukunft (und schon jetzt) gilt ϕ – Xϕ: es gibt einen Ein-Schritt-Übergang, nach dem ϕ gilt – ϕ U ψ : irgendwann in der Zukunft gilt ψ und bis dahin gilt ϕ Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 6 Illustration der LTL-Operatoren Beispiel ? Fϕ gilt !" (a) ϕ ? (b) ϕ ? (c) (e) Fϕ gilt ϕ ? (d) Fϕ gilt nicht ? Fϕ gilt nicht ϕ Logik für Inf. / Schwentick / WiSe 07/08 Fϕ gilt C: 9. Temporallogiken Folie 7 Illustration der LTL-Operatoren (Forts.) Beispiel ? Gϕ gilt !" (a) ϕ (d) (e) ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ? (b) (c) ϕ ϕ ? ϕ ϕ ϕ ? ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ? ϕ ϕ Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Gϕ gilt Gϕ gilt nicht Gϕ gilt nicht Gϕ gilt nicht Folie 8 Illustration der LTL-Operatoren (Forts.) Beispiel ? Xϕ gilt !" (a) ϕ ? (b) ϕ ? (c) (e) Xϕ gilt nicht ϕ ? (d) Xϕ gilt nicht ? Xϕ gilt nicht ϕ Logik für Inf. / Schwentick / WiSe 07/08 Xϕ gilt nicht C: 9. Temporallogiken Folie 9 Illustration der LTL-Operatoren (Forts.) Beispiel ? ψ U ϕ gilt #$ %& '(! )" (a) (b) (c) (d) (e) (f) ψ ψ ψ ϕ ? ψ U ϕ gilt ϕ ? ψ ψ ψ, ϕ ψ U ϕ gilt ϕ ? ψ ψ ψ ϕ ϕ ϕ ? ψ ψ U ϕ gilt nicht ϕ ψ ? ψ ψ Logik für Inf. / Schwentick / WiSe 07/08 ψ ψ C: 9. Temporallogiken ψ U ϕ gilt ψ ψ ψ U ϕ gilt nicht Folie 10 LTL: Beispielformeln • Jeder Druckjob von Nutzer 1 wird irgendwann gedruckt: G(w1 → Fp1 ) • Es kommt nicht vor, dass ein Job für Nutzer 1 und einer für Nutzer 2 gleichzeitig gedruckt werden G¬(p1 ∧ p2 ) • Jederzeit kann einer der beiden Nutzer in einem Schritt zum Warten übergehen GX(w1 ∨ w2 ) • Es wird unendlich oft gedruckt GF(p1 ∨ p2 ) Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 11 LTL: Formal Definition (LTL: Syntax) Definition (LTL: Semantik) • Für jedes p ∈ AV ist p eine • • • LTL-Formel Sind ϕ und ψ LTL-Formeln, so auch ¬ϕ, ϕ ∧ ψ und ϕ ∨ ψ Ist ϕ eine LTL-Formel, so auch Fϕ, Gϕ und Xϕ Sind ϕ und ψ LTL-Formeln, so auch ψUϕ • Für eine Berechnung π = s0 , s1 , s2 · · · bezeichne π i die Berechnung si, si+1 , . . . • Bindungsstärke der Operatoren: – Am stärksten unär: ¬, F, G, X – Dann: U – Dann: ∨, ∧ – Dann: → • Also: p U q ∧ r ≡ (p U q) ∧ r Logik für Inf. / Schwentick / WiSe 07/08 • Sei T ein Transitionssystem, π eine Berechnung von T und sei P (π) = l0 l1 l2 · · · • Wir definieren π |= ϕ induktiv wie folgt: – – – – – – – – π |= p, falls p ∈ l0 π |= ¬ϕ, falls π 6|= ϕ π |= ϕ ∧ ψ , falls π |= ϕ und π |= ψ π |= ϕ ∨ ψ , falls π |= ϕ oder π |= ψ π |= Fϕ, falls π i |= ϕ, für ein i ≥ 0 π |= Gϕ, falls π i |= ϕ, für alle i ≥ 0 π |= Xϕ, falls π 1 |= ϕ π |= ψ U ϕ, falls ∗ es ein j gibt, so dass π j |= ϕ und ∗ für alle i, 0 ≤ i < j gilt π i |= ψ • T |= ϕ : für alle initialen Berechnungen π von T gilt π |= ϕ C: 9. Temporallogiken Folie 12 Inhalt 9.1 Vorüberlegungen 9.2 Lineare Zeit: LTL 9.3 Verzweigende Zeit: CTL Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 13 Linare und verzweigende Zeit Beispiel • Ein Transitionssystem T erfüllt eine • Linearzeit-Eigenschaft, wenn alle initialen Berechnungen eine bestimmte Bedingung erfüllen Damit lassen sich viele interessante Eigenschaften von Systemen beschreiben, aber nicht alle B,C 1 A A ¬o C ¬o B 3 ¬o A 4 o B,C • Das System im Beispiel hat die Eigenschaft, ➞ 2 dass von jedem Zustand aus noch ein Zustand mit o erreicht werden kann das kann nicht von einer LTL-Formel ausgedrückt werden Beispiel B C A • Jetzt betrachten wir eine Logik, deren ➞ Aussagen sich stärker auf den Berechnungsbaum beziehen CTL: Computation Tree Logic Logik für Inf. / Schwentick / WiSe 07/08 B C: 9. Temporallogiken C A B C A C B A Folie 14 CTL: Zutaten • In CTL ist es möglich über Berechnungen zu quantifizieren: – E: es gibt einen Pfad... – A: für alle Pfade... • Aber: hinter E und A muss sich direkt ein temporaler Operator befinden: – EF, EG, EX, E U – AF, AG, AX, A U Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 15 CTL: EFblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 16 CTL: EGblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 17 CTL: EXblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 18 CTL: E(rot U blau) Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 19 CTL: AFblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 20 CTL: AGblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 21 CTL: AXblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 22 CTL: A(rot U blau) Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 23 CTL: Definition Definition (CTL: Syntax) • • • • • • • Sei P eine Menge von Propositionen > und ⊥ sind CTL-Formeln Für jedes p ∈ P ist p eine CTL-Formel Sind ϕ und ψ CTL-Formeln, so auch ¬ϕ, ϕ ∧ ψ und ϕ ∨ ψ Ist ϕ eine CTL-Formel, so auch EFϕ, EGϕ und EXϕ Ist ϕ eine CTL-Formel, so auch AFϕ, AGϕ und AXϕ Sind ϕ und ψ CTL-Formeln, so auch E(ψ U ϕ) und A(ψ U ϕ) • LTL-Formeln sind Pfad-Formeln • CTL-Formeln sind Zustands-Formeln Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 24 CTL: Definition (Forts.) Definition (CTL: Semantik) Definition (CTL: Semantik) [Forts.] Sei T ein Transitionssystem und s ein Zustand • T, s |= >, T, s 6|= ⊥ • T, s |= p, falls p ∈ P (s) • T, s |= ϕ ∨ ψ falls T, s |= ϕ oder T, s |= ψ (∧ und ¬ analog) • T, s |= EFϕ, falls es einen Weg s, s1 , s2 , . . . und i ≥ 0 gibt mit T, si |= ϕ • T, s |= EGϕ, falls es einen Weg s, s1 , s2 , . . . gibt so dass für alle i ≥ 0 gilt T, si |= ϕ • T, s |= EXϕ, falls es einen Weg s, s1 , s2 , . . . gibt mit T, s1 |= ϕ • T, s |= E(ϕ U ψ), falls es einen Weg s, s1 , s2 , . . . und i ≥ 0 gibt mit T, si |= ψ und für alle j < i: T, sj |= ϕ Logik für Inf. / Schwentick / WiSe 07/08 • T, s |= AFϕ, falls es für jeden Weg s, s1 , s2 , . . . ein i ≥ 0 gibt mit T, si |= ϕ • T, s |= AGϕ, falls für jeden Weg s, s1 , s2 , . . . und jedes i ≥ 0 gilt: T, si |= ϕ • T, s |= AXϕ, falls für jeden Weg s, s1 , s2 , . . . gilt: T, s1 |= ϕ • T, s |= A(ϕ U ψ), falls es für jeden Weg s, s1 , s2 , . . . ein i ≥ 0 gibt mit T, si |= ψ und für alle j < i: T, sj |= ϕ • Für T = (V, E, P, I) gilt T |= ϕ , falls für alle s ∈ I gilt: T, s |= ϕ C: 9. Temporallogiken Folie 25 CTL-Eigenschaften: EFAGblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 26 CTL-Eigenschaften: EGAFblau Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 27 CTL: Typische Eigenschaften • Es ist ein Zustand erreichbar, in dem Prozess A druckt: EFpA • Wenn Prozess A drucken will, wird er irgendwann drucken: AG(wA → AFpA) • Prozess A druckt in jeder Berechnung unendlich oft: AGAFpA • In jeder Berechnung kann Prozess A irgendwann nie wieder drucken: AFAG¬pA • Von jedem Zustand aus ist es möglich den kritischen Zustand zu erreichen: AGEFk • B druckt in keiner Berechnung vor A: ¬E(¬pA U (pB ∧ ¬pA)) Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 28 CTL: Weitere Beispiele Beispiel 1 2 b a, b 4 3 a • Welche Formeln gelten in welchen Zuständen? 1. EXa 2. AXa 3. EFa 4. AFa 5. EGa 6. AGa 7. E(a U b) 8. A(a U b) 9. A(a U [EGa ∧ A(a U b)]) Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 29 LTL und CTL: Eigenschaften • Die Ausdrucksstärke von LTL und CTL sind unvergleichbar (also keine mindestens so ausdrucksstark wie die andere): – Die LTL-Formel Fp → Fq hat kein Pendant in CTL – Die CTL-Formel AGEFp hat kein Pendant in LTL • Gegeben ein Transitionssystem T und eine LTL-Formel ϕ kann in Zeit O(|T |2|ϕ|) entschieden werden, ob T |= ϕ gilt • Erfüllbarkeit von LTL-Formeln kann mit polynomiellem Speicherplatz getestet werden • Gegeben ein Transitionssystem T und eine CTL-Formel ϕ kann in Zeit O(|T ||ϕ|) entschieden werden, ob T |= ϕ gilt • (Aber: viele Eigenschaften lassen sich in LTL kompakter ausdrücken als in CTL) • Erfüllbarkeit von CTL-Formeln kann in exponentieller Zeit getestet werden, aber im schlimmsten Fall (beweisbar!) nicht besser Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 30 Literatur und Ausblick • Weitere Informationen zur Temporallogik finden sich beispielsweise in den Büchern von Huth und Ryan und im Buch von Ben-Ari • Außerdem in der Vorlesung Grundlagen des Model Checking • Weitere Veranstaltungen, in denen Logik eine wichtige Rolle spielt – – – – – Darstellung, Verarbeitung und Erwerb von Wissen Informationssysteme Formale Methoden des Systementwurfs Datenbanktheorie Logik und Komplexität • Weitere Veranstaltungen, in denen Logik vorkommt: – – – – – Softwarekonstruktion Einführung in die Computational Intelligence Commonsense Reasoning Algebraische Grundlagen der Softwaretechnik Natürlichsprachliche Systeme Logik für Inf. / Schwentick / WiSe 07/08 C: 9. Temporallogiken Folie 31