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