Fakultät für Informatik Universität Magdeburg Jürgen Dassow Temporale Logik – Motivation x = 1; y = 1; if ((x+y)%3==0) x + +; else y++; Durchlaufszahl 0 1 2 3 4 5 6 ... x 1 1 2 2 2 3 3 . y 1 2 2 3 4 4 5 . x+y 2 3 4 5 6 7 8 . K(0) = (1, 1) K(1) = (1, 2) K(2) = (2, 2) K(3) = (2, 3) K(4) = (2, 4) K(5) = (3, 4) K(6) = (3, 5) ... Gibt es einen Zeitpunkt i, in dem für K(i) = (x, y) die Bedingung y > 10000 erfüllt ist? Gilt für alle Zeitpunkte i, dass für K(i) = (x, y) die Aussage x ≤ y gilt? Logik - Weitere Logiken 106 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Ausdruck der temporale Logik Definition: Die Menge tausd der temporalen aussagenlogischen Ausdrücke wird induktiv als Menge von Wörtern über einer Menge var von Variablen und den Symbolen {(, ), ¬, ∧, ∨, →, ↔, F, G, F ∞, G∞, U, B, X} wie folgt definiert: 1. Jede Variable p ∈ var gehört zu tausd. 2. Sind w und v Wörter aus tausd, so gehören auch die Wörter ¬w, w ∧ v, w ∨ v, w → v, w ↔ v, F w, Gw, F ∞w, G∞w, wU v, wBv, Xw zu tausd. 3. Ein Wort gehört nur dann zu tausd, wenn dies aufgrund der Bedingungen 1. und 2. der Fall ist. Logik - Weitere Logiken 107 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Zeitlinien der temporalen Logik Definition: Unter einer Zeitlinie verstehen wir ein Paar Z = (M, x), wobei – M selbst ein Paar M = (S, L) ist, – S eine Menge ist (deren Elemente wir Zustände nennen), – L eine Funktion von S in 2var ist, und – x eine Funktion von der Menge N0 in S. (x liefert Folge (x(0), x(1), x(2), . . . , x(n), . . .) von Werten aus S) L definiert für jedes s ∈ S eine Belegung durch 1 p ∈ L(s) αs(p) = 0 p∈ / L(s) (x liefert Folge (αx(0), αx(1), αx(2), . . .) von Belegungen) K : var → 2S mit s ∈ K(p) genau dann, wenn p ∈ L(s) Logik - Weitere Logiken 108 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Wertberechnung in der temporalen Logik I Definition: Der Wert wxM (u) eines temporalen aussagenlogischen Ausdrucks u ∈ tausd bez. einer Zeitlinie (M, x) wird induktiv über den Aufbau der Ausdrücke wie folgt definiert: Für eine Variable p ∈ var gilt wxM (p) = 1 genau dann, wenn p ∈ L(x(0)) gilt. Sind wxM (u) und wxM (v) bereits definiert, so setzen wir: – wxM (¬u) = 1 gilt genau dann, wenn wxM (u) = 0 gilt, – wxM (u ∧ v) = 1 gilt genau dann, wenn wxM (u) = wxM (v) = 1 gelten, – wxM (u ∨ v) = 0 gilt genau dann, wenn wxM (u) = wxM (v) = 0 gelten, – wxM (u → v) = 0 gilt genau dann, wenn wxM (u) = 1 und wxM (v) = 0 gelten, – wxM (u ↔ v) = 1 gilt genau dann, wenn wxM (u) = wxM (v) gilt, Logik - Weitere Logiken 109 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Wertberechnung in der temporalen Logik II – wxM (F u) = 1 gilt genau dann, wenn wxMj (u) = 1 für ein j ≥ 0 gilt, – wxM (Gu) = 1 gilt genau dann, wenn wxMj (u) = 1 für alle j ≥ 0 gilt, – wxM (F ∞u) = 1 gilt genau dann, wenn es zu jedem j ≥ 0 ein k ≥ j mit wxMk (u) = 1 gibt, – wxM (G∞u) = 1 gilt genau dann, wenn es ein j ≥ 0 gibt, so dass wxMk (u) = 1 für alle k ≥ j gilt, – wxM (uU v) = 1 gilt genau dann, wenn es ein j ≥ 0 gibt, so dass wxMj (v) = 1 und wxMk (u) = 1 für 0 ≤ k < j gelten, – wxM (uBv) = 1 gilt genau dann, wenn es für jedes j ≥ 1 mit wxMj (v) = 1 ein k < j mit wxMk (u) = 1 gibt, – wxM (Xu) = 1 gilt genau dann, wenn wxM1 (u) = 1 gilt. Logik - Weitere Logiken 110 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenz in der temporalen Logik Definition: i) Zwei Ausdrücke u ∈ tausd und v ∈ tausd heißen semantisch äquivalent in der temporalen Aussagenlogik, wenn wxM (u) = wxM (v) für alle Zeitlinien (M, x) gilt. ii) Ein Ausdruck u ∈ tausd der temporalen Aussagenlogik heißt erfüllbar, wenn es eine Zeitlinie (M, x) mit wxM (u) = 1 gibt. iii) Ein Ausdruck u ∈ tausd heißt Tautologie in der temporalen Aussagenlogik, wenn wxM (u) = 1 für alle Zeitlinien (M, x) gilt. Bezeichnung: u ≡t v Logik - Weitere Logiken 111 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenzen der temporalen Logik I Satz: Für beliebige u ∈ tausd und v ∈ tausd gelten die folgenden Äquivalenzen: i) F u ≡t ((u ∨ ¬u)U u, ii) Gu ≡t ¬F ¬u, iii) F ∞u ≡t GF u, iv) G∞u ≡t ¬F ∞¬u, v) uBv ≡t ¬((¬u)U v)). Satz: Zu jedem Ausdruck A der temporalen Aussagenlogik gibt es einen Ausdruck B der temporalen Aussagenlogik, der A ≡t B erfüllt und nur die Operatoren ¬, ∧, U und X enthält. Logik - Weitere Logiken 112 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenz in der temporalen Logik II Satz: Für beliebige u ∈ tausd, v ∈ tausd und w ∈ tausd gelten die folgenden Äquivalenzen: i) HHu ≡t Hu für H ∈ {F, G, F ∞, G∞}, ii) XHu ≡t HXu für H ∈ {F, G, F ∞, G∞}, iii) X(uU v) ≡t ((Xu)U (xv)), iv) H(u ∨ v) ≡t (Hu ∨ Hv) für H ∈ {F, F ∞}, v) H(u ∧ v) ≡t (Hu ∧ Hv) für H ∈ {G, G∞}, vi) ¬Xu ≡t X¬u, vii) X(u ◦ v) ≡t (Xu ◦ Xv) für ◦ ∈ {∧, ∨, →, ↔}, viii) ((u ∧ v)U w) ≡t ((uU w) ∧ (vU w)), ix) (uU (v ∨ w)) ≡t ((uU v) ∨ (uU w)). Logik - Weitere Logiken 113 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenz in der temporalen Logik III Satz: Für beliebige Ausdrücke u ∈ tausd und v ∈ tausd sind die folgenden Ausdrücke Tautologien der temporalen Aussagenlogik: i) (u → F u) und (Gu → u) und (GP u → F u), ii) (Xu → F u) und (Gu → Xu) und (GP u → XGu), iii) ((uU v) → F v), iv) ((Gu ∨ Gv) → G(u ∨ v)) und (F (u ∧ v) → (F p ∧ F q)), v) (((uU w) ∨ (vU w)) → ((u ∨ v)U w)) und ((uU (v ∧ w)) → ((uU v) ∧ (uU w))), vi) (u ∧ G(u → Xu)) → Gu). Logik - Weitere Logiken 114 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Entscheidbarkeit in der temporalen Logik Satz: Das Erfüllbarkeitsproblem der temporalen Aussagenlogik Gegeben: Frage: Ausdruck u ∈ tausd der temporalen Aussagenlogik Ist u erfüllbar? ist entscheidbar. Logik - Weitere Logiken 115 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenz in der dynamischen Logik Definition: Zwei Ausdrücke A und B aus dausd heißen semantisch äquivalent in der dynamischen Aussagenlogik, wenn K(A) = K(B) für alle Kripke-Modelle (S, K, R) gilt. Bezeichnung: A ≡d B Satz: Für beliebige Ausdrücke A und B aus dausd und beliebige Programme p und q gelten die folgenden Äquivalenzen: i) < p > (A ∨ B) ≡d (< p > A∨ < p > B), ii) < (p ∪ q) > A ≡d (< p > A∨ < q > A), iii) < {p; q} > A ≡d< p >< q > A, iv) < A? > B ≡d (A ∧ B). Logik - Weitere Logiken 116 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Ausdrücke der Modallogik Definition: Die Menge mausd der modalen aussagenlogischen Ausdrücke wird induktiv als Menge von Wörtern über einer Menge von Variablen aus var und den Symbolen (, ), ¬, ∧, ∨, →, ↔, , 2 wie folgt definiert: 1. Jede Variable p ∈ var gehört zu mausd. 2. Sind A und B Wörter aus mausd, so gehören auch die Wörter ¬A, (A ∧ B), (A ∨ B), (A → B), (A ↔ B), A, 2A zu mausd. 3. Ein Wort gehört nur dann zu mausd, wenn dies aufgrund endlich oftmaliger Anwendung von 1. und 2. der Fall ist. Logik - Weitere Logiken 117 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Rahmen, Situationen und Belegung der Modallogik Rahmen R – (gerichteter) Graph R = (S, R) Situation – Element aus S Definition: Es seien eine Menge var von Variablen und ein Rahmen R = (S, R) gegeben. Eine Belegung in der modalen Logik α der Variablen aus var ist eine Funktion α : S × var → {0, 1}, die jeder Situation und jeder Variablen einen Wahrheitswert aus {0, 1} zuordnet. Logik - Weitere Logiken 118 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Wert in der Modallogik Definition: Es seien ein Rahmen R = (S, R) und eine Belegung α gegeben. Den Wert wαR,s(A) eines Ausdrucks A ∈ mausd bez. eines Rahmens R = (S, R), einer Belegung α und einer Situation s ∈ S definieren wir induktiv durch folgende Setzungen: i) wαR,s(p) = αs(p) für eine Variable p ∈ var. ii) wαR,s(¬A) = 0 gdw. wαR,s(A) = 1. iii) wαR,s((A ∧ B)) = 1 gdw. wαR,s(A) = wαR,s(B) = 1. iv) wαR,s((A ∨ B)) = 0 gdw. wαR,s(A) = wαR,s(B) = 0. v) wαR,s((A → B)) = 0 gdw. wαR,s(A) = 1 und wαR,s(B) = 0. vi) wαR,s((A ↔ B)) = 1 gdw. wαR,s(A) = wαR,s(B). vii) wαR,s(A) = 1 gdw. r ∈ S mit (s, r) ∈ R und wαR,r (A) = 1 existiert. viii) wαR,s(2A) = 1 gdw. wαR,r (A) = 1 für alle r ∈ S mit (s, r) ∈ R. Logik - Weitere Logiken 119 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Semantische Äquivalenz und Tautologie in der modalen Logik Definition: • Zwei Ausdrücke A und B aus mausd heißen semantisch äquivalent, wenn für jeden Rahmen R = (S, R), jede Belegung α und jede Situation s ∈ S die Beziehung wαR,s(A) = wαR,s(B) gilt. • Ein Ausdruck A aus mausd heißt Tautologie, wenn für jeden Rahmen R = (S, R), jede Belegung α und jede Situation s ∈ S die Beziehung wαR,s(A) = 1 erfüllt ist. Logik - Weitere Logiken 120 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Modallogische Tautologien Satz: i) Für modallogische Ausdrücke A und B aus mausd sind die folgenden Ausdrücke Tautologien: – (A ↔ ¬2¬A), – (2A ↔ ¬ ¬A), – (2(A ∧ B) ↔ (2A ∧ 2B)), – ((A ∨ B) ↔ (A ∨ B)), – (2(A → B) → (2A → 2B)). ii) Wenn A eine modallogische Tautologie ist, so ist auch 2A eine modallogische Tautologie. Logik - Weitere Logiken 121 Fakultät für Informatik Universität Magdeburg Jürgen Dassow Erfüllbarkeitsproblem der modalen Logik Satz: Das Erfüllbarkeitsproblem der modalen Aussagenlogik Gegeben: Frage: Ausdruck u ∈ mausd der modalen Aussagenlogik Ist u erfüllbar? ist entscheidbar. Logik - Weitere Logiken 122