Verifikation unendlicher Systeme - informatik.uni

Werbung
Verifikation unendlicher Systeme
Markus Lohrey
Universität Leipzig
http://www.informatik.uni-leipzig.de/alg/lehre/ss08/INF-VER/
Sommersemester 2008
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
1 / 198
Allgemeines
Überblick:
1 Motivation, Grundlagen
2 Pushdowngraphen
3 Automatische Graphen
4 Wohlstrukturierte Transitionssysteme
Bücher:
Grädel, Thomas, Wilke. Automata, Logics, and Infinite Games: A
Guide to Current Research. Lecture Notes in Computer Science 2500,
Springer 2002
Clarke, Grumberg, Peled. Model-Checking. MIT-Press 1999
Originalarbeiten:
Bouajjani, Esparza, Maler. Reachability analysis of pushdown
automata: Application to model-checking. In Proceedings of
CONCUR’97, Lecture Notes in Computer Science 1243, S. 135–150,
Springer 1997
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
2 / 198
Allgemeines
Khoussainov, Nerode. Automatic Presentations of Structures. In LCC:
International Workshop on Logic and Computational Complexity,
Lecture Notes in Computer Science 960, S. 367–392, Springer 1994
Finkel, Schnoebelen. Well-structured transition systems everywhere!
Theoretical Computer Science 256(1–2), S. 63–92, 2001
Schnoebelen. Verifying lossy channel systems has nonprimitive
recursive complexity. Information Processing Letters 83(5), S.
251–261, 2002
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
3 / 198
Motivation und Grundlagen
Model-Checking
Model-Checking: Eigenschaften von Systemen sollen automatisch
verifiziert werden.
Beispiele für Systemeigenschaften:
Für jede Eingabe terminiert das Programm P.
In jedem Systemablauf gilt: Buffergröße ≤ 10MB
In der Informatik haben wir es mit zwei Typen von Systemen zu tun:
Hardwaresysteme: typischerweise endlicher Zustandsraum
(2Speichergröße )
Softwaresysteme: typischerweise unendlicher Zustandsraum, z. B.
aufgrund von Variablen mit unendlichen Wertebereichen (integers,
reals)
Hier betrachten wir Systeme mit unendlichen Zustandsräumen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
4 / 198
Motivation und Grundlagen
Transitionssysteme
Systeme (endlich oder unendlich) können adequat als Transitionssysteme
modelliert werden.
Definition
Ein Transitionssysteme ist ein Tupel T = (V , E , Π, π), wobei
V ein beliebige Menge ist (die Zustandsmenge oder Menge der
Knoten)
E ⊆ V × V ist die Menge der Kanten (Systemübergänge).
Π ist eine endliche Menge von Knotenmarkierungen (Propositionen).
π : V → 2Π , π(v ) für v ∈ V ist die Menge der in v geltenden
Propositionen.
Alternative Bezeichnungen: Kripke-Struktur, knotenbeschrifteter
(gerichteter) Graph.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
5 / 198
Motivation und Grundlagen
Unendliche Transitionssysteme
Zur Beschreibung von Transitionssystemen mit unendlicher Zustandsmenge
können endliche Formalismen verwendet werden, wie etwa:
Ersetzungssysteme (Wortersetzungssysteme, Termersetzungssysteme)
Automaten (endliche Automaten, Pushdownautomaten)
Graphgrammatiken
Mehr dazu in Kürze.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
6 / 198
Motivation und Grundlagen
Logiken
Eigenschaften von Transitionssystemen werden wir durch Logiken
beschreiben.
Typische Logiken zur Beschreibung von Systemeigenschaften:
Prädikatenlogik = Logik 1. Stufe = FO (first-order logic)
Monadische Logik 2. Stufe = MSO (monadic second-order logic)
Temporale Logiken, z. B. LTL, CTL, EF, µ-Kalkül
Das Model-Checking Problem:
Für eine Formel ϕ einer Logik L und ein Transitionssysteme T wollen wir
überprüfen, ob ϕ in T gilt, kurz T |= ϕ.
Vorteile der Beschreibung von Systemeigenschaften mittels Logik:
Formal definierte Semantik
Modulare Definition von Systemeigenschaften
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
7 / 198
Pushdowngraphen:
Pushdownsysteme
Pushdowngraphen können zur Modellierung von rekursiven Programmen
eingesetzt werden, falls alle lokalen und globalen Variablen nur endliche
Wertebereiche haben (mehr dazu später).
Pushdowngraphen werden durch Pushdownsysteme (Kellersysteme)
beschrieben.
Definition
Ein Pushdownsystem ist ein Tupel P = (Q, Γ, ∆, Π, ρ) mit:
Q ist eine endliche Menge von Zuständen.
Γ ist eine endliche Menge von Kellersymbolen (Q ∩ Γ = ∅).
∆ ist eine endliche Teilmenge von (Q × Γ) × (Q × Γ∗ ).
Π ist eine endliche Menge von Propositionen.
ρ : Q → 2Π
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
8 / 198
Pushdowngraphen:
Der Pushdowngraph T (P)
Für ein Pushdownsystem P = (Q, Γ, ∆, Π, ρ) definieren wir ein
Transitionssystem
T (P) = (QΓ∗ , ⇒P , Π, π)
wobei
⇒P = {(qAu, pvu) | u ∈ Γ∗ , (q, A, p, v ) ∈ ∆} und
π(qu) = ρ(q) für q ∈ Q, u ∈ Γ∗ .
Elemente von QΓ∗ werden auch als Konfigurationen von P bezeichnet.
Ein Pushdowngraph ist ein Transitionssystem der Form T (P), wobei P ein
Pushdownsystem ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
9 / 198
Pushdowngraphen:
Beispiel
Beispiel 1: Sei
P = ({p, q}, {A}, ∆, {0, 1}, ρ)
wobei
∆ = {(p, A, p, AA), (p, A, q, A), (q, A, q, ε)} und
ρ(p) = {0, 1}, ρ(q) = {1}
Dann sieht T (P) wie folgt aus:
1
q
1
qA
1
qAA
1
qAAA
1
qAAAA
...
p
0, 1
pA
0, 1
Markus Lohrey (Universität Leipzig)
pAA
0, 1
pAAA
0, 1
Verifikation unendlicher Systeme
pAAAA
0, 1
SS 2008
10 / 198
Pushdowngraphen:
Erreichbarkeit
Sei T = (V , E , Π, π) ein Transitionssystem und seien v ∈ V , U ⊆ V .
Wir sagen, dass U vom Knoten v aus erreichbar ist, falls gilt:
∃u ∈ U : (v , u) ∈ E ∗
Beachte: Π und π spielen hierbei keine Rolle.
Motivation: U kann eine Menge von kritischen Systemzuständen sein.
Wenn U von v aus erreichbar ist, bedeutet dies, dass man von v aus in
einen kritischen Zustand gelangen kann, d.h. v ist nicht sicher.
Es sei
pre∗T (U) = {v ∈ V | ∃u ∈ U : (v , u) ∈ E ∗ }
= {v ∈ V | U ist von v aus erreichbar}
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
11 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Im folgenden sei ein Pushdownsystem
P = (Q, Γ, ∆, Π, ρ)
fixiert, und
T = T (P) = (QΓ∗ , ⇒P , Π, π)
sei das zugehörige Transitionssystem.
Unser Ziel ist die Berechnung von pre∗T (U) für eine Teilmenge U ⊆ QΓ∗
von Konfigurationen.
Problem: Wie soll ein Teilmenge U ⊆ QΓ∗ repräsentiert werden?
Wir betrachten reguläre Mengen von Konfigurationen, diese werden durch
sogenannte P-Multiautomaten definiert.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
12 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Definition
Ein P-Multiautomat ist ein Tripel M = (S, δ, F ), wobei gilt:
S ist eine endliche Menge von Zuständen mit Q ⊆ S
δ ⊆S ×Γ×S
F ⊆ S (die Menge der Endzustände)
w
Für w ∈ Γ∗ definieren wir die Relation →M ⊆ S × S wie folgt induktiv
über |w |:
ε
→M = IdS = {(s, s) | s ∈ S}
Av
v
−−→M = {(s1 , s2 ) | ∃s ∈ S : (s1 , A, s) ∈ δ, s →M s2 } für A ∈ Γ, v ∈ Γ∗
Die durch M akezeptierte Konfigurationsmenge ist
w
L(M) = {qw | q ∈ Q, w ∈ Γ∗ , ∃f ∈ F : q →M f }
Eine Menge U ⊆ QΓ∗ ist regulär falls ein P-Multiautomat M mit
U = L(M) existiert.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
13 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel 2:
Sei P das Pushdownsystem aus Beispiel 1. Dann ist
M = ({p, q, s, t}, {(q, A, s), (s, A, q), (p, A, t), (t, A, s), (s, A, t)}, {s})
ein P-Multiautomat, der durch das folgende Diagramm dargestellt werden
kann:
q
A
A
s
A
p
A
t
A
Dieser Automat akzeptiert die Menge von Konfigurationen
L(M) = {qA2n+1 | n ≥ 0} ∪ {pA2n | n ≥ 1}.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
14 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Satz 1 (Bouajjani, Esparza, Maler 1997)
Für ein gegebenes Pushdownsystem P = (Q, Γ, ∆, Π, ρ) und einen
P-Multiautomaten M = (S, δ, F ) kann ein P-Multiautomat
M ′ = (S, δ ′ , F ) mit
L(M ′ ) = pre∗T (P) (L(M))
in Polynomialzeit berechnet werden.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
15 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Korollar aus Satz 1
Für ein gegebenes Pushdownsystem P = (Q, Γ, ∆, Π, ρ) und zwei
Konfigurationen qu, pv ∈ QΓ∗ kann man in Polynomialzeit entscheiden, ob
qu ⇒∗P pv gilt.
Beweis:
1
2
3
Konstruiere einen P-Multiautomaten M mit L(M) = {pv } (ist
einfach)
Konstruiere einen P-Multiautomaten M ′ mit L(M ′ ) = pre∗T (P) (L(M))
(geht in Polynomialzeit nach Satz 1)
Teste, ob qu ∈ L(M ′ ) (ist einfach)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
16 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beweis von Satz 1:
Sei P = (Q, Γ, ∆, Π, ρ) ein Pushdownsystem und M = (S, δ, F ) ein
P-Multiautomat.
Wir können M so umbauen, dass kein Transition (s, A, q) ∈ δ mit q ∈ Q
existiert.
Definiere Mengen Xi für i ≥ 0 wie folgt induktiv:
X0 = L(M)
Xi+1 = Xi ∪ {qu ∈ QΓ∗ | ∃pv ∈ Xi : qu ⇒P pv }
Xi ist die Menge aller Konfigurationen, von denen man in höchstens i
vielen ⇒P -Schritten nach L(M) kommt.
Somit gilt:
[
Xi = pre∗T (P) (L(M))
i≥0
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
17 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Wir konstruieren P-Multiautomaten Mi = (S, δi , F ) (i ≥ 0) mit den
folgenden drei Eigenschaften:
(P1)
∃k ≥ 0 : δ0 ( δ1 ( · · · ( δk = δk+1 = δk+2 = · · ·
(P2)
∀i ≥ 0 : Xi ⊆ L(Mi )
S
∀i ≥ 0 : L(Mi ) ⊆ j≥0 Xj = pre∗T (P) (L(M))
(P3)
(P2) und (P3)
:
pre∗T (P) (L(M)) =
[
i≥0
und somit
[
Xi ⊆
[
L(Mi ) ⊆ pre∗T (P) (L(M))
i≥0
L(Mi ) = pre∗T (P) (L(M)).
i≥0
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
18 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
(P1)
(k ist der Wert aus (P1)):
[
L(Mk ) =
L(Mi ) = pre∗T (P) (L(M))
i≥0
Wir können also M ′ = Mk setzen.
Konstruktion der Mi :
Es sei M0 = M.
Sei Mi = (S, δi , F ) bereits konstruiert. Dann ist
v
δi+1 = δi ∪ {(q, A, s) ∈ S × Γ × S | ∃(q, A, p, v ) ∈ ∆ : p →Mi s}
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
19 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel zur Konstruktion:
Sei P wieder das Pushdownsystem aus Beispiel 1 und betrachte den
folgenden P-Multiautomaten M (es gilt L(M) = {qA}):
A
q
s
p
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
20 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel zur Konstruktion:
Sei P wieder das Pushdownsystem aus Beispiel 1 und betrachte den
folgenden P-Multiautomaten M (es gilt L(M) = {qA}):
A
q
s
p
P-Multiautomat M0 :
q
A
s
p
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
20 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel zur Konstruktion:
Sei P wieder das Pushdownsystem aus Beispiel 1 und betrachte den
folgenden P-Multiautomaten M (es gilt L(M) = {qA}):
A
q
s
p
P-Multiautomat M1 :
A
q
A
s
A
p
(q, A, q, ε) ∈ ∆
ε
q →M0 q
Markus Lohrey (Universität Leipzig)
A
q → M1 q
(p, A, q, A) ∈ ∆
A
q →M0 s
Verifikation unendlicher Systeme
)
A
p →M1 s
SS 2008
20 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel zur Konstruktion:
Sei P wieder das Pushdownsystem aus Beispiel 1 und betrachte den
folgenden P-Multiautomaten M (es gilt L(M) = {qA}):
A
q
s
p
P-Multiautomat M2 :
A
A
q
A
A
p
(p, A, q, A) ∈ ∆
A
q →M1 q
Markus Lohrey (Universität Leipzig)
s
)
A
p →M2 q
Verifikation unendlicher Systeme
SS 2008
20 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beispiel zur Konstruktion:
Sei P wieder das Pushdownsystem aus Beispiel 1 und betrachte den
folgenden P-Multiautomaten M (es gilt L(M) = {qA}):
A
q
s
p
P-Multiautomat M2 :
A
q
A
A
s
A
p
Der Automat M2 ist saturiert, und es gilt (wie erhofft)
L(M2 ) = {xAn | x ∈ {p, q}, n ≥ 1} = pre∗T (P) ({qA}).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
20 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Beweis von (P1): ∃k ≥ 0 : δ0 ( δ1 ( · · · ( δk = δk+1 = δk+2 = · · ·
Da jeder Automat Mi die gleiche Zustandsmenge S und das gleiche
Alphabet Γ hat, kann ein δi höchstens |S|2 · |Γ| viele Transitionen
enthalten.
Dies impliziert (P1) für ein k ≤ |S|2 · |Γ|.
Beweis von (P2): ∀i ≥ 0 : Xi ⊆ L(Mi )
Induktion über i ≥ 0:
IA: X0 = L(M) = L(M0 )
IS: Sei i ≥ 0 und qu ∈ Xi+1 .
Also müssen (q, A, p, v ), w ∈ Γ∗ mit u = Aw und pvw ∈ Xi existieren.
Induktionshypothese
pvw ∈ L(Mi ), d.h.
v
w
p →Mi s →Mi f ∈ F .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
21 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Konstruktion von Mi+1
A
w
q →Mi+1 s →Mi+1 f ∈ F .
d.h. qu = qAw ∈ L(Mi+1 ).
Beweis von (P3): Wir benötigen das folgende Lemma:
Lemma
w
Gelte q →Mi s für ein q ∈ Q, s ∈ S. Dann gilt:
v
(A) ∃p ∈ Q, v ∈ Γ∗ : qw ⇒∗P pv , p →M s
(B) Wenn s ∈ Q dann qw ⇒∗P sε.
Beweis des Lemmas:
Induktion über i ≥ 0:
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
22 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
w
IA: Gelte q →M0 s.
M0 = M
w
q →M s und qw ⇒∗P qw .
Wir können also p = q und v = w wählen.
Um (B) zu zeigen, nehmen wir zusätzlich s ∈ Q an.
Da im Automaten M = M0 keine Transitionen in einen Zustand aus Q
w
führen, folgt aus q →M0 s: q = s und w = ε.
qw ⇒∗P qw = sε.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
23 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
w
IS: Gelte q →Mi s für i > 0.
Sei w = A1 A2 · · · Ak . Dann existiert eine Pfad
A
A
A
k
1
2
q = s0 −→
Mi s1 −→Mi s2 · · · −→Mi sk = s.
(1)
Induktion über Anzahl der Transitionen (sk−1 , Ak , sk ) ∈ δi \ δi−1 :
w
Falls diese Anzahl = 0 ist, d. h. q →Mi−1 s, so erhalten wir (A) und (B)
mit Induktion (nach i):
Wenn diese Anzal > 0 ist, können wir den Pfad (1) faktorisieren als
w
A
w
1
′ 2
′
q −→
Mi p →Mi s −→Mi s wobei (p, A, s ) ∈ δi \δi−1 , w = w1 Aw2 (2)
Beachte: p ∈ Q folgt aus der Konstruktion von Mi .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
24 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
w
1
Da entlang des Pfades q −→
Mi p weniger Transitionen aus δi \ δi−1 als in
(1) vorkommen, erhalten wir induktiv:
qw1 ⇒∗P pε
(3)
(p, A, s ′ ) ∈ δi \ δi−1 und Konstruktion von Mi
v
∃(p, A, p ′ , v ) ∈ ∆ : p ′ →Mi−1 s ′
(4)
(4) und Induktion (nach i)
v′
∃r ′ ∈ Q, v ′ ∈ Γ∗ : p ′ v ⇒∗P r ′ v ′ , r ′ →M s ′
(5)
(2) und (5)
v′
w
2
r ′ →M s ′ −→
Mi s
Dieser Pfad enthält weniger Transitionen aus δi \ δi−1 als (1). Induktion
u
∃r ∈ Q, u ∈ Γ∗ : r ′ v ′ w2 ⇒∗P r u, r →M s
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
(6)
SS 2008
25 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
(3)–(6)
q w = q w1 A w2 ⇒∗P p A w2 ⇒P p ′ v w2 ⇒∗P r ′ v ′ w2 ⇒∗P r u
u
wobei r →M s. Dies zeigt (A).
Um (B) zu zeigen, nehmen wir zusätzlich s ∈ Q an.
Da im Automaten M = M0 keine Transitionen in einen Zustand aus Q
u
führen, folgt aus r →M s: r = s und u = ε.
q w ⇒∗P r u = s ε.
Dies zeigt (B) und somit das Lemma.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
26 / 198
Pushdowngraphen:
Erreichbarkeit in Pushdowngraphen
Zurück zum Beweis von Eigenschaft (P3):
[
∀i ≥ 0 : L(Mi ) ⊆
Xi = pre∗T (P) (L(M))
i≥0
Wir zeigen diese Aussage nun durch Induktion über i ≥ 0 :
IA: trivial, denn L(M0 ) = L(M) ⊆ pre∗T (P) (L(M))
IS: Sei q w ∈ L(Mi ).
w
q →Mi f für ein f ∈ F .
Lemma
v
∃p ∈ Q, v ∈ Γ∗ : q w ⇒∗P p v , p →M f
p v ∈ L(M)
q w ∈ pre∗T (P) (L(M)).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
27 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
LTL (linear temporal logic) ist eine beliebte Logik zur Beschreibung
(un)erwünschter Systemabläufe.
Sei Π eine Menge von Propositionen und sei Σ = 2Π .
Die Menge LTL(Π) aller LTL-Formeln über Π ist die kleineste Menge aller
Formeln mit:
Π ⊆ LTL(Π)
Wenn ϕ, ψ ∈ LTL(Π), dann auch ¬ϕ, ϕ ∧ ψ, ϕ ∨ ψ ∈ LTL(Π)
Wenn ϕ, ψ ∈ LTL(Π), dann auch Xϕ, ϕUψ ∈ LTL(Π).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
28 / 198
Pushdowngraphen:
Semantik von LTL
Mit Σω bezeichnen wir die Menge aller unendlichen Wörter (ω-Wörter)
über dem Alphabet Σ:
Σω = {a1 a2 a3 a4 · · · | ∀i ≥ 1 : ai ∈ Σ}
Für w = (a1 a2 · · · ) ∈ Σω und ϕ ∈ LTL(Π) gilt w |= ϕ (ϕ gilt in w ) genau
dann, wenn einer der folgenden Fälle gilt:
ϕ = p ∈ Π und p ∈ a1
ϕ = ¬ψ und w 6|= ψ
ϕ = ψ ∧ θ und (w |= ψ und w |= ϕ)
ϕ = ψ ∨ θ und (w |= ψ oder w |= ϕ)
ϕ = Xψ und (a2 a3 · · · ) |= ψ
ϕ = ψUθ und es existiert ein k ≥ 1 mit
(ak ak+1 · · · ) |= θ und
(ai ai+1 · · · ) |= ψ für alle 1 ≤ i ≤ k − 1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
29 / 198
Pushdowngraphen:
Semantik von LTL
Intuitive Bedeutung von
Xψ (NEXT ψ): Im nächsten Schritt gilt ψ.
ψUθ (ψ UNTIL θ): Irgendwann gilt θ und bis dahin gilt θ.
Beispiele:
(p ∨ ¬p)Uψ =: Fψ: irgendwann (finally) gilt ψ
¬F(¬ψ) =: Gψ: ψ gilt immer (globally)
G(p → Fq): Wann immer p gilt, gilt zu einem späteren Zeitpunkt
irgendwann q
Sei T = (V , E , Π, π) ein Transitionssystem und sei v ∈ V . Definiere:
ω-tr(T , v ) = {π(v1 )π(v2 )π(v3 ) · · · | v1 = v , ∀i ≥ 1 : (vi , vi+1 ) ∈ E }
Für ϕ ∈ LTL(Π) schreiben wir (T , v ) |= ϕ, falls w |= ϕ für alle
w ∈ ω-tr(T , v ) gilt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
30 / 198
Pushdowngraphen:
Büchiautomaten
Das zentrale Hilfsmittel für LTL-Model-Checking sind Automaten auf
ω-Wörtern, insbesondere Büchiautomaten.
Ein Büchiautomat (über dem Alphabet Σ) ist ein Tupel
B = (S, Σ, δ, s0 , F ), wobei gilt:
S ist eine endliche Menge von Zuständen.
Σ ist ein endliches Alphabet.
δ ⊆ S × Σ × S ist die Transitionsrelation.
s0 ist der Anfangszustand.
F ⊆ Q ist die Menge der Endzustände.
Sei w = (a1 a2 a3 · · · ) ∈ Σω . Ein Lauf von B auf w ist ein ω-Wort
(s0 s1 s2 · · · ) ∈ S ω mit (si , ai+1 , si+1 ) ∈ δ für alle i ≥ 0.
Dieser Lauf ist ein akzpetierender Lauf von B auf w , falls es unendlich
viele i ≥ 0 mit si ∈ F gibt.
Die von B akzeptierte Sprache ist
L(B) = {w ∈ Σω | es existiert ein akzpetierender Lauf von B auf w }.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
31 / 198
Pushdowngraphen:
LTL → Büchiautomaten
Auf den Beweis des folgenden Satzes verzichten wir.
Satz 2 (Vardi, Wolper. Reasoning about infinite computations. Information
and Computation 115(1), 1–37, 1994)
Für eine gegebene Formel ϕ ∈ LTL(Π) kann man in exponentieller Zeit
einen Büchiautomaten B über dem Alphabet 2Π konstruieren, so dass
L(B) = {w ∈ (2Π )ω | w |= ϕ} gilt.
Bemerkungen:
Der exponentielle Blow-Up ist unvermeidbar:
Ein in der Praxis relativ effizienties Verfahren zur Umwandlung von
LTL-Formeln in Büchiautomaten findet sich in: Gastin, Oddoux. Fast
LTL to Büchi automata translation. In Proceedings of CAV’01,
Lecture Notes in Computer Science 2102, S. 53–65, Springer 2001.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
32 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Satz 3 (Bouajjani, Esparza, Maler 1997)
Für eine gegebene Formel ϕ ∈ LTL(Π) und ein Pushdownsystem
P = (Q, Γ, ∆, Π, ρ) kann in exponentieller Zeit ein P-Multiautomat M
berechnet werden mit: L(M) = {qu ∈ QΓ∗ | (T (P), qu) 6|= ϕ}.
Bemerkung: Die exponentielle Zeitschranke in Satz 3 kann nicht
verbessert werden, da bereits das folgende Problem EXPTIME-vollständig
ist:
EINGABE: Ein Pushdownsystem P = (Q, Γ, ∆, Π, ρ), eine Konfiguration
c ∈ QΓ∗ und eine LTL-Formel ϕ ∈ LTL(Π).
FRAGE: Gilt (T (P), c) |= ϕ.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
33 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Beweis von Satz 3:
Wir gehen wie folgt vor:
Schritt 1:
Konstruiere aus ϕ einen Büchiautomaten
B = (S, 2Π , δ, s0 , F )
mit
L(B) = {w ∈ (2Π )ω | w |= ¬ϕ}.
Die hierfür benötigte Zeit ist nach Satz 2 exponentiell durch |ϕ|
beschränkt. Ausserdem ist die Anzahl der Zustände |S| von B auch
exponentiell durch |ϕ| beschränkt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
34 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Schritt 2:
Synchronisiere das Pushdownsystem P mit dem Büchiautomaten B.
Dieser Schritt ist analog zur Konstruktion eines Pushdownautomaten für
L(A) ∩ L(A′ ) für einen (gewöhnlichen) endlichen Automaten A und einen
Pushdownautomaten A′ ; siehe Vorlesung Automaten und Sprachen.
Formal: Definiere das Pushdownsystem
P × B = (Q × S, Γ, ∆′ , ∅, ∅)
wobei für alle (q, s), (p, t) ∈ Q × S, A ∈ Γ, u ∈ Γ∗ gilt:
(q, A, p, u) ∈ ∆ und
′
((q, s), A, (p, t), u) ∈ ∆ ⇐⇒
(s, ρ(q), t) ∈ δ
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
35 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Dann gilt für alle q0 ∈ Q und alle u0 ∈ Γ∗ :
(T (P), q0 u0 ) 6|= ϕ
⇐⇒ ∃ Pfad q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · ·
mit (ρ(q0 )ρ(q1 )ρ(q2 ) · · · ) 6|= ϕ
⇐⇒ ∃ Pfad q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · ·
mit (ρ(q0 )ρ(q1 )ρ(q2 ) · · · ) |= ¬ϕ
⇐⇒ ∃ Pfad q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · ·
mit (ρ(q0 )ρ(q1 )ρ(q2 ) · · · ) ∈ L(B)
⇐⇒ ∃ Pfad (q0 , s0 )u0 ⇒P×B (q1 , s1 )u1 ⇒P×B (q2 , s2 )u2 ⇒P×B · · ·
so dass unendlich viele i ≥ 0 mit si ∈ F existieren
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
36 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Schritt 3:
Konstruiere (in Polynomialzeit) einen (P × B)-Multiautomaten M mit
L(M) = {(q, s)u | ∃ Pfad (q, s)u ⇒P×B (q1 , s1 )u1 ⇒P×B (q2 , s2 )u2 · · ·
so dass ∞ viele i ≥ 0 mit si ∈ F existieren}
(siehe nächste Folie)
Dann gilt für alle q ∈ Q und alle u ∈ Γ∗ :
(T (P), qu) 6|= ϕ ⇐⇒ (q, s0 )u ∈ L(M)
Aus M können wir leicht (in Polynomialzeit) einen P-Multiautomaten N
konstruieren mit:
qu ∈ L(N) ⇐⇒ (q, s0 )u ∈ L(M)
Damit gilt wie gewünscht für alle q ∈ Q und alle u ∈ Γ∗ :
(T (P), qu) |= ϕ ⇐⇒ qu ∈ L(N)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
37 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Wir müssen noch den folgenden Satz beweisen:
Satz 4
Für ein gegebenes Pushdownsystem P = (Q, Γ, ∆, Π, ρ) und eine
Teilmenge R ⊆ Q können wir in Polynomialzeit einen P-Multiautomaten
M konstruieren mit:
L(M) = {c ∈ QΓ∗ | ∃ Pfad c = q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · ·
so dass ∞ viele i ≥ 0 mit qi ∈ R existieren}
Der Beweis von Satz basiert auf dem folgenden Lemma:
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
38 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Lemma
Sei P = (Q, Γ, ∆, Π, ρ) ein Pushdownsystem, R ⊆ Q und c ∈ QΓ∗ .
Folgende beiden Aussagen sind äquivalent:
(1) Es existiert ein Pfad c = q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · · , so dass ∞
viele i ≥ 0 mit qi ∈ R existieren.
(2) Es gibt q ∈ Q, r ∈ R und A ∈ Γ mit:
(i) ∃w ∈ Γ∗ : c ⇒∗P q A w
∗
(ii) ∃u, v ∈ Γ∗ : q A ⇒+
P r u ⇒P q A v
Beweis:
(2) ⇒ (1): Aus (2) erhalten wir den folgenden unendlichen Pfad:
∗
c ⇒∗P q A w ⇒+
P r u w ⇒P q A v w =
∗
q A v w ⇒+
P r u v w ⇒P q A v v w =
∗
q A v v w ⇒+
P r u v v w ⇒P q A v v v w · · ·
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
39 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Auf diesem Pfad wird der Zustand r ∈ R unendlich oft besucht.
Also gilt (1).
(1) ⇒ (2): Sei
c = q0 u0 ⇒P q1 u1 ⇒P q2 u2 ⇒P · · ·
ein Pfad, so dass ∞ viele i ≥ 0 mit qi ∈ R existieren.
Dann gibt es ein r ∈ R, so dass qi = r für ∞ viele i ≥ 0 gilt.
Für i ≥ 0 sei m(i) = min{|uj | | j ≥ i}.
Definiere eine Folge i0 < i1 < i2 < · · · durch:
i0 = min{j | |uj | = m(0)}
ik+1 = min{j | j ≥ ik + 1, |uj | = m(ik + 1)} für k ≥ 0
Wenn uik = A w (mit A ∈ Γ, w ∈ Γ∗ ), dann existiert für jedes j > ik
ein u ∈ Γ+ mit uj = u w und qik A ⇒+
P qj u.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
40 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Da Q und Γ endlich sind, existieren q ∈ Q, A ∈ Γ und eine Teilfolge
j0 < j1 < j2 < · · · von i0 < i1 < i2 < · · · , so dass
∀k ≥ 0 : qjk = q, ujk ∈ A Γ∗ .
Da es ∞ viele i ≥ 0 mit qi = r gibt, existiert ein k ≥ 1 mit
∗
c = q0 u0 ⇒∗P qj0 uj0 = quj0 ⇒+
P ruℓ ⇒P qjk ujk = qujk .
Sei uj0 = A w .
Dann gilt also c ⇒∗P q A w (dies ist (i)).
Ausserdem erhalten wir Faktorisierungen uℓ = u w und ujk = A v w , so
dass
∗
q A ⇒+
P r u ⇒P q A v
(dies ist (ii)).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
41 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Nun können wir den Beweis von Satz 4 (und damit von Satz 3) beenden.
Aufgrund des Lemmas genügt es, in Polynomialzeit einen
P-Multiautomaten M zu konstruieren, so dass gilt:
c ∈ L(M) genau dann, wenn q ∈ Q, r ∈ R und A ∈ Γ existieren mit:
(i) ∃w ∈ Γ∗ : c ⇒∗P q A w
∗
(ii) ∃u, v ∈ Γ∗ : q A ⇒+
P r u ⇒P q A v
Bedingung (i) und (ii) sind äquivalent zu
(i’) c ∈ pre∗ (q A Γ∗ )
(ii’) q A ∈ pre+ (r Γ∗ ∩ pre∗ (q A Γ∗ ))
Hierbei ist pre+ (U) = {p w ∈ QΓ∗ | ∃x ∈ U : p w ⇒+
P x}.
Also soll für M gelten:
[
L(M) = {pre∗ (q A Γ∗ ) |q ∈ Q, A ∈ Γ,
∃r ∈ R : q A ∈ pre+ (r Γ∗ ∩ pre∗ (q A Γ∗ ))}
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
42 / 198
Pushdowngraphen:
LTL-Model-Checking in Pushdowngraphen
Einen solchen P-Multiautomaten können wir wie folgt in Polynomialzeit
konstruieren.
(1) Teste für alle q ∈ Q und A ∈ Γ, ob ein r ∈ R existiert mit
q A ∈ pre+ (r Γ∗ ∩ pre∗ (q A Γ∗ )). Diese Bedingung kann wie folgt in
Polynomialzeit überprüft werden:
(a) Berechne in Poly.zeit einen P-Multiautomaten M1 für pre∗ (q A Γ∗ ).
Beachte: q A Γ∗ ist eine reguläre Menge von Konfigurationen.
(b) Berechne in Poly.zeit einen P-Multiautomaten M2 für r Γ∗ ∩ L(M1 ).
(c) Berechne in Poly.zeit einen P-Multiautomaten M3 für pre+ (L(M2 )).
(d) Teste in Poly.zeit, ob q A ∈ L(M3 ).
(2) Falls der Test aus (1) positiv ist, notiere den P-Multiautomaten M1 .
(3) Konstruiere in Polynomialzeit einen P-Multiautomaten für die
Vereinigung aller in Schritt (2) notierten Automaten.
Dies ist der gesuchte P-Multiautomat M.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
43 / 198
Pushdowngraphen:
Monadische Logik 2. Stufe
Monadische Logik 2. Stufe (kurz MSO für monadic second order) ist eine
der ausdrucksstärksten Logiken, für die noch Entscheidbarkeitsresultate
gelten.
Viele temporale Logiken (wie z. B. LTL) lassen sich in MSO übersetzen.
Seien Π eine endliche Mengen von Propositionen.
Seien X1 , X2 zwei abzählbar-unendliche Mengen von Variablen,
X1 ∩ X2 = ∅.
Elemente aus X1 (bzw. X2 ): x, y , z, x ′ , . . . (bzw. X , Y , Z , X ′ , . . .)
Die Menge MSO(Π) aller MSO-Formeln über Π ist die kleinste Menge
mit:
Wenn p ∈ Π und x, y ∈ X1 , X ∈ X2 , dann
p(x), E (x, y ), (x ∈ X ), (x = y ) ∈ MSO(Π)
Wenn ϕ, ψ ∈ MSO(Π), dann ¬ϕ, ϕ ∧ ψ, ϕ ∨ ψ ∈ MSO(Π)
Wenn ϕ ∈ MSO(Π) und x ∈ X1 , X ∈ X2 dann
∃xϕ, ∃X ϕ, ∀xϕ, ∀X ϕ ∈ MSO(Π).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
44 / 198
Pushdowngraphen:
Monadische Logik 2. Stufe
Die Menge free(ϕ) ⊆ X1 ∪ X2 ist definiert wie üblich.
Für ϕ ∈ MSO(Π) schreiben wir auch ϕ(x1 , . . . , xn , X1 , . . . , Xm ) um
free(ϕ) = {x1 , . . . , xn , X1 , . . . , Xm } auszudrücken.
Ein Transitionssystem mit Interpretation ist ein Tupel
A = (V , E , Π, π, I1 , I2 ) wobei (V , E , Π, π) ein Transitionssystem ist und
I1 : X1 → V , I2 : X2 → 2V partielle Funktionen sind.
Für ein Transitionssystem mit Interpretation A = (V , E , Π, π, I1 , I2 ) und
eine Formel ϕ ∈ MSO(Π) mit free(ϕ) = dom(I1 ) ∪ dom(I2 ) ist A |= ϕ wie
üblich definiert, z. B.:
A |= (x ∈ X ) genau dann, wenn I1 (x) ∈ I2 (X ).
A |= p(x) genau dann, wenn p ∈ π(I1 (x)).
A |= E (x, y ) genau dann, wenn (I1 (x), I1 (y )) ∈ E .
A |= ∃X ϕ genau dann, wenn eine Teilmenge A ⊆ V existiert mit
(V , E , Π, π, I1 , I2 ∪ {(X , A)}) |= ϕ.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
45 / 198
Pushdowngraphen:
Monadische Logik 2. Stufe
Für eine MSO-Formel ϕ = ϕ(x1 , . . . , xn , X1 , . . . , Xm ) und
I1 : {x1 , . . . , xn } → V , I2 : {X1 , . . . , Xm } → 2V schreiben wir auch
(V , E , Π, π) |= ϕ(I1 (x1 ), . . . , I1 (xn ), I2 (X1 ), . . . , I2 (Xm )) anstatt
(V , E , Π, π, I1 , I2 ) |= ϕ.
Ein Beispiel für eine nützliche MSO-Formel:
Sei θ(x, y ) eine MSO-Formel.
Die folgende Formel reach(x, y ) drückt aus, dass in der durch θ(x, y )
definierten binären Relation ein Pfad von x nach y gibt:
reachθ (x, y ) = ∀X x ∈ X ∧∀y ∀z(θ(y , z)∧y ∈ X → z ∈ X ) → y ∈ X
In Worten: Es gibt einen θ-Pfad von x nach y genau dann, wenn jede
Teilmenge X , die x enthält und unter der durch θ definierten Relation
abgeschlossen ist (∀y ∀z(θ(y , z) ∧ y ∈ X → z ∈ X )), auch y enthält.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
46 / 198
Pushdowngraphen:
MSO-Theorie des binr̈en unendlichen Baums
Für ein Transitionssystem T = (V , E , Π, π) ist die MSO-Theorie von T
definiert als: MSOTh(T ) = {ϕ ∈ MSO(Π) | free(ϕ) = ∅, T |= ϕ}.
Wir interessieren uns für unendliche Transitionssysteme mit einer
entscheidbaren MSO-Theorie. Das zentrale Resultat in diesem
Zusammenhang ist Rabins Baumtheorem.
Der unendliche binäre Baum ist das Transitionssystem
B2 = ({0, 1}∗ , E2 , {0, 1}, ρ2 ), wobei
E2 = {(u, ua) | u ∈ {0, 1}∗ , a ∈ {0, 1}}
(
∅
falls u = ε
ρ2 (u) =
{a} falls u = va für v ∈ {0, 1}∗ , a ∈ {0, 1}
Satz 5 (Rabins Baumtheorem — Rabin 1969)
MSOTh(B2 ) ist entscheidbar.
Auf den sehr schwierigen Beweis muss hier verzichtet werden.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
47 / 198
Pushdowngraphen:
MSO-Interpretationen
Seien Π1 und Π2 zwei endliche Mengen von Propositionen.
Wir wollen ein Transitionssystem T2 = (V2 , E2 , Π2 , π2 ) mittels MSO-Logik
in einem Transitionssystem T1 = (V1 , E1 , Π1 , π1 ) definieren. Dabei soll
gelten: MSOTh(T1 ) entscheidbar =⇒ MSOTh(T2 ) entscheidbar.
Eine MSO-Interpretation über (Π1 , Π2 ) ist eine Tupel
τ = (α(x), β(x, y ), (γ(x)p )p∈Π2 ) ∈ MSO(Π1 )2+|Π2 |
Sei T1 = (V1 , E1 , Π1 , π1 ) ein Transitionssystem.
Wir definieren ein Transitionssystem τ (T1 ) = (V2 , E2 , Π2 , π2 ) wie folgt:
V2 = {a ∈ V1 | T1 |= α(a)} ⊆ V1
E2 = {(a, b) ∈ V2 × V2 | T1 |= β(a, b)}
π2 (a) = {p ∈ Π2 | T1 |= γp (a)} für a ∈ V2 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
48 / 198
Pushdowngraphen:
MSO-Interpretationen
Satz 6
Sei τ eine MSO-Interpretation über (Π1 , Π2 ).
Sei T1 = (V1 , E1 , Π1 , π1 ) ein Transitionssystem.
Wenn MSOTh(T1 ) entscheidbar ist, dann ist auch MSOTh(τ (T1 ))
entscheidbar.
Beweis:
Sei τ = (α(x), β(x, y ), (γ(x)p )p∈Π2 ) und sei τ (T1 ) = (V2 , E2 , Π2 , π2 ).
Sei ϕ ∈ MSO(Π2 ).
Wir konstruieren τ −1 (ϕ) ∈ MSO(Π1 ) mit free(ϕ) = free(τ −1 (ϕ)), so dass
für alle I1 : X1 ∩ free(ϕ) → V2 und I2 : X2 ∩ free(ϕ) → 2V2 gilt:
(τ (T1 ), I1 , I2 ) |= ϕ ⇐⇒ (T1 , I1 , I2 ) |= τ −1 (ϕ)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
49 / 198
Pushdowngraphen:
MSO-Interpretationen
Falls free(ϕ) = ∅ gilt, erhalten wir somit:
ϕ ∈ MSOTh(τ (T1 )) ⇐⇒ τ (T1 ) |= ϕ
⇐⇒ T1 |= τ −1 (ϕ)
⇐⇒ τ −1 (ϕ) ∈ MSOTh(T1 )
Induktive Konstruktion von τ −1 (ϕ):
τ −1 (x = y ) = (x = y ), τ −1 (x ∈ X ) = (x ∈ X )
τ −1 (p(x)) = γp (x) für p ∈ Π2 , τ −1 (E (x, y )) = β(x, y )
τ −1 (¬ψ) = ¬τ −1 (ψ), τ −1 (ψ ∧ θ) = τ −1 (ψ) ∧ τ −1 (θ)
τ −1 (∃xψ) = ∃x(α(x) ∧ τ −1 (ψ))
τ −1 (∃X ψ) = ∃X (∀x(x ∈ X → α(x)) ∧ τ −1 (ψ))
Der Beweis für die Aussage (τ (T1 ), I1 , I2 ) |= ϕ ⇐⇒ (T1 , I1 , I2 ) |= τ −1 (ϕ)
kann nun leicht durch Induktion über den Aufbau von ϕ erbracht
werden.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
50 / 198
Pushdowngraphen:
MSO-Interpretationen
Wir wollen MSO-Interpretationen zusammen mit Rabins Baumtheorem
benutzen, um für jeden Pushdowngraphen T (P) die Entscheidbarkeit von
MSOTh(T (P)) zu zeigen.
In einem ersten Schritt erweitern wir Rabins Baumtheorem vom binären
Baum auf Bäume mit beliebigen Verzweigungsgrad.
Für k ≥ 2 sei Bk = ({0, . . . , k − 1}∗ , Ek , {0, . . . , k − 1}, ρk ), wobei:
= {(u, ua) | u ∈ {0, . . . , k − 1}∗ , 0 ≤ a ≤ k − 1}
(
∅
falls u = ε
ρk (u) =
{a} falls u = va für v ∈ {0, . . . , k − 1}∗ , 0 ≤ a ≤ k − 1
Ek
Dies ist der unendliche Baum vom Verzweigungsgrad k.
Satz 7
MSOTh(Bk ) ist entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
51 / 198
Pushdowngraphen:
MSO-Interpretationen
Beweis:
Wir geben eine MSO-Interpretation τ an, so dass τ (B2 ) und
Bk = ({0, . . . , k − 1}∗ , Ek , {0, . . . , k − 1}, ρk ) isomorph sind.
Zur Erinnerung: B2 = ({0, 1}∗ , E2 , {0, 1}, ρ2 ), wobei
E2 = {(u, ua) | u ∈ {0, 1}∗ , a ∈ {0, 1}}
(
∅
falls u = ε
ρ2 (u) =
{a} falls u = va für v ∈ {0, 1}∗ , a ∈ {0, 1}
Sei Bk′ = (Vk′ , Ek′ , {0, . . . , k − 1}, ρ′k ) mit
Vk′
= {0, 01, 011, . . . , 01k−1 }∗ ⊆ {0, 1}∗
Ek′
= {(u, u01i ) | u ∈ Vk′ , 0 ≤ i ≤ k − 1}
(
∅
falls u = ε
ρ′k (u) =
{i} falls u = v 01i mit v ∈ Vk′ , 0 ≤ i ≤ k − 1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
52 / 198
Pushdowngraphen:
MSO-Interpretationen
Dann sind Bk und Bk′ isomorph vermöge der Bijektion
f : {0, 1, . . . , k − 1}∗ → {0, 01, 011, . . . , 01k−1 }∗ mit
f (i1 i2 · · · in ) = 01i1 01i2 · · · 01in .
Wegen Satz 6 genügt es daher eine MSO-Interpretation
τ = (α(x), β(x, y ), (γ(x)i )0≤i≤k−1 ) mit τ (B2 ) = Bk′ anzugeben.
Sei zunächst für 0 ≤ j ≤ k − 1:
θj (x, y ) = ∃x0 ∃x1 · · · ∃xj E2 (x, x0 ) ∧
0(x0 ) ∧
^
E2 (xi , xi+1 )∧
0≤i≤j−1
^
1(xi ) ∧ xj = y
1≤i≤j
Diese Formel sagt aus, dass y = x01j gilt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
53 / 198
Pushdowngraphen:
MSO-Interpretationen
Damit können wir definieren:
_
θj (x, y )
β(x, y ) =
0≤j≤k−1
α(x) = ∃y (¬0(y ) ∧ ¬1(y ) ∧ reachβ (y , x))
γj (x) = ∃y θj (y , x) für 0 ≤ j ≤ k − 1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
54 / 198
Pushdowngraphen:
MSO-Theorie von Pushdowngraphen
Satz 8 (Muller, Schupp 1985)
Sei P = (Q, Γ, ∆, Π, ρ) ein Pushdownsystem. Dann ist MSOTh(T (P))
entscheidbar.
Beweis:
Wir können Q ∩ Γ = ∅ voraussetzen. Sei |Q ∪ Γ| = k.
O.B.d.A. gehen wir im folgenden davon aus, dass Q ∪ Γ = {0, . . . , k − 1}.
Wir geben eine MSO-Interpretation τ = an, so dass
T (P) = (QΓ∗ , ⇒P , Π, π) und τ (Bk ) isomorph sind.
Definiere das Transitionssystem T (P)′ = (V ′ , E ′ , Π, π ′ ) wie folgt:
V ′ = Γ∗ Q ⊆ {0, . . . , k − 1}∗
E ′ = {(u A q, u v p) | u ∈ Γ∗ , (q, A, p, v rev ) ∈ ∆}
π ′ (uq) = ρ(q) für u ∈ Γ∗ , q ∈ Q
Hierbei ist (a1 a2 · · · an )rev = an · · · a2 a1 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
55 / 198
Pushdowngraphen:
MSO-Theorie von Pushdowngraphen
Offensichtlich ist T (P)′ isomorph zu T (P) vermöge der Bijektion
: Γ∗ Q → QΓ∗ .
rev
Also genügt es eine MSO-Interpretation
τ = (α(x), β(x, y ), (γ(x)p )p∈P )
mit τ (Bk ) = T (P)′ anzugeben.
Zur Errinnerung: Bk = ({0, . . . , k − 1}∗ , Ek , {0, . . . , k − 1}, ρk ), wobei:
= {(u, ua) | u ∈ {0, . . . , k − 1}∗ , 0 ≤ a ≤ k − 1}
(
∅
falls u = ε
ρk (u) =
{a} falls u = va für v ∈ {0, . . . , k − 1}∗ , 0 ≤ a ≤ k − 1
Ek
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
56 / 198
Pushdowngraphen:
MSO-Theorie von Pushdowngraphen
Die MSO-Interpretation τ = (α(x), β(x, y ), (γ(x)p )p∈P ) ist:
α(x) =
_
q(x) ∧ ∀y reachEk (y , x) ∧ y 6= x ⇒
q∈Q
β(x, y ) =
_
q∈Q
′
′
∃x , z, y1 , . . . , yn q(x) ∧ p(y ) ∧ A(x ) ∧
(q,A,p,A1 ···An )∈∆
′
′
Ek (x , x) ∧ Ek (z, x ) ∧ Ek (z, y1 ) ∧
_
¬q(y )
n
^
An−i+1 (yi )∧
i=1
n−1
^
i=1
γp (x) =
^
Ek (yi , yi+1 ) ∧ Ek (yn , y )
q(x)
q∈ρ−1 (p)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
57 / 198
Pushdowngraphen:
MSO-Theorie von Pushdowngraphen
Bemerkungen:
Es existiert eine effiziente Übersetzung von LTL in MSO (ebenso für
andere temporale Logiken wie CTL, modaler µ-Kalkül).
Aus Satz 8 folgt somit die Entscheidbarkeit von LTL-Model-Checking
für Pushdowngraphen.
Die Komplexität der MSO-Theorie eines Pushdowngraphen ist jedoch
enorm.
Definiere Funktionen fi : N → N wie folgt:
f0 (n) = n
fi+1 (n) = 2fi (n) für i ≥ 0
Dann gilt bereits für den unendlichen binären Baum B2 (dies ist fast
ein Pushdowngraph) das folgende Resultat von Meyer, 1975:
Es gibt kein i ∈ N und einen Algorithmus, der MSOTh(B2 ) korrekt
entscheidet und dessen Laufzeit durch fi (n) (bei einer Eingabe der
Länge n) beschränkt ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
58 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen
Pushdownsysteme können prozedurale Programme modellieren, falls alle
(globalen und lokalen) Variablen auf endliche Wertebereiche eingeschränkt
werden.
Sei C ein prozedurales Programm, wobei:
B ist die Menge aller Prozedurbezeichner — main sei der Name der
Hauptprozedur.
Ib ⊆ N sei die Menge aller Programmzeilen der Prozedur b ∈ B.
G ist die Menge der globalen Variablen.
L(b) ist die Menge der lokalen Variablen der Prozedur b ∈ B.
S
Für eine Variable x ∈ G ∪ b∈B L(b) sei ran(x) der endliche
Wertebereich der Variablen x.
Für eine lokale Variable y ∈ L(b) sei v0,y ∈ ran(y ) der initiale Wert
von y , d.h. der Wert von y direkt nach Aufruf der Prozedur b.
Sei initb = (v0,y )y ∈L(b) .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
59 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen
Dann lässt sich C durch das Pushdownsystem P(C) = (Q, Γ, ∆, Q, idQ )
modellieren, wobei:
Y
Q =
ran(x)
x∈G
Γ =
[
{b} × Ib ×
b∈B
Y
x∈L(b)
ran(x)
∆ = {h(vx )x∈G (b, i, (vy )y ∈L(b) ), (wx )x∈G (b, j, (wy )y ∈L(b) )i |
Instruktion in Zeile i von Prozedur b transformiert die
globale (lokale) Variable vx (vy ) in wx (wy ) und
j ist die Folgeanweisung} ∪
{hq (b, i, ℓ), q (b ′ , 1, initb′ )(b, i + 1, ℓ)i | q ∈ Q
Instruktion in Zeile i von Prozedur b ist call(b ′ )} ∪
{hq (b, i, ℓ), q i | q ∈ Q
Instruktion in Zeile i von Prozedur b ist return}
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
60 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen
Für x ∈ G sei vx der initiale Wert der globalen Variablen x (Eingabewerte).
Das Programm C terminiert erfolgreich bei Eingabe q0 = (vx )x∈G , falls der
initiale Aufruf der Hauptprozedur main ein return-statement ausführt.
Dann gilt offensichtlich:
C terminiert erfolgreich bei Eingabe q0
⇐⇒ ∃q ∈ Q : q0 (main, 1, initmain ) ⇒∗P(C) q
⇐⇒ q0 (main, 1, initmain ) ∈ pre∗ (Q)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
61 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen
Bemerkungen:
Die Einschränkung auf endliche Wertebereiche für alle Variablen erscheint
recht stark zu sein, und sie ist es auch. Aber:
Prozedurale Programme mit Integer-Variablen bilden ein universelles
Rechenmodell (d.h. sie können Turingmaschinen simulieren), damit ist
bereits das Erreichbarkeitsproblem unentscheidbar.
Daher ist die Einschränkung auf endliche Wertebereiche essentiell um
Entscheidbarkeitsresultate zu erhalten.
In der Praxis “abstrahiert” man Variablen mit unendlichen
Wertebereichen (z. B. N) auf endliche Wertebereiche (z. B.
{0, 1, . . . , n}).
Findet man im abstrahierten Programm einen Fehler (counter
example), so kann daraus ein Fehler für das ursprüngliche (nicht
abstrahierte) Programm abgeleitet werden.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
62 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen: Moped
Moped ist eine Software, mit der
Erreichbarkeitsanalyse (Berechnung von pre∗ ) und
LTL-Modelchecking
für Pushdownsysteme durchgeführt werden können.
Mehr Details: Stefan Schwoon, Model-checking pushdown systems
(Anhang A),
www.fmi.uni-stuttgart.de/szs/publications/schwoosn/diss-schwoon.pdf.
Version 1 von Moped läuft auf den Rechnern des Informatikpools.
Beispiel: Pointermanipulation bei Quicksort (von Stefan Schwoon), siehe
nächste Folie.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
63 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen: Moped
define N 3 # number of bits used to represent each integer variable
local(qs0,qs1,qs2,qs3) int left(N), eq(N), lo(N), hi(N), right(N);
(q <main0>)
q <main0> --> q <qs0 main1>
q <main1> --> q <main1>
q <qs0> --> q <> ‘‘reject’’ (left >= right)
q <qs0> --> q <qs1>
(left < right & left’ = left & right’ = right & eq’ = left &
lo’ = left & hi’ = right)
q <qs1> --> q <qs1> ‘‘decrease hi’’
(lo <= hi & (hi != right | lo != left) & eq’ = eq & lo’ = lo &
hi’ = hi-1 & left’ = left & right’ = right)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
64 / 198
Pushdowngraphen:
Verifikation mit Pushdownsystemen: Moped
q <qs1> --> q <qs1> ‘‘increase lo + eq’’
(lo <= hi & (hi != right | lo != left) & eq’ = eq+1 & lo’ = lo+1 &
hi’ = hi & left’ = left & right’ = right)
q <qs1> --> q <qs1> ‘‘increase lo’’
(lo <= hi & eq’ = eq & lo’ = lo+1 & hi’ = hi & left’ = left &
right’ = right)
q <qs1> --> q <qs0 qs2> ‘‘left recursive call’’
(lo = hi+1 & left’ = left & right’ = eq-1 & lo’’ = lo & right’’ = right)
q <qs2> --> q <qs0 qs3> ‘‘right recursive call’’
(left’ = lo & right’ = right)
q <qs3> --> q <>
Termination dieser Prozedur für alle inputs mit höchstens 2N Elementen
im Eingabearray kann durch folgenden Aufruf überprüft werden:
moped quicksort correct.pds “<>main1”
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
65 / 198
Pushdowngraphen:
Zusammenfassung zu Pushdownsystemen
1
Erreichbarkeitsanalyse (Berechnung des pre∗ ) kann für
Pushdownsysteme in polynomieller Zeit durchgeführt werden.
2
LTL-Model-Checking für Pushdownsysteme kann in exponentieller
Zeit durchgeführt werden.
3
Die MSO-Theorie eines Pushdowngraphens ist entscheidbar.
4
Pushdownsysteme können prozedurale Programme modellieren, falls
alle Variablen auf endliche Wertebereiche eingeschränkt sind.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
66 / 198
Automatische Strukturen
Überblick
Wir werden im folgenden automatische Strukturen einführen.
Diese bilden eine größere Klasse als die Pushdowngraphen.
Die Hauptresultate zu automatische Strukturen, die wir beweisen, sind:
Logik 1. Stufe ist entscheidbar in automatischen Strukturen
Das Erreichbarkeitsproblem ist in automatischen Graphen im
Allgemeinen unentscheidbar.
Die MSO-Theorie einer automatischen Struktur ist im Allgemeinen
unentscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
67 / 198
Automatische Strukturen
Konvolution von Wörtern
Sei n ≥ 1. Sei Σ ein endliches Alphabet und sei # 6∈ Σ.
Sei Σ# = Σ ∪ {#} im Weiteren.
Seien w1 , w2 . . . , wn ∈ Σ∗ . Wir definieren die Konvolution
∗
w1 ⊗ w2 ⊗ · · · ⊗ wn ∈ Σn#
wie folgt:
Sei wi = ai,1 ai,2 · · · ai,ℓi , d.h. ℓi = |wi |.
Sei ℓ = max{ℓ1 , . . . , ℓn }
Für alle 1 ≤ i ≤ n und ℓi < j ≤ ℓ sei ai,j = #
w1 ⊗ w2 ⊗ · · · ⊗ wn := (a1,1 , . . . , an,1 )(a1,2 , . . . , an,2 ) · · · (a1,ℓ , . . . , an,ℓ ).
Beispiel: abba ⊗ babaaa = (a, b)(b, a)(b, b)(a, a)(#, a)(#, a)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
68 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Ein synchroner n-Bandautomat A über dem Alphabet Σ ist ein
gewöhnlicher endlicher Automat über dem Alphabet Σn# .
∗
L(A) ⊆ Σn# .
Es sei K (A) = {(w1 , . . . , wn ) | w1 , . . . , wn ∈ Σ∗ , w1 ⊗ · · · ⊗ wn ∈ L(A)}.
Eine n-stellige Relation R über Σ∗ ist synchron-rational, falls ein
synchroner n-Bandautomat A mit K (A) = R existiert.
Beispiel 1: Sei A der folgende synchrone 2-Bandautomat:
p
(#, a), (#, b)
(a, a), (b, b)
q
(#, a), (#, b)
Es gilt K (A) = {(u, v ) | u, v ∈ {a, b}∗ , u ist Präfix von v }.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
69 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
q0
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
q1
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
q2
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
qm
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
qm+1
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Synchrone Mehrbandautomaten
Veranschaulichung der Arbeitsweise eines synchronen
Mehrbandautomaten:
qn
v
b0
b1
b2
···
bm−1 bm
u
a0
a1
a2
···
am−1 am am+1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
#
···
#
···
an
SS 2008
70 / 198
Automatische Strukturen
Automatische Präsentationen
Beispiel 1: Sei P = (Q, Γ, ∆, Π, ρ) ein Pushdownsystem. Dann ist die
Relation ⇒P ⊆ (Q ∪ Γ)∗ × (Q ∪ Γ)∗ synchron-rational.
Sei S = (R, arity) eine Signatur und sei A = (U, IS ) eine Struktur (wie in
der Vorlesung Spieltheoretische Methoden in der Logik) definiert.
Eine automatische Präsentation von A ist ein Tupel P = (Σ, A, B) wobei:
Σ ist ein endliches Alphabet.
A ist ein endlicher Automat über dem Alphabet Σ.
Für alle r ∈ R ist B(r ) ein synchroner arity(r )-Bandautomat über
dem Alphabet Σ.
∃ Bijektion h : L(A) → U, so dass für alle r ∈ R mit n = arity(r ) gilt:
K (B(r )) = {(w1 , . . . , wn ) ∈ L(A)n | (h(w1 ), . . . , h(wn )) ∈ IS (r )}
Die Struktur A ist automatisch, falls es eine automatische Präsentation
von A gibt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
71 / 198
Automatische Strukturen
Beispiel: (N, +)
Wir wollen zeigen, dass die Struktur (N, +), wobei + als die 3-stellige
Relation {(a, b, c) | a + b = c} aufgefasst wird, automatisch ist.
Sei U ein endlicher Automat mit L(U) = {0} ∪ {0, 1}∗ 1.
die Abbildung h : L(U) → N mit
h(w ) = die durch w repräsentierte Binärzahl, rückwärts gelesen
ist eine Bijektion.
Sei B+ der synchrone 3-Bandautomat auf der nächsten Folie.
B+ erkennt “fast” die Relation {(u, v , w ) ∈ L(U)3 | h(u) + h(v ) = h(w )},
es gilt z. B. (00##, 0000, 0000) ∈ K (B+ ).
Sei A+ ein synchroner 3-Bandautomat mit
L(A+ ) = L(B+ ) ∩ {u ⊗ v ⊗ w | u, v , w ∈ L(U)}.
K (A+ ) = {(u, v , w ) ∈ L(U)3 | h(u) + h(v ) = h(w )}.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
72 / 198
Automatische Strukturen
Beispiel: (N, +)
(#, 0, 0), (#, 1, 1)
(#, 1, 0)
(#, 0, 1)
(#, 1, 1)
(#, 0, 0)
(#, 0, 1)
(1, 0, 1)
(0, 0, 0)
(0, 1, 1)
(0, #, 0)
(1, #, 1)
(#, #, 1)
(#, 1, 0)
(1, 0, 0)
(0, 1, 0)
(1, 1, 1)
(1, 1, 0)
(#, #, 1)
(0, 0, 1)
(1, #, 0)
(0, #, 1)
(#, #, 1)
(0, #, 1)
(0, #, 0), (1, #, 1)
Markus Lohrey (Universität Leipzig)
(1, #, 0)
Verifikation unendlicher Systeme
SS 2008
73 / 198
Automatische Strukturen
Weitere Beispiele
Die folgenden Strukturen sind automatisch:
Jeder Pushdowngraph
(N, +, |p ), wobei p > 1 und x |p y genau dann, wenn
∃n, k ∈ N : x = p n , y = k · x
(Q, ≤)
Von den folgenden Strukturen kann man zeigen, dass sie nicht
automatisch sind:
(R, +) (denn jede automatische Struktur ist abzählbar)
jede Struktur mit einer unentscheidbaren FO-Theorie
(siehe nächste Folie).
Beispiele hierfür:
(N, +, ·) (Gödel 1931)
(Σ∗ , ◦) (das freie Monoid über Σ) falls |Σ| > 1 (Quine 1946)
(N, ·) und (N, |)
Ein offenes Problem: Ist (Q, +) automatisch?
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
74 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Sei S = (R, arity) eine Signatur und sei A = (U, IS ) eine Struktur.
Mit FOTh(A) bezeichenen wir die Theorie 1.Stufe von A (first-order
theory):
FOTh(A) = {ϕ ∈ FO(S) | free(ϕ) = ∅, A |= ϕ}
Eines der berühmtesten Unentscheidbarkeitsresultate in der Logik ist:
Satz 8 (Gödel 1931)
FOTh(N, +, ·) ist unentscheidbar.
Unser Hauptresultat über automatische Strukturen lautet:
Satz 9 (Khoussainov, Nerode 1994)
Für jede automatische Struktur A ist FOTh(A) entscheidbar.
Korollar aus Satz 9 (Presburger 1929)
FOTh(N, +) ist entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
75 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Beweis von Satz 9:
Sei A = (U, IS ) eine automatische Struktur über der Signatur
S = (R, arity).
Sei P = (Σ, A, B) eine automatische Präsentation von A und sei
h : L(A) → U die Bijektion, so dass für alle r ∈ R mit n = arity(r ) gilt:
K (B(r )) = {(w1 , . . . , wn ) ∈ L(A)n | (h(w1 ), . . . , h(wn )) ∈ IS (r )}
Für jede Formel ϕ(x1 , . . . , xn ) ∈ FO(S) werden wir durch Induktion einen
synchronen n-Bandautomaten Bϕ konstuieren, so dass gilt:
K (Bϕ ) = {(w1 , . . . , wn ) ∈ L(A)n | A |= ϕ(h(w1 ), . . . , h(wn ))}.
Fall 1: ϕ = r (x1 , . . . , xn ) für r ∈ R.
Wähle Bϕ = B(r ).
Fall 2: ϕ = (x1 = x2 ):
Wähle Bϕ so, dass L(Bϕ ) = {v ⊗ w | v , w ∈ L(A)}.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
76 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Fall 3: ϕ = ¬ψ(x1 , . . . , xn ):
IA
n-Bandautomat Bψ für ψ
Wir wählen dann Bϕ so, dass gilt:
L(Bϕ ) = {w1 ⊗ · · · ⊗ wn | w1 , . . . , wn ∈ L(A)} \ L(Bψ )
Fall 4: ϕ(x1 , . . . , xn ) = ψ(y1 , . . . , ym ) ∨ θ(z1 , . . . , zℓ ), wobei
{x1 , . . . , xn } = {y1 , . . . , ym , z1 , . . . , zℓ } und m, ℓ ≤ n.
IA
m-Bandautomat Bψ für ψ sowie ℓ-Bandautomat Bθ für θ
Sei yi = xpi für 1 ≤ i ≤ m.
Definiere den Homomorphismus
f : Σn#
∗
durch f (a1 , . . . , an ) = (ap1 , . . . , apm ).
Markus Lohrey (Universität Leipzig)
→ Σn#
∗
Verifikation unendlicher Systeme
SS 2008
77 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Aus Bψ konstruieren wir nun einen n-Bandautomaten Cψ mit
L(Cψ ) = f −1 (Bψ ).
Analog konstruieren wir aus Bθ den n-Bandautomaten Cθ .
Wähle schließlich Bϕ so, dass
L(Bϕ ) = (L(Cψ ) ∪ L(Cθ )) ∩ {w1 ⊗ · · · ⊗ wn | w1 , . . . , wn ∈ L(A)}.
Fall 5: ϕ = ∃xn+1 : ψ(x1 , . . . , xn , xn+1 ):
IA
(n + 1)-Bandautomat Bψ für ψ
Definiere den Homomorphismus
f : Σn+1
#
∗
→ Σn#
wie folgt, wobei a1 , . . . , an , an+1 ∈ Σ# :
(
ε
f (a1 , . . . , an , an+1 ) =
(a1 , . . . , an )
Markus Lohrey (Universität Leipzig)
∗
falls a1 = · · · = an = #
sonst
Verifikation unendlicher Systeme
SS 2008
78 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Dann wählen wir für Bϕ einen n-Bandautomaten mit L(Bϕ ) = f (L(Bψ )).
Beachte: Dies geht, da die regulären Sprachen unter Homomorphismen
abgeschlossen sind.
Dies beendet die Konstruktion von Bϕ .
Sei nun ϕ ∈ FO(S) mit free(ϕ) = ∅.
Indem wir ϕ in Pränex-Normalform bringen, können wir davon ausgehen,
dass ϕ = ∃x ψ(x) oder ϕ = ∀x ψ(x).
Fall 1: ϕ = ∃x ψ(x).
Dann gilt: A |= ϕ ⇐⇒ L(Bψ ) 6= ∅.
Letzteres ist entscheidbar, da Leerheit der von einem endlichen Automaten
akzeptierten Sprache entscheidbar ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
79 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Fall 2: ϕ = ∀x ψ(x).
Dann gilt: A |= ϕ ⇐⇒ L(Bψ ) = L(U).
Letzteres ist entscheidbar, da Äquivalenz von endlichen Automaten
entscheidbar ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
80 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Bemerkungen zur Komplexität:
Unser Algorithmus, der ϕ ∈ FOTh(A) entscheidet, ist nicht sehr effzient.
Grund: Für jede Negation ¬ in ϕ müssen wir einen Automaten
komplementieren. Dies verursacht einen exponentiellen Blow-Up in der
Automatengröße.
Die Laufzeit unseres Algorithmus ist deshalb in etwa f|ϕ| (O(1)), wobei
f0 (n) = n und fi+1 (n) = 2fi (n) für i ≥ 0.
Dies ist jedoch auch nicht vermeidbar:
Meyer 1974
Sei B2∗ der unendliche binäre Baum erweitert um die Präfixrelation auf
{0, 1}∗ . Es gibt kein i ∈ N und einen Algorithmus, der FOTh(B2∗ ) korrekt
entscheidet und dessen Laufzeit durch fi (n) (bei einer Eingabe der Länge
n) beschränkt ist.
Beachte: B2∗ ist eine automatische Struktur.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
81 / 198
Automatische Strukturen
FO-Theorie einer automatischen Struktur
Man sagt auch: Es existiert kein elementarer Algorithmus für FOTh(B2∗ ).
Es gibt jedoch viele Spezialfälle von automatischen Strukturen, für die ein
elementarer Algorithmus zur Entscheidung der Theorie 1. Stufe existiert.
Hier sind zwei Beispiele:
Oppen 1978
2O(n)
Es existiert ein Algorithmus, der FOTh(N, +) in Zeit 22
entscheidet.
Vogel 1983
O(n)
Es existiert ein Algorithmus, der FOTh(B2 ) in Zeit 22
entscheidet.
Bemerkungen: In beiden Beispielen sind bessere obere
Komplexitätsschranken, welche auf alternierende Zeitklassen Bezug
nehmen, bekannt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
82 / 198
Automatische Strukturen
Erreichbarkeit in automatischen Graphen
Satz 10
Es existiert ein synchroner 2-Bandautomat A über einem Alphabet Σ, so
dass das folgende Problem unentscheidbar ist.
INPUT: Zwei Wörter u, v ∈ Σ∗
FRAGE: Gilt (u, v ) ∈ K (A)∗ , d.h. existiert in der von A erkannten binären
Relation ein Pfad von u nach v ?
Beweis:
Sei T = (Q, Γ, δ, q0 , qf ) eine 1-Band-Turingmaschine, die eine
unentscheidbare Menge akzeptiert (z. B. das Halteproblem).
Q ist die endliche Menge der Zustände.
Γ ist das Bandalphabet.
∈ Γ ist das Blanksymbol. Alle Bandzellen, die nicht im Bereich des
Eingabestrings w ∈ Γ∗ liegen, enthalten zu Beginn .
δ ⊆ Q × Γ × Q × Γ × {→, ←} ist die Übergangsrelation.
q0 ∈ Q ist der Anfangszustand, qf ∈ Q ist der Endzustand.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
83 / 198
Automatische Strukturen
Erreichbarkeit in automatischen Graphen
Eine Konfiguration von T kann durch ein Wort c = uqv ∈ Γ∗ QΓ+
repräsentiert werden:
u ist der Inhalt des Bandabschnitts links vom Schreiblesekopf.
q ist der aktuelle Zustand.
v ist der Inhalt des Bandabschnitts rechts vom Schreiblesekopf,
inklusive des gerade gelesenen Symbols.
O.B.d.A. können wir die folgenden Eigenschaften für T fordern:
Das Band ist einseitig-unendlich, d.h. es ist nach links begrenzt, nach
rechts aber unbegrenzt.
Bei Eingabe w ∈ Γ∗ ist q0 w die initiale Konfiguration.
T terminiert genau dann, wenn der Endzustand qf erreicht wird.
O.B.d.A. soll dann der Schreiblesekopf auf die erste Position des
Bands zeigen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
84 / 198
Automatische Strukturen
Erreichbarkeit in automatischen Graphen
Wir simulieren nun die Maschine T durch ein Stringersetzungsystem
S ⊆ Σ × Σ über dem Alphabet Σ = Q ∪ Γ ∪ {⊳}:
S besteht aus den folgenden Regeln:
bqa → pba′
qa → a′ p
falls (q, a, p, a′ , ←) ∈ δ, b ∈ Γ
falls (q, a, p, a′ , →) ∈ δ
bq⊳ → pba′ ⊳ falls (q, , p, a′ , ←) ∈ δ, b ∈ Γ
q⊳ → a′ p⊳
qf a → qf
falls (q, , p, a′ , →) ∈ δ
falls a ∈ Γ
Definiere die Relation →S ⊆ Σ∗ × Σ∗ wie folgt, wobei u, v ∈ Σ∗ :
u →S v
⇐⇒
∃x, y ∈ Σ∗ ∃(ℓ → r ) ∈ S : u = xℓy , v = xry
Dann gilt für alle w ∈ Γ∗ :
T akzeptiert w
Markus Lohrey (Universität Leipzig)
⇐⇒
q0 w ⊳ →∗S qf ⊳
Verifikation unendlicher Systeme
SS 2008
85 / 198
Automatische Strukturen
Erreichbarkeit in automatischen Graphen
Lemma
Sei S ein Stringersetzungssystem über dem Alphabet Σ. Die Relation →S
ist synchron rational.
Beweis des Lemmas:
Für eine einzelne Regel (ℓ → r ) ∈ S definieren wir zunächst die Sprache
L(ℓ, r ) ⊆ (Σ# × Σ# )∗ wie folgt:
Sei o.B.d.A. |ℓ| ≤ |r |.
es gibt u, v mit r = uv und |ℓ| = |u|.
L(ℓ, r ) = {(a, a) | a ∈ Σ}∗ · (ℓ ⊗ u) · (L1 ∩ L2 ∩ L3 )
wobei L1 , L2 , L3 wie folgt definiert sind:
L1 = (Σ|v | ⊗ {v }) · (Σ# × Σ)∗
L2 = (Σ × Σ)∗ · ({#|v | } ⊗ Σ|v | )
\
L3 =
(Σ × Σ)∗ · ({a} × Σ) · (Σ# × Σ)|v |−1 · (Σ# × {b}) · (Σ# × Σ)∗
a,b∈Σ
a6=b
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
86 / 198
Automatische Strukturen
Erreichbarkeit in automatischen Graphen
{u ⊗ v | u →S v } =
S
(ℓ→r )∈S
L(ℓ, r ) ist rational.
→S ist synchron-rational.
Zurück zum Beweis von Satz 10:
Aufgrund des Lemmas existiert also ein synchroner 2-Bandautomat A mit
K (A) = →S .
Dann gilt für alle w ∈ Γ∗ :
T akzeptiert w
⇐⇒
q0 w ⊳ →∗S qf ⊳
⇐⇒
(q0 w ⊳, qf ⊳) ∈ K (A)∗
Da es nicht entscheidbar ist, ob T ein Wort w akzeptiert, ist der Beweis
für Satz 10 erbracht.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
87 / 198
Automatische Strukturen
Stringersetungsgraphen
Ein Korollar aus dem Beweis von Satz 10 (und 9) ist:
Satz 11
Sei S ein Stringersetzungssystem über dem Alphabet Σ. Dann ist der
Graph (Σ∗ , →S ) automatisch und FOTh(Σ∗ , →S ) ist entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
88 / 198
Automatische Strukturen
MSO-Theorie einer automatischen Struktur
Aus Satz 10 können wir nun leicht folgern, dass automatische Strukturen
mit unentscheidbaren MSO-Theorien existieren:
Satz 12
Es existiert eine automatische Struktur A, so dass MSOTh(A)
unentscheidbar ist.
Beweis:
Sei A der synchrone 2-Bandautomat über dem Alphabet Σ aus Satz 10.
Definiere die Signatur S = (R, arity) und die Struktur A = (U, IS ) durch:
R = {α} ∪ {βa | a ∈ Σ}
arity(r ) = 2 für alle r ∈ R
U = Σ∗
IS (α) = K (A)
IS (βa ) = {(w , wa) | w ∈ Σ∗ } für alle a ∈ Σ
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
89 / 198
Automatische Strukturen
MSO-Theorie einer automatischen Struktur
A ist offensichtlich automatisch.
Seien v = a1 a2 · · · an und w = b1 b2 · · · bm Wörter
(a1 , . . . , an , b1 , . . . , bm ∈ Σ).
Dann gilt (v , w ) ∈ K (A)∗ genau dann, wenn in A die folgende
MSO-Formel gilt:
^
¬∃y : βa (y , x) ∧ y0 = x = z0 ∧
∃x, y0 , . . . , yn , z0 , . . . , zm :
a∈Σ
n
^
βai (yi−1 , yi ) ∧
i=1
reachα (yn , zm )
m
^
βbj (zj−1 , zj ) ∧
j=1
Da es unentscheidbar ist, ob (v , w ) ∈ K (A)∗ , ist der Satz bewiesen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
90 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Eine Quasiordnung (kurz QO) ist ein Paar (A, ≤), wobei ≤ reflexiv und
transitiv (aber nicht unbedingt antisymmetrisch) ist.
Sei (A, ≤) eine Quasiordnung. Wir schreiben a < b, falls a ≤ b 6≤ a.
Die Relation ≡ ⊆ A × A mit a ≡ b ⇐⇒ a ≤ b ≤ a ist offensichtlich eine
Äquivalenzrelation.
(A, ≤) ist eine Wohlquasiordnung (kurz WQO), falls für jede Folge
a1 , a2 , a3 , . . . von Elementen aus A gilt: ∃i < j : ai ≤ aj .
Lemma (Erdös, Rado)
Sei (A, ≤) eine WQO. Dann gilt für jede Folge a1 , a2 , a3 , . . . von
Elementen aus A: ∃i0 < i1 < i2 · · · : ai0 ≤ ai1 ≤ ai2 ≤ · · · .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
91 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Beweis: Sei M = {i ≥ 0 | ∀j > i : ai 6≤ aj }.
Wäre M unendlich, so könnten wir aus M eine Teilfolge ai0 , ai1 , ai2 , . . . mit
∀p < q : aip 6≤ aiq konstruieren (Widerspruch zu WQO).
M endlich.
Wähle ein i ≥ 0 mit i > m für alle m ∈ M.
Für jedes j ≥ i existiert also ein k > j mit aj ≤ ak .
Dies erlaubt uns, eine unendliche Folge ai0 ≤ ai1 ≤ ai3 ≤ · · · mit i = i0 zu
beginnen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
92 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Beispiel: Sei k ≥ 1 und betrachte auf Nk die folgende Relation ≤:
(a1 , . . . , ak ) ≤ (b1 , . . . , bk )
⇐⇒
∀1 ≤ i ≤ k : ai ≤ bi
Satz von Dickson (1913)
Für jedes k ≥ 1 ist (Nk , ≤) eine WQO.
Beweis: Induktion über k.
IA: k = 1: trivial
IS: Sei k ≥ 2 und seien a1 , a2 , a3 , . . . ∈ Nk .
Sei ai = (xi , bi ) mit xi ∈ N, bi ∈ Nk−1 .
∃i0 < i1 < i2 <: xi0 ≤ xi1 ≤ xi2 ≤ · · · .
Nach IH ist (Nk−1 , ≤) eine WQO.
∃j < k : bij ≤ bik
aij ≤ aik
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
93 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Eine Menge I ⊆ A ist nach oben abgeschlossen, falls gilt:
∀a ∈ I ∀b ∈ A : a ≤ b → b ∈ I .
Für a ∈ A definieren wir ↑ a = {b ∈ A | a ≤ b}.
Eine Basis
S einer nach oben abgeschlossenen Menge I ist eine Menge B ⊆ I
mit I = a∈B ↑ a.
Lemma (Higman 1952)
Sei (A, ≤) eine WQO. Jede nach oben abgeschlossene Menge I ⊆ A hat
eine endliche Basis.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
94 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Beweis: Definiere C = {c ∈ I | ∀a ∈ I : a 6< c} und sei B ⊆ C eine Menge
von Repräsentanten der Äquivalenzklassen {[c]≡ | c ∈ C }, d.h.
C = {c | ∃b ∈ B : b ≡ c} und ∀b1 , b2 ∈ B : b1 = b2 ⇔ b1 ≡ b2
Behauptung: B ist eine Basis von I .
Sei hierzu a ∈ I beliebig.
Angenommen ∀b ∈ B : b 6≤ a.
∀c ∈ C : c 6≤ a.
Wir definieren eine unendliche Folge a = a0 > a1 > · · ·
(widerspricht WQO) induktiv wie folgt:
Seien a0 , . . . , an schon definiert. Dann gilt insbesondere a = a0 ≥ an .
Da c 6≤ a für alle c ∈ C muss an 6∈ C gelten.
Also existiert ein an+1 < an , was die Behauptung beweist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
95 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Angenommen B wäre unendlich.
Seien b0 , b1 , b2 , . . . ∈ B ⊆ C ⊆ I mit bi 6= bj für i 6= j.
∀i < j : bi 6< bj ∧ bj 6< bi .
∀i < j : bi ≤ bj ≤ bi ∨ bi 6≤ bj 6≤ bi .
∀i < j : bi 6≤ bj 6≤ bi .
Widerspruch zu WQO.
Lemma 3
Sei (A, ≤) eine WQO und seien I0 ⊆ I1 ⊆ I2 ⊆ · · · ⊆ A nach oben
abgeschlossen. Dann existiert ein k ≥ 0 mit Ik = Ik+1 = Ik+2 = · · · .
Beweis:
Angenommen es gibt n0 < n1 < n2 < · · · mit In0 ( In1 ( In2 ( · · · .
Für alle i ≥ 1 sei ai ∈ Ini \ Ini−1 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
96 / 198
Wohlstrukturierte Transitionssysteme
Wohlquasiordnungen
Da (A, ≤) eine WQO ist, existieren i < j mit ai ≤ aj .
aj ∈ ↑ ai ⊆ Ini
Dies widerspricht aber aj 6∈ Inj−1 ⊇ Ini .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
97 / 198
Wohlstrukturierte Transitionssysteme
Wohlstrukturierte Transitionssysteme
Ein wohlstrukturiertes Transitionssystem (kurz WTS) ist ein Tupel
T = (V , E , Π, π, ≤), wobei
(V , E , Π, π) ein Transitionssystem ist,
(V , ≤) ist eine WQO, und
≤ ist aufwärts-kompatibel mit E , d.h.
∀(u, u ′ ) ∈ E , v ∈ V : u ≤ v ⇒ ∃v ′ ∈ V : (v , v ′ ) ∈ E ∗ ∧ u ′ ≤ v ′
Die Komponenten Π und π (Markierung der Knoten mit Propositionen)
sind im folgenden nicht wichtig, weshalb wir diese Komponenten
weglassen, d.h. ein WTS ist einfach ein Tupel T = (V , E , ≤).
Für v ∈ V sei:
preT (v ) = {u ∈ V | (u, v ) ∈ E }
sucT (v ) = {u ∈ V | (v , u) ∈ E }
pre∗T (v ) = {u ∈ V | (u, v ) ∈ E ∗ }
suc∗T (v ) = {u ∈ V | (v , u) ∈ E ∗ }
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
98 / 198
Wohlstrukturierte Transitionssysteme
Wohlstrukturierte Transitionssysteme
Für U ⊆ V und X ∈ {pre, suc, pre∗ , suc∗ } sei XT (U) =
Beispiel:
S
v ∈U
XT (v ).
Ein Vektoradditionssystem ist ein endliche Menge von Paaren
S ⊆ Nk × Nk . Die Zahl k ist die Dimension von S.
Sei T (S) = (Nk , ⇒S , ≤), wobei
⇒S = {(a, a′ ) ∈ Nk × Nk | ∃(ℓ, r ) ∈ S : a ≥ ℓ, a′ = a − ℓ + r }.
Dann ist T (S) ein WTS:
Satz von Dickson
Gelte a ⇒S
a′
≤ ist eine WQO.
und sei a ≤ b.
Dann existiert (ℓ, r ) ∈ S mit a ≥ ℓ und a′ = a − ℓ + r .
b ⇒S b − ℓ + r ≥ a − ℓ + r = a′ .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
99 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Sei T = (V , E , ≤) ein WTS im Folgenden.
Satz 13
Sei I ⊆ V nach oben abgeschlossen. Dann ist auch pre∗T (I ) nach oben
abgeschlossen.
Beweis:
Sei u ∈ pre∗T (I ) und v ∈ V mit u ≤ v .
Sei u ′ ∈ I so, dass (u, u ′ ) ∈ E ∗ .
Aufwärts-Kompatibilität
I nach oben abgeschlossen
es existiert v ′ ∈ V mit u ′ ≤ v ′ , (v , v ′ ) ∈ E ∗ .
v′ ∈ I.
v ∈ pre∗T (I ).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
100 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Das WTS T hat effektive Pred-Basen, falls ein Algorithmus für das
folgende Problem existiert:
EINGAGE: v ∈ V .
AUSGABE: eine endliche Basis für ↑ pre(↑ v ).
Wir bezeichnen im Folgenden mit pb(v ) eine endliche Basis für ↑ pre(↑ v ).
S
Für U ⊆ V sei pb(U) = v ∈U pb(v ).
Falls U endlich ist, ist dies eine endliche Basis für ↑ pre(↑ U).
Sei nun T = (V , E , ≤) ein WTS mit effektiven Pred-Basen.
Wir wollen für eine nach oben abgeschlossene Menge I ⊆ V (gegeben
durch eine endliche Basis) eine Basis für die nach Satz 13 nach oben
abgeschlossene Menge pre∗ (I ) berechnen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
101 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Sei also B ⊆ I eine endliche Basis von I .
Wir definieren endliche Mengen K0 ⊆ K1 ⊆ K2 ⊆ · · · ⊆ V induktiv:
K0 = B
Kn+1 = Kn ∪ pb(Kn )
Wegen Lemma 3 gibt es ein kleinstes m ≥ 0 mit:
↑ K0 ⊆ ↑ K1 ⊆ · · · ⊆ ↑ Km−1 ⊆ ↑ Km = ↑ Km+1 = ↑ Km+2 = · · · .
Lemma 4
S
↑ Km = ↑ i≥0 Ki
Beweis: Es gilt
↑
[
Ki =
i≥0
Markus Lohrey (Universität Leipzig)
[
i≥0
↑ Ki =
m
[
↑ Ki = ↑ Km .
i≥0
Verifikation unendlicher Systeme
SS 2008
102 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Lemma 5
S
↑ i≥0 Ki = pre∗ (I )
Beweis:
⊆: Es genügt ↑ Ki ⊆ pre∗ (I ) für alle i ≥ 0 zu zeigen.
Da pre∗ (I ) nach oben abgeschlossen ist (Satz 13), genügt es Ki ⊆ pre∗ (I )
zu zeigen.
Induktion über i ≥ 0:
IA: i = 0.
K0 = B ⊆ I ⊆ pre∗ (I )
IS: Sei i ≥ 0.
Ki+1 = Ki ∪ pb(Ki ).
IH
Ki ⊆ pre∗ (I ).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
103 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Wir müssen also noch pb(Ki ) ⊆ pre∗ (I ) zeigen.
Da pb(Ki ) eine (endliche) Basis für ↑ pre(↑ Ki ) ist, genügt es
↑ pre(↑ Ki ) ⊆ pre∗ (I ) zu zeigen.
Es gilt:
Ki ⊆ pre∗ (I )
↑ Ki ⊆ pre∗ (I )
pre(↑ Ki ) ⊆ pre∗ (I )
↑ pre(↑ Ki ) ⊆ pre∗ (I )
⊇: Sei v ∈ pre∗ (I ).
Dann gibt es ein n ≥ 0 und ein u ∈ I mit (v , u) ∈ E n .
Wir zeigen v ∈ ↑ Kn durch Inkuktion über n ≥ 0.
IA: n = 0.
v ∈ I = ↑ B = ↑ K0
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
104 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
IS: Sei n ≥ 1.
Dann gibt es ein v ′ ∈ pre∗ (I ) mit v ∈ pre(v ′ ) und (v ′ , u) ∈ E n−1 .
IH
v ′ ∈ ↑ Kn−1 f.
v ∈ pre(↑ Kn−1 ) ⊆ ↑ pre(↑ Kn−1 ) = ↑ pb(Kn−1 ) ⊆ ↑ Kn .
Satz 15
Sei T = (V , E , ≤) ein WTS mit den folgenden Eigenschaften:
T hat effektive Pred-Basen.
Die Relation ≤ ist entscheidbar.
Dann kann man für eine gegebene endliche Menge B ⊆ V eine Basis für
pre∗ (↑ B) berechnen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
105 / 198
Wohlstrukturierte Transitionssysteme
Die Saturierungsmethode
Beweis:
Sei I = ↑ B und definiere die Folge K0 ⊆ K1 ⊆ K2 ⊆ · · · von endlichen
Mengen (Folie 102).
Da T effektive Pred-Basen hat, können wir die Mengen K1 , K2 , . . . effektiv
berechnen.
Wir machen dies so lange, bis ein m mit ↑ Km = ↑ Km+1 erreicht wird
(dies muss irgendwann geschehen).
Beachte: Es gilt ↑ Km = ↑ Km+1 genau dann, wenn
∀u ∈ Km+1 ∃v ∈ Km : v ≤ u.
Da ≤ entscheidbar ist, können wir diese Eigenschaft effektiv überprüfen.
Lemma 4 und 5
Km ist eine endliche Basis für pre∗ (I ).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
106 / 198
Wohlstrukturierte Transitionssysteme
Das Überdeckungsproblem
Das Überdeckungsproblem ist das folgende Problem:
EINGABE: Zustände u, v ∈ V .
FRAGE: Gibt es einen Zustand w ∈ V mit (u, w ) ∈ E ∗ und v ≤ w ?
Satz 16
Sei T = (V , E , ≤) ein WTS mit den folgenden Eigenschaften:
T hat effektive Pred-Basen.
Die Relation ≤ ist entscheidbar.
Dann ist das Überdeckungsproblem für T entscheidbar.
Beweis:
Seien u, v ∈ V .
Berechne eine endliche Basis B für pre∗ (↑ v ) (geht nach Satz 15).
Überprüfe, ob u ′ ∈ B mit u ′ ≤ u existiert (geht, da ≤ entscheidbar).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
107 / 198
Wohlstrukturierte Transitionssysteme
Das Überdeckungsproblem
Korollar
Das Überdeckungsproblem für Vektoradditionssysteme ist entscheidbar.
Beweis:
Die komponentenweise Ordnung ≤ auf Nk ist offensichtlich entscheidbar.
Wir müssen also noch zeigen, dass Vektoradditionssysteme effektive
Pred-Basen haben.
Definiere für Vektoren a = (a1 , . . . , ak ) ∈ Nk und b = (b1 , . . . , bk ) ∈ Nk
das Maximum
max(a, b) = (max(a1 , b1 ), . . . , max(ak , bk )).
Dann ist für s ∈ Nk die endliche Menge
B(s) = {max(r , s) − r + ℓ | (ℓ, r ) ∈ S}
eine endliche Basis für ↑ pre(↑ s):
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
108 / 198
Wohlstrukturierte Transitionssysteme
Das Überdeckungsproblem
Offensichtlich gilt B(s) ⊆ pre(↑ s).
Gilt b ∈ ↑ pre(↑ s), dann gibt es (ℓ, r ) ∈ S und Vektoren c, d ∈ Nk mit
b =d +ℓ+c
und r + c ≥ s
Also gilt:
r + c ≥ max(s, r )
c ≥ max(s, r ) − r
b ≥ ℓ + c ≥ max(r , s) − r + ℓ ∈ B(s)
Also: b ∈ ↑ B(s).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
109 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode
Sei T = (V , E , ≤) ein WTS und sei v ∈ V .
Wir konstruieren den Erreichbarkeitsbaum RT(v ) wie folgt (Knoten sind
mit Elementen aus V markiert):
Die Wurzel r von RT(v ) ist mit v markiert.
Sei x ein Knoten von RT(v ), der mit v ′ ∈ V markiert ist.
Wenn auf dem Pfad von der Wurzel r zu x ein Knoten y 6= x mit einer
Markierung u ≤ v ′ existiert, dann ist x ein Blatt von RT(v ).
Wenn auf dem Pfad von der Wurzel r zu x kein Knoten mit einer
Markierung u ≤ v ′ existiert, dann hat x für jedes v ′′ ∈ sucT (v ′ ) einen
mit v ′′ markierten Kindknoten.
Das WTS T ist endlich-verzweigend, falls für jeden Knoten v ∈ V gilt:
sucT (v ) ist endlich.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
110 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode
Satz 17
Für alle v ∈ V gilt:
In RT(v ) gibt es keinen unendlichen Pfad.
Wenn das WTS T endlich verzweigend ist, dann ist RT(v ) endlich.
Beweis:
Angenommen in dem Baum RT(v ) gäbe es einen unendlichen Pfad
r = x 0 → x 1 → x2 → · · · .
Sei vi ∈ V die Markierung des Baumknoten xi .
∀i < j : vi 6≤ vj . Widerspruch zu WQO!
Also gibt es in RT(v ) keine unendlichen Pfade.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
111 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode
Sei nun T endlich verzweigend.
Jeder Knoten in RT(v ) hat nur endlich viele Kinder
(RT(v ) ist endlich verzweigend).
RT(v ) ist ein endlich-verzweigender Baum ohne unendliche Pfade.
Königs Lemma
RT(v ) endlich.
Bemerkungen:
Für den Beweis von Satz 17 haben wir die Aufwärtskompatibilität von
E und ≤ nicht benutzt.
Wenn (i) T endlich verzweigend ist, (ii) die Abbildung v 7→ sucT (v )
berechenbar ist, und (iii) die Relation ≤ entscheidbar ist, dann ist die
Abbildung v 7→ RT(v ) berechenbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
112 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode
Stärkere Formen der Aufwärtskompatibilität:
T ist stark-kompatibel, falls für alle (u, u ′ ) ∈ E , v ≥ u gilt:
∃v ′ ∈ V : (v , v ′ ) ∈ E ∧ u ′ ≤ v ′
T ist transitiv-kompatibel, falls für alle (u, u ′ ) ∈ E , v ≥ u gilt:
∃v ′ ∈ V : (v , v ′ ) ∈ E + ∧ u ′ ≤ v ′
T ist stotternd-kompatibel, falls für alle (u, u ′ ) ∈ E , v0 ≥ u gilt:
∃n ≥ 1, v1 , . . . , vn ∈ V :
n−1
^
((vi , vi+1 ) ∈ E ∧ u ≤ vi ) ∧ u ′ ≤ vn
i=0
T ist reflexiv-kompatibel, falls für alle (u, u ′ ) ∈ E , v ≥ u gilt:
∃v ′ ∈ V : (v , v ′ ) ∈ (E ∪ idV ) ∧ u ′ ≤ v ′
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
113 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode
Es gelten offensichtlich die folgenden Implikationen:
T stark kompatibel
T reflexiv-kompatibel
=⇒
T stotternd-kompatibel
=⇒
T transitiv-kompatibel
=⇒
T aufwärts-kompatibel
=⇒
T aufwärts-kompatibel
Ausserdem ist das WTS T ∗ = (V , E ∗ , ≤) stark kompatibel.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
114 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Termination
Lemma 6
Sei das WTS T = (V , E , ≤) transitiv-kompatibel und sei v ∈ V .
Dann beginnt in v ein unendlicher Pfad genau dann, wenn es in RT(v ) ein
mit v ′ markiertes Blatt gibt, so dass sucT (v ′ ) 6= ∅ gilt.
Beweis:
“⇒”: Angenommen in v beginnt ein unendlicher Pfad:
v0 E v 1 E v 2 E · · · ,
v0 = v
Dann gibt es in RT(v ) einen maximalen Pfad
r = x 0 → x1 → x2 → · · · → x n
(r ist die Wurzel, xn ist ein Blatt), so dass xi mit vi beschriftet ist.
xn ist ein mit vn markiertes Blatt und sucT (vn ) 6= ∅.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
115 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Termination
“⇐”: Angenommen in RT(v ) existiert ein mit u1 markiertes Blatt x, so
dass sucT (u1 ) 6= ∅ gilt.
auf dem Pfad von der Wurzel r nach x existiert ein Knoten y 6= x mit
einer Markierung u0 ≤ u1 .
Es gilt: v E ∗ u0 E + u1 .
Aus (u0 , u1 ) ∈ E + und u0 ≤ u1 folgt mit der transitiven Kompatibilität
von T :
∃u2 ∈ V : (u1 , u2 ) ∈ E + ∧ u1 ≤ u2
Transitive Kompatibilität nochmals angewendet liefert:
∃u3 ∈ V : (u2 , u3 ) ∈ E + ∧ u2 ≤ u3
Allgemein erhalten wir Knoten ui ∈ V (i ≥ 0) mit (ui , ui+1 ) ∈ E + und
ui ≤ ui+1 für alle i ≥ 0.
v E ∗ u0 E + u1 E + u2 E + u3 · · ·
Also beginnt in v ein unendlicher Pfad.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
116 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Termination
Satz 18
Sei T ein WTS mit folgenden Eigenschaften:
1
T ist endlich verzweigend.
2
≤ ist entscheidbar.
3
Die Abbildung v 7→ sucT (v ) ist berechenbar.
4
T ist transitiv-kompatibel.
Dann gibt es einen Algorithmus, der für einen gegebenen Zustand v ∈ V
entscheidet, ob in v ein unendlicher Pfad existiert.
Beweis: Sei v ∈ V gegeben.
Wegen (1), (2) und (3) können wir RT(v ) effektiv berechnen.
Wegen (4) und Lemma 6 beginnt in v ein unendlicher Pfad genau dann,
wenn in RT(v ) ein mit v ′ markiertes Blatt existiert, so dass sucT (v ′ ) 6= ∅.
Wegen (3) ist letzteres entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
117 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Termination
Korollar
Für ein gegebenes Vektoradditionssystem S ⊆ Nk × Nk und s ∈ Nk kann
man effektiv entscheiden, ob in s ein unendlicher ⇒S -Pfad beginnt.
Beweis:
Für ein Vektoradditionssystem S gilt offensichtlich:
1
T (S) ist endlich verzweigend.
2
≤ ist entscheidbar.
3
Die Abbildung v 7→ sucT (S) (v ) ist berechenbar.
4
T (S) ist transitiv kompatibel (sogar stark kompatibel).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
118 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: control-state
maintainability
Lemma 7
Sei T = (V , E , ≤) ein stotternd-kompatibles WTS, sei I ⊆ V nach oben
abgeschlossen, und v ∈ I . Dann sind folgende Aussagen äquivalent:
1
In v beginnt ein maximaler (endlicher oder unendlicher) E -Pfad,
dessen Zustände alle in I liegen.
2
In RT(v ) existiert ein maximaler Pfad (von der Wurzel zu einem
Blatt), dessen Markierungen alle in I liegen.
Beweis:
(1) ⇒ (2): offensichtlich
(2) ⇒ (1): Sei r = x0 → x1 → · · · → xn ein max. Pfad in RT(v ) (r ist die
Wurzel, xn ist ein Blatt), so dass xi mit vi ∈ I markiert ist (v = v0 ).
v = v0 E v 1 E v 2 E · · · E v n
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
119 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: control-state
maintainability
Fall 1: sucT (vn ) = ∅.
v = v0 E v1 E v2 E · · · E vn ist ein max. E -Pfad mit v0 , . . . , vn ∈ I .
Fall 2: sucT (vn ) 6= ∅.
Da xn ein Blatt ist, existiert ein p < n mit vp ≤ vn .
Wir konstruieren nun induktiv einen unendlichen Pfad
v = u0 E u1 E u2 E · · · ,
so dass jeder Zustand ui größer als einer der Zustände vj ∈ I ist.
Dies impliziert dann ui ∈ I für alle i ≥ 0, da I nach oben abgeschlossen ist.
IA: u0 = v0 = v .
IS: Seien u0 , . . . , uk bereits konstruiert.
Dann gilt uk ≥ vj für ein 0 ≤ j ≤ n.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
120 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: control-state
maintainability
Fall 2.1: j < n.
Es gilt (vj , vj+1 ) ∈ E .
Mit vj ≤ uk und der stotternden Kompatibilität von T folgt:
∃ℓ > k, uk+1 , . . . , uℓ ∈ V :
ℓ−1
^
((ui , ui+1 ) ∈ E ∧ ui ≥ vj ) ∧ uℓ ≥ vj+1
i=k
Wir können also den Pfad u0 E u1 E u2 E · · · E uk verlängern zu:
u0 E u1 E u2 E · · · E uℓ .
Fall 2.2: j = n.
Es gilt uk ≥ vj = vn ≥ vp mit p < n.
Wir können deshalb mit p = j wieder zu Fall 2.1 gehen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
121 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: control-state
maintainability
Satz 19
Sei T = (V , E , ≤) ein WTS mit folgenden Eigenschaften:
1
T ist endlich verzweigend.
2
≤ ist entscheidbar.
3
Die Abbildung v 7→ sucT (v ) ist berechenbar.
4
T ist stotternd-kompatibel.
Dann kann man folgendes Problem effektiv entscheiden
(control-state maintainability):
EINGABE: v ∈ V und eine endliche Menge Q ⊆ V .
FRAGE: Beginnt in v ein maximaler E -Pfad, so dass für jeden Zustand u
auf diesem Pfad gilt: ∃q ∈ Q : q ≤ u?
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
122 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: control-state
maintainability
Beweis:
(1), (2) und (3)
RT(v ) kann effektiv berechnet werden.
Wegen (4) und Lemma 7 genügt es zu überprüfen, ob in dem endlichen
Baum RT(v ) ein maximaler Pfad existiert, dessen Markierungen alle zu
↑ Q gehören.
Da Q endlich ist, ist dies mit (2) entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
123 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Ein WTS T = (V , E , ≤) ist strikt kompatibel, falls für alle u, u ′ , v ∈ V
gilt:
(u < v ∧ (u, u ′ ) ∈ E ) ⇒ ∃v ′ : (u ′ < v ′ ∧ (v , v ′ ) ∈ E ∗ )
(7)
Beachte:
Da T ein WTS ist, müssen E und ≤ auch im gewöhnlichen Sinne
kompatibel sein, d.h für alle u, u ′ , v ∈ V gilt:
(u ≤ v ∧ (u, u ′ ) ∈ E ) ⇒ ∃v ′ : (u ′ ≤ v ′ ∧ (v , v ′ ) ∈ E ∗ )
(8)
Falls ≤ eine partielle Ordnung ist (d.h. ≤ is auch antisymmetrisch),
so gilt (7) ⇒ (8)
Das WTS T = (V , E , ≤) ist strikt transitiv kompatibel, falls für alle
u, u ′ , v ∈ V gilt:
(u < v ∧ (u, u ′ ) ∈ E ) ⇒ ∃v ′ : (u ′ < v ′ ∧ (v , v ′ ) ∈ E + )
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
124 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Lemma 8
Sei T = (V , E , ≤) ein WTS mit folgenden Eigenschaften:
T ist endlich verzweigend.
T ist strikt transitiv kompatibel.
≤ ist eine partielle Ordnung.
Dann sind für alle v ∈ V die beiden folgenden Eigenschaften äquivalent:
1
2
suc∗T (v ) ist unendlich.
In RT(v ) existiert ein mit v1 markiertes Blatt x, so dass auf dem Pfad
von der Wurzel zu x ein mit v0 < v1 markierter Knoten y 6= x
existiert.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
125 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Beweis:
(1) ⇐ (2):
Es gilt v E ∗ v0 E + v1 .
Aus der strikt transitiven Komaptibilität von T folgt die Existenz eines
v2 > v1 mit v1 E + v2 .
Durch Wiederholung dieses Arguments erhalten wir Zustände
v0 < v1 < v2 < · · · mit
v E ∗ v0 E + v1 E + v2 E + v3 E + · · · .
Für i 6= j gilt vi < vj und damit vi 6= vj .
suc∗T (v ) ist unendlich.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
126 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
(2) ⇐ (1): Sei suc∗T (v ) unendlich.
Behauptung: Es existiert ein unendlicher Pfad
v = v0 E v 1 E v 2 E · · ·
mit vi 6= vj für i 6= j.
Betrachte hierzu den Baum B mit der Knotenmenge
{u0 u1 · · · un ∈ V ∗ | u0 = v ,
^
ui 6= uj ,
i6=j
n−1
^
(ui , ui+1 ) ∈ E }
i=0
und allen Kanten der Form u0 u1 · · · un → u0 u1 · · · un un+1 .
Da suc∗T (v ) unendlich ist, und jeder Knoten in suc∗T (v ) durch einen
zyklenfreien Pfad erreicht werden kann, ist B ein unendlicher Baum.
Da T endlich verzweigend ist, ist auch B endlich verzweigend.
Königs Lemma
B hat einen unendlichen Pfad.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
127 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Dieser unendliche Pfad liefert einen unendlichen Pfad
v = v0 E v1 E v2 E · · · mit vi 6= vj für i 6= j.
Im Baum RT(v ) existiert ein maximaler Pfad x0 → x1 → · · · → xn , so dass
xi mit vi markiert ist (xn ist ein Blatt).
Da sucT (vn ) 6= ∅, existiert ein j < n mit vj ≤ vn .
Da vj 6= vn und ≤ eine partielle Ordnung ist, folgt vj < vn .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
128 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Satz 20
Sei T = (V , E , ≤) ein WTS mit folgenden Eigenschaften:
1
T ist endlich verzweigend.
2
≤ ist entscheidbar und eine partielle Ordnung.
3
Die Abbildung v 7→ sucT (v ) ist berechenbar.
4
T ist strikt transitiv kompatibel.
Dann gibt es einen Algorithmus, der für einen gegebenen Zustand v ∈ V
entscheidet, ob suc∗T (v ) unendlich ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
129 / 198
Wohlstrukturierte Transitionssysteme
Die Baumsaturierungsmethode: Beschränktheit
Beweis:
(1), (2) und (3)
RT(v ) kann effektiv berechnet werden.
Wegen (2), (4) und Lemma 8 genügt es zu überprüfen, ob in RT(v ) ein
mit u markiertes Blatt x existiert, so dass auf dem Pfad von der Wurzel zu
x ein mit u ′ < u markierter Knoten y 6= x liegt.
Da ≤ (und damit <) entscheidbar ist, kann dies effektiv überprüft
werden.
Korollar
Für ein gegebenes Vektoradditionssystem S ⊆ Nk × Nk und s ∈ Nk kann
man effektiv entscheiden, ob suc∗T (S) (s) unendlich ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
130 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Ein affines Vektoradditionssystem S der Dimension k ist eine endliche
Menge von Paaren der Form (ℓ, r , R), wobei
ℓ, r ∈ Nk und
R ∈ Nk×k (d.h. R ist eine (k × k)-Matrix über N).
Für ein affines Vektoradditionssystem S definieren wir die Relation
⇒S ⊆ Nk × Nk wie folgt:
a ⇒S a′
⇐⇒
∃c ∈ Nk ∃(ℓ, r , R) ∈ S : a = c + ℓ ∧ a′ = c · R + r
Äquivalent: ∃(ℓ, r , R) ∈ S : a ≥ ℓ ∧ a′ = (a − ℓ) · R + r
Sei wieder T (S) = (Nk , ⇒S , ≤).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
131 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Affine Vektoradditionssysteme verallgemeinern Transfer-Petrinetze und
Reset-Petrinetze:
In Transfer-Petrinetzen können Transitionen zusätzlich zu ihrer
normalen Wirkung noch den kompletten Inhalt (= alle Token) einer
Stelle in eine andere Stelle übertragen.
In Reset-Petrinetzen können Transitionen zusätzlich zu ihrer normalen
Wirkung noch den kompletten Inhalt (= alle Token) einer Stelle
löschen.
Lemma 9
Sei S ein affines Vektoradditionssystem. Dann ist T (S) ein
stark-kompatibles WTS mit effektiven Pred-Basen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
132 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Beweis:
Gelte a ⇒S a′ und sei b ≥ a.
es existiert (ℓ, r , R) ∈ S mit a ≥ ℓ und a′ = (a − ℓ) · R + r .
b ≥ ℓ und b ⇒S (b − ℓ) · R + r =: b ′ .
Da die Matrix R nur Einträge ≥ 0 hat, folgt aus a ≤ b:
a′ = (a − ℓ) · R + r ≤ (b − ℓ) · R + r = b ′
Dies zeigt die starke Kompatibilität.
Wir müssen noch die Existenz effektiver Pred-Basen zeigen.
Sei hierzu s ∈ Nk .
Wir müssen eine endliche Basis von
_
↑ pre(↑ s) = {x ∈ Nk | ∃y ∈ Nk
x ≥ y ≥ ℓ ∧ (y − ℓ) · R + r ≥ s}
(ℓ,r ,R)∈S
berechnen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
133 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Dies ist mittels linearer Algebra möglich.
Alternativ (aber weniger effizient): Schreibe eine FO-Formel ϕ(x1 , . . . , xk )
über (N, +), so dass für alle v ∈ Nk gilt:
(N, +) |= ϕ(v ) ⇐⇒ v ∈ ↑ pre(↑ s)
In der Formel ϕ dürfen wir ruhig ≤ und Konstanten aus N benutzen, denn
für alle x, y ∈ N gilt:
x ≤ y ⇐⇒ ∃z : x + z = y
x = 0 ⇐⇒ x + x = x
x < y ⇐⇒ ∃z : x + z = y ∧ z 6= 0
y = x + 1 ⇐⇒ x < y ∧ ∀z : x < z < y → (z = x ∨ z = y )
Mit Formeln für x = 0 und y = x + 1 lassen sich dann beliebige
Konstanten n ∈ N definieren.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
134 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Da FOTh(N, +) entscheidbar ist (siehe Abschnitt über automatische
Strukturen), können wir eine endliche Basis für ↑ pre(↑ s) wie folgt
berechnen:
Setze S := ∅.
Zähle alle Vektoren v ∈ Nk systematisch auf.
Falls (N, +) |= ϕ(v ) (d.h. v ∈↑ pre(↑ s)) gilt, setze S := S ∪ {v }.
Stoppe, sobald
(N, +) |= ∀x1 · · · ∀xk : ϕ(x1 , . . . , xk ) →
_
s ≤ (x1 , . . . , xk )
s∈S
gilt. Dann ist ↑ pre(↑ s) = ↑ S und S ist eine endliche Basis von
↑ pre(↑ s).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
135 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Korollar
Für ein gegebenes affines Vektoradditionssystem S sind folgende
Eigenschaften entscheidbar:
1
2
3
Überdeckungsproblem: Gegeben s, t ∈ Nk , gilt
∃x ∈ Nk : s ⇒∗S x ≥ t?
Termination: Gegeben s ∈ Nk , startet in s ein unendlicher ⇒S -Pfad?
Control-state maintainability: Gegeben s ∈ Nk und eine endliche
Teilmenge Q ⊆ Nk , beginnt in s ein maximaler ⇒S -Pfad, der
vollständig in ↑ Q enthalten ist?
Beweis: Mit Lemma 9 ergibt sich Aussage
(1) aus Satz 16,
(2) aus Satz 18, und
(3) aus Satz 19.
Für (2) und (3) muss man noch beachten, dass T (S) endlich verzweigend
ist, und die Abbildung s 7→ sucT (S) (s) berechenbar ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
136 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Beachte: Für ein affines Vektoradditionssystem S ist T (S) im
Allgemeinen nicht strikt kompatibel.
Beispiel: Sei S = {(0, 0, 0)}. Dies ist ein affines Vektoradditionssystem in
der Dimension 1; 0 bezeichnet hierbei die (1 × 1)-dimensionale 0-Matrix.
T (S) = (N, {(n, 0) | n ≥ 0}, ≤) ist nicht strikt kompatibel.
Ein strikt affines Vektoradditionssystem (in der Dimension k) ist ein affines
Vektoradditionssystem S, so dass für alle (ℓ, r , R) ∈ S und alle 1 ≤ i ≤ k
gilt: ∃j : Ri,j > 0 (in jeder Zeile existiert ein von Null verschiedener
Eintrag).
Lemma 10
Sei S ein strikt affines Vektoradditionssystem. Dann ist T (S) ein WTS mit
strikt starker Kompatibilität.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
137 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Beweis:
Wir müssen Folgendes zeigen:
Sei R ∈ Nk×k mit ∀i∃j : Ri,j > 0 und seien a, b ∈ Nk mit a < b.
Dann gilt a · R < b · R.
Hierfür genügt es offenbar zu zeigen:
Sei R ∈ Nk×k mit ∀i∃j : Ri,j > 0 und sei a ∈ Nk mit a > 0.
Dann gilt a · R > 0.
Wegen a > 0 gibt es ein i mit ai > 0.
Da ∀i∃j : Ri,j > 0 gilt, gibt es ein j mit Ri,j > 0.
Dann gilt:
(a · R)j =
k
X
an · Rn,j ≥ ai · Ri,j > 0.
n=1
a · R > 0.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
138 / 198
Wohlstrukturierte Transitionssysteme
Erweiterungen von Vektoradditionssystemen (Petrinetzen)
Korollar
Für ein gegebenes strikt affines Vektoradditionssystem S und s ∈ Nk kann
man effektiv entscheiden, ob suc∗T (S) (s) endlich ist.
D.h. Beschränktheit ist entscheidbar für strikt affine
Vektoradditionssysteme.
Beweis:
Folgt aus Lemma 10 und Satz 20.
Bemerkungen: Beschränktheit ist unentscheidbar für affine
Vektoradditionssysteme (sogar für Reset-Petrinetze), siehe z. B. Dufourd,
Schnoebelen, Jancar. Boundedness of Reset P/T Nets. In Proceedings of
ICALP 1999, Lecture Notes in Computer Science 1644, S. 301–310,
Springer 1999.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
139 / 198
Wohlstrukturierte Transitionssysteme
WQOs auf Wörtern
Sei Σ ein endliches Alphabet.
Für Wörter u, v ∈ Σ∗ schreiben wir u v genau dann, wenn
u = a1 a2 · · · an für a1 , . . . , an ∈ Σ und v ∈ Σ∗ a1 Σ∗ a2 · · · Σ∗ an Σ∗
(u ist ein Teilwort von v ).
Satz 21 (Higman 1952)
(Σ∗ , ) ist eine WQO.
Beweis:
Offensichtlich ist (Σ∗ , ) eine Quasiordnung (sogar eine partielle
Ordnung).
Angenommen es gibt eine Folge u0 , u1 , u2 , . . . ∈ Σ∗ , so dass ui 6 uj für
alle i < j.
Wir nennen im folgenden eine solche Folge schlecht.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
140 / 198
Wohlstrukturierte Transitionssysteme
WQOs auf Wörtern
Wir definieren nun eine neue schlechte Folge v0 , v1 , v2 , . . . ∈ Σ+ wie folgt:
1 v sei ein kürzestes Wort, so dass eine mit v beginnende schlechte
0
0
Folge existiert.
2 v sei ein kürzestes Wort, so dass eine mit v , v beginnende schlechte
1
0 1
Folge existiert.
3 v sei ein kürzestes Wort, so dass eine mit v , v , v beginnende
2
0 1 2
schlechte Folge existiert.
..
.
Da Σ endlich ist gibt es ein Symbol a ∈ Σ und eine Teilfolge vi0 , vi1 , vi2 , . . .
(i0 < i1 < i2 < · · · ) mit vij ∈ a Σ∗ für alle j ≥ 0.
Sei vij = a wij .
Die Folge v0 , v1 , . . . , vi0 −1 , wi0 , wi1 , wi2 , . . . ist dann wieder schlecht:
Würde wij wik für j < k gelten, so würde vij = awij awik = vik gelten.
Widerspruch zur Wahl von vi0 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
141 / 198
Wohlstrukturierte Transitionssysteme
WQOs auf Wörtern
Wir benötigen auch noch das folgende einfache Lemma:
Lemma 11
Seien (A1 , ≤1 ) und (A2 , ≤2 ) WQOs.
Definiere die “Produktordnung” auf A1 × A2 :
(a1 , a2 ) ≤ (a1′ , a2′ )
⇐⇒
a1 ≤1 a1′ ∧ a2 ≤2 a2′
Dann ist (A1 × A2 , ≤) wieder eine WQO.
Beweis:
Offensichtlich ist (A1 × A2 , ≤) eine Quasiordnung.
Sei nun (a1,1 , a2,1 ), (a1,2 , a2,2 ), (a1,3 , a2,3 ), . . . eine unendliche Folge in
A1 × A2 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
142 / 198
Wohlstrukturierte Transitionssysteme
WQOs auf Wörtern
Da (A1 , ≤1 ) eine WQO ist, gibt es nach dem Lemma von Erdös und Rado
in der Folge a1,1 , a1,2 , a1,3 , . . . eine unendliche Teilfolge
a1,i1 ≤1 a1,i2 ≤1 a1,i3 ≤1 · · ·
(i1 < i2 < i3 < · · · ).
Da (A2 , ≤2 ) eine WQO ist, gibt es in der Folge a2,i1 , a2,i2 , a2,i3 , . . . Indizes
k < ℓ mit a2,ik ≤2 a2,iℓ .
(a1,ik , a2,ik ) ≤ (a1,iℓ , a2,iℓ ) und ik < iℓ .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
143 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Sei n ≥ 1. Ein n-Kanalsystem ist ein Tupel K = (Q, Σ, ∆) mit:
Q ist eine endliche Menge von Zuständen,
Σ ist ein endliches Alphabet von Nachrichtensymbolen,
∆ ⊆ Q × {i!a, i?a | 1 ≤ i ≤ n, a ∈ Σ} × Q ist die Menge der
Transitionen
Interpretation:
(p, i!a, q): Wenn der aktuelle Zustand p ist, dann kann die Nachricht
a in die Warteschlange für Kanal i hinten angehängt werden. Der
neue Zustand ist dann q.
(p, i?a, q): Wenn der aktuelle Zustand p ist, und in der
Warteschlange für Kanal i die Nachricht a ganz vorne liegt, dann
kann diese Nachricht aus dem Kanal entfernt werden und in den
Zustand q gewechselt werden.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
144 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Formal:
Eine Konfiguration für K ist ein (n + 1)-Tupel
(p, u1 , u2 , . . . , un ) ∈ Q × (Σ∗ )n .
Für zwei Konfigurationen (p, u1 , u2 , . . . , un ) und (q, v1 , v2 , . . . , vn )
und eine Transition δ = (p, c, q) ∈ ∆ schreiben wir
(p, u1 , u2 , . . . , un ) ⇒δ (q, v1 , v2 , . . . , vn ),
falls einer der beiden folgenden Fälle gilt:
c = i!a, vi = aui , vj = uj falls j 6= i
c = i?a, ui = vi a, vj = uj falls j 6= i
Es sei ⇒K =
[
⇒δ .
δ∈∆
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
145 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Bemerkung:
Ein zu Kanalsystemen äquivalentes Modell ist das der kommunizierenden
Automaten. Hierbei hat man n endliche Automaten, wobei das Alphabet
für den i-ten Automaten {j!a, j?a | 1 ≤ j ≤ n, j 6= i, a ∈ Σ} ist.
j!a (bzw. j?a) bedeutet hierbei, dass Automat i an den Automaten j die
Nachricht a sendet (bzw. vom Automaten j die Nachricht a empfängt).
Solch ein kommunizierender Automat entspricht
Qn einem
n(n − 1)-Kanalsystem mit Zustandsmenge i=1 Qi (wobei Qi die
Zustandsmenge des i-ten Automaten ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
146 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Zunächst die schlechten Nachrichten:
Satz 22 (Brand, Zafiropulo 1983)
Es existiert ein 1-Kanalsystem K = (Q, Σ, ∆), für welches folgendes
Problem (Erreichbarkeitsproblem) unentscheidbar ist:
INPUT: Zwei Konfigurationen c1 , c2 ∈ Q × Σ∗ .
FRAGE: Gilt c1 ⇒∗K c2 ?
Beweis:
Der Beweis ähnelt dem Beweis von Satz 10.
(Existenz eines automatischen Graphen mit unentscheidbaren
Erreichbarkeitsproblem).
Sei T = (Q, Γ, δ, q0 , qf ) eine 1-Band-Turingmaschine (mit einem
einseitig-unendlichen Band), die eine unentscheidbare Menge akzeptiert
(z. B. das Halteproblem).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
147 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Q ist die endliche Menge der Zustände.
Γ ist das Bandalphabet.
∈ Γ ist das Blanksymbol. Alle Bandzellen, die nicht im Bereich des
Eingabestrings w ∈ Γ∗ liegen, enthalten zu Beginn .
δ ⊆ (Q \ {qf }) × Γ × Q × Γ × {→, ←} ist die Übergangsrelation.
q0 ∈ Q ist der Anfangszustand, qf ∈ Q ist der Endzustand.
Eine Konfiguration von T kann durch ein Wort c = uqv ∈ Γ∗ QΓ+
repräsentiert werden:
u ist der Inhalt des Bandabschnitts links vom Schreiblesekopf.
q ist der aktuelle Zustand.
v ist der Inhalt des Bandabschnitts rechts vom Schreiblesekopf,
inklusive des gerade gelesenen Symbols.
Bei Eingabe w ∈ Γ∗ ist q0 w die initiale Konfiguration.
T terminiert genau dann, wenn der Endzustand qf erreicht wird.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
148 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Wir simulieren T durch das 1-Kanalsystem
K = (Q ∪ {del}, Γ ∪ {b
a | a ∈ Γ} ∪ {⊳, b
⊳}, ∆)
mit den folgenden Transitionen:
?a !a
für alle p ∈ Q \ {qf }, a ∈ Γ ∪ {⊳}
?b
a !b ?c !b
c
für alle (p, a, q, b, ←) ∈ δ, c ∈ Γ
p −−−→ p
p −−−−−−→ q
?b
⊳ !⊳ !b ?c !b
c
p −−−−−−−−→ q für alle (p, , q, b, ←) ∈ δ, c ∈ Γ
?c !b
c ?b
a !b
für alle (p, a, q, b, →) ∈ δ, c ∈ Γ
?b
⊳ !b
⊳ !b
für alle (p, , q, b, →) ∈ δ
?x
für alle x ∈ Γ ∪ {b
a | a ∈ Γ} ∪ {⊳, b
⊳}
p −−−−−−→ q
p −−−−→ q
qf −→ del
?x
del −→ del
Markus Lohrey (Universität Leipzig)
für alle x ∈ Γ ∪ {b
a | a ∈ Γ} ∪ {⊳, b
⊳}
Verifikation unendlicher Systeme
SS 2008
149 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
Dann gilt für alle Eingaben a1 a2 · · · an (n ≥ 1, a1 , . . . , an ∈ Γ):
T akzeptiert die Eingabe a1 a2 · · · an ⇐⇒ (q0 , ab1 a2 · · · an ⊳) ⇒K (del, ε).
Intuition:
Eine Konfiguration von K der Form
au2 ⊲ v ) bzw.
(p, u1b
av2 )
(p, u ⊲ v1b
repräsentiert die folgende Konfiguration der Turingmaschine T :
vu1 pau2
bzw. v1 qav2 u
Eine Konfiguration von K der Form (p, u b
⊲ v ) repräsentiert die
Konfiguration v u p der Turingmaschine T .
Das Symbol ⊲ (bzw. b
⊲) markiert also das Bandende, das Symbol b
a
markiert die aktuelle Position des Schreiblesekopf.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
150 / 198
Wohlstrukturierte Transitionssysteme
Kanalsysteme (channel systems)
?a !a
Mit den Transitionen p −−−→ p (p ∈ Q \ {qf }, a ∈ Γ ∪ {⊳}) kann das Band
solange rotiert werden, bis ein Symbol der Form b
a oder b
⊲ ganz oben in der
Warteschlange ist.
Mit den Transitionen
?b
a !b ?c !b
c
p −−−−−−→ q
für alle (p, a, q, b, ←) ∈ δ, c ∈ Γ
?b
⊳ !⊳ !b ?c !b
c
p −−−−−−−−→ q für alle (p, , q, b, ←) ∈ δ, c ∈ Γ
können dann Linksbewegungen von T simuliert werden, während mit den
Transitionen
?c !b
c ?b
a !b
p −−−−−−→ q für alle (p, a, q, b, →) ∈ δ, c ∈ Γ
?b
⊳ !b
⊳ !b
p −−−−→ q
für alle (p, , q, b, →) ∈ δ
Rechtsbewegungen von T simuliert werden können.
Bei der ersten Transition muss K nichtdeterministisch raten, dass das
zweitoberste Symbol in der Warteschlange von der Form b
a ist.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
151 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Verlustbehaftete n-Kanalsysteme modellieren kommunizierende Systeme
mit unzuverlässigen Kanälen:
Nachrichten können in Kanälen verloren gehen.
Syntaktisch ist ein verlustbehaftetes n-Kanalsysteme K = (Q, Σ, ∆) wie
ein (zuverlässiges) n-Kanalsystem definiert.
Für Konfigurationen (p, u1 , . . . , un ) und (q, v1 , . . . , vn ) schreiben wir
(p, u1 , . . . , un ) 99KK (q, v1 , . . . , vn ), falls Konfigurationen (p, u1′ , . . . , un′ )
und (q, v1′ , . . . , vn′ ) existieren mit:
(p, u1′ , . . . , un′ ) ⇒K (q, v1′ , . . . , vn′ ) und ∀i ∈ {1, . . . , n} : ui′ ui , vi vi′ .
Systemübergänge der Form (p, u1 , . . . , un ) ⇒K (q, v1 , . . . , vn ) nennen wir
perfekte Systemübergänge
Idee hinter der Definition von 99KK :
Nachrichten können vor sowie nach perfekten Systemübergängen in
Kanälen verloren gehen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
152 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Wir erweitern die Ordnung von Σ∗ auf die Menge aller Konfigurationen
Q × (Σ∗ )n wie folgt:
(p, u1 , . . . , un ) (q, v1 , . . . , vn ) ⇐⇒ p = q ∧ ∀i ∈ {1, . . . , n} : ui vi
Wegen Lemma 11 ist (Q × (Σ∗ )n , ) eine WQO.
Satz 23
Sei K = (Q, Σ, ∆) ein verlustbehaftetes n-Kanalsystem.
Dann ist T (K ) = (Q × (Σ∗ )n , 99KK , ) ein WTS mit
1
starker Kompatibilität und
2
effektiven Pred-Basen.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
153 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Beweis:
(1) T (K ) ist stark kompatibel: trivial
(2) T (K ) hat effektive Pred-Basen.
Für (q, w1 , . . . , wn ) ∈ Q × (Σ∗ )n müssen wir eine endliche Basis von
↑pre ↑(q, w1 , . . . , wn ) finden. Hierbei wird pre bezüglich 99KK berechnet.
Für U ⊆ Q × (Σ∗ )n und δ ∈ ∆ definiere preδ (U) = {x | ∃y ∈ U : x ⇒δ y }
(Menge aller Vorgänger von U bezüglich perfekter Systemübergänge
mittels der Transition δ). Dann gilt:
[
↑pre ↑(q, w1 , . . . , wn ) =
↑ preδ ↑(q, w1 , . . . , wn )
δ∈∆
=
[
↑ preδ (q, ↑w1 , . . . , ↑wn )
δ∈∆
Hierbei ist (q, ↑w1 , . . . , ↑wn ) eine Abkürzung für {q} ×
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
Qn
i=1
↑wi .
SS 2008
154 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Wir berechnen eine endliche Basis für ↑preδ (q, ↑w1 , . . . , ↑wn ):
Fall 1: δ = (p, i!a, q)
Fall 1.1: wi 6∈ aΣ∗ .
↑ preδ (q, ↑w1 , . . . , ↑wn ) = ↑ preδ (q, ↑w1 , . . . , ↑wi−1 , a ↑wi , ↑wi+1 , . . . ↑wn )
= ↑ (p, ↑w1 , . . . , ↑wi−1 , ↑wi , ↑wi+1 , . . . ↑wn )
= (p, ↑w1 , . . . , ↑wn )
Fall 1.2: wi = au.
↑ preδ (q, ↑w1 , . . . , ↑wn ) = ↑ preδ (q, ↑w1 , . . . , ↑wi−1 , a ↑u, ↑wi+1 , . . . ↑wn )
= ↑ (p, ↑w1 , . . . , ↑wi−1 , ↑u, ↑wi+1 , . . . ↑wn )
= (p, ↑w1 , . . . , ↑wi−1 , ↑u, ↑wi+1 , . . . ↑wn )
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
155 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Fall 2: δ = (p, i?a, q)
↑ preδ (q, ↑w1 , . . . , ↑wn ) = ↑ (p, ↑w1 , . . . , ↑wi−1 , (↑wi )a, ↑wi+1 , . . . , ↑wn )
= (p, ↑w1 , . . . , ↑wi−1 , ↑(wi a), ↑wi+1 , . . . , ↑wn ).
In jedem der drei Fälle erhalten wir also eine endliche Basis für
↑ preδ (q, ↑w1 , . . . , ↑wn ), die nur aus einer Konfiguration besteht.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
156 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Korollar
Für ein gegebenes verlustbehaftetes n-Kanalsystem K = (Q, Σ, ∆) sind
folgende Eigenschaften entscheidbar:
1
Erreichbarkeit: Gilt (p, u1 , . . . , un ) 99K∗K (q, v1 , . . . , vn ) für gegebene
Konfigurationen (p, u1 , . . . , un ) und (q, v1 , . . . , vn )?
2
Termination: Beginnt in (p, u1 , . . . , un ) ein unendlicher 99KK Pfad für
eine gegebene Konfigurationen (p, u1 , . . . , un )?
3
Control-state maintainability
Beweis:
Offensichtlich ist für T (K ) = (Q × (Σ∗ )n , 99KK , ) die Abbildung
(p, u1 , . . . , un ) 7→ sucT (K ) (p, u1 , . . . , un ) berechenbar und die Ordnung entscheidbar.
Zu (1): Satz 16
Überdeckungsproblem für T (K ) entscheidbar.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
157 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Für Konfigurationen (p, u1 , . . . , un ), (q, v1 , . . . , vn ) gilt jedoch
(p, u1 , . . . , un ) 99K∗K (q, v1 , . . . , vn )
genau dann, wenn
∃(r , w1 , . . . , wn ) : (p, u1 , . . . , un ) 99K∗K (r , w1 , . . . , wn ) (q, v1 , . . . , vn ).
zu (2): Folgt aus Satz 18
zu (3): Folgt aus Satz 19
Bemerkung: T (K ) (für ein verlustbehaftetes n-Kanalsystem) ist i.A. nicht
strikt kompatibel.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
158 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Erinnerung: Die Klasse der primitiv-rekursiven Funktionen (von N nach
N) stimmt mit der Klasse der LOOP-berechenbaren Funktionen überein.
Intuitiv: Primitiv-rekursive Funktionen können durch Programme die
außer elementaren Anweisungen und der Programmverkettung nur
FOR-Schleifen verwenden.
Ein Entscheidungsproblem L ⊆ N ist primitiv-rekursiv, wenn seine
charakteristische Funktion primitiv-rekursiv ist.
Wir definieren eine Folge von Funktionen An : N → N (n ≥ 2) induktiv wie
folgt:
A2 (k) = 2k
An (k) = Akn−1 (1) = An−1 ◦ An−1 ◦ · · · ◦ An−1 (1) für n > 2
|
{z
}
k mal
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
159 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Eigenschaften der Funktionen An
1
An (0) = 1 für alle n > 2
2
An (1) ≤ 2 für alle n ≥ 2
3
A3 (k) = 2k
4
An (k) ≥ k + 1 falls n > 2 oder k > 0
5
An (k + 1) > An (k) für alle n ≥ 2, k ≥ 0
6
An+1 (k) ≥ An (k) für alle n ≥ 2, k ≥ 0
Wir beweisen (4)–(6) simultan durch Induktion über n ≥ 2:
Induktionsanfang:
(4) A2 (k) = 2k ≥ k + 1 für k > 0.
(4) A2 (k + 1) = 2(k + 1) > 2k = A2 (k) für k ≥ 0.
(4) A3 (k) = 2k ≥ 2k für k ≥ 0.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
160 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Induktionsschritt: Seien (4)–(6) bereits für n ≥ 2 gezeigt.
IH
IH
IH
(3) An+1 (k) = Akn (1) ≥ Ank−1 (2) ≥ · · · ≥ A0n (k + 1) = k + 1.
IH
k
(4) An+1 (k + 1) = Ak+1
n (1) = An (An (1)) = An (An+1 (k)) ≥ An+1 (k) + 1.
IH
(5) An+2 (k) = Akn+1 (1) ≥ Akn (1) = An+1 (k)
Die Ackermann-Funktion ist definiert durch
Ack(n) = An (2) für n ≥ 2.
Satz (Ackermann)
Sei f : N → N primitiv rekursiv. Dann existiert ein n ∈ N mit
f (m) < Ack(m) für alle m ≥ n.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
161 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Die “inversen” Funktionen A−1
n : N → N (n ≥ 2) sind definiert durch
A−1
n (m) = max{k | An (k) ≤ m}
(nicht definiert für m = 0 und n > 2).
Beachte:
k ≤ A−1
n (m) ⇐⇒ An (k) ≤ m
A−1
n (2) ≥ 1 (für alle n ≥ 2), denn An (1) ≤ 2.
−ℓ
Für n ≥ 3 gilt A−1
n (m) = max{ℓ | An−1 (m) ≥ 1}.
A−1
n (m) = k ⇐⇒ An (k) ≤ m ∧ An (k + 1) > m
⇐⇒ Akn−1 (1) ≤ m ∧ Ak+1
n−1 (1) > m
−(k+1)
⇐⇒ 1 ≤ A−k
n−1 (m) ∧ 1 > An−1
⇐⇒ k = max{ℓ |
Markus Lohrey (Universität Leipzig)
A−ℓ
n−1 (m)
Verifikation unendlicher Systeme
(m)
≥ 1}
SS 2008
162 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
−1
A−1
n ist monoton: An (An (m)) ≤ m < m + 1.
−1
A−1
n (m) ≤ An (m + 1)
−ℓ
Für n ≥ 3 gilt A−1
n (m) = max{ℓ | An−1 (m) = 1}.
Sei ℓ maximal mit A−ℓ
n−1 (m) ≥ 1 (
ℓ = A−1
n (m)).
Angenommen es gilt A−ℓ
n−1 (m) ≥ 2.
−(ℓ+1)
An−1
−ℓ
−1
(m) = A−1
n−1 (An−1 (m)) ≥ An−1 (2) ≥ 1
Widerspruch zur Maximalität von ℓ.
A−ℓ
n−1 (m) = 1
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
163 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
In allen folgenden Kanalsystemen sei das Nachrichtenalphabet
∆ = {⊲, , ⊳}.
Für k ≥ 0 sei ⌈k⌉ = ⊲ k ⊳.
Unser Ziel im Folgenden ist die Konstruktion von verlustbehafteten
n-Kanalsystemen En (expander) und Fn (folder), die in einem gewissen
Sinne die Funktionen An bzw. A−1
n schwach berechnen.
Das System En benutzt Tn (transfer), welches den Inhalt von Kanal 1 in
Kanal n kopiert:
n!
tn 1? ⊳ 1!⊳
n? ⊳ n!⊳
1?
1? ⊲ 1!⊲
n? ⊲ n!⊲ xn
1?
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
164 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Lemma 12
Für alle p1 , . . . , pn , p1′ , . . . , pn′ ≥ 0 gilt:
(tn , ⌈p1 ⌉, . . . , ⌈pn ⌉) 99K∗Tn (xn , ⌈p1′ ⌉, . . . , ⌈pn′ ⌉)
⇐⇒
p1 ≥ 1, p1′ = 0, pi′ ≤ pi (1 < i < n), pn′ ≤ p1
Beweis:
“⇐”: Gelte p1 ≥ 1, p1′ = 0, pi′ ≤ pi (1 < i < n), pn′ ≤ p1 .
Wir erhalten die folgende Kette von Systemübergängen:
p1
pn
(tn , ⌈p1 ⌉, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⌈pn ⌉) ⇒+
Tn (•, ⊳ ⊲ , ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⊳ ⊲ )
p1
pn
⇒+
Tn (•, ⊳ ⊲, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⊳ ⊲ )
p1
pn
⇒+
Tn (•, ⊲⊳, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⊳ ⊲ )
′
′
′
pn
99K+
Tn (xn , ⊲⊳, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⊲ ⊳)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
165 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
“⇒”: Gelte (tn , ⌈p1 ⌉, . . . , ⌈pn ⌉) 99K∗Tn (xn , ⌈p1′ ⌉, . . . , ⌈pn′ ⌉).
p1 ≥ 1 und p1′ = 0 (diese Beziehungen müssen “sogar” bei einer Folge
von perfekten Systemübergängen gelten.
pi′ ≤ pi für 1 < i < n: klar, denn auf die Kanäle 2, . . . , n − 1 greift Tn
nicht schreibend oder lesend zu.
Es können also nur ’s verlorengehen.
pn′ ≤ p1 : Tn schreibt in Kanal n genauso viele ’s, wie es von Kanal 1
liest.
in Kanal n werden höchstens p1 viele ’s geschrieben.
Die pn vielen ’s, die zu Beginn in Kanal n sind, müssen alle verloren
gehen, damit am Ende der Inhalt von Kanal n von der Form ⊲ p ⊳ ist.
in Kanal n sind am Ende höchstens p1 viele ’s.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
166 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Bemerkung zu Tn : Es gilt
(tn , ⌈p1 ⌉, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⌈0⌉) ⇒∗Tn (xn , ⌈0⌉, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⌈p1 ⌉).
Für p > 0 gilt jedoch nicht
(tn , ⌈p1 ⌉, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⌈p⌉) ⇒∗Tn (xn , ⌈0⌉, ⌈p2 ⌉, . . . , ⌈pn−1 ⌉, ⌈p1 ⌉).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
167 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Das 2-Kanalsystem E2 :
2?
s2 1? ⊳ 1!⊳
2? ⊳ 2!⊳
1! 2? ⊲ 2!⊲
1? ⊲ 1!⊲ f
2
Das n-Kanalsystem En für n > 2:
xn−1
sn−1
Tn−1
En−1
tn−1
fn−1
n?
sn 1? ⊲ ⊳ 1! ⊲ ⊳ pn n? ⊳ n!⊳ qn
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
n? ⊲ n!⊲
SS 2008
fn
168 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Wenn nur perfekte Systemübergänge erlaubt sind, berechnet En genau die
Funktion An :
Lemma 13
Für alle k ≥ 0 und w1 , . . . , wn ∈ ∆∗ gilt:
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) ⇒∗En (fn , w1 , . . . , wn )
⇐⇒
w1 = ⌈An (k)⌉ und w2 = · · · = wn = ⌈0⌉
Beweis: Induktion über n ≥ 2:
IA: n = 2. E2 berechnet genau die Funktion k 7→ 2k.
IS: Gelte die Aussage des Lemmas bereits für En−1 und sei k ≥ 0.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
169 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
(sn , ⌈0⌉, ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) ⇒En (pn , ⌈1⌉, ⌈0⌉, . . . , ⌈0⌉, ⊲ k ⊳)
⇒En (qn , ⌈1⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲ k )
⇒En (tn−1 , ⌈1⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲ k−1 )
⇒∗En (xn−1 , ⌈0⌉, ⌈0⌉, . . . , ⌈1⌉, ⊳ ⊲ k−1 )
⇒En (sn−1 , ⌈0⌉, ⌈0⌉, . . . , ⌈1⌉, ⊳ ⊲ k−1 )
⇒∗En (qn , ⌈An−1 (1)⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲ k−1 )
⇒∗En (qn , ⌈A2n−1 (1)⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲ k−2 )
..
.
⇒∗En (qn , ⌈Akn−1 (1)⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲)
⇒En (fn , ⌈An (k)⌉, ⌈0⌉, . . . , ⌈0⌉, ⌈0⌉)
Dies ist ausserdem die einzig mögliche maximale perfekte Berechnung in
En , die bei (sn , ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) beginnt.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
170 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Lemma 14
Gelte
(sn , ⌈a1 ⌉, . . . , ⌈an ⌉) 99K∗En
(tn , ⌈a1 ⌉, . . . , ⌈an ⌉)
99K∗Tn
(fn , w1 , . . . , wn ) oder
(9)
(xn , w1 , . . . , wn )
(10)
wobei jedes wi genau ein ⊲ und genau ein ⊳ enthält.
Dann gilt wi ∈ ⊲ ∗ ⊳ für alle 1 ≤ i ≤ n.
Beweis:
Jedesmal, wenn ein ⊳ (bzw. ⊲) von Kanal i gelesen wird, wird danach ⊳
(bzw. ⊲) in Kanal i geschrieben.
während der Berechnung (9) bzw. (10) geht kein ⊳ oder ⊲ in einem
Kanal verloren; nur ’s gehen verloren.
Dies impliziert die Konklusion (wi ∈ ⊲ ∗ ⊳) für Tn .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
171 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Für En zeigen wie die Konklusion durch Induktion über n ≥ 2.
IA: n = 2. Ergibt sich leicht aus der Konstruktion von E2 .
IS: Gelte die Konklusion bereits für n − 1 ≥ 2.
Kanal n: muss am Ende ⊲ ⊳ enthalten.
Sei 1 ≤ i ≤ n − 1.
Kanal i enthält Wort aus ⊲ ∗ ⊳, wenn das erste mal qn erreicht wird.
Zusammen mit der Induktionsypothese folgt:
Kanal i enthält ein Wort aus ⊲ ∗ ⊳, wenn das letzte mal qn erreicht
wird.
Kanal i enthält am Ende (bei fn ) ein Wort aus ⊲ ∗ ⊳.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
172 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Lemma 15
Für alle n ≥ 2, k, a1 , . . . , an ≥ 0 gilt:
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) 99K∗En (fn , ⌈a1 ⌉, . . . , ⌈an ⌉)
⇐⇒
a1 ≤ An (k) und a2 = · · · = an = 0
Beweis:
“⇐”: Folgt sofort aus Lemma 13.
“⇒”: Induktion über n ≥ 2.
IA: n = 2. Zu zeigen ist:
(s2 , ⌈0⌉, ⌈k⌉) 99K∗E2 (fn , ⌈a1 ⌉, ⌈a2 ⌉) ⇒ a1 ≤ 2k ∧ a2 = 0.
Dies ergibt sich leicht aus der Konstruktion von E2 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
173 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
IS: Gelte die Implikation bereits für n − 1 ≥ 2.
Die Berechnung (sn , ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) 99K∗En (fn , ⌈a1 ⌉, . . . , ⌈an ⌉) kann wie
folgt zerlegt werden (beachte für Kanal n, dass kein ⊲ oder ⊳ verloren
geht):
0
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈k⌉) 99K∗En (qn , w10 , . . . , wn−1
, ⊳ ⊲ k 0 )
′
1
, ⊳ ⊲ k 1 )
99K∗En (sn−1 , v11 , . . . , vn−1
1
, ⊳ ⊲ k 1 )
99KEn (qn , w11 , . . . , wn−1
′
2
99K∗En (sn−1 , v12 , . . . , vn−1
, ⊳ ⊲ k 2 )
..
.
′
m
, ⊳ ⊲ k m )
99K∗En (sn−1 , v1m , . . . , vn−1
m
, ⊳ ⊲ k m )
99KEn (qn , w1m , . . . , wn−1
99KEn (fn , ⌈a1 ⌉, . . . , ⌈an ⌉)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
174 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Hierbei muss gelten:
Jede Transition von qn nach tn−1 konsumiert ein aus Kanal n.
′ ≥k
k ≥ k0 > k1′ ≥ k1 > k2′ ≥ k2 > · · · > km
m
m ≤ k.
an = 0.
Lemma 14
wij , vij ∈ ⊲ ∗ ⊳ für 1 ≤ i ≤ n − 1
Wir zeigen durch Induktion über j:
j
= ⌈0⌉
w1j ⌈Ajn−1 (1)⌉ und w2j = · · · = wn−1
j
vn−1
⌈Aj−1
n−1 (1)⌉
und
v1j
= ··· =
j
vn−2
(Wj )
= ⌈0⌉
(Vj )
0
= ⌈0⌉ folgen aus
(W0 ): w10 ⊲ ⊳ = ⌈A0n−1 (1)⌉ und w20 = · · · = wn−1
der Konstruktion von En .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
175 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
(Wj ) ⇒ (Vj+1 ) für j ≥ 0:
j
Gelte (Wj ), d.h. w1j ⌈Ajn−1 (1)⌉ und w2j , . . . , wn−1
= ⌈0⌉.
Aus der Konstruktion von En folgt:
j
(tn−1 , w1j , . . . , wn−1
)
=
99K∗Tn−1
(tn−1 , w1j , ⌈0⌉, . . . , ⌈0⌉)
j+1
(xn−1 , v1j+1 , . . . , vn−1
)
Lemma 12 (Verhalten von Tn−1 )
j+1
j+1
v1j+1 = · · · = vn−2
= ⌈0⌉ und vn−1
w1j ⌈Ajn−1 (1)⌉
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
176 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
(Vj ) ⇒ (Wj ):
j−1
j
j
Gelte (Vj ), d.h. vn−1
⌈An−1
(1)⌉ und v1j = · · · = vn−2
= ⌈0⌉.
j
j−1
Sei vn−1
= ⌈ℓ⌉, d.h. ℓ ≤ An−1
(1).
Aus der Konstruktion von En folgt:
j
(sn−1 , v1j , . . . , vn−1
)
=
99K∗En−1
IH für En−1
(sn−1 , ⌈0⌉, . . . , ⌈0⌉, ⌈ℓ⌉)
j
(fn−1 , w1j , . . . , wn−1
)
j
w1j ⌈An−1 (ℓ)⌉ und w2j = · · · = wn−1
= ⌈0⌉.
j−1
Ausserdem: An−1 (ℓ) ≤ An−1 (An−1
(1)) = Ajn−1 (1) wegen der Monotonie
von An−1 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
177 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Damit ist der Beweis von (Wj ) und (Vj ) beendet.
Für j = m ≤ k folgt aus (Wj ):
w1m ⌈Am
n−1 (1)⌉
m
und w2m = · · · wn−1
= ⌈0⌉.
a1 ≤ Am
n−1 (1) = An (m) ≤ An (k) und a2 = · · · = an−1 = 0.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
178 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Wir kommen nun zur Konstruktion von n-Kanalsystemen zur Berechnung
der inversen Funktionen A−1
n für n ≥ 2.
Hierfür benötigen wir Transfersysteme Tn′ , welche den Inhalt von Kanal n
nach Kanal 1 transferieren (anstatt von Kanal 1 nach Kanal n wie bei Tn ).
Die Konstruktion verläuft natürlich analog zu Tn und es gilt:
Lemma 16
Für alle p1 , . . . , pn , p1′ , . . . , pn′ ≥ 0 gilt:
(tn′ , ⌈p1 ⌉, . . . , ⌈pn ⌉) 99K∗Tn′ (xn′ , ⌈p1′ ⌉, . . . , ⌈pn′ ⌉)
⇐⇒
pn ≥ 1,
Markus Lohrey (Universität Leipzig)
pn′
= 0,
pi′
≤ pi (1 < i < n), p1′ ≤ pn
Verifikation unendlicher Systeme
SS 2008
179 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Das 2-Kanalsystem F2 :
1? s2′ 2? ⊳ 2!⊳
1? ⊳ 1!⊳
2!
1? ⊲ 1!⊲
2? ⊲ 2!⊲ f ′
2
Das n-Kanalsystem Fn für n > 2:
′
fn−1
′
tn−1
Fn−1
′
Tn−1
′
sn−1
′
xn−1
n!
sn′
n? ⊳
n!⊳
Markus Lohrey (Universität Leipzig)
qn′
1? ⊲ ⊳
1! ⊲ ⊳
Verifikation unendlicher Systeme
n? ⊲ n!⊲
fn′
SS 2008
180 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Lemma 17
Gelte
(sn′ , ⌈a1 ⌉, . . . , ⌈an ⌉) 99K∗Fn
(fn′ , w1 , . . . , wn ) oder
(tn′ , ⌈a1 ⌉, . . . , ⌈an ⌉) 99K∗Tn′
(xn′ , w1 , . . . , wn )
wobei jedes wi genau ein ⊲ und genau ein ⊳ enthält.
Dann gilt wi ∈ ⊲ ∗ ⊳ für alle 1 ≤ i ≤ n.
Beweis: Wie für Lemma 14.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
181 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Lemma 18
Für alle n ≥ 2, m ≥ 1, a1 , . . . , an ≥ 0 gilt:
(sn′ , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉) 99K∗Fn (fn′ , ⌈a1 ⌉, . . . , ⌈an ⌉)
⇐⇒
an ≤
A−1
n (m)
(d.h. An (an ) ≤ m) und a1 = · · · = an−1 = 0
Beweis:
“⇐”: Induktion über n ≥ 2.
Gelte an ≤ A−1
n (m) (d.h. An (an ) ≤ m) und a1 = · · · = an−1 = 0
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
182 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
IA: n = 2. Es gilt:
m
(sn′ , ⊲ m ⊳, ⊲ ⊳) ⇒+
F2 (•, ⊳ ⊲ , ⊳ ⊲)
m
⇒+
F2 (•, ⊳ ⊲ mod 2
, ⌊m/2⌋ ⊳ ⊲)
⌊m/2⌋
99K+
⊳ ⊲)
F2 (•, ⊲ ⊳, ′
99K+
F2 (f2 , ⌈0⌉, ⌈a2 ⌉) wegen a2 ≤ ⌊m/2⌋
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
183 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
IS: Gelte die Konklusion bereits für n − 1 ≥ 2 und sei m ≥ 1.
Sei k die maximale Zahl mit A−k
n−1 (m) = 1 (
k = A−1
n (m)).
′
(sn′ , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉, ⌈0⌉) ⇒+
En (qn , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲)
′
⇒+
En (sn−1 , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲)
−1
′
99K+
En (fn−1 , ⌈0⌉, . . . ⌈0⌉, ⌈An−1 (m)⌉, ⊳ ⊲)
′
, ⌈0⌉, . . . ⌈0⌉, ⌈A−1
⇒En (tn−1
n−1 (m)⌉, ⊳ ⊲)
−1
′
99K+
En (qn , ⌈An−1 (m)⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲)
..
.
−k
′
k
99K+
En (qn , ⌈An−1 (m)⌉, ⌈0⌉, . . . , ⌈0⌉, ⊳ ⊲)
−1
= (qn′ , ⊲ ⊳, ⌈0⌉, . . . , ⌈0⌉, An
99K+
Fn
Markus Lohrey (Universität Leipzig)
(m)
⊳ ⊲)
(fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈an ⌉)
Verifikation unendlicher Systeme
SS 2008
184 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
“⇒”: Induktion über n ≥ 2.
IA: n = 2. Zu zeigen ist:
(s2′ , ⌈m⌉, ⌈0⌉) 99K∗F2 (fn′ , ⌈a1 ⌉, ⌈a2 ⌉) ⇒ a1 = 0 ∧ 2 · a2 ≤ m.
Dies ergibt sich leicht aus der Konstruktion von F2 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
185 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
IS: Gelte die Implikation bereits für n − 1 ≥ 2.
Die Berechnung (sn′ , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉) 99K∗Fn (fn′ , ⌈a1 ⌉, . . . , ⌈an ⌉) kann wie
folgt zerlegt werden (beachte für Kanal n, dass kein ⊲ oder ⊳ verloren
geht):
0
(sn′ , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉) 99K∗En (qn′ , w10 , . . . , wn−1
, 0 ⊳ ⊲)
′
′
1
, v11 , . . . , vn−1
, k1 ⊳ ⊲)
99K∗En (tn−1
1
, k1 ⊳ ⊲)
99KEn (qn′ , w11 , . . . , wn−1
′
′
2
99K∗En (tn−1
, v12 , . . . , vn−1
, k2 ⊳ ⊲)
..
.
′
′
ℓ
, v1ℓ , . . . , vn−1
, kℓ ⊳ ⊲)
99K∗En (tn−1
ℓ
, kℓ ⊳ ⊲)
99KEn (qn′ , w1ℓ , . . . , wn−1
99KEn (fn′ , ⌈a1 ⌉, . . . , ⌈an ⌉)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
186 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Hierbei muss gelten:
′
Jede Transition von qn′ nach sn−1
fügt höchstens ein zu Kanal n
hinzu.
ki ≤ ki′ ≤ ki−1 + 1 für 1 ≤ i ≤ m (wobei k0 = 0).
Mit an ≤ kℓ folgt ℓ ≥ an .
Lemma 17
wij , vij ∈ ⊲ ∗ ⊳ für 1 ≤ i ≤ n − 1
Wir zeigen durch Induktion über j:
j
j
w1j ⌈A−j
n−1 (m)⌉ und w2 = · · · = wn−1 = ⌈0⌉
(Wj′ )
j
j
j
vn−1
⌈A−j
n−1 (m)⌉ und v1 = · · · = vn−2 = ⌈0⌉
(Vj′ )
0
= ⌈0⌉ folgen aus der
(W0′ ): w10 ⌈m⌉ = ⌈A0n−1 (m)⌉ und w20 = · · · = wn−1
Konstruktion von Fn .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
187 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
′ ):
(Wi′ ) ⇒ (Vj+1
j
j
Gelte w1j ⌈A−j
n−1 (m)⌉ und w2 = · · · = wn−1 = ⌈0⌉
Sei w1j = ⌈q⌉ mit q ≤ A−j
n−1 (m).
Induktionshypothese für n − 1 (Verhalten von Fn−1 )
j+1
j+1
v1j+1 = · · · = vn−2
= ⌈0⌉ und vn−1
⌈A−1
n−1 (q)⌉
−(j+1)
−j
−1
−1
Monotonie von A−1
n−1 : ⌈An−1 (q)⌉ ⌈An−1 (An−1 (m))⌉ = ⌈An
(m)⌉
(Vj′ ) ⇒ (Wj′ ):
j
j
j
Gelte vn−1
⌈A−j
n−1 (m)⌉ und v1 = · · · = vn−2 = ⌈0⌉
′
Lemma 16 (Verhalten von Tn−1
)
j
j
j
w1j vn−1
⌈A−j
n−1 (m)⌉ und w2 = · · · = wn−1 = ⌈0⌉
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
188 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Damit ist der Beweis von (Wj′ ) und (Vj′ ) beendet.
Für j = ℓ ≥ an folgt aus (Wj′ ):
w1ℓ ⌈A−ℓ
n−1 (m)⌉
ℓ
und w2ℓ = · · · wn−1
= ⌈0⌉.
Andererseits muss ⌈1⌉ w1ℓ gelten.
A−ℓ
n−1 (m) ≥ 1.
A−1
n (m) ≥ ℓ ≥ an .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
189 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Wir können nun unser Hauptresultat beweisen.
Satz 24 (Schnoebelen, 2002)
Das Erreichbarkeitsproblem für verlustbehaftete Kanalsysteme ist nicht
primitiv rekursiv:
Beweis:
Das folgende Problem ist nicht primitiv rekursiv (Übung):
EINGABE: Ein Turingmaschine M und eine Zahl n ≥ 2.
FRAGE: Akzeptiert M die leere Eingabe, falls das Arbeitsband auf Länge
Ack(n) = An (2) beschränkt wird?
Wir reduzieren dieses Problem auf das Erreichbarkeitsproblem für
verlustbehaftete Kanalsysteme.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
190 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Sei M eine Turingmaschine M mit Bandalphabet Γ und n ≥ 2.
Wie im Beweis von Satz 22 können wir M durch ein 1-Kanalsystem K (M)
auf Kanal 1 simulieren, wobei diesmal folgendes gelten soll:
M ist auf den durch die Eingabe ⊲ k ⊳ vorgegebenen Bandabschnitt
?b
⊳ !b
⊳ !b
beschränkt ist, d.h. Transitionen der Form p −−−−−→ q für
(p, , q, b, →) ∈ δ lassen wir weg.
Erreicht K (M) den Akzeptanzzustand von M, so wird Kanal
längenerhaltend durch eine Rotation in die Form ⊲ ∗ ⊳ gebracht.
Sei K (M, n) das folgende n-Kanalsystem:
sn
accept
K (M)
En
fn
Markus Lohrey (Universität Leipzig)
start
Verifikation unendlicher Systeme
sn′
Fn
fn′
SS 2008
191 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Behauptung: M akzeptiert die leere Eingabe in Platz Ack(n) = An (2)
genau dann, wenn
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉) 99K∗K (M,n) (fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉).
“⇒”: Angenommen M akzeptiert die leere Eingabe in Platz Ack(n).
Dann gilt mit Lemma 15 und 18 (Richtung ⇐):
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉) 99K∗K (M,n) (fn , ⌈An (2)⌉, ⌈0⌉, . . . , ⌈0⌉)
99K∗K (M,n) (sn′ , ⌈An (2)⌉, ⌈0⌉, . . . , ⌈0⌉)
99K∗K (M,n) (fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈A−1
n (An (2))⌉)
= (fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉)
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
192 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
“⇐”: Angenommen M akzeptiert die leere Eingabe nicht in Platz Ack(n)
und es gilt
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉) 99K∗K (M,n) (fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉).
Während dieser Berechnung geht nie ein ⊳ oder ⊲ veloren.
Da das Kanalsystem K (M) Kanalinhalte der Form ⊲Γ∗ ⊳ erhält, folgt mit
Lemma 14, dass a1 , . . . , an , b1 , . . . , bn existieren mit:
(sn , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉) 99K∗K (M,n) (fn , ⌈a1 ⌉, . . . , ⌈an ⌉)
99K∗K (M,n) (sn′ , ⌈b1 ⌉, . . . , ⌈bn ⌉)
99K∗K (M,n) (fn′ , ⌈0⌉, . . . , ⌈0⌉, ⌈2⌉)
Lemma 15 (Richtung ⇒)
a1 ≤ An (2) und a2 = · · · = an−1 = 0.
b1 ≤ a1 ≤ An (2) und b2 = · · · = bn−1 = 0.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
193 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Angenommen es gilt b1 < a1 .
b1 < An (2).
2 ≤ A−1
n (b1 ).
Lemma 18 (Richtung ⇒)
An (2) ≤ b1 < An (2). Widerspruch!
Also gilt b1 = a1 .
in der K (M)-Berechnung
(fn , ⌈a1 ⌉, ⌈0⌉, . . . , ⌈0⌉) 99K∗K (M,n) (sn′ , ⌈b1 ⌉, ⌈0⌉, . . . , ⌈0⌉)
geht keine Nachricht verloren.
M akzeptiert die leere Eingabe in Platz a1 ≤ An (2). Widerspruch!
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
194 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Mit einer ähnlichen Konstruktion wie im vorherigen Beweis können wir
auch zeigen:
Satz 25 (Schnoebelen, 2002)
Das Terminationsproblem für verlustbehaftete Kanalsysteme ist nicht
primitiv rekursiv:
Beweis:
Wir benötigen die folgende Eigenschaft von En und Fn :
Die Systeme En und Fn ermöglichen keine unendlichen Berechnungen von
gültigen Anfangskonfigurationen, d.h. es gibt nicht Konfigurationen
c0 , c1 , c2 , . . ., so dass einer der folgenden Fälle gilt:
c0 = (sn , ⌈0⌉, . . . , ⌈0⌉, ⌈m⌉) für m ≥ 0 und ∀i ≥ 0 : ci 99KEn ci+1 .
c0 = (sn′ , ⌈m⌉, ⌈0⌉, . . . , ⌈0⌉) für m ≥ 0 und ∀i ≥ 0 : ci 99KFn ci+1 .
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
195 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Induktion über n ≥ 2:
Zunächst für En :
Die Schleife in E2 kann nicht unendlich lange durchlaufen werden, da in
jedem Durchlauf ein von Kanal 2 konsumiert wird.
Für En (n ≥ 3) beachte man, dass in jedem Durchlauf durch die Schleife
ein von Kanal n konsumiert wird.
Die Schleife in En kann nur endlich oft durchlaufen werden.
Da Tn−1 keine unendliche Berechnung ermöglicht (einfach zu sehen) und
nach Induktion auch En−1 keine unendliche Berechnung ermöglicht, folgt
die Behauptung für En (gilt sogar für beliebige Anfangskonfiguration).
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
196 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Nun zu Fn :
Für F2 beachte man, dass die Schleife nicht unendlich lange durchlaufen
werden kann, da in jedem Durchlauf zwei von Kanal 1 konsumiert
werden.
Angenommen Fn (n ≥ 3) hätte eine unendliche Berechnung.
′
Da Tn−1
keine unendliche Berechnung ermöglicht (einfach zu sehen) und
nach Induktion auch Fn−1 keine unendliche Berechnung ermöglicht,
müsste die Schleife von Fn unendlich oft durchlaufen werden.
Aus Lemma 16 und 18 sowie k > 0 → A−1
n−1 (k) > k folgt, dass in jedem
Durchlauf durch die Schleife die Gesamtanzahl der in Kanal 1, . . . , n − 1
echt kleiner wird.
Widerspruch!
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
197 / 198
Wohlstrukturierte Transitionssysteme
Verlustbehaftete Kanalsysteme (lossy channel systems)
Nun zum Beweis, das Termination für verlustbehaftete Kanalsysteme nicht
primitiv rekursiv ist.
Das folgende Problem ist nicht primitiv rekursiv (Übung):
EINGABE: Ein Turingmaschine M und eine Zahl n ≥ 2.
FRAGE: Akzeptiert M die leere Eingabe in Zeit Ack(n) = An (2)?
Wir reduzieren dieses Problem auf das Terminationsproblem für
verlustbehaftete Kanalsysteme.
Markus Lohrey (Universität Leipzig)
Verifikation unendlicher Systeme
SS 2008
198 / 198
Herunterladen