Ludwig-Maximilians-Universität München Institut für Informatik Dr. S. Merz SS 2001 Begleitblatt 2 Temporale Logik Lineare temporale Aussagenlogik Sprache Sei V eine (höchstens abzählbar unendliche) Menge von atomaren Aussagen. Eine (Basis-) Sprache LLTL (V) (kurz: LLTL ) der (linearen) temporalen Aussagenlogik ist gegeben durch: Alphabet: • alle Elemente von V, • die Zeichen false, →, d, 2, (, ). Induktive Definition der Formeln: 1. Jede atomare Aussage v ∈ V ist eine Formel. 2. false ist eine Formel. 3. Sind A und B Formeln, so ist auch (A → B ) eine Formel. 4. Ist A eine Formel, so sind auch dA und 2A Formeln. Abkürzungen: • ¬, ∨, ∧, ↔, true: • 3A wie in klassischer Aussagenlogik für ¬2¬A Semantik Eine temporale Struktur (Kripke-Struktur) für LLTL ist eine unendliche Folge K = (η0 , η1 , η2 , . . .) von Abbildungen ηi : V → {f, t}. Die ηi heißen Zustände; η0 heißt Anfangszustand der Struktur K. Sei K temporale Struktur für LLTL . Induktive Definition von Ki (F ) ∈ {f, t} für jede Formel F von LLTL und jedes i ∈ N0 (“Wahrheitswert von F im Zustand ηi ”): 1. Ki (v ) = ηi (v ) für v ∈ V 2. Ki (false) = f 3. Ki (A → B ) = t ⇐⇒ Ki (A) = f oder Ki (B ) = t 4. Ki ( dA) = Ki+1 (A) 5. Ki (2A) = t ⇐⇒ Kj (A) = t für alle j ≥ i Für die weiteren Operatoren gilt dann: Ki (¬A) = t Ki (A ∨ B ) = t Ki (A ∧ B ) = t Ki (A ↔ B ) = t Ki (true) = t Ki (3A) = t ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ Ki (A) = f Ki (A) = t oder Ki (B ) = t Ki (A) = t und Ki (B ) = t Ki (A) = Ki (B ) ⇐⇒ Kj (A) = t für ein j ≥ i Eine Formel A heißt gültig in der temporalen Struktur K (in Zeichen: |= A), wenn Ki (A) = t ist für alle K i ∈ N0 . Die Formel A heißt allgemeingültig ( |= A), wenn |= A gilt für alle K. A heißt erfüllbar, wenn K es eine temporale Struktur K und ein i ∈ N0 gibt mit Ki (A) = t. A folgt aus einer Formelmenge F (F |= A bzw. B1 , . . . , Bn |= A), wenn |= A gilt für jede temporale Struktur K mit |= B für alle B ∈ F. K K Lemma 2.1.1. Seien A und B Formeln, K = (η0 , η1 , η2 , . . .) und K0 = (η00 .η10 , η20 , . . .) temporale Strukturen, und i ∈ N0 . (a) Falls Ki (A) = t und Ki (A → B ) = t, so ist Ki (B ) = t. (b) Falls ηj0 = ηi+j für alle j ∈ N0 , so ist K0j (A) = Ki+j (A) für alle j ∈ N0 . Satz 2.1.2. Falls |= A1 ∧ . . . ∧ An → B , so A1 , . . . , An |= B . Satz 2.1.3. A1 , . . . , An |= B genau dann, wenn |= 2A1 ∧ . . . ∧ 2An → B . Satz 2.1.4. Falls F |= A und F |= A → B , so F |= B . Satz 2.1.5. Falls F |= A, so gilt F |= dA und F |= 2A. (Insbesondere: A |= dA und A |= 2A.) Satz 2.1.6. |= A gilt genau dann, wenn ¬A nicht erfüllbar ist. Beispiele von Formeln mit informeller Bedeutung A → 2B A → 3B 2(A → B ) 2(A → 3B ) 3(A ∧ d¬A) 32A 23A Falls A gilt, so gilt ab sofort immer B . Falls A gilt, so gilt irgendwann einmal (sofort oder in der Zukunft) B . Wann immer (ab sofort) A gilt, gilt auch B . Jedes Eintreten von A wird von einem Eintreten von B gefolgt. Irgendwann einmal gilt A und unmittelbar danach nicht A. Irgendwann einmal gilt A permanent. Jeder zukünftige Zeitpunkt wird von einem Zeitpunkt gefolgt, zu dem A gilt. D.h.: A gilt unendlich oft. 2