Vorlesung Logiksysteme - Teil 3

Werbung
Vorlesung Logiksysteme
Teil 3 - Temporale Logik LTL
Martin Mundhenk
Univ. Jena, Institut für Informatik
8. September 2016
Sommer 2016 – v03
0.0.1
3 Temporale Aussagenlogik
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
Warnung: Dieser Teil ist noch sehr bruchstückhaft.
Temporale Logik
Temporale Logik benutzt man z.B. zur Untersuchung von Prozessen,
die schrittweise ihren Zustand verändern.
I jetzt, oder
Eine Aussage
kann z.B.
I irgendwann in der Zukunft, oder
I
solange, bis eine andere Aussage wahr ist,
wahr sein.
3.0.2
3.1 Grundbegriffe linearer Zeitlogik LTL
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
Literatur: Kreuzer, Kühling: Logik für Informatiker.
Eike Best: Modelchecking (Vorlesungsskript 2010, im Web).
3.1.3
Einführendes Beispiel
Modelliere: Prozesse dürfen nicht gleichzeitig die selbe Ressource benutzen . . .
I
n – Ressource wird weder angefordert noch benutzt
I
a – Ressource wird angefordert (es wird auf Zugriff gewartet)
I
b – Ressource wird benutzt
s0
n1 n2
s1
Modell für erlaubte Zustandsübergänge:
a1 n2
n1 a2
s2
(bi . . . Prozess i benutzt die Ressource . . . )
(wir schreiben Atome hier mit kleinen Buchst.)
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s7 a1 b2
Garantiert dieses Modell, dass
jeder Prozess die angeforderte Ressource auch irgendwann benutzen kann?
3.1.4
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
n1 ∧ n2
“die Startwelt von π erfüllt n1 ∧ n2 ”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
Eigenschaften von Pfad π:
π
F . . . future
p
F b2
“es gibt einen Suffix ρ von π = π 0 ρ mit ρ
p
b2 ”
...
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
G ¬(b1 ∧ b2 )
F . . . future, G . . . globally
“für alle Suffixe ρ von π gilt ρ
p
¬(b1 ∧ b2 )”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
F . . . future, G . . . globally
p
G(a2 → F b2 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
X n2
“für ρ mit π = s0 ρ gilt ρ
F . . . future, G . . . globally, X . . . next
p
n2 ”
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
n1 ∧ X n2 ∧ X X a2
F . . . future, G . . . globally, X . . . next
π
p
n1 ∧ X(n2 ∧ X a2 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π 6 p G((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π 6 p G((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
¬ G((a1 ∧ ¬b2 ) → X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F ¬((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
¬ G((a1 ∧ ¬b2 ) → X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F ¬((a1 ∧ ¬b2 ) → X b1 )
F . . . future, G . . . globally, X . . . next
π
p
F((a1 ∧ ¬b2 ) ∧ ¬ X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
F((a1 ∧ ¬b2 ) ∧ X ¬b1 )
F . . . future, G . . . globally, X . . . next
π
p
F((a1 ∧ ¬b2 ) ∧ ¬ X b1 )
3.1.5
Temporale Operatoren
s0
n1 n2
s1
a1 n2
n 1 a2
s2
a1 a2
s4
b1 n2
s3
b1 a2 s6
n1 b2
s5
s 7 a1 b 2
Ein (unendlicher) Pfad π = s0 s1 s4 . . . durch das Modell:
n1 n2
a1 n2
a1 a2
a1 b2
s0
s1
s4
...
a1 n2
b1 n2
b1 a2
n1 a2
n1 b2
...
Eigenschaften von Pfad π:
π
p
(a1 ∨ n2 ) U b1
“von s0 aus auf π gilt a1 ∨ n2 bis b1 erfüllt ist”
F . . . future, G . . . globally, X . . . next , U . . . until
3.1.5
Syntax von LTL
LTL . . . linear-time temporal logic
Definition 3.1 (die Sprache: LTL-Formeln)
(Aussagenlogische) LTL-Formeln sind induktiv definiert wie folgt.
1. Die Konstante ⊥ und alle Atome Ai sind LTL-Formeln.
2. Für alle LTL-Formeln α und β sind
α → β,
Xα
(next),
Fα
(future),
Gα
(globally),
αUβ
(until)
ebenfalls LTL-Formeln.
Wir benutzen Abkürzungen >, ¬α, α ∧ β, α ∨ β, α ↔ β wie üblich.
Semantik von LTL
Definition 3.2 ((Pfad-)Erfüllungsrelation
p
für LTL)
Sei π = π0 π1 π2 . . . eine unendliche Folge von Belegungen
πi ⊆ {A0 , A1 , . . .}, und π j = πj πj+1 . . . Suffix von π (für j ≥ 0). Die
Relation p zwischen Belegungsfolgen und LTL-Formeln ist wie folgt
definiert.
π6p ⊥
π
π
Ai gdw. Ai ∈ π0
α → β gdw. π 6 p α oder π
p
β
p
π
p
X α gdw. π 1
π
p
F α gdw. es gibt ein i ≥ 0 : π i
π
π
p
p
p
p
α
G α gdw. für alle i ≥ 0 : π
i
p
p
α
α
α U β gdw. es gibt ein i ≥ 0 : π i p β
und für alle j = 0, 1, . . . , i − 1 : π j
p
α
Definition 3.3 (äquivalente LTL-Formeln)
LTL-Formeln α und β heißen äquivalent (α ≡ β),
falls für jede Belegungsfolge π gilt: π p α genau dann, wenn π
p
β.
Lemma 3.4 (wichtige Äquivalenzen in LTL)
1. ¬ X α ≡ X ¬α
2. ¬ G α ≡ F ¬α
3.
Fα ≡ >Uα
4.
X α ≡ X(⊥ U α)
5.
F α ≡ α ∨ X(> U α)
6. α U β ≡ β ∨ (α ∧ X(α U β))
7. ¬(α U β) ≡ ¬β ∧ (¬α ∨ X ¬(α U β))
3.1.8
Lemma 3.5
Für jede LTL-Formel α gibt es eine äquivalente Formel α0 ,
die nur aus Atomen, ¬, ∧, X und U besteht.
Wir benutzen >, ¬, ∧, ∨, ↔, F und G weiterhin als abkürzende
Schreibweisen.
Definition 3.6 (Erfüllbarkeit, Gültigkeit)
Sei ϕ eine LTL-Formel.
ϕ heißt erfüllbar (bezgl. p ),
falls es eine Belegungsfolge π mit π
p
ϕ gibt.
ϕ heißt gültig (bezgl. p ),
falls π p ϕ für alle Belegungsfolgen π gilt (Schreibweise:
p
ϕ).
Wir werden ein Verfahren zum Test der Gültigkeit von LTL-Formeln
betrachten.
Der Algorithmus muss mit unendlichen Belegungsfolgen umgehen
können.
3.1.10
3.2 Ein Tableau-Kalkül für LTL
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
[Literatur:
Mark Reynolds:
A traditional tree-style tableau for LTL
http://www.csse.uwa.edu.au/∼mark/research/Online/ltlsattabLONG.pdf, 2015
Agnes Schubert:
Vollständigkeit und Korrektheit für ein Tableau-Verfahren für LTL. BSc-Arbeit, 2016 ]
Die Konstruktion eines Tableaus . . .
. . . entspricht in der Aussagenlogik einer systematischen Suche
nach einer Belegung, die die Startformel erfüllt,
. . . entspricht in der Modallogik einer systematischen Suche
nach einem baumförmigen (endlichen) Kripke-Modell
(also einem Baum aus Belegungen),
das die Startformel in der Startwelt erfüllt.
Entsprechend soll für LTL-Formeln systematisch nach einer unendlichen
Folge von Belegungen gesucht werden, die die Startformel erfüllt.
3.2.2
Grobe Idee für ein Tableau . . .
s A ∧ ((X X A) U ¬A)
X α wird behandelt wie ♦α und α (fast ...).
α U β wird expandiert zu β ∨ (α ∧ X(α U β)).
sA
Dieses Tableau wird ziemlich groß . . .
s (X X A) U ¬A
s ¬A
×
Wie hält man es endlich?
s XXA
s X((X X A) U ¬A)
(s, t)
t XA
Belegungsfolge {A} ∅ {A} {A} . . .
erfüllt A ∧ ((X X A) U ¬A).
t (X X A) U ¬A
t ¬A
(t, u)
u XA
(u, w )
w A
t XXA
t X((X X A) U ¬A)
(t, v )
v A
v XA
v (X X A) U ¬A
...
Wie wird dieses Tableau widersprüchlich?
s ¬A ∧ ((X ¬A) U A)
s ¬A
s (X ¬A) U A
s X ¬A
sA
×
s X((X ¬A) U A)
(s, t)
t ¬A
t (X ¬A) U A
tA
×
t X ¬A
t X((X ¬A) U A)
(t, v )
v ¬A
v (X ¬A) U A
...
3.2.4
s
Das gleiche Tableau, etwas lesbarer
aufgeschrieben.
¬A ∧ ((X ¬A) U A)
¬A
(X ¬A) U A
Wie wird dieses Tableau geschlossen?
X ¬A
X((X ¬A) U A)
A
×
Wir brauchen also mehr Eigenschaften, um
die Expansion von Markierungen zu beenden.
(s, t)
t
¬A
(X ¬A) U A
X ¬A
X((X ¬A) U A)
A
×
(t, v )
v
A
×
¬A
(X ¬A) U A
X ¬A
X((X ¬A) U A)
(v , y )
...
Definition 3.7 (Tableau für LTL-Formeln aus Atomen, ¬, ∧, X und U)
Sei ϕ eine LTL-Formel aus Atomen, ¬, ∧, X und U.
1. Ein Knoten, der mit s ϕ markiert ist, ist ein Tableau für ϕ.
2. Sei T ein Tableau für ϕ, und κ sei ein Knoten in T mit Markierung w ψ.
Wenn ψ eine Formel der Form α ∧ β, ¬(α ∧ β) oder ¬¬α ist, dann kann κ mit
der entsprechenden (lokalen) Expansionsregel expandiert werden.
•
w ¬(α ∧ β): •
w α ∧ β:
w ¬¬α: •
w α
w ¬α
w ¬β
w α
w β
Wenn ψ eine Formel der Form α U β oder ¬(α U β) ist,
dann kann κ mit folgenden (lokalen) Expansionsregeln expandiert werden.
•
w ¬(α U β): •
w α U β:
w β
w α
w X(α U β)
w ¬β
w ¬α
w ¬ X(α U β)
3. Sei T ein Tableau für ϕ, und π sei ein Pfad durch T , der mit Markierungen
für eine Welt w endet. Alle Knoten mit Markierungen w α, die nach einer
Regel unter 2.) expandiert werden können, seien bereits expandiert (d.h. alle
lokalen Expansionen für die Welt w wurden durchgeführt).
Seien w X α1 , . . . , w X αq , ¬ X β1 , . . . , w ¬ X βr alle nicht
expandierten Knoten für die Welt w .
Dann werden alle diese Knoten mit folgender Regel expandiert.
Dabei ist z eine neue Welt, die bisher nicht im Tableau vorkommt.
•
(w , z)
z α1
..
.
z αq
z ¬β1
..
.
z ¬βr
Durch Expansion entsteht ein (weiteres) Tableau für ϕ.
3.2.7
Wir müssen jetzt Bedingungen zum Beenden der Expansion eines
Pfades formulieren.
Dafür brauchen wie ein paar Begriffe.
Sei π ein Pfad durch ein Tableau.
Wπ = {u | eine Knotenmarkierung u α kommt auf π vor} ist die
Menge aller Welten von π.
Rπ = {(u, v ) | Kantenmarkierung (u, v ) kommt auf π vor} ist die
Menge aller Kanten von π.
(Wπ , Rπ ) ist ein (endlicher) Pfad.
Für u ∈ Wπ ist Γ(u) die Menge aller Formeln in Markierungen mit u,
Γ(u) = {α | eine Knotenmarkierung u α kommt auf π vor}.
3.2.8
Die Expansion eines Pfades kann beendet werden,
(1) wenn in einer Welt widersprüchliche Formeln erfüllt werden sollen (das ist
wie bisher: widersprüchlicher Pfad), oder
(2) wenn man sich in einer Schleife von Belegungen befindet, in der zu
erfüllende until-Formeln nie erfüllt werden.
Pπ = w | es gibt u , v ∈ Wπ mit
(u , v ) ∈ Rπ+ und (v , w ) ∈ Rπ+ und Γ(u ) = Γ(v ) = Γ(w ), und
(1) es gibt ein X(α U β) ∈ Γ(u ), so dass für alle x ∈ Wπ mit
(v , x ) ∈ Rπ+ , (x , w ) ∈ Rπ∗ gilt: β 6∈ Γ(x ), und
(2) für jedes X(α U β) ∈ Γ(u ), für das es ein x ∈ Wπ gibt mit
(v , x ) ∈ Rπ+ , (x , w ) ∈ Rπ∗ und β ∈ Γ(x ),
gibt es ein y ∈ Wπ mit (u , y ) ∈ Rπ+ , (y , v ) ∈ Rπ∗ und β ∈ Γ(y )
Definition 3.8 (erfolgloser Pfad eines LTL-Tableaus)
Ein Pfad π durch ein LTL-Tableau heißt erfolglos,
wenn er widersprüchlich ist oder wenn Pπ 6= ∅.
3.2.9
Die Expansion eines Pfades kann auch beendet werden, wenn man sich in
einer Schleife von Belegungen befindet, in der alle zu erfüllenden
until-Formeln erfüllt sind.
Lπ = (v , u ) | (u , v ) ∈ Rπ+ , Γ(v ) ⊆ Γ(u ) und für alle X(α U β) ∈ Γ(u )
gibt es einen Knoten
w mit (u , w ) ∈ Rπ+ und (w , v ) ∈ Rπ∗
und β ∈ Γ(w )
Definition 3.9 (erfolgreicher Pfad eines LTL-Tableaus)
Ein Pfad π durch ein LTL-Tableau heißt erfolgreich,
(1) wenn er nicht erfolglos ist und alle Knoten des Pfades expandiert sind,
oder
(2) wenn Lπ 6= ∅.
Definition 3.10 (Tableau-beweisbare LTL-Formeln
t-Tab
)
Sei α eine LTL-Formel. α heißt Tableau-beweisbar (Schreibweise t-Tab α),
falls ¬α ein LTL-Tableau besitzt, das nur aus erfolglosen Pfaden besteht.
Definition 3.11 (systematisches LTL-Tableau)
Ein LTL-Tableau heißt systematisch, falls alle Knoten auf allen Pfaden
expandiert werden, bis der Pfad erfolgreich oder erfolglos ist.
Lemma 3.12 (endliche LTL-Tableaux reichen)
Jede LTL-Formel α besitzt ein endliches systematisches Tableau.
Satz 3.13 (Vollständigkeitssatz für
Sei α eine LTL-Formel.
Dann gilt p α genau dann, wenn
t-Tab
t-Tab
)
α.
3.2.11
3.3 Ein Frege-Kalkül für LTL
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
[Literatur:
Martin Lange:
A quick axiomatization of LTL with past
Mathematical Logic Quarterly 51, No. 1, 83–88 (2005)]
Wir wollen nur einen Eindruck der nötigen Axiome vermitteln und verzichten daher
etwas auf die Genauigkeit . . .
Definition 3.14 (LTL-Frege-Kalkül)
1. Die Elemente des LTL-Frege-Kalküls sind LTL-Formeln.
2. Die Axiome sind für alle Formeln α, β, ϕ:
(A1)
(A2)
(A3)
(U)
(X)
α → (β → α)
(α → (β → ϕ)) → ((α → β) → (α → ϕ))
¬¬α → α
α U β ↔ β ∨ (α ∧ X(α U β))
¬ X α ↔ X ¬α
3. Die Schlussregeln sind:
α
α→β
β
α
Xα
ϕ → (β ∧ (α ∨ X ¬(¬(α ∨ ϕ) U ¬(β ∨ ϕ))))
ϕ → ¬(¬α U ¬β)
4. Herleitungen sind definiert wie üblich.
3.4 Das Formelauswertungsproblem von LTL
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
Um Formeln für einen Belegungspfad auswerten zu können, muss man
sich auf eine Darstellung von Pfaden festlegen.
Dazu geht man von Pfaden zu Graphen und definiert eine Semantik für
LTL auf Kripke-Modellen.
Das Formelauswerten benötigt – verblüffenderweise – genauso viele
Berechnungsressourcen, wie das Gültigkeitsproblem von LTL.
Kripke-Semantik für LTL-Formeln
Definition 3.15 (Erfüllungsrelation
K
für LTL-Formeln)
Sei M = (W , R , ξ) ein Kripke-Modell, w ∈ W und ϕ eine LTL-Formel.
M, w K ϕ, falls für jeden unendlichen Pfad P = w , w1 , w2 , . . . durch
(W , R ), der in w beginnt, gilt, dass ξ(w )ξ(w1 )ξ(w2 ) . . . p ϕ.
Definition 3.16 (Erfüllbarkeit, Gültigkeit)
Sei ϕ eine LTL-Formel.
ϕ heißt erfüllbar, falls es ein Kripke-Modell M mit Welt w gibt, so dass
M, w K ϕ.
ϕ heißt gültig ( K ϕ), falls M, w
Welt w in M gilt.
K
ϕ für jedes Kripke-Modell M und jede
Die unter Pfad-Semantik gültigen LTL-Formeln sind genau die unter
Kripke-Semantik gültigen LTL-Formeln.
Beispiel
s0
n1 n2
s1
M, s0 K G ¬(b1 ∧ b2 )
(Sicherheit)
M, s0 6 K G (a1 → F b1 )
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
3.4.5
Beispiel
M, s0
K
G (a1 → F b1 )
(Lebendigkeit)
M, s0
K
M, s0
K
s0
n1 n2
a1 n2
n1 a2
G (a1 → (a1 U b1 ))
b1 n2
G ( (a1 ∧ b2 )
→ X(¬b2 U b1 ) )
a1 a2
b1 a2
a1 a2
n1 b2
a1 b2
3.4.6
Das Formelauswertungsproblem für LTL
Definition 3.17 (Formelauswertungsproblem für LTL)
gegeben:
gefragt:
Kripke-Modell M = (W , R , ξ), Welt s ∈ W , LTL-Formel ϕ
gilt M, s K ϕ
Das Problem lässt sich mit einer Erweiterung unserer Lösung für das
Gültigkeitsproblem lösen.
3.5 Weitere Zeitlogiken
Erweiterung von LTL um Pfadquantoren
3. Temporale Aussagenlogik
Grundbegriffe linearer Zeitlogik LTL
Tableau-Kalkül
Frege-Kalkül
Auswertung von LTL-Formeln in Kripke-Modellen
Weitere temporale Logiken
Computation tree logic (CTL) kennt nur noch Kripke-Semantik (keine
Pfad-Semantik auf Belegungsfolgen mehr) und erlaubt Quantifizierung
von Pfaden durch Kripke-Modelle mit den Pfad-Quantoren E und A.
Wir geben nur einen kurzen informellen Einblick.
Beispiel
E . . . es gibt einen Pfad mit der aktuellen Welt als Startpunkt
A . . . für alle Pfade mit der aktuellen Welt als Startpunkt
M, s0
E(G ¬b2 )
M, s0
E(G(¬b2 ∧ E(F b2 )))
M, s0
¬ E(F(b1 ∧ b2 ))
M, s0
A(G(¬b1 ∨ ¬b2 ))
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
3.5.9
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.10
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.10
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
3.5.10
Pfad-Quantoren
s0
n1 n2
s1
a1 n2
n 1 a2
a1 a2
s4
b1 n2
s3
b1 a2 s6
s2
n1 b2
s5
s 7 a1 b 2
I
Sicherheit: AG ¬(b1 ∧ b2 )
I
Lebendigkeit: AG(a1 → AFb1 )
I
kein Blockieren: AG(n1 → EXa1 )
I
Flexibilität: EF(b1 ∧ E[b1 U(¬b1 ∧ E[¬b2 U b1 ])])
Temporale Logiken
LTL: linear-time temporal logic
I Formeln mit temporalen Operatoren, ohne Pfad-Quantoren
F(G x → y U z)
I gültige Formel wird in jedem Modell auf jedem Pfad erfüllt
I Modell erfüllt Formel,
wenn sie auf jedem Pfad aus s durchs Modell erfüllt wird
CTL: computation tree logic, branching-time temporal logic
I Formeln mit kombinierten Pfad-Quantoren und temporalen
Operatoren
AF(EGx → A(y U z))
CTL+ :
I
Formeln mit alternierenden Pfad-Quantoren und temporalen
Operatoren
E(G x → (y U(A(x ∧ F z))))
CTL? :
I
Formeln mit Pfad-Quantoren und temporalen Operatoren
A(F x ∧ E(G F x → (y U z)))
Komplexitätsresultate
Erfüllbarkeit /
Gültigkeit
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79]
[JL03]
[VS85]
[Pr80]
Formelauswertung
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86]
[LMS01]
[CES86]
[Sc02]
NP
∆p2
P
PSPACE
EXPTIME
EEXPTIME
coNP
S
k
O(nk )
Zeit
S
O(nk )
Platz
k
S
k
k
O(2n )
Zeit
S
nk
k
O(22 )
Zeit
3.5.12
Komplexitätsresultate
Erfüllbarkeit /
Gültigkeit
LTL
CTL
CTL+
CTL?
PSPACE
EXPTIME
EEXPTIME
EEXPTIME
[SC85]
[FL79]
[JL03]
[VS85]
[Pr80]
Formelauswertung
PSPACE
P
∆p2
PSPACE
[SC85]
[CES86]
[LMS01]
[CES86]
[Sc02]
Literatur:
[FL79]
[Pr80]
[VS85]
[SC85]
[CES86]
[Sc02]
[LMS01]
[JL03]
Fischer, Ladner 1979
Pratt 1980
Vardi, Stockmeyer 1985
Sistla, Clarke 1985
Clarke, Emerson, Sistla 1986
Schnoebelen 2002
Laroussinie, Markey, Schnoebelen 2001
Johannsen, Lange 2003
3.5.12
Herunterladen