Lineare Temporale Logik - Informatik Uni

Werbung
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
Zugehörige Unterlagen
Herunterladen