Temporale Logik und Bisimulation - julian

Werbung
Temporale Logik und Bisimulation
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Universität Hamburg
2. Februar 2011
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
1 / 28
Organisatorisches vorweg
Diese Folien sind unter CC-BY-SA 3.0 freigegeben.
Folien-Download und Feedback-Möglichkeit:
http://www.julian-fietkau.de/temporale_logik_und_bisimulation
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
2 / 28
Inhaltsverzeichnis
Übersicht
1
Bisimulation in Transitionssystemen
Einleitung
Zwei verschiedene Getränkeautomaten
Was ist Bisimulation?
Noch mal die Getränkeautomaten
2
Temporale Logik, Folgen- und LTL-Äquivalenz
LTL, CTL und CTL*
CTL* Gültigkeit und Äquivalenz
3
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Fazit
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
3 / 28
Bisimulation in Transitionssystemen
Einleitung
Einleitung
Wir betrachten Transitionssysteme als Werkzeug zur Spezifikation und
Modellierung.
Definition 1: Transitionssystem
TS = (S, A, tr , S 0 , S F )
Im Folgenden meist vereinfacht verwendet: TS = (S, A, tr , s 0 ) (Nur ein
Startzustand, keine Endzustände)
Um Gesetzmäßigkeiten im Verhalten verschiedener Transitionssysteme
erkennen und beschreiben zu können, untersuchen wir verschiedene Arten
der Äquivalenz, nämlich Folgenäquivalenz und Bisimulation.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
4 / 28
Bisimulation in Transitionssystemen
Zwei verschiedene Getränkeautomaten
Kaffee oder Tee?
s0
{bezahlen}
s0
s1
s2
{Kaffee}
s1
s3
{Tee}
s3
{bezahlen}
s2
{Kaffee}
TS1
TS2
Kaffee
Kaffee
s4
{Tee}
Tee
Tee
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
5 / 28
Bisimulation in Transitionssystemen
Zwei verschiedene Getränkeautomaten
Gemeinsame Zustandsfolgen
Welche Zustandsfolgen sind in den Transitionssystemen möglich?
w1 = (bezahlen, Kaffee, bezahlen, Kaffee, bezahlen, Tee)
w2 = (bezahlen, Tee, bezahlen, Tee, bezahlen, Tee, . . . )
Behauptung: Jede Folge, die in TS1 möglich ist, ist auch in TS2 möglich
und umgekehrt. Die beiden Transisionssysteme sind folgenäquivalent.
(Der Beweis bleibt dem Leser zur Übung überlassen.)
Bedeutet das, dass die beiden TS in jeder Hinsicht gleich sind? Nein! Wir
können sinnvolle Äquivalenzkriterien finden, nach denen sie verschieden
sind.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
6 / 28
Bisimulation in Transitionssystemen
Was ist Bisimulation?
Definition
Definition 2: (Zustandsbasierte) Bisimulation
TS1 = (S1 , A, tr1 , S10 ) und TS2 = (S2 , A, tr2 , S20 ) sind bisimilar genau dann,
wenn eine binäre Relation („Bisimulation“) B ⊆ S1 × S2 existiert, so dass
gilt:
1
∀s0 ∈ S10 ∃r0 ∈ S20 : (s0 , r0 ) ∈ B
∀r0 ∈ S20 ∃s0 ∈ S10 : (s0 , r0 ) ∈ B
2
Für alle (r1 , s1 ) ∈ B gilt:
r2 ∈ Post(r1 ) ⇒ ∃s2 ∈ Post(s1 ) : (r2 , s2 ) ∈ B
s2 ∈ Post(s1 ) ⇒ ∃r2 ∈ Post(r1 ) : (r2 , s2 ) ∈ B
L(r1 ) = L(s1 )
Hierbei ist L eine Etikettierungsfunktion, die den (relevanten) Zuständen
Bezeichnungen zuordnet. Post(s) ist die Menge der von s aus direkt
erreichbaren Nachfolgezustände.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
7 / 28
Bisimulation in Transitionssystemen
Was ist Bisimulation?
Ein Beispiel
s0
{bezahlen}
s1
s2
s4
{Kaffee}
{Tee}
s3
{Tee}
TS3
TS1 und TS3 sind bisimilar.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
8 / 28
Bisimulation in Transitionssystemen
Noch mal die Getränkeautomaten
Kaffee oder Tee? – eine genauere Analyse
Betrachte TS1 und TS2 :
0
1
(s0 , s0 ) ∈ B, erste Teilbedingung ist damit erfüllt.
2
Nun muss weiterhin gelten: (s1 , si ) ∈ B mit i ∈ {1, 2}
0
(Nachfolger von s0 )
3
Da s3 ∈ Post(s1 ) und (s1 , s1 ) ∈ B und s3 ∈ Post(s1 ) mit
0
0
|Post(s1 )| = 1, folgt zwangsweise: (s3 , s3 ) ∈ B
4
Jedoch ist L(s3 ) 6= L(s3 )
0
0
0
0
0
TS1 und TS2 sind nicht bisimilar.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
9 / 28
Bisimulation in Transitionssystemen
Noch mal die Getränkeautomaten
Fazit
Folgenäquivalenz macht Aussagen über das Verhalten der Systeme
von außen betrachtet. Bisimulation beschreibt zusätzlich die interne
Struktur.
Bisimulation impliziert automatisch auch Folgenäquivalenz:
TSa ∼ TSb ⇒ TSa ≡trace TSb
(TSa ≡trace TSb ; TSa ∼ TSb )
Systeme, die die gleichen Zustandsfolgen erlauben, sind nicht
unbedingt verhaltensäquivalent.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
10 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
LTL, CTL und CTL*
LTL
ϕ: nächster Zustand erfüllt ϕ
♦ϕ : irgendein Folgezustand erfüllt ϕ
ϕ : alle folgenden Zustände erfüllen ϕ
ϕ1 ∪ ϕ2 : ϕ1 gilt bis in einem Folgezustand ϕ2 erfüllt ist
LTL Formeln
Definition 3: LTL-Formeln
ϕ ≡ true | false | a | ϕ1 ∨ ϕ2 | ϕ1 ∧ ϕ2 | ¬ϕ | ϕ | ♦ϕ | ϕ | ϕ1 ∪ ϕ2
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
11 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
LTL, CTL und CTL*
CTL und CTL*
zusätzlich Zustandsformeln mit Quantoren, die sich auf alle vom
Zustand ausgehenden Pfade beziehen
Quantoren
∀ϕ : entlang aller Pfade gilt ϕ
∃ϕ : entlang mindestens eines Pfads gilt ϕ
CTL ist eine Teilmenge von CTL*.
Jeder Temporaloperator wird durch genau einen Pfadquantor
quantifiziert.
∃ ϕ : in mind. einem nächsten Zustand gilt ϕ
∃♦ϕ : in mind. einem der folgenden Zustände gilt ϕ
∃ϕ : es gibt mind. einen Pfad, in dem ϕ entlang des kompletten
Pfades gilt
...
∀ ϕ : in jedem nächsten Zustand gilt ϕ
...
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
12 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
LTL, CTL und CTL*
Verhältnis zwischen LTL, CTL und CTL∗
∀∃♦a
♦a
CTL
♦(a ∧ a)
LTL
♦(a ∧ a) ∨ ∀∃♦a
CTL∗
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
13 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
CTL* Gültigkeit und Äquivalenz
Gültigkeit für CTL*-Zustandsformeln
Sei TS := (S, Act, →, I, AP, L) ein Transitionssystem ohne Endzustände, s
∈ S ein Zustand, Φ und Ψ CTL*-Zustandsformeln und ϕ,ϕ1 und ϕ2
CTL*-Pfadformeln.
Definition 4: Gültigkeit von Zustandsformeln
Die Gültigkeit |= für CTL*-Zustandsformeln wird definiert durch
s |= a ⇔ a ∈ L(s),
s |= ¬Φ ⇔ not s |= Φ,
s |= Φ ∧ Ψ ⇔ (s |= Φ) and (s |= Ψ),
s |= ∃ϕ ⇔ π |= ϕ für mind. einen Pfad beginnend in s,
s |= ∀ϕ ⇔ π |= ϕ für alle Pfade beginnend in s
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
14 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
CTL* Gültigkeit und Äquivalenz
Gültigkeit für CTL*-Pfadformeln
Sei π = s0 s1 s2 ... ein Pfad und π[i..] mit i ≥ 0 ein Teilpfad von π
beginnend bei Index i.
Definition 5: Gültigkeit von Pfadformeln
Die Gültigkeit |= für CTL*-Pfadformeln wird definiert durch
π |= Φ ⇔ s0 |= Φ,
π |= ϕ1 ∧ ϕ2 ⇔ π |= ϕ1 and π |= ϕ2 ,
π |= ¬ϕ ⇔ π 6|= ϕ,
π |= ϕ ⇔ π[1..] |= ϕ,
π |= ϕ1 ∪ ϕ2 ⇔ ∃j ≥ 0.(π[j..] |= ϕ2 ∧ (∀0 ≤ k < j.π[k..] |= ϕ1 )),
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
15 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
CTL* Gültigkeit und Äquivalenz
CTL*-Äquivalenz in Transitionssystemen
Seien TS, TS1 und TS2 Transitionssysteme ohne Endzustände.
Definition 6: ≡CTL∗ für Zustände
Für Zustände s1 , s2 in TS gilt:
s1 ≡CTL∗ s2 , wenn
s1 |= Φ ⇔ s2 |= Φ für alle CTL*-Zustandfomeln Φ über AP.
Definition 7: ≡CTL∗ für Transitionssysteme
Für TS1 , TS2 gilt:
TS1 ≡CTL∗ TS2 , wenn
TS1 |= Φ ⇔ TS2 |= Φ für alle CTL*-Zustandfomeln Φ über AP.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
16 / 28
Temporale Logik, Folgen- und LTL-Äquivalenz
CTL* Gültigkeit und Äquivalenz
Folgenäquivalenz ⊆ LTL-Äquivalenz
Zu zeigen: ≡trace ⊆ ≡LTL
Sei TS ein Transitionssystem ohne Endzustände und s1 , s2 Zustände
in TS.
Wenn s1 6≡CTL s2 , existiert eine CTL-Zustandsformel Φ mit s1 |= Φ
und s2 6|= Φ.
Dies gilt analog für CTL*, aber nicht für LTL.
Beweis: Folgenäquivalenz ⊆ LTL-Äquivalenz
Angenommen s1 6≡LTL s2 und Folgen(s1 ) ist eine echte Teilmenge von
Folgen(s2 ). Dann gelten alle LTL Formeln, die für s2 gelten, ebenso für s1 .
Da jedoch in Folgen(s2 ) Folgen enthalten sind, die nicht in Folgen(s1 )
existieren, gibt es eine LTL-Formel ϕ mit s2 |= ϕ aber s1 6|= ϕ. Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
17 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Äquivalenzrelationen für Transitionssysteme
Zu Zeigen für endliche Transitionssysteme ohne Endzustände:
≡CTL∗ = ≡CTL = ∼TS
Beweis in drei Schritten.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
18 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Die feiner/gröber-Beziehung
Seien ∼a und ∼b Äquivalenzrelationen über der gleichen Menge S.
Definition 8: feiner/gröber-Beziehung
∼a ist feiner als ∼b , wenn für alle s1 , s2 ∈ S gilt:
s1 ∼a s2 ⇒ s1 ∼b s2 .
Geschrieben ∼a ⊆ ∼b .
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
19 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
≡CTL∗ ist feiner als ≡CTL
Für s1 , s2 ∈ S:
Beweis: ≡CTL∗ ⊆ ≡CTL
Zu Zeigen:
s1 ≡CTL∗ s2 ⇒ s1 ≡CTL s2
Gibt es keine Formel Φ in CTL∗ mit s1 |= Φ und s2 6|= Φ (oder umgekehrt),
so kann es auch keine in CTL geben, da CTL ⊆ CTL∗ .
Entspricht ¬(s1 ≡CTL∗ s2 ∧ ¬(s1 ≡CTL s2 )) was äquivalent zur Vermutung
ist.
Es folgt nach Definition 8:
≡CTL∗ ⊆ ≡CTL Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
20 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
≡CTL ist feiner als ∼TS
Zu Zeigen: s1 ≡CTL s2 ⇒ s1 ∼TS s2
Beweiskonzept: ≡CTL ⊆ ∼TS
Relation R = {(s1 , s2 ) ∈ S × S|s1 ≡CTL s2 }
Damit die Annahme gilt, muss R die Punkte 1 – 3 der Definition 2.2
erfüllen.
Punkt 1: Da Label L(s) die atomaren Formeln darstellen, müssen
CTL-äquivalente Formeln die gleichen Label besitzen. L(s1 ) = L(s2 ).
Punkt 2 und 3: Gilt für Formelmenge Ψ:
s10 |= Ψ dann gilt s1 |= ∃ Ψ. Da (s1 , s2 ) ∈ R gilt s2 |= ∃ Ψ und es
gibt ein s20 |= Ψ, womit (s10 , s20 ) ∈ R. Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
21 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
∼TS ist feiner als ≡CTL∗
Zu Zeigen: s1 ∼TS s2 ⇒ s1 ≡CTL∗ s2
Beweiskonzept: ∼TS ⊆ ≡CTL∗
Seien s1 , s2 Zustände in TS, π1 , π2 unendliche Teilpfade
Zu Zeigen:
a Wenn s1 ∼TS s2 , dann gilt für jede CTL* Formel
Φ : s1 |= Φ ⇔ s2 |= Φ
b Wenn π1 ∼TS π2 , dann gilt für jede CTL* Pfad-Formel
γ : π1 |= γ ⇔ π2 |= γ
Beweis erfolgt per Induktion über Formelstruktur.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
22 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Induktionsbeweis ∼TS ist feiner als ≡CTL∗ (1)
Es gelte: s1 ∼TS s2 .
(a) Induktionsbasis:
Für Φ = true gilt Annahme a.
Da L(s1 ) = L(s2 ) gilt, gilt für Φ = a ∈ AP:
s1 |= a ⇔ a ∈ L(s1 ) ⇔ a ∈ L(s2 ) ⇔ s2 |= a
Induktionsschritt:
1 Φ = Φ1 ∧ Φ2 .
s1 |= Φ1 ∧ Φ2 ⇔ s1 |= Φ1 and s1 |= Φ2
⇔ s2 |= Φ1 and s2 |= Φ2 ⇔ s2 |= Φ1 ∧ Φ2
2
Φ = ¬Ψ.
s1 |= ¬Ψ ⇔ s1 6|= Ψ
⇔ s2 6|= Ψ ⇔ s2 |= ¬Ψ
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
23 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Induktionsbeweis ∼TS ist feiner als ≡CTL∗ (2)
3
Φ = ∃γ. Es reicht zu zeigen:
s1 |= ∃γ =⇒ s2 |= ∃γ
Lässt sich über Pfadeigenschaften der Bisimulation zeigen.
(b) Induktion über Pfade entsprechend für die Formeln:
γ = Φ, γ = γ1 ∧ γ2 , γ = ¬ψ, γ = ψ, γ = γ1 Uγ2
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
24 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Da gilt:
∼TS ⊆ ≡CTL∗ ⊆ ≡CTL ⊆ ∼TS
gilt:
≡CTL∗ = ≡CTL = ∼TS
Was bedeutet: Bisimilare Transitionssysteme erfüllen die gleichen CTL*und CTL-Formeln.
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
25 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Beweis ≡CTL∗ = ≡CTL = ∼TS
Beispiel
TS1 6∼TS TS2 , TS1 ∼TS TS3
∃ (∃ Kaffee ∧ ∃ Tee)
¬∃ (∃ Kaffee ∧ ∃ Tee)
∃ (∃ Kaffee ∨ ∃ Tee)
Julian Fietkau, Nils Kubera, Dominik Nuszpl
TS1
√
×
√
TS2
×
√
√
Temporale Logik und Bisimulation
TS3
√
×
√
02.02.11
26 / 28
Bisimulation in Beziehung zu CTL- und CTL*-Äquivalenz
Fazit
Fazit
Es existieren verschiedene Äquivalenzrelationen für
Transitionssysteme, wie Folgenäquivalenz, Bisimulation, ≡LTL , ≡CTL ,
≡CTL∗ , die teilweise äquivalent zueinander sind.
Diese Äquivalenzen lassen sich beispielsweise beim Model Checking
einsetzen, um die Komplexität zu verringern.
(Bsp.: Formel Φ wird in Bisimulationsquotient von TS nicht erfüllt
→ TS 6|= Φ.)
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
27 / 28
Ende
Ende
Danke für die Aufmerksamkeit!
Julian Fietkau, Nils Kubera, Dominik Nuszpl
Temporale Logik und Bisimulation
02.02.11
28 / 28
Herunterladen