Lineare Temporale Logik nach Principles of Model Checking von Christel Baier und Joost-Pieter Katoen Sebastian Ankerhold 19.Dezember 2013 Sebastian Ankerhold Lineare Temporale Logik Wiederholung (1) Ein Transitionssystem TS ist ein Tupel (S, Act, →, I , AP, L) mit: S - Menge von Zuständen Act - Menge von Aktionen → ⊆ S × Act × S - Übergangsrelation I - Menge von Anfangszuständen AP - Menge von atomaren Aussagen L : S → Pot(AP) - Beschriftungsfunktion Unendliches Pfadfragment π ist Zustandsfolge s0 s1 s2 ... , sodass ∀i > 0 : si ∈ Post(si−1 ) trace(π) = L(s0 )L(s1 )L(s2 )... Sebastian Ankerhold Lineare Temporale Logik Grundlegendes Spezikationsformalismus für LT Eigenschaften Lineares Zeitmodell, d.h. jeder Moment hat einen einzigen Nachfolgemoment Betrachtet wird nur die relative Ordnung von Ereignissen LTL kombiniert Aussagenlogik mit den temporalen Modalitäten X (Next) und U (Until): Xϕ gilt, wenn ϕ im nächsten Schritt gilt ϕ1 Uϕ2 gilt, wenn ein Schritt existiert in dem ϕ2 gilt und bis zu diesem Zeitpunkt ϕ1 gilt Sebastian Ankerhold Lineare Temporale Logik Syntax AP : eine Menge von atomaren Aussagen LTL Formeln ϕ gegeben durch: ϕ ::= true | a | ¬ϕ | ϕ1 ∧ ϕ2 | Xϕ | ϕ1 Uϕ2 wobei a ∈ AP . U ist rechtsassoziativ, d.h. ϕ1 Uϕ2 Uϕ3 steht für ϕ1 U(ϕ2 Uϕ3 ) Operatorpräzendenz: ¬, X binden stärker als U bindet stärker als ∧ Sebastian Ankerhold Lineare Temporale Logik Semantik über Wörter ϕ - LTL Formel; Die von ϕ induzierte LT Eigenschaft ist: Words(ϕ) = {σ = A0 A1 A2 ... ∈ Pot(AP)ω | σ |= ϕ} wobei |= die kleinste Relation mit den folgenden Eigenschaften ist: σ |= true σ |= a ⇐⇒ a ∈ A0 σ |= ¬ϕ ⇐⇒ σ 6|= ϕ σ |= ϕ1 ∧ ϕ2 ⇐⇒ σ |= ϕ1 and σ |= ϕ2 σ |= Xϕ ⇐⇒ σ [1...] |= ϕ σ |= ϕ1 Uϕ2 ⇐⇒ ∃j ≥ 0 : σ [j...] |= ϕ2 und ∀i, 0 ≤ i < j : σ [i...] |= ϕ1 Sebastian Ankerhold Lineare Temporale Logik Weitere Modalitäten Mittels U weitere Modalitäten: F (Finally) und G (Globally) Fϕ := true Uϕ Gϕ := ¬F¬ϕ gilt, wenn ϕ irgendwann in der Zukunft gilt gilt, wenn ab dem momentanen Schritt immer ϕ gilt Durch Kombination dieser Modalitäten erhält man: GFϕ "unendlich oft ϕ” FGϕ "fast immer ϕ” Sebastian Ankerhold Lineare Temporale Logik Semantik der abgeleiteten Modalitäten Für die abgeleiteten Operatoren gilt: σ |= Fϕ ⇐⇒ ∃j ≥ 0 : σ [j...] |= ϕ σ |= Gϕ ⇐⇒ ∀j ≥ 0 : σ [j...] |= ϕ σ |= GFϕ ⇐⇒ ∀i ≥ 0∃j ≥ i : σ [j...] |= ϕ σ |= FGϕ ⇐⇒ ∃i ≥ 0∀j ≥ i : σ [j...] |= ϕ Sebastian Ankerhold Lineare Temporale Logik Beispiel 1 Es sei AP = {blau, grün, rot, weiß, schwarz, rund, quadtratisch, karo} Einige geltende Eigenschaften: Einige nicht geltende Eigenschaften: rund ∧ rot G(grün ∧ rund) X blau rot U weiß F grün rot U G blau rund U quadratisch quadratisch F(rot U grün) G(rund → quadratisch) Sebastian Ankerhold Lineare Temporale Logik Beispiel 2 1. Wird der Einschaltknopf des Druckers betätigt, so ist er irgendwann bereit und bleibt es danach auch. 2. Ist der Drucker bereit und erhält einen Auftrag, so beginnt er sofort danach zu drucken und druckt weiter, bis er keinen Auftrag oder kein Papier mehr hat. Sebastian Ankerhold Lineare Temporale Logik Wiederholung (2) TS = (S, Act, →, I , AP, L) - Transitionssystem ; s ∈ S . Paths(s) = {π = s0 s1 s2 ... | s0 = s} Paths(TS) = [ Paths(s) s∈I trace(Π) = {trace(π) | π ∈ Π} Traces(s) = trace(Paths(s)) Traces(TS) = [ Traces(s) s∈I Sebastian Ankerhold Lineare Temporale Logik Semantik über Pfade und Zustände TS = (S, Act, →, I , AP, L) - Transitionssystem ϕ - LTL Formel s ∈S π - unendliches Pfadfragment von TS . Dann ist deniert: π |= ϕ ⇐⇒ trace(π) |= ϕ s |= ϕ ⇐⇒ ∀π ∈ Paths(s) : π |= ϕ TS |= ϕ ⇐⇒ Traces(TS) ⊆ Words(ϕ) ⇐⇒ ∀s ∈ I : s |= ϕ Sebastian Ankerhold Lineare Temporale Logik Äquivalenz Zwei LTL Formeln ϕ1 , ϕ2 sind äquivalent, geschr. ϕ1 ≡ ϕ2 , wenn Words(ϕ1 ) = Words(ϕ2 ). Einige Äquivalenzen: Dualitätsgesetz Distributivgesetz Idempotenzgesetz ¬Xϕ ≡ X¬ϕ X(ϕUψ) ≡ (Xϕ)U(Xψ) ¬Fϕ ≡ G¬ϕ F(ϕ ∨ ψ) ≡ Fϕ ∨ Fψ ¬Gϕ ≡ G(ϕ ∧ ψ) ≡ Gϕ ∧ Gψ F¬ϕ GFGϕ ≡ FGϕ GGϕ ≡ Gϕ ϕU(ϕUψ) ≡ ϕUψ ϕUψ ≡ ψ ∨ (ϕ ∧ X(ϕUψ)) Fϕ ≡ ϕ ∨ XFϕ Gϕ ≡ ϕ ∧ XGϕ Sebastian Ankerhold Fϕ (ϕUψ)Uψ ≡ ϕUψ Absorptionsgesetz Expansionsgesetz FGFϕ ≡ GFϕ FFϕ ≡ Lineare Temporale Logik Until ist die kleinste Lösung des Expansionsgesetzes Theorem ϕ und ψ ist Words(ϕ Uψ) P ⊆ Pot(AP)ω , sodass: Für LTL Formeln Eigenschaft die kleinste LT Words(ψ) ∪ {A0 A1 A2 ... ∈ Words(ϕ) | A1 A2 ... ∈ P} ⊆ P Kleinste LT Eigenschaft die (*) erfüllt, bedeutet: (1) P = Words(ϕUψ) erfüllt (*) (2) Words(ϕUψ) ⊆ P für alle P die (*) erfüllen Sebastian Ankerhold Lineare Temporale Logik (∗) Weak-Until Für LTL Formeln ϕ und ψ ist der W Operator wie folgt definiert: def ϕWψ = (ϕUψ) ∨ Gϕ Dualität: ¬(ϕUψ) ≡ (ϕ ∧ ¬ψ)W(¬ϕ ∧ ¬ψ) ¬(ϕWψ) ≡ (ϕ ∧ ¬ψ)U(¬ϕ ∧ ¬ψ) Andere Zusammenhänge: Gϕ ϕUψ Expansionsgesetz: ϕWψ Sebastian Ankerhold ≡ ϕWfalse ≡ (ϕWψ) ∧ ¬G¬ψ ≡ ψ ∨ (ϕ ∧ X(ϕWψ)) Lineare Temporale Logik Positive Normal Form (Weak-Until) Menge der LTL Formeln in Weak-Until PNF über die folgende Grammatik gegeben: ϕ ::= true | false | a | ¬a | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | Xϕ | ϕ1 Uϕ2 | ϕ1 Wϕ2 wobei a ∈ AP ABER: Durch ¬(ϕUψ) ≡ (ϕ ∧ ¬ψ)W(¬ϕ ∧ ¬ψ) exponentielles Wachstum der Formellänge möglich Sebastian Ankerhold Lineare Temporale Logik Release Für LTL Formeln ϕ und ψ ist der R Operator wie folgt definiert: def ϕRψ = ¬(¬ϕU¬ψ) Dualität: ¬(ϕUψ) ≡ ¬ϕR¬ψ ¬(ϕRψ) ≡ ¬ϕU¬ψ Gϕ ≡ false R ϕ Andere Zusammenhänge: Expansionsgesetz: Sebastian Ankerhold ϕWψ ≡ (¬ϕ ∨ ψ)R(ϕ ∨ ψ) ϕRψ ≡ ψ ∧ (ϕ ∨ X(ϕRψ)) Lineare Temporale Logik Positive Normal Form (Release) Menge der LTL Formeln in Release PNF über die folgende Grammatik gegeben: ϕ ::= true | false | a | ¬a | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | Xϕ | ϕ1 Uϕ2 | ϕ1 Rϕ2 wobei a ∈ AP Transformationsregeln: ¬true ¬¬ϕ false ϕ ¬(ϕ ∧ ψ) ¬ϕ ∨ ¬ψ ¬(ϕ ∨ ψ) ¬(ϕUψ) ¬ϕR¬ψ ¬Xϕ X¬ϕ G¬ϕ ¬Gϕ F¬ϕ ¬Fϕ Sebastian Ankerhold ¬ϕ ∧ ¬ψ Lineare Temporale Logik Zusammenfassung Syntax Semantik Positive Normalform Sebastian Ankerhold Lineare Temporale Logik